> ## Documentation Index
> Fetch the complete documentation index at: https://velt-mintlify-d8ef0204.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-mintlify-d8ef0204/eZcXZRM_c-j7PyMj/images/customization/comments/comment-pin/comment-pin-overview.png?fit=max&auto=format&n=eZcXZRM_c-j7PyMj&q=85&s=19ce4bf1ac75f7d845c2e7e9b2ee456c" 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-mintlify-d8ef0204/eZcXZRM_c-j7PyMj/images/customization/comments/comment-pin/comment-pin-ghost.png?fit=max&auto=format&n=eZcXZRM_c-j7PyMj&q=85&s=7c084148e65c03321bd1cd6a632a2c01" 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-mintlify-d8ef0204/eZcXZRM_c-j7PyMj/images/customization/comments/comment-pin/comment-pin-index.png?fit=max&auto=format&n=eZcXZRM_c-j7PyMj&q=85&s=fd6bb7258c76fa4267a0b556a357e609" 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-mintlify-d8ef0204/eZcXZRM_c-j7PyMj/images/customization/comments/comment-pin/comment-pin-private.png?fit=max&auto=format&n=eZcXZRM_c-j7PyMj&q=85&s=94ac7fa17c146d0053842e8b5e2f780f" 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-mintlify-d8ef0204/eZcXZRM_c-j7PyMj/images/customization/comments/comment-pin/comment-pin-triangle.png?fit=max&auto=format&n=eZcXZRM_c-j7PyMj&q=85&s=4526b0da5a088bcc4a64ffb916bf38f8" 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-mintlify-d8ef0204/eZcXZRM_c-j7PyMj/images/customization/comments/comment-pin/comment-pin-unread.png?fit=max&auto=format&n=eZcXZRM_c-j7PyMj&q=85&s=b44d9c68e72fe83188d118165a38f90e" 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-mintlify-d8ef0204/dsKusQoZZAGcA8pd/images/customization/velt-comment-pin-1.png?fit=max&auto=format&n=dsKusQoZZAGcA8pd&q=85&s=128d26f6538a37c92c0b42da5b0bc77a" alt="" width="1024" height="576" data-path="images/customization/velt-comment-pin-1.png" />

<img src="https://mintcdn.com/velt-mintlify-d8ef0204/dsKusQoZZAGcA8pd/images/customization/velt-comment-pin-2.png?fit=max&auto=format&n=dsKusQoZZAGcA8pd&q=85&s=6d9cbe4020931d456319543d4d93d45c" 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>
