> ## 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 yourself with [UI Customization Concepts](https://velt.dev/docs/ui-customization/overview.md) before attempting to modify any components.

## VeltCommentPinWireframe

![](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)

> [tab] React / Next.js
>
> ```jsx theme={null}
> <VeltWireframe>
>     <VeltCommentPinWireframe>
>         <VeltCommentPinWireframe.GhostCommentIndicator />
>         <VeltCommentPinWireframe.Index />
>         <VeltCommentPinWireframe.Number />
>         <VeltCommentPinWireframe.PrivateCommentIndicator />
>         <VeltCommentPinWireframe.Triangle />
>         <VeltCommentPinWireframe.UnreadCommentIndicator />
>     </VeltCommentPinWireframe>
> </VeltWireframe>
> ```

> [tab] 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>
> ```

## GhostCommentIndicator

![](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)

> [tab] React / Next.js
>
> ```jsx theme={null}
> <VeltWireframe>
>     <VeltCommentPinWireframe.GhostCommentIndicator />
> </VeltWireframe>
> ```

> [tab] 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>
> ```

## Index

![](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)

> [tab] React / Next.js
>
> ```jsx theme={null}
> <VeltWireframe>
>     <VeltCommentPinWireframe.Index />
> </VeltWireframe>
> ```

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

## 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.

> [tab] React / Next.js
>
> ```jsx theme={null}
> <VeltWireframe>
>     <VeltCommentPinWireframe.Number />
> </VeltWireframe>
> ```

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

## PrivateCommentIndicator

![](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)

> [tab] React / Next.js
>
> ```jsx theme={null}
> <VeltWireframe>
>     <VeltCommentPinWireframe.PrivateCommentIndicator />
> </VeltWireframe>
> ```

> [tab] 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>
> ```

## Triangle

![](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)

> [tab] React / Next.js
>
> ```jsx theme={null}
> <VeltWireframe>
>     <VeltCommentPinWireframe.Triangle />
> </VeltWireframe>
> ```

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

## UnreadCommentIndicator

![](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)

> [tab] React / Next.js
>
> ```jsx theme={null}
> <VeltWireframe>
>     <VeltCommentPinWireframe.UnreadCommentIndicator />
> </VeltWireframe>
> ```

> [tab] 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>
> ```

## 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`

> [tab] 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] 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();
> ```

### Dark Mode

![](https://mintcdn.com/velt/kAkMSIYF4ZlrlwLm/images/customization/velt-comment-pin-1.png?fit=max\&auto=format\&n=kAkMSIYF4ZlrlwLm\&q=85\&s=368de01a99459da8605d7acd153480ba)

![](https://mintcdn.com/velt/kAkMSIYF4ZlrlwLm/images/customization/velt-comment-pin-2.png?fit=max\&auto=format\&n=kAkMSIYF4ZlrlwLm\&q=85\&s=1d0f96e741f2b3f38d74feadce7abc35)

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

`Default: false`

> [tab] 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] 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();
> ```

### 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](https://velt.dev/docs/ui-customization/wireframes/layout-customization.md#variants).

> [tab] React / Next.js
>
> ```jsx theme={null}
> <VeltCommentPin variant="CUSTOM_VARIANT" />
> ```

> [tab] Other Frameworks
>
> ```html theme={null}
> <velt-comment-pin variant="CUSTOM_VARIANT"></velt-comment-pin>
> ```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.