> ## Documentation Index
> Fetch the complete documentation index at: https://velt-raghul-agents-doc-latest.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Comment Pin Wireframes

> Wireframe components for building custom Comment Pin interfaces with maximum flexibility.

<Note>
  We recommend that you familiarize yourselves with [UI Customization Concepts](/ui-customization/overview) before attempting to modify any components.
</Note>

## VeltCommentPinWireframe

<img src="https://mintcdn.com/velt-raghul-agents-doc-latest/GuJvDMq_PmYTlzC3/images/customization/comments/comment-pin/comment-pin-overview.png?fit=max&auto=format&n=GuJvDMq_PmYTlzC3&q=85&s=73370e358de79e75f30f9af5b7310cff" alt="" width="1281" height="427" data-path="images/customization/comments/comment-pin/comment-pin-overview.png" />

<Tabs>
  <Tab title="React / Next.js">
    ```jsx theme={null}
    <VeltWireframe>
        <VeltCommentPinWireframe>
            <VeltCommentPinWireframe.GhostCommentIndicator />
            <VeltCommentPinWireframe.Index />
            <VeltCommentPinWireframe.Number />
            <VeltCommentPinWireframe.PrivateCommentIndicator />
            <VeltCommentPinWireframe.Triangle />
            <VeltCommentPinWireframe.UnreadCommentIndicator />
        </VeltCommentPinWireframe>
    </VeltWireframe>
    ```
  </Tab>

  <Tab title="Other Frameworks">
    ```html theme={null}
    <velt-wireframe style="display:none;">
        <velt-comment-pin-wireframe>
            <velt-comment-pin-ghost-comment-indicator-wireframe></velt-comment-pin-ghost-comment-indicator-wireframe>
            <velt-comment-pin-index-wireframe></velt-comment-pin-index-wireframe>
            <velt-comment-pin-number-wireframe></velt-comment-pin-number-wireframe>
            <velt-comment-pin-private-comment-indicator-wireframe></velt-comment-pin-private-comment-indicator-wireframe>
            <velt-comment-pin-triangle-wireframe></velt-comment-pin-triangle-wireframe>
            <velt-comment-pin-unread-comment-indicator-wireframe></velt-comment-pin-unread-comment-indicator-wireframe>
        </velt-comment-pin-wireframe>
    </velt-wireframe>
    ```
  </Tab>
</Tabs>

## GhostCommentIndicator

<img src="https://mintcdn.com/velt-raghul-agents-doc-latest/GuJvDMq_PmYTlzC3/images/customization/comments/comment-pin/comment-pin-ghost.png?fit=max&auto=format&n=GuJvDMq_PmYTlzC3&q=85&s=9f68b6b41779b9422cc20affa9a0c878" alt="" width="1281" height="341" data-path="images/customization/comments/comment-pin/comment-pin-ghost.png" />

<Tabs>
  <Tab title="React / Next.js">
    ```jsx theme={null}
    <VeltWireframe>
        <VeltCommentPinWireframe.GhostCommentIndicator />
    </VeltWireframe>
    ```
  </Tab>

  <Tab title="Other Frameworks">
    ```html theme={null}
    <velt-wireframe style="display:none;">
        <velt-comment-pin-ghost-comment-indicator-wireframe></velt-comment-pin-ghost-comment-indicator-wireframe>
    </velt-wireframe>
    ```
  </Tab>
</Tabs>

## Index

<img src="https://mintcdn.com/velt-raghul-agents-doc-latest/GuJvDMq_PmYTlzC3/images/customization/comments/comment-pin/comment-pin-index.png?fit=max&auto=format&n=GuJvDMq_PmYTlzC3&q=85&s=3ee5ee55dd8b5dab68f9b5c400bf27be" alt="" width="1281" height="341" data-path="images/customization/comments/comment-pin/comment-pin-index.png" />

<Tabs>
  <Tab title="React / Next.js">
    ```jsx theme={null}
    <VeltWireframe>
        <VeltCommentPinWireframe.Index />
    </VeltWireframe>
    ```
  </Tab>

  <Tab title="Other Frameworks">
    ```html theme={null}
    <velt-wireframe style="display:none;">
        <velt-comment-pin-index-wireframe></velt-comment-pin-index-wireframe>
    </velt-wireframe>
    ```
  </Tab>
</Tabs>

## Number

The annotation number displays on comment pins, providing a persistent identifier for each comment that remains constant across sessions. This number makes it easy to reference specific comments in team discussions or documentation.

<Tabs>
  <Tab title="React / Next.js">
    ```jsx theme={null}
    <VeltWireframe>
        <VeltCommentPinWireframe.Number />
    </VeltWireframe>
    ```
  </Tab>

  <Tab title="Other Frameworks">
    ```html theme={null}
    <velt-wireframe style="display:none;">
        <velt-comment-pin-number-wireframe></velt-comment-pin-number-wireframe>
    </velt-wireframe>
    ```
  </Tab>
</Tabs>

## PrivateCommentIndicator

<img src="https://mintcdn.com/velt-raghul-agents-doc-latest/GuJvDMq_PmYTlzC3/images/customization/comments/comment-pin/comment-pin-private.png?fit=max&auto=format&n=GuJvDMq_PmYTlzC3&q=85&s=2d1b92cd7c05faa932bce198f60e2290" alt="" width="1281" height="341" data-path="images/customization/comments/comment-pin/comment-pin-private.png" />

