@liveblocks/react-ui 3.14.0 → 3.15.0-components1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_private/index.cjs +1 -5
- package/dist/_private/index.cjs.map +1 -1
- package/dist/_private/index.d.cts +4 -4
- package/dist/_private/index.d.ts +4 -4
- package/dist/_private/index.js +1 -2
- package/dist/_private/index.js.map +1 -1
- package/dist/components/AvatarStack.cjs +115 -0
- package/dist/components/AvatarStack.cjs.map +1 -0
- package/dist/components/AvatarStack.js +113 -0
- package/dist/components/AvatarStack.js.map +1 -0
- package/dist/components/Comment.cjs +10 -28
- package/dist/components/Comment.cjs.map +1 -1
- package/dist/components/Comment.js +12 -11
- package/dist/components/Comment.js.map +1 -1
- package/dist/components/CommentPin.cjs +27 -0
- package/dist/components/CommentPin.cjs.map +1 -0
- package/dist/components/CommentPin.js +25 -0
- package/dist/components/CommentPin.js.map +1 -0
- package/dist/components/Composer.cjs +2 -4
- package/dist/components/Composer.cjs.map +1 -1
- package/dist/components/Composer.js +3 -5
- package/dist/components/Composer.js.map +1 -1
- package/dist/components/Cursor.cjs +40 -0
- package/dist/components/Cursor.cjs.map +1 -0
- package/dist/components/Cursor.js +38 -0
- package/dist/components/Cursor.js.map +1 -0
- package/dist/components/Cursors.cjs +252 -0
- package/dist/components/Cursors.cjs.map +1 -0
- package/dist/components/Cursors.js +250 -0
- package/dist/components/Cursors.js.map +1 -0
- package/dist/components/FloatingComposer.cjs +82 -0
- package/dist/components/FloatingComposer.cjs.map +1 -0
- package/dist/components/FloatingComposer.js +80 -0
- package/dist/components/FloatingComposer.js.map +1 -0
- package/dist/components/FloatingThread.cjs +82 -0
- package/dist/components/FloatingThread.cjs.map +1 -0
- package/dist/components/FloatingThread.js +80 -0
- package/dist/components/FloatingThread.js.map +1 -0
- package/dist/components/InboxNotification.cjs +4 -6
- package/dist/components/InboxNotification.cjs.map +1 -1
- package/dist/components/InboxNotification.js +5 -7
- package/dist/components/InboxNotification.js.map +1 -1
- package/dist/components/Thread.cjs +19 -26
- package/dist/components/Thread.cjs.map +1 -1
- package/dist/components/Thread.js +19 -7
- package/dist/components/Thread.js.map +1 -1
- package/dist/components/internal/AiComposer.cjs +1 -2
- package/dist/components/internal/AiComposer.cjs.map +1 -1
- package/dist/components/internal/AiComposer.js +1 -2
- package/dist/components/internal/AiComposer.js.map +1 -1
- package/dist/components/internal/CodeBlock.cjs +1 -2
- package/dist/components/internal/CodeBlock.cjs.map +1 -1
- package/dist/components/internal/CodeBlock.js +1 -2
- package/dist/components/internal/CodeBlock.js.map +1 -1
- package/dist/components/internal/Dropdown.cjs +7 -28
- package/dist/components/internal/Dropdown.cjs.map +1 -1
- package/dist/components/internal/Dropdown.js +7 -7
- package/dist/components/internal/Dropdown.js.map +1 -1
- package/dist/components/internal/EmojiPicker.cjs +6 -27
- package/dist/components/internal/EmojiPicker.cjs.map +1 -1
- package/dist/components/internal/EmojiPicker.js +6 -6
- package/dist/components/internal/EmojiPicker.js.map +1 -1
- package/dist/components/internal/List.cjs +2 -2
- package/dist/components/internal/List.cjs.map +1 -1
- package/dist/components/internal/List.js +2 -2
- package/dist/components/internal/List.js.map +1 -1
- package/dist/components/internal/Tooltip.cjs +7 -28
- package/dist/components/internal/Tooltip.cjs.map +1 -1
- package/dist/components/internal/Tooltip.js +7 -7
- package/dist/components/internal/Tooltip.js.map +1 -1
- package/dist/index.cjs +12 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +214 -125
- package/dist/index.d.ts +214 -125
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/primitives/AiComposer/index.cjs +5 -4
- package/dist/primitives/AiComposer/index.cjs.map +1 -1
- package/dist/primitives/AiComposer/index.js +5 -4
- package/dist/primitives/AiComposer/index.js.map +1 -1
- package/dist/primitives/AiMessage/index.cjs +2 -2
- package/dist/primitives/AiMessage/index.cjs.map +1 -1
- package/dist/primitives/AiMessage/index.js +2 -2
- package/dist/primitives/AiMessage/index.js.map +1 -1
- package/dist/primitives/Collapsible/index.cjs +4 -4
- package/dist/primitives/Collapsible/index.cjs.map +1 -1
- package/dist/primitives/Collapsible/index.js +4 -4
- package/dist/primitives/Collapsible/index.js.map +1 -1
- package/dist/primitives/Comment/index.cjs +4 -4
- package/dist/primitives/Comment/index.cjs.map +1 -1
- package/dist/primitives/Comment/index.js +4 -4
- package/dist/primitives/Comment/index.js.map +1 -1
- package/dist/primitives/Composer/index.cjs +23 -35
- package/dist/primitives/Composer/index.cjs.map +1 -1
- package/dist/primitives/Composer/index.js +23 -16
- package/dist/primitives/Composer/index.js.map +1 -1
- package/dist/primitives/Duration.cjs +2 -2
- package/dist/primitives/Duration.cjs.map +1 -1
- package/dist/primitives/Duration.js +2 -2
- package/dist/primitives/Duration.js.map +1 -1
- package/dist/primitives/FileSize.cjs +2 -2
- package/dist/primitives/FileSize.cjs.map +1 -1
- package/dist/primitives/FileSize.js +2 -2
- package/dist/primitives/FileSize.js.map +1 -1
- package/dist/primitives/Markdown.cjs +2 -2
- package/dist/primitives/Markdown.cjs.map +1 -1
- package/dist/primitives/Markdown.js +2 -2
- package/dist/primitives/Markdown.js.map +1 -1
- package/dist/primitives/Timestamp.cjs +2 -2
- package/dist/primitives/Timestamp.cjs.map +1 -1
- package/dist/primitives/Timestamp.js +2 -2
- package/dist/primitives/Timestamp.js.map +1 -1
- package/dist/utils/Portal.cjs +2 -2
- package/dist/utils/Portal.cjs.map +1 -1
- package/dist/utils/Portal.js +2 -2
- package/dist/utils/Portal.js.map +1 -1
- package/dist/utils/animation-loop.cjs +44 -0
- package/dist/utils/animation-loop.cjs.map +1 -0
- package/dist/utils/animation-loop.js +42 -0
- package/dist/utils/animation-loop.js.map +1 -0
- package/dist/utils/use-pre-resolve-user.cjs +18 -0
- package/dist/utils/use-pre-resolve-user.cjs.map +1 -0
- package/dist/utils/use-pre-resolve-user.js +16 -0
- package/dist/utils/use-pre-resolve-user.js.map +1 -0
- package/dist/version.cjs +1 -1
- package/dist/version.cjs.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +9 -13
- package/src/styles/dark/index.css +1 -1
- package/src/styles/index.css +252 -4
- package/styles/dark/attributes.css +1 -1
- package/styles/dark/attributes.css.map +1 -1
- package/styles/dark/media-query.css +1 -1
- package/styles/dark/media-query.css.map +1 -1
- package/styles.css +1 -1
- package/styles.css.map +1 -1
package/dist/_private/index.cjs
CHANGED
|
@@ -20,7 +20,6 @@ var contexts = require('../primitives/AiComposer/contexts.cjs');
|
|
|
20
20
|
var index$1 = require('../primitives/AiMessage/index.cjs');
|
|
21
21
|
var index$2 = require('../primitives/Collapsible/index.cjs');
|
|
22
22
|
var Markdown = require('../primitives/Markdown.cjs');
|
|
23
|
-
var TooltipPrimitive = require('@radix-ui/react-tooltip');
|
|
24
23
|
var ArrowCornerDownRight = require('../icons/ArrowCornerDownRight.cjs');
|
|
25
24
|
var ArrowCornerUpRight = require('../icons/ArrowCornerUpRight.cjs');
|
|
26
25
|
var ArrowDown = require('../icons/ArrowDown.cjs');
|
|
@@ -88,6 +87,7 @@ exports.List = List.List;
|
|
|
88
87
|
exports.Prose = Prose.Prose;
|
|
89
88
|
exports.ShortcutTooltip = Tooltip.ShortcutTooltip;
|
|
90
89
|
exports.Tooltip = Tooltip.Tooltip;
|
|
90
|
+
exports.TooltipProvider = Tooltip.TooltipProvider;
|
|
91
91
|
exports.User = User.User;
|
|
92
92
|
exports.useLiveblocksUiConfig = config.useLiveblocksUiConfig;
|
|
93
93
|
exports.capitalize = capitalize.capitalize;
|
|
@@ -100,10 +100,6 @@ exports.useAiComposer = contexts.useAiComposer;
|
|
|
100
100
|
exports.AiMessage = index$1;
|
|
101
101
|
exports.Collapsible = index$2;
|
|
102
102
|
exports.Markdown = Markdown.Markdown;
|
|
103
|
-
Object.defineProperty(exports, 'TooltipProvider', {
|
|
104
|
-
enumerable: true,
|
|
105
|
-
get: function () { return TooltipPrimitive.TooltipProvider; }
|
|
106
|
-
});
|
|
107
103
|
exports.ArrowCornerDownRightIcon = ArrowCornerDownRight.ArrowCornerDownRightIcon;
|
|
108
104
|
exports.ArrowCornerUpRightIcon = ArrowCornerUpRight.ArrowCornerUpRightIcon;
|
|
109
105
|
exports.ArrowDownIcon = ArrowDown.ArrowDownIcon;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -2,8 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import { Relax, AiTextPart, AiReasoningPart, AiChatMessage } from '@liveblocks/core';
|
|
3
3
|
import * as react from 'react';
|
|
4
4
|
import { ComponentProps, ReactNode, ComponentPropsWithoutRef, ElementType, ComponentType, Ref, RefCallback, FormEvent } from 'react';
|
|
5
|
-
import
|
|
6
|
-
export { TooltipProvider } from '@radix-ui/react-tooltip';
|
|
5
|
+
import { Tooltip as Tooltip$1 } from 'radix-ui';
|
|
7
6
|
|
|
8
7
|
type AvatarProps = ComponentProps<"div"> & {
|
|
9
8
|
icon?: ReactNode;
|
|
@@ -345,7 +344,7 @@ interface ProseProps extends ComponentProps<"div"> {
|
|
|
345
344
|
*/
|
|
346
345
|
declare function Prose({ content, partial, components, className, ...props }: ProseProps): react_jsx_runtime.JSX.Element;
|
|
347
346
|
|
|
348
|
-
interface TooltipProps extends Pick<
|
|
347
|
+
interface TooltipProps extends Pick<Tooltip$1.TooltipTriggerProps, "children">, Omit<Tooltip$1.TooltipContentProps, "content"> {
|
|
349
348
|
content: ReactNode;
|
|
350
349
|
multiline?: boolean;
|
|
351
350
|
}
|
|
@@ -354,6 +353,7 @@ interface ShortcutTooltipProps extends TooltipProps {
|
|
|
354
353
|
}
|
|
355
354
|
declare const Tooltip: react.ForwardRefExoticComponent<TooltipProps & react.RefAttributes<HTMLButtonElement>>;
|
|
356
355
|
declare const ShortcutTooltip: react.ForwardRefExoticComponent<ShortcutTooltipProps & react.RefAttributes<HTMLButtonElement>>;
|
|
356
|
+
declare const TooltipProvider: react.FC<Tooltip$1.TooltipProviderProps>;
|
|
357
357
|
|
|
358
358
|
interface UserProps extends ComponentProps<"span"> {
|
|
359
359
|
/**
|
|
@@ -718,4 +718,4 @@ declare namespace index {
|
|
|
718
718
|
};
|
|
719
719
|
}
|
|
720
720
|
|
|
721
|
-
export { index$2 as AiComposer, AiComposerEditorProps, AiComposerFormProps, AiComposerSubmitProps, index$1 as AiMessage, AiMessageContentComponents, AiMessageContentProps, AiMessageContentReasoningPartProps, AiMessageContentTextPartProps, ArrowCornerDownRightIcon, ArrowCornerUpRightIcon, ArrowDownIcon, ArrowUpIcon, AttachmentIcon, Avatar, BellCrossedIcon, BellIcon, BlockquoteIcon, BoldIcon, Button, CheckCircleFillIcon, CheckCircleIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, CodeIcon, index as Collapsible, CommentIcon, CopyIcon, CrossCircleFillIcon, CrossIcon, DeleteIcon, EditIcon, EllipsisIcon, EmojiIcon, EmojiPlusIcon, GlobeIcon, Group, GroupDescription, H1Icon, H2Icon, H3Icon, ItalicIcon, LengthenIcon, List, ListOrderedIcon, ListUnorderedIcon, Markdown, MarkdownComponents, MarkdownComponentsBlockquoteProps, MarkdownComponentsCodeBlockProps, MarkdownComponentsHeadingProps, MarkdownComponentsImageProps, MarkdownComponentsInlineProps, MarkdownComponentsLinkProps, MarkdownComponentsListProps, MarkdownComponentsParagraphProps, MarkdownComponentsTableProps, MarkdownProps, MentionIcon, MinusCircleIcon, Portal, Prose, QuestionMarkIcon, RedoIcon, RestoreIcon, RetryIcon, SearchIcon, SelectButton, SendIcon, ShortcutTooltip, ShortenIcon, SparklesIcon, SparklesTextIcon, SpinnerIcon, StopIcon, StrikethroughIcon, TextIcon, Tooltip, TranslateIcon, UnderlineIcon, UndoIcon, User, UserIcon, UsersIcon, WarningIcon, capitalize, cn, useAiComposer, useInitial, useLiveblocksUiConfig, useRefs };
|
|
721
|
+
export { index$2 as AiComposer, AiComposerEditorProps, AiComposerFormProps, AiComposerSubmitProps, index$1 as AiMessage, AiMessageContentComponents, AiMessageContentProps, AiMessageContentReasoningPartProps, AiMessageContentTextPartProps, ArrowCornerDownRightIcon, ArrowCornerUpRightIcon, ArrowDownIcon, ArrowUpIcon, AttachmentIcon, Avatar, BellCrossedIcon, BellIcon, BlockquoteIcon, BoldIcon, Button, CheckCircleFillIcon, CheckCircleIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, CodeIcon, index as Collapsible, CommentIcon, CopyIcon, CrossCircleFillIcon, CrossIcon, DeleteIcon, EditIcon, EllipsisIcon, EmojiIcon, EmojiPlusIcon, GlobeIcon, Group, GroupDescription, H1Icon, H2Icon, H3Icon, ItalicIcon, LengthenIcon, List, ListOrderedIcon, ListUnorderedIcon, Markdown, MarkdownComponents, MarkdownComponentsBlockquoteProps, MarkdownComponentsCodeBlockProps, MarkdownComponentsHeadingProps, MarkdownComponentsImageProps, MarkdownComponentsInlineProps, MarkdownComponentsLinkProps, MarkdownComponentsListProps, MarkdownComponentsParagraphProps, MarkdownComponentsTableProps, MarkdownProps, MentionIcon, MinusCircleIcon, Portal, Prose, QuestionMarkIcon, RedoIcon, RestoreIcon, RetryIcon, SearchIcon, SelectButton, SendIcon, ShortcutTooltip, ShortenIcon, SparklesIcon, SparklesTextIcon, SpinnerIcon, StopIcon, StrikethroughIcon, TextIcon, Tooltip, TooltipProvider, TranslateIcon, UnderlineIcon, UndoIcon, User, UserIcon, UsersIcon, WarningIcon, capitalize, cn, useAiComposer, useInitial, useLiveblocksUiConfig, useRefs };
|
package/dist/_private/index.d.ts
CHANGED
|
@@ -2,8 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import { Relax, AiTextPart, AiReasoningPart, AiChatMessage } from '@liveblocks/core';
|
|
3
3
|
import * as react from 'react';
|
|
4
4
|
import { ComponentProps, ReactNode, ComponentPropsWithoutRef, ElementType, ComponentType, Ref, RefCallback, FormEvent } from 'react';
|
|
5
|
-
import
|
|
6
|
-
export { TooltipProvider } from '@radix-ui/react-tooltip';
|
|
5
|
+
import { Tooltip as Tooltip$1 } from 'radix-ui';
|
|
7
6
|
|
|
8
7
|
type AvatarProps = ComponentProps<"div"> & {
|
|
9
8
|
icon?: ReactNode;
|
|
@@ -345,7 +344,7 @@ interface ProseProps extends ComponentProps<"div"> {
|
|
|
345
344
|
*/
|
|
346
345
|
declare function Prose({ content, partial, components, className, ...props }: ProseProps): react_jsx_runtime.JSX.Element;
|
|
347
346
|
|
|
348
|
-
interface TooltipProps extends Pick<
|
|
347
|
+
interface TooltipProps extends Pick<Tooltip$1.TooltipTriggerProps, "children">, Omit<Tooltip$1.TooltipContentProps, "content"> {
|
|
349
348
|
content: ReactNode;
|
|
350
349
|
multiline?: boolean;
|
|
351
350
|
}
|
|
@@ -354,6 +353,7 @@ interface ShortcutTooltipProps extends TooltipProps {
|
|
|
354
353
|
}
|
|
355
354
|
declare const Tooltip: react.ForwardRefExoticComponent<TooltipProps & react.RefAttributes<HTMLButtonElement>>;
|
|
356
355
|
declare const ShortcutTooltip: react.ForwardRefExoticComponent<ShortcutTooltipProps & react.RefAttributes<HTMLButtonElement>>;
|
|
356
|
+
declare const TooltipProvider: react.FC<Tooltip$1.TooltipProviderProps>;
|
|
357
357
|
|
|
358
358
|
interface UserProps extends ComponentProps<"span"> {
|
|
359
359
|
/**
|
|
@@ -718,4 +718,4 @@ declare namespace index {
|
|
|
718
718
|
};
|
|
719
719
|
}
|
|
720
720
|
|
|
721
|
-
export { index$2 as AiComposer, AiComposerEditorProps, AiComposerFormProps, AiComposerSubmitProps, index$1 as AiMessage, AiMessageContentComponents, AiMessageContentProps, AiMessageContentReasoningPartProps, AiMessageContentTextPartProps, ArrowCornerDownRightIcon, ArrowCornerUpRightIcon, ArrowDownIcon, ArrowUpIcon, AttachmentIcon, Avatar, BellCrossedIcon, BellIcon, BlockquoteIcon, BoldIcon, Button, CheckCircleFillIcon, CheckCircleIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, CodeIcon, index as Collapsible, CommentIcon, CopyIcon, CrossCircleFillIcon, CrossIcon, DeleteIcon, EditIcon, EllipsisIcon, EmojiIcon, EmojiPlusIcon, GlobeIcon, Group, GroupDescription, H1Icon, H2Icon, H3Icon, ItalicIcon, LengthenIcon, List, ListOrderedIcon, ListUnorderedIcon, Markdown, MarkdownComponents, MarkdownComponentsBlockquoteProps, MarkdownComponentsCodeBlockProps, MarkdownComponentsHeadingProps, MarkdownComponentsImageProps, MarkdownComponentsInlineProps, MarkdownComponentsLinkProps, MarkdownComponentsListProps, MarkdownComponentsParagraphProps, MarkdownComponentsTableProps, MarkdownProps, MentionIcon, MinusCircleIcon, Portal, Prose, QuestionMarkIcon, RedoIcon, RestoreIcon, RetryIcon, SearchIcon, SelectButton, SendIcon, ShortcutTooltip, ShortenIcon, SparklesIcon, SparklesTextIcon, SpinnerIcon, StopIcon, StrikethroughIcon, TextIcon, Tooltip, TranslateIcon, UnderlineIcon, UndoIcon, User, UserIcon, UsersIcon, WarningIcon, capitalize, cn, useAiComposer, useInitial, useLiveblocksUiConfig, useRefs };
|
|
721
|
+
export { index$2 as AiComposer, AiComposerEditorProps, AiComposerFormProps, AiComposerSubmitProps, index$1 as AiMessage, AiMessageContentComponents, AiMessageContentProps, AiMessageContentReasoningPartProps, AiMessageContentTextPartProps, ArrowCornerDownRightIcon, ArrowCornerUpRightIcon, ArrowDownIcon, ArrowUpIcon, AttachmentIcon, Avatar, BellCrossedIcon, BellIcon, BlockquoteIcon, BoldIcon, Button, CheckCircleFillIcon, CheckCircleIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, CodeIcon, index as Collapsible, CommentIcon, CopyIcon, CrossCircleFillIcon, CrossIcon, DeleteIcon, EditIcon, EllipsisIcon, EmojiIcon, EmojiPlusIcon, GlobeIcon, Group, GroupDescription, H1Icon, H2Icon, H3Icon, ItalicIcon, LengthenIcon, List, ListOrderedIcon, ListUnorderedIcon, Markdown, MarkdownComponents, MarkdownComponentsBlockquoteProps, MarkdownComponentsCodeBlockProps, MarkdownComponentsHeadingProps, MarkdownComponentsImageProps, MarkdownComponentsInlineProps, MarkdownComponentsLinkProps, MarkdownComponentsListProps, MarkdownComponentsParagraphProps, MarkdownComponentsTableProps, MarkdownProps, MentionIcon, MinusCircleIcon, Portal, Prose, QuestionMarkIcon, RedoIcon, RestoreIcon, RetryIcon, SearchIcon, SelectButton, SendIcon, ShortcutTooltip, ShortenIcon, SparklesIcon, SparklesTextIcon, SpinnerIcon, StopIcon, StrikethroughIcon, TextIcon, Tooltip, TooltipProvider, TranslateIcon, UnderlineIcon, UndoIcon, User, UserIcon, UsersIcon, WarningIcon, capitalize, cn, useAiComposer, useInitial, useLiveblocksUiConfig, useRefs };
|
package/dist/_private/index.js
CHANGED
|
@@ -4,7 +4,7 @@ export { Group } from '../components/internal/Group.js';
|
|
|
4
4
|
export { GroupDescription } from '../components/internal/GroupDescription.js';
|
|
5
5
|
export { List } from '../components/internal/List.js';
|
|
6
6
|
export { Prose } from '../components/internal/Prose.js';
|
|
7
|
-
export { ShortcutTooltip, Tooltip } from '../components/internal/Tooltip.js';
|
|
7
|
+
export { ShortcutTooltip, Tooltip, TooltipProvider } from '../components/internal/Tooltip.js';
|
|
8
8
|
export { User } from '../components/internal/User.js';
|
|
9
9
|
export { useLiveblocksUiConfig } from '../config.js';
|
|
10
10
|
import '../icons/index.js';
|
|
@@ -21,7 +21,6 @@ export { index$1 as AiMessage };
|
|
|
21
21
|
import * as index$2 from '../primitives/Collapsible/index.js';
|
|
22
22
|
export { index$2 as Collapsible };
|
|
23
23
|
export { Markdown } from '../primitives/Markdown.js';
|
|
24
|
-
export { TooltipProvider } from '@radix-ui/react-tooltip';
|
|
25
24
|
export { ArrowCornerDownRightIcon } from '../icons/ArrowCornerDownRight.js';
|
|
26
25
|
export { ArrowCornerUpRightIcon } from '../icons/ArrowCornerUpRight.js';
|
|
27
26
|
export { ArrowDownIcon } from '../icons/ArrowDown.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react$1 = require('@liveblocks/react');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var constants = require('../constants.cjs');
|
|
8
|
+
var overrides = require('../overrides.cjs');
|
|
9
|
+
var cn = require('../utils/cn.cjs');
|
|
10
|
+
var Avatar = require('./internal/Avatar.cjs');
|
|
11
|
+
var Tooltip = require('./internal/Tooltip.cjs');
|
|
12
|
+
var User = require('./internal/User.cjs');
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
const AvatarStack = react.forwardRef(
|
|
16
|
+
({
|
|
17
|
+
userIds: additionalUserIds = [],
|
|
18
|
+
max = 3,
|
|
19
|
+
overrides: overrides$1,
|
|
20
|
+
className,
|
|
21
|
+
style,
|
|
22
|
+
...props
|
|
23
|
+
}, forwardedRef) => {
|
|
24
|
+
const $ = overrides.useOverrides(overrides$1);
|
|
25
|
+
const otherIds = react$1.useOthers((others) => others.map((user) => user.id));
|
|
26
|
+
const selfId = react$1.useSelf((self) => self.id);
|
|
27
|
+
const userIds = react.useMemo(() => {
|
|
28
|
+
const uniqueUserIds = /* @__PURE__ */ new Set([
|
|
29
|
+
selfId,
|
|
30
|
+
...otherIds,
|
|
31
|
+
...additionalUserIds
|
|
32
|
+
]);
|
|
33
|
+
return [...uniqueUserIds];
|
|
34
|
+
}, [selfId, otherIds, additionalUserIds]);
|
|
35
|
+
const maxAvatars = Math.max(1, Math.floor(max));
|
|
36
|
+
const visibleUserIds = userIds.slice(0, maxAvatars);
|
|
37
|
+
const hiddenUserIds = userIds.slice(visibleUserIds.length);
|
|
38
|
+
const remainingUsersCount = hiddenUserIds.length;
|
|
39
|
+
const visibleItemsCount = visibleUserIds.length + Number(remainingUsersCount > 0);
|
|
40
|
+
if (userIds.length === 0) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Tooltip.TooltipProvider, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
44
|
+
"div",
|
|
45
|
+
{
|
|
46
|
+
className: cn.cn("lb-root lb-avatar-stack", className),
|
|
47
|
+
dir: $.dir,
|
|
48
|
+
style: {
|
|
49
|
+
"--lb-avatar-stack-count": visibleItemsCount - 1,
|
|
50
|
+
...style
|
|
51
|
+
},
|
|
52
|
+
...props,
|
|
53
|
+
ref: forwardedRef,
|
|
54
|
+
children: [
|
|
55
|
+
visibleUserIds.map((userId, index) => {
|
|
56
|
+
if (!userId) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
60
|
+
Tooltip.Tooltip,
|
|
61
|
+
{
|
|
62
|
+
content: /* @__PURE__ */ jsxRuntime.jsx(User.User, { userId }),
|
|
63
|
+
sideOffset: constants.FLOATING_ELEMENT_SIDE_OFFSET,
|
|
64
|
+
collisionPadding: constants.FLOATING_ELEMENT_COLLISION_PADDING,
|
|
65
|
+
side: "top",
|
|
66
|
+
align: "center",
|
|
67
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
68
|
+
Avatar.Avatar,
|
|
69
|
+
{
|
|
70
|
+
userId,
|
|
71
|
+
className: "lb-avatar-stack-avatar",
|
|
72
|
+
style: { "--lb-avatar-stack-index": index }
|
|
73
|
+
}
|
|
74
|
+
)
|
|
75
|
+
},
|
|
76
|
+
userId
|
|
77
|
+
);
|
|
78
|
+
}),
|
|
79
|
+
remainingUsersCount > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
80
|
+
Tooltip.Tooltip,
|
|
81
|
+
{
|
|
82
|
+
content: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "lb-users-tooltip-list", children: hiddenUserIds.map(
|
|
83
|
+
(userId) => userId ? /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "lb-users-tooltip-list-item", children: [
|
|
84
|
+
/* @__PURE__ */ jsxRuntime.jsx(Avatar.Avatar, { userId }),
|
|
85
|
+
/* @__PURE__ */ jsxRuntime.jsx(User.User, { userId })
|
|
86
|
+
] }, userId) : null
|
|
87
|
+
) }),
|
|
88
|
+
sideOffset: constants.FLOATING_ELEMENT_SIDE_OFFSET,
|
|
89
|
+
collisionPadding: constants.FLOATING_ELEMENT_COLLISION_PADDING,
|
|
90
|
+
side: "top",
|
|
91
|
+
align: "center",
|
|
92
|
+
className: "lb-users-tooltip",
|
|
93
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
94
|
+
"div",
|
|
95
|
+
{
|
|
96
|
+
className: "lb-avatar lb-avatar-stack-avatar lb-avatar-stack-more",
|
|
97
|
+
style: {
|
|
98
|
+
"--lb-avatar-stack-index": visibleUserIds.length
|
|
99
|
+
},
|
|
100
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "lb-avatar-fallback", children: [
|
|
101
|
+
"+",
|
|
102
|
+
remainingUsersCount
|
|
103
|
+
] })
|
|
104
|
+
}
|
|
105
|
+
)
|
|
106
|
+
}
|
|
107
|
+
) : null
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
) });
|
|
111
|
+
}
|
|
112
|
+
);
|
|
113
|
+
|
|
114
|
+
exports.AvatarStack = AvatarStack;
|
|
115
|
+
//# sourceMappingURL=AvatarStack.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AvatarStack.cjs","sources":["../../src/components/AvatarStack.tsx"],"sourcesContent":["\"use client\";\n\nimport { useOthers, useSelf } from \"@liveblocks/react\";\nimport type { ComponentPropsWithoutRef, CSSProperties } from \"react\";\nimport { forwardRef, useMemo } from \"react\";\n\nimport {\n FLOATING_ELEMENT_COLLISION_PADDING,\n FLOATING_ELEMENT_SIDE_OFFSET,\n} from \"../constants\";\nimport type { GlobalOverrides } from \"../overrides\";\nimport { useOverrides } from \"../overrides\";\nimport { cn } from \"../utils/cn\";\nimport { Avatar } from \"./internal/Avatar\";\nimport { Tooltip, TooltipProvider } from \"./internal/Tooltip\";\nimport { User } from \"./internal/User\";\n\nexport interface AvatarStackProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Optional additional user IDs to include in the stack.\n */\n userIds?: string[];\n\n /**\n * The maximum number of visible avatars.\n */\n max?: number;\n\n /**\n * Override the component's strings.\n */\n overrides?: Partial<GlobalOverrides>;\n}\n\n/**\n * Displays a stack of avatars for the users currently present in the room.\n */\nexport const AvatarStack = forwardRef<HTMLDivElement, AvatarStackProps>(\n (\n {\n userIds: additionalUserIds = [],\n max = 3,\n overrides,\n className,\n style,\n ...props\n },\n forwardedRef\n ) => {\n const $ = useOverrides(overrides);\n const otherIds = useOthers((others) => others.map((user) => user.id));\n const selfId = useSelf((self) => self.id);\n const userIds = useMemo(() => {\n const uniqueUserIds = new Set([\n selfId,\n ...otherIds,\n ...additionalUserIds,\n ]);\n\n return [...uniqueUserIds];\n }, [selfId, otherIds, additionalUserIds]);\n const maxAvatars = Math.max(1, Math.floor(max));\n const visibleUserIds = userIds.slice(0, maxAvatars);\n const hiddenUserIds = userIds.slice(visibleUserIds.length);\n const remainingUsersCount = hiddenUserIds.length;\n const visibleItemsCount =\n visibleUserIds.length + Number(remainingUsersCount > 0);\n\n if (userIds.length === 0) {\n return null;\n }\n\n return (\n <TooltipProvider>\n <div\n className={cn(\"lb-root lb-avatar-stack\", className)}\n dir={$.dir}\n style={\n {\n \"--lb-avatar-stack-count\": visibleItemsCount - 1,\n ...style,\n } as CSSProperties\n }\n {...props}\n ref={forwardedRef}\n >\n {visibleUserIds.map((userId, index) => {\n if (!userId) {\n return null;\n }\n\n return (\n <Tooltip\n key={userId}\n content={<User userId={userId} />}\n sideOffset={FLOATING_ELEMENT_SIDE_OFFSET}\n collisionPadding={FLOATING_ELEMENT_COLLISION_PADDING}\n side=\"top\"\n align=\"center\"\n >\n <Avatar\n userId={userId}\n className=\"lb-avatar-stack-avatar\"\n style={{ \"--lb-avatar-stack-index\": index } as CSSProperties}\n />\n </Tooltip>\n );\n })}\n {remainingUsersCount > 0 ? (\n <Tooltip\n content={\n <ul className=\"lb-users-tooltip-list\">\n {hiddenUserIds.map((userId) =>\n userId ? (\n <li key={userId} className=\"lb-users-tooltip-list-item\">\n <Avatar userId={userId} />\n <User userId={userId} />\n </li>\n ) : null\n )}\n </ul>\n }\n sideOffset={FLOATING_ELEMENT_SIDE_OFFSET}\n collisionPadding={FLOATING_ELEMENT_COLLISION_PADDING}\n side=\"top\"\n align=\"center\"\n className=\"lb-users-tooltip\"\n >\n <div\n className=\"lb-avatar lb-avatar-stack-avatar lb-avatar-stack-more\"\n style={\n {\n \"--lb-avatar-stack-index\": visibleUserIds.length,\n } as CSSProperties\n }\n >\n <span className=\"lb-avatar-fallback\">\n +{remainingUsersCount}\n </span>\n </div>\n </Tooltip>\n ) : null}\n </div>\n </TooltipProvider>\n );\n }\n);\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAqCO;AAAoB;AAEvB;AACgC;AACxB;AACN;AACA;AACA;AACG;AAIL;AACA;AACA;AACA;AACE;AAA8B;AAC5B;AACG;AACA;AAGL;AAAwB;AAE1B;AACA;AACA;AACA;AACA;AAGA;AACE;AAAO;AAGT;AAEI;AAAC;AAAA;AACmD;AAC3C;AAEL;AACiD;AAC5C;AACL;AAEE;AACC;AAEJ;AACC;AACE;AAAO;AAGT;AACE;AAAC;AAAA;AAEgC;AACnB;AACM;AACb;AACC;AAEN;AAAC;AAAA;AACC;AACU;AACgC;AAAA;AAC5C;AAAA;AAXK;AAYP;AAEH;AAEC;AAAC;AAAA;AAGoB;AAGT;AAAwB;AACF;AAEtB;AAER;AAEU;AACM;AACb;AACC;AACI;AAEV;AAAC;AAAA;AACW;AAER;AAC4C;AAC5C;AAGmC;AAAA;AACjC;AACJ;AAAA;AACF;AAAA;AAEA;AAAA;AAAA;AAER;AAGN;;"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { useOthers, useSelf } from '@liveblocks/react';
|
|
4
|
+
import { forwardRef, useMemo } from 'react';
|
|
5
|
+
import { FLOATING_ELEMENT_SIDE_OFFSET, FLOATING_ELEMENT_COLLISION_PADDING } from '../constants.js';
|
|
6
|
+
import { useOverrides } from '../overrides.js';
|
|
7
|
+
import { cn } from '../utils/cn.js';
|
|
8
|
+
import { Avatar } from './internal/Avatar.js';
|
|
9
|
+
import { TooltipProvider, Tooltip } from './internal/Tooltip.js';
|
|
10
|
+
import { User } from './internal/User.js';
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
const AvatarStack = forwardRef(
|
|
14
|
+
({
|
|
15
|
+
userIds: additionalUserIds = [],
|
|
16
|
+
max = 3,
|
|
17
|
+
overrides,
|
|
18
|
+
className,
|
|
19
|
+
style,
|
|
20
|
+
...props
|
|
21
|
+
}, forwardedRef) => {
|
|
22
|
+
const $ = useOverrides(overrides);
|
|
23
|
+
const otherIds = useOthers((others) => others.map((user) => user.id));
|
|
24
|
+
const selfId = useSelf((self) => self.id);
|
|
25
|
+
const userIds = useMemo(() => {
|
|
26
|
+
const uniqueUserIds = /* @__PURE__ */ new Set([
|
|
27
|
+
selfId,
|
|
28
|
+
...otherIds,
|
|
29
|
+
...additionalUserIds
|
|
30
|
+
]);
|
|
31
|
+
return [...uniqueUserIds];
|
|
32
|
+
}, [selfId, otherIds, additionalUserIds]);
|
|
33
|
+
const maxAvatars = Math.max(1, Math.floor(max));
|
|
34
|
+
const visibleUserIds = userIds.slice(0, maxAvatars);
|
|
35
|
+
const hiddenUserIds = userIds.slice(visibleUserIds.length);
|
|
36
|
+
const remainingUsersCount = hiddenUserIds.length;
|
|
37
|
+
const visibleItemsCount = visibleUserIds.length + Number(remainingUsersCount > 0);
|
|
38
|
+
if (userIds.length === 0) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
return /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsxs(
|
|
42
|
+
"div",
|
|
43
|
+
{
|
|
44
|
+
className: cn("lb-root lb-avatar-stack", className),
|
|
45
|
+
dir: $.dir,
|
|
46
|
+
style: {
|
|
47
|
+
"--lb-avatar-stack-count": visibleItemsCount - 1,
|
|
48
|
+
...style
|
|
49
|
+
},
|
|
50
|
+
...props,
|
|
51
|
+
ref: forwardedRef,
|
|
52
|
+
children: [
|
|
53
|
+
visibleUserIds.map((userId, index) => {
|
|
54
|
+
if (!userId) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return /* @__PURE__ */ jsx(
|
|
58
|
+
Tooltip,
|
|
59
|
+
{
|
|
60
|
+
content: /* @__PURE__ */ jsx(User, { userId }),
|
|
61
|
+
sideOffset: FLOATING_ELEMENT_SIDE_OFFSET,
|
|
62
|
+
collisionPadding: FLOATING_ELEMENT_COLLISION_PADDING,
|
|
63
|
+
side: "top",
|
|
64
|
+
align: "center",
|
|
65
|
+
children: /* @__PURE__ */ jsx(
|
|
66
|
+
Avatar,
|
|
67
|
+
{
|
|
68
|
+
userId,
|
|
69
|
+
className: "lb-avatar-stack-avatar",
|
|
70
|
+
style: { "--lb-avatar-stack-index": index }
|
|
71
|
+
}
|
|
72
|
+
)
|
|
73
|
+
},
|
|
74
|
+
userId
|
|
75
|
+
);
|
|
76
|
+
}),
|
|
77
|
+
remainingUsersCount > 0 ? /* @__PURE__ */ jsx(
|
|
78
|
+
Tooltip,
|
|
79
|
+
{
|
|
80
|
+
content: /* @__PURE__ */ jsx("ul", { className: "lb-users-tooltip-list", children: hiddenUserIds.map(
|
|
81
|
+
(userId) => userId ? /* @__PURE__ */ jsxs("li", { className: "lb-users-tooltip-list-item", children: [
|
|
82
|
+
/* @__PURE__ */ jsx(Avatar, { userId }),
|
|
83
|
+
/* @__PURE__ */ jsx(User, { userId })
|
|
84
|
+
] }, userId) : null
|
|
85
|
+
) }),
|
|
86
|
+
sideOffset: FLOATING_ELEMENT_SIDE_OFFSET,
|
|
87
|
+
collisionPadding: FLOATING_ELEMENT_COLLISION_PADDING,
|
|
88
|
+
side: "top",
|
|
89
|
+
align: "center",
|
|
90
|
+
className: "lb-users-tooltip",
|
|
91
|
+
children: /* @__PURE__ */ jsx(
|
|
92
|
+
"div",
|
|
93
|
+
{
|
|
94
|
+
className: "lb-avatar lb-avatar-stack-avatar lb-avatar-stack-more",
|
|
95
|
+
style: {
|
|
96
|
+
"--lb-avatar-stack-index": visibleUserIds.length
|
|
97
|
+
},
|
|
98
|
+
children: /* @__PURE__ */ jsxs("span", { className: "lb-avatar-fallback", children: [
|
|
99
|
+
"+",
|
|
100
|
+
remainingUsersCount
|
|
101
|
+
] })
|
|
102
|
+
}
|
|
103
|
+
)
|
|
104
|
+
}
|
|
105
|
+
) : null
|
|
106
|
+
]
|
|
107
|
+
}
|
|
108
|
+
) });
|
|
109
|
+
}
|
|
110
|
+
);
|
|
111
|
+
|
|
112
|
+
export { AvatarStack };
|
|
113
|
+
//# sourceMappingURL=AvatarStack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AvatarStack.js","sources":["../../src/components/AvatarStack.tsx"],"sourcesContent":["\"use client\";\n\nimport { useOthers, useSelf } from \"@liveblocks/react\";\nimport type { ComponentPropsWithoutRef, CSSProperties } from \"react\";\nimport { forwardRef, useMemo } from \"react\";\n\nimport {\n FLOATING_ELEMENT_COLLISION_PADDING,\n FLOATING_ELEMENT_SIDE_OFFSET,\n} from \"../constants\";\nimport type { GlobalOverrides } from \"../overrides\";\nimport { useOverrides } from \"../overrides\";\nimport { cn } from \"../utils/cn\";\nimport { Avatar } from \"./internal/Avatar\";\nimport { Tooltip, TooltipProvider } from \"./internal/Tooltip\";\nimport { User } from \"./internal/User\";\n\nexport interface AvatarStackProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Optional additional user IDs to include in the stack.\n */\n userIds?: string[];\n\n /**\n * The maximum number of visible avatars.\n */\n max?: number;\n\n /**\n * Override the component's strings.\n */\n overrides?: Partial<GlobalOverrides>;\n}\n\n/**\n * Displays a stack of avatars for the users currently present in the room.\n */\nexport const AvatarStack = forwardRef<HTMLDivElement, AvatarStackProps>(\n (\n {\n userIds: additionalUserIds = [],\n max = 3,\n overrides,\n className,\n style,\n ...props\n },\n forwardedRef\n ) => {\n const $ = useOverrides(overrides);\n const otherIds = useOthers((others) => others.map((user) => user.id));\n const selfId = useSelf((self) => self.id);\n const userIds = useMemo(() => {\n const uniqueUserIds = new Set([\n selfId,\n ...otherIds,\n ...additionalUserIds,\n ]);\n\n return [...uniqueUserIds];\n }, [selfId, otherIds, additionalUserIds]);\n const maxAvatars = Math.max(1, Math.floor(max));\n const visibleUserIds = userIds.slice(0, maxAvatars);\n const hiddenUserIds = userIds.slice(visibleUserIds.length);\n const remainingUsersCount = hiddenUserIds.length;\n const visibleItemsCount =\n visibleUserIds.length + Number(remainingUsersCount > 0);\n\n if (userIds.length === 0) {\n return null;\n }\n\n return (\n <TooltipProvider>\n <div\n className={cn(\"lb-root lb-avatar-stack\", className)}\n dir={$.dir}\n style={\n {\n \"--lb-avatar-stack-count\": visibleItemsCount - 1,\n ...style,\n } as CSSProperties\n }\n {...props}\n ref={forwardedRef}\n >\n {visibleUserIds.map((userId, index) => {\n if (!userId) {\n return null;\n }\n\n return (\n <Tooltip\n key={userId}\n content={<User userId={userId} />}\n sideOffset={FLOATING_ELEMENT_SIDE_OFFSET}\n collisionPadding={FLOATING_ELEMENT_COLLISION_PADDING}\n side=\"top\"\n align=\"center\"\n >\n <Avatar\n userId={userId}\n className=\"lb-avatar-stack-avatar\"\n style={{ \"--lb-avatar-stack-index\": index } as CSSProperties}\n />\n </Tooltip>\n );\n })}\n {remainingUsersCount > 0 ? (\n <Tooltip\n content={\n <ul className=\"lb-users-tooltip-list\">\n {hiddenUserIds.map((userId) =>\n userId ? (\n <li key={userId} className=\"lb-users-tooltip-list-item\">\n <Avatar userId={userId} />\n <User userId={userId} />\n </li>\n ) : null\n )}\n </ul>\n }\n sideOffset={FLOATING_ELEMENT_SIDE_OFFSET}\n collisionPadding={FLOATING_ELEMENT_COLLISION_PADDING}\n side=\"top\"\n align=\"center\"\n className=\"lb-users-tooltip\"\n >\n <div\n className=\"lb-avatar lb-avatar-stack-avatar lb-avatar-stack-more\"\n style={\n {\n \"--lb-avatar-stack-index\": visibleUserIds.length,\n } as CSSProperties\n }\n >\n <span className=\"lb-avatar-fallback\">\n +{remainingUsersCount}\n </span>\n </div>\n </Tooltip>\n ) : null}\n </div>\n </TooltipProvider>\n );\n }\n);\n"],"names":[],"mappings":";;;;;;;;;;;;AAqCO;AAAoB;AAEvB;AACgC;AACxB;AACN;AACA;AACA;AACG;AAIL;AACA;AACA;AACA;AACE;AAA8B;AAC5B;AACG;AACA;AAGL;AAAwB;AAE1B;AACA;AACA;AACA;AACA;AAGA;AACE;AAAO;AAGT;AAEI;AAAC;AAAA;AACmD;AAC3C;AAEL;AACiD;AAC5C;AACL;AAEE;AACC;AAEJ;AACC;AACE;AAAO;AAGT;AACE;AAAC;AAAA;AAEgC;AACnB;AACM;AACb;AACC;AAEN;AAAC;AAAA;AACC;AACU;AACgC;AAAA;AAC5C;AAAA;AAXK;AAYP;AAEH;AAEC;AAAC;AAAA;AAGoB;AAGT;AAAwB;AACF;AAEtB;AAER;AAEU;AACM;AACb;AACC;AACI;AAEV;AAAC;AAAA;AACW;AAER;AAC4C;AAC5C;AAGmC;AAAA;AACjC;AACJ;AAAA;AACF;AAAA;AAEA;AAAA;AAAA;AAER;AAGN;;"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
5
|
var core = require('@liveblocks/core');
|
|
6
6
|
var _private = require('@liveblocks/react/_private');
|
|
7
|
-
var
|
|
7
|
+
var radixUi = require('radix-ui');
|
|
8
8
|
var react = require('react');
|
|
9
9
|
var components = require('../components.cjs');
|
|
10
10
|
var Check = require('../icons/Check.cjs');
|
|
@@ -35,28 +35,6 @@ var Group = require('./internal/Group.cjs');
|
|
|
35
35
|
var List = require('./internal/List.cjs');
|
|
36
36
|
var Tooltip = require('./internal/Tooltip.cjs');
|
|
37
37
|
var User = require('./internal/User.cjs');
|
|
38
|
-
var TooltipPrimitive = require('@radix-ui/react-tooltip');
|
|
39
|
-
var PopoverPrimitive = require('@radix-ui/react-popover');
|
|
40
|
-
var DropdownMenuPrimitive = require('@radix-ui/react-dropdown-menu');
|
|
41
|
-
|
|
42
|
-
function _interopNamespaceDefault(e) {
|
|
43
|
-
var n = Object.create(null);
|
|
44
|
-
if (e) {
|
|
45
|
-
Object.keys(e).forEach(function (k) {
|
|
46
|
-
if (k !== 'default') {
|
|
47
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
48
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
49
|
-
enumerable: true,
|
|
50
|
-
get: function () { return e[k]; }
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
n.default = e;
|
|
56
|
-
return Object.freeze(n);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
var TogglePrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(TogglePrimitive);
|
|
60
38
|
|
|
61
39
|
|
|
62
40
|
const REACTIONS_TRUNCATE = 5;
|
|
@@ -206,7 +184,7 @@ const CommentReaction = react.forwardRef(({ comment, reaction, overrides: overri
|
|
|
206
184
|
multiline: true,
|
|
207
185
|
className: "lb-comment-reaction-tooltip",
|
|
208
186
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
209
|
-
|
|
187
|
+
radixUi.Toggle.Root,
|
|
210
188
|
{
|
|
211
189
|
asChild: true,
|
|
212
190
|
pressed: isActive,
|
|
@@ -402,6 +380,7 @@ const Comment = Object.assign(
|
|
|
402
380
|
autoMarkReadThreadId,
|
|
403
381
|
...props
|
|
404
382
|
}, forwardedRef) => {
|
|
383
|
+
const bodyId = `${comment.id}:body`;
|
|
405
384
|
const ref = react.useRef(null);
|
|
406
385
|
const mergedRefs = useRefs.useRefs(forwardedRef, ref);
|
|
407
386
|
const currentUserId = shared.useCurrentUserId();
|
|
@@ -514,7 +493,7 @@ const Comment = Object.assign(
|
|
|
514
493
|
defaultDropdownItems,
|
|
515
494
|
dropdownItems
|
|
516
495
|
] });
|
|
517
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
496
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Tooltip.TooltipProvider, { children: /* @__PURE__ */ jsxRuntime.jsxs(components.ComponentsProvider, { components: components$1, children: [
|
|
518
497
|
autoMarkReadThreadId && /* @__PURE__ */ jsxRuntime.jsx(
|
|
519
498
|
AutoMarkReadThreadIdHandler,
|
|
520
499
|
{
|
|
@@ -526,6 +505,7 @@ const Comment = Object.assign(
|
|
|
526
505
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
527
506
|
"div",
|
|
528
507
|
{
|
|
508
|
+
role: "article",
|
|
529
509
|
id: comment.id,
|
|
530
510
|
className: cn.cn(
|
|
531
511
|
"lb-root lb-comment",
|
|
@@ -537,6 +517,7 @@ const Comment = Object.assign(
|
|
|
537
517
|
"data-deleted": !comment.body ? "" : void 0,
|
|
538
518
|
"data-editing": isEditing ? "" : void 0,
|
|
539
519
|
"data-target": isTarget ? "" : void 0,
|
|
520
|
+
"aria-labelledby": bodyId,
|
|
540
521
|
dir: $.dir,
|
|
541
522
|
...props,
|
|
542
523
|
ref: mergedRefs,
|
|
@@ -583,7 +564,7 @@ const Comment = Object.assign(
|
|
|
583
564
|
{
|
|
584
565
|
onEmojiSelect: handleReactionSelect,
|
|
585
566
|
onOpenChange: setReactionActionOpen,
|
|
586
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Tooltip, { content: $.COMMENT_ADD_REACTION, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
567
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Tooltip, { content: $.COMMENT_ADD_REACTION, children: /* @__PURE__ */ jsxRuntime.jsx(EmojiPicker.EmojiPickerTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
587
568
|
Button.Button,
|
|
588
569
|
{
|
|
589
570
|
className: "lb-comment-action",
|
|
@@ -601,7 +582,7 @@ const Comment = Object.assign(
|
|
|
601
582
|
onOpenChange: setMoreActionOpen,
|
|
602
583
|
align: "end",
|
|
603
584
|
content: dropdownContent,
|
|
604
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Tooltip, { content: $.COMMENT_MORE, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
585
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Tooltip, { content: $.COMMENT_MORE, children: /* @__PURE__ */ jsxRuntime.jsx(Dropdown.DropdownTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
605
586
|
Button.Button,
|
|
606
587
|
{
|
|
607
588
|
className: "lb-comment-action",
|
|
@@ -670,6 +651,7 @@ const Comment = Object.assign(
|
|
|
670
651
|
index.Body,
|
|
671
652
|
{
|
|
672
653
|
className: "lb-comment-body",
|
|
654
|
+
id: bodyId,
|
|
673
655
|
body: comment.body,
|
|
674
656
|
components: {
|
|
675
657
|
Mention: ({ mention }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -717,7 +699,7 @@ const Comment = Object.assign(
|
|
|
717
699
|
},
|
|
718
700
|
reaction.emoji
|
|
719
701
|
)),
|
|
720
|
-
canComment ? /* @__PURE__ */ jsxRuntime.jsx(EmojiPicker.EmojiPicker, { onEmojiSelect: handleReactionSelect, children: /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Tooltip, { content: $.COMMENT_ADD_REACTION, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
702
|
+
canComment ? /* @__PURE__ */ jsxRuntime.jsx(EmojiPicker.EmojiPicker, { onEmojiSelect: handleReactionSelect, children: /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Tooltip, { content: $.COMMENT_ADD_REACTION, children: /* @__PURE__ */ jsxRuntime.jsx(EmojiPicker.EmojiPickerTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
721
703
|
Button.Button,
|
|
722
704
|
{
|
|
723
705
|
className: "lb-comment-reaction lb-comment-reaction-add",
|