@veltdev/react
Version:
Velt is an SDK to add collaborative features to your product within minutes. Example: Comments like Figma, Frame.io, Google docs or sheets, Recording like Loom, Huddles like Slack and much more.
157 lines (156 loc) • 5.01 kB
TypeScript
import { AutocompleteData, CustomAnnotationDropdownData, ReactionMap } from '@veltdev/types';
import React from 'react';
export interface IVeltCommentsProps extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement> {
streamViewContainerId?: string;
autoCategorize?: boolean;
onSignIn?: Function;
onUpgrade?: Function;
textMode?: boolean;
popoverMode?: boolean;
popoverTriangleComponent?: boolean;
floatingCommentDialog?: boolean;
moderatorMode?: boolean;
streamMode?: boolean;
signInButton?: boolean;
upgradeButton?: boolean;
attachments?: boolean;
/**
* Pass `all` to allow all type of recordings.
* Pass `none` to disable all type of recordings.
* Pass `string` to allow specific type of recordings.
* For example: `audio` or `video` or `screen` or any combination like `audio,video`.
*/
recordings?: string;
reactions?: boolean;
deviceInfo?: boolean;
commentIndex?: boolean;
dialogOnHover?: boolean;
dialogOnTargetElementClick?: boolean;
priority?: boolean;
status?: boolean;
resolveButton?: boolean;
inboxMode?: boolean;
suggestionMode?: boolean;
mobileMode?: boolean;
inlineCommentMode?: boolean;
privateCommentMode?: boolean;
minimap?: boolean;
minimapPosition?: string;
persistentCommentMode?: boolean;
ghostComments?: boolean;
ghostCommentsIndicator?: boolean;
commentsOnDom?: boolean;
resolvedCommentsOnDom?: boolean;
filterCommentsOnDom?: boolean;
bubbleOnPin?: boolean;
bubbleOnPinHover?: boolean;
commentTool?: boolean;
sidebarButtonOnCommentDialog?: boolean;
deviceIndicatorOnCommentPins?: boolean;
scrollToComment?: boolean;
userMentions?: boolean;
deleteOnBackspace?: boolean;
hotkey?: boolean;
/**
* @deprecated Use `recordingTranscription` instead.
*/
recordingSummary?: boolean;
recordingTranscription?: boolean;
recordingCountdown?: boolean;
unreadIndicatorMode?: 'minimal' | 'verbose';
enterKeyToSubmit?: boolean;
pinShadowDom?: boolean;
dialogShadowDom?: boolean;
shadowDom?: boolean;
changeDetectionInCommentMode?: boolean;
areaComment?: boolean;
pinCursorImage?: string;
allowedElementIds?: string[];
allowedElementClassNames?: string[];
allowedElementQuerySelectors?: string[];
commentPinHighlighter?: boolean;
customReactions?: ReactionMap;
/**
* @legacy Use `useAddCommentAnnotation` event hook instead.
*/
onCommentAdd?: Function;
onCustomPinInject?: Function;
/**
* @legacy Use respective update events hooks instead.
*/
onCommentUpdate?: Function;
onCommentAccept?: Function;
onCommentReject?: Function;
onCopyLink?: Function;
onSidebarButtonOnCommentDialogClick?: Function;
onCommentSelectionChange?: Function;
customStatus?: {
id: string;
color: string;
name: string;
type: 'default' | 'ongoing' | 'terminal';
lightColor?: string;
svg?: string;
iconUrl?: string;
}[];
customPriority?: {
id: string;
color: string;
name: string;
lightColor?: string;
}[];
customCategory?: {
id: string;
color: string;
name: string;
}[];
customListDataOnAnnotation?: CustomAnnotationDropdownData;
customListDataOnComment?: AutocompleteData;
darkMode?: boolean;
dialogDarkMode?: boolean;
pinDarkMode?: boolean;
textCommentToolDarkMode?: boolean;
textCommentToolbarDarkMode?: boolean;
textCommentToolShadowDom?: boolean;
textCommentToolbarShadowDom?: boolean;
persistentCommentShadowDom?: boolean;
composerMode?: 'default' | 'expanded';
atHereLabel?: string;
atHereDescription?: string;
/**
* @deprecated Use `multiThread` instead.
*/
multiThreadMode?: boolean;
multiThread?: boolean;
/**
* @deprecated Use `groupMatchedComments` instead.
*/
groupMultipleMatch?: boolean;
groupMatchedComments?: boolean;
deleteReplyConfirmation?: boolean;
collapsedComments?: boolean;
shortUserName?: boolean;
resolveStatusAccessAdminOnly?: boolean;
svgAsImg?: boolean;
seenByUsers?: boolean;
readOnly?: boolean;
atHereEnabled?: boolean;
customAutocompleteSearch?: boolean;
deleteThreadWithFirstComment?: boolean;
expandMentionGroups?: boolean;
showMentionGroupsFirst?: boolean;
showMentionGroupsOnly?: boolean;
fullExpanded?: boolean;
commentToNearestAllowedElement?: boolean;
draftMode?: boolean;
maxReplyAvatars?: number;
replyAvatars?: boolean;
linkCallback?: boolean;
replyPlaceholder?: string;
commentPlaceholder?: string;
allowedFileTypes?: string[];
attachmentNameInMessage?: boolean;
forceCloseAllOnEsc?: boolean;
}
declare const SnippylyComments: React.FC<IVeltCommentsProps>;
export default SnippylyComments;