<Tabs>
  <Tab title="React / Next.js">
    ```jsx theme={null}
    <VeltWireframe>
        <VeltCommentPinWireframe.PrivateCommentIndicator />
    </VeltWireframe>
    ```
  </Tab>

  <Tab title="Other Frameworks">
    ```html theme={null}
    <velt-wireframe style="display:none;">
        <velt-comment-pin-private-comment-indicator-wireframe></velt-comment-pin-private-comment-indicator-wireframe>
    </velt-wireframe>
    ```
  </Tab>
</Tabs>

## Triangle

<img src="https://mintcdn.com/velt-raghul-agents-doc-latest/GuJvDMq_PmYTlzC3/images/customization/comments/comment-pin/comment-pin-triangle.png?fit=max&auto=format&n=GuJvDMq_PmYTlzC3&q=85&s=639536ffd81b3dd355d0a78a2286dc31" alt="" width="1281" height="341" data-path="images/customization/comments/comment-pin/comment-pin-triangle.png" />

<Tabs>
  <Tab title="React / Next.js">
    ```jsx theme={null}
    <VeltWireframe>
        <VeltCommentPinWireframe.Triangle />
    </VeltWireframe>
    ```
  </Tab>

  <Tab title="Other Frameworks">
    ```html theme={null}
    <velt-wireframe style="display:none;">
        <velt-comment-pin-triangle-wireframe></velt-comment-pin-triangle-wireframe>
    </velt-wireframe>
    ```
  </Tab>
</Tabs>

## UnreadCommentIndicator

<img src="https://mintcdn.com/velt-raghul-agents-doc-latest/GuJvDMq_PmYTlzC3/images/customization/comments/comment-pin/comment-pin-unread.png?fit=max&auto=format&n=GuJvDMq_PmYTlzC3&q=85&s=6b057524f6887cca8cf4a00b34b8b671" alt="" width="1281" height="341" data-path="images/customization/comments/comment-pin/comment-pin-unread.png" />

<Tabs>
  <Tab title="React / Next.js">
    ```jsx theme={null}
    <VeltWireframe>
        <VeltCommentPinWireframe.UnreadCommentIndicator />
    </VeltWireframe>
    ```
  </Tab>

  <Tab title="Other Frameworks">
    ```html theme={null}
    <velt-wireframe style="display:none;">
        <velt-comment-pin-unread-comment-indicator-wireframe></velt-comment-pin-unread-comment-indicator-wireframe>
    </velt-wireframe>
    ```
  </Tab>
</Tabs>

## Styling

### Disable ShadowDOM

* By default, ShadowDOM is used to ensure that your app's CSS does not interfere with the styling of the SDK components.
* Disable the shadow dom to apply your custom CSS to the component.

Default: `true`

<Tabs>
  <Tab title="React / Next.js">
    **Using Props:**

    ```jsx theme={null}
    <VeltComments pinShadowDOM={false} />
    ```

    **Using API:**

    ```jsx theme={null}
    const commentElement = client.getCommentElement();
    commentElement.enablePinShadowDOM();
    commentElement.disablePinShadowDOM();
    ```
  </Tab>

  <Tab title="Other Frameworks">
    **Using Props:**

    ```jsx theme={null}
    <velt-comments pin-shadow-dom="false"></velt-comments>
    ```

    **Using API:**

    ```jsx theme={null}
    const commentElement = Velt.getCommentElement();
    commentElement.enablePinShadowDOM();
    commentElement.disablePinShadowDOM();
    ```
  </Tab>
</Tabs>

### Dark Mode

<img src="https://mintcdn.com/velt-raghul-agents-doc-latest/rEXlqjxbbGxFi3Z6/images/customization/velt-comment-pin-1.png?fit=max&auto=format&n=rEXlqjxbbGxFi3Z6&q=85&s=c232d52fa2d956d4c283fff6645c043f" alt="" width="1024" height="576" data-path="images/customization/velt-comment-pin-1.png" />

<img src="https://mintcdn.com/velt-raghul-agents-doc-latest/rEXlqjxbbGxFi3Z6/images/customization/velt-comment-pin-2.png?fit=max&auto=format&n=rEXlqjxbbGxFi3Z6&q=85&s=5c815217af08ccf5cb42b025110a894a" alt="" width="2019" height="673" data-path="images/customization/velt-comment-pin-2.png" />

By default, all components are in Light Mode, but there are several properties and methods to enable Dark Mode.

`Default: false`

<Tabs>
  <Tab title="React / Next.js">
    **Using Props:**

    ```js theme={null}
    <VeltComments pinDarkMode={true}/>
    ```

    **Using API:**

    ```jsx theme={null}
    const commentElement = client.getCommentElement();
    commentElement.enableDarkMode();
    commentElement.disableDarkMode();
    ```
  </Tab>

  <Tab title="Other Frameworks">
    **Using Props:**

    ```html theme={null}
    <velt-comments pin-dark-mode="true"></velt-comments>
    ```

    **Using API:**

    ```jsx theme={null}
    const commentElement = Velt.getCommentElement();
    commentElement.enableDarkMode();
    commentElement.disableDarkMode();
    ```
  </Tab>
</Tabs>

### Variants

* Define variants for the `Velt Comment Pin` component. This is useful for customizing how the pin looks on different elements like charts, tables, etc.
* Learn more about how to define and use variants [here](/ui-customization/layout#variants).

<Tabs>
  <Tab title="React / Next.js">
    ```jsx theme={null}
    <VeltCommentPin variant="CUSTOM_VARIANT" />
    ```
  </Tab>

  <Tab title="Other Frameworks">
    ```html theme={null}
    <velt-comment-pin variant="CUSTOM_VARIANT"></velt-comment-pin>
    ```
  </Tab>
</Tabs>
