> ## Documentation Index
> Fetch the complete documentation index at: https://velt.dev/docs/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/2O8vk8YlVD4Kq-ni/images/customization/comments/comment-pin/comment-pin-overview.png?fit=max&auto=format&n=2O8vk8YlVD4Kq-ni&q=85&s=930e69ee9271bc0a047d1283d37f8a69" 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/2O8vk8YlVD4Kq-ni/images/customization/comments/comment-pin/comment-pin-ghost.png?fit=max&auto=format&n=2O8vk8YlVD4Kq-ni&q=85&s=21e758ea6b04af6df6001c5b0b55be06" 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/2O8vk8YlVD4Kq-ni/images/customization/comments/comment-pin/comment-pin-index.png?fit=max&auto=format&n=2O8vk8YlVD4Kq-ni&q=85&s=8d797c4cb9f4ed80b38c5808370d9da9" 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/2O8vk8YlVD4Kq-ni/images/customization/comments/comment-pin/comment-pin-private.png?fit=max&auto=format&n=2O8vk8YlVD4Kq-ni&q=85&s=c042aa2745c5db314987579ad45afa4a" 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/2O8vk8YlVD4Kq-ni/images/customization/comments/comment-pin/comment-pin-triangle.png?fit=max&auto=format&n=2O8vk8YlVD4Kq-ni&q=85&s=cc9ba2dff4a19c2be545d55748825ac6" 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/2O8vk8YlVD4Kq-ni/images/customization/comments/comment-pin/comment-pin-unread.png?fit=max&auto=format&n=2O8vk8YlVD4Kq-ni&q=85&s=ac4f2869c001a0e9c37f451a4382aebf" 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/kAkMSIYF4ZlrlwLm/images/customization/velt-comment-pin-1.png?fit=max&auto=format&n=kAkMSIYF4ZlrlwLm&q=85&s=368de01a99459da8605d7acd153480ba" alt="" width="1024" height="576" data-path="images/customization/velt-comment-pin-1.png" />

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