@liveblocks/react-ui 3.15.0-feeds2 → 3.15.0-rc1
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 +3 -5
- package/dist/_private/index.cjs.map +1 -1
- package/dist/_private/index.d.cts +10 -4
- package/dist/_private/index.d.ts +10 -4
- package/dist/_private/index.js +2 -2
- package/dist/components/AiChat.cjs +10 -2
- package/dist/components/AiChat.cjs.map +1 -1
- package/dist/components/AiChat.js +10 -2
- package/dist/components/AiChat.js.map +1 -1
- package/dist/components/AvatarStack.cjs +117 -0
- package/dist/components/AvatarStack.cjs.map +1 -0
- package/dist/components/AvatarStack.js +115 -0
- package/dist/components/AvatarStack.js.map +1 -0
- package/dist/components/Comment.cjs +259 -250
- package/dist/components/Comment.cjs.map +1 -1
- package/dist/components/Comment.js +264 -236
- package/dist/components/Comment.js.map +1 -1
- package/dist/components/CommentPin.cjs +36 -0
- package/dist/components/CommentPin.cjs.map +1 -0
- package/dist/components/CommentPin.js +34 -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 +256 -0
- package/dist/components/Cursors.cjs.map +1 -0
- package/dist/components/Cursors.js +254 -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 +61 -51
- package/dist/components/Thread.cjs.map +1 -1
- package/dist/components/Thread.js +66 -37
- 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/Avatar.cjs +10 -13
- package/dist/components/internal/Avatar.cjs.map +1 -1
- package/dist/components/internal/Avatar.js +11 -14
- package/dist/components/internal/Avatar.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 +298 -130
- package/dist/index.d.ts +298 -130
- 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/utils/use-stable-component.cjs +32 -0
- package/dist/utils/use-stable-component.cjs.map +1 -0
- package/dist/utils/use-stable-component.js +30 -0
- package/dist/utils/use-stable-component.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 +6 -10
- 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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var core = require('@liveblocks/core');
|
|
5
|
-
var
|
|
5
|
+
var radixUi = require('radix-ui');
|
|
6
6
|
var react = require('react');
|
|
7
7
|
|
|
8
8
|
const COMMENT_MENTION_NAME = "CommentMention";
|
|
@@ -10,13 +10,13 @@ const COMMENT_BODY_NAME = "CommentBody";
|
|
|
10
10
|
const COMMENT_LINK_NAME = "CommentLink";
|
|
11
11
|
const CommentMention = react.forwardRef(
|
|
12
12
|
({ children, asChild, ...props }, forwardedRef) => {
|
|
13
|
-
const Component = asChild ?
|
|
13
|
+
const Component = asChild ? radixUi.Slot.Slot : "span";
|
|
14
14
|
return /* @__PURE__ */ jsxRuntime.jsx(Component, { ...props, ref: forwardedRef, children });
|
|
15
15
|
}
|
|
16
16
|
);
|
|
17
17
|
const CommentLink = react.forwardRef(
|
|
18
18
|
({ children, asChild, ...props }, forwardedRef) => {
|
|
19
|
-
const Component = asChild ?
|
|
19
|
+
const Component = asChild ? radixUi.Slot.Slot : "a";
|
|
20
20
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21
21
|
Component,
|
|
22
22
|
{
|
|
@@ -42,7 +42,7 @@ const defaultBodyComponents = {
|
|
|
42
42
|
};
|
|
43
43
|
const CommentBody = react.forwardRef(
|
|
44
44
|
({ body, components, style, asChild, ...props }, forwardedRef) => {
|
|
45
|
-
const Component = asChild ?
|
|
45
|
+
const Component = asChild ? radixUi.Slot.Slot : "div";
|
|
46
46
|
const { Mention, Link } = react.useMemo(
|
|
47
47
|
() => ({ ...defaultBodyComponents, ...components }),
|
|
48
48
|
[components]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/primitives/Comment/index.tsx"],"sourcesContent":["import {\n isCommentBodyLink,\n isCommentBodyMention,\n MENTION_CHARACTER,\n sanitizeUrl,\n} from \"@liveblocks/core\";\nimport { Slot } from \"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/primitives/Comment/index.tsx"],"sourcesContent":["import {\n isCommentBodyLink,\n isCommentBodyMention,\n MENTION_CHARACTER,\n sanitizeUrl,\n} from \"@liveblocks/core\";\nimport { Slot as SlotPrimitive } from \"radix-ui\";\nimport type { ReactNode } from \"react\";\nimport { forwardRef, useMemo } from \"react\";\n\nimport type {\n CommentBodyComponents,\n CommentBodyProps,\n CommentLinkProps,\n CommentMentionProps,\n} from \"./types\";\n\nconst COMMENT_MENTION_NAME = \"CommentMention\";\nconst COMMENT_BODY_NAME = \"CommentBody\";\nconst COMMENT_LINK_NAME = \"CommentLink\";\n\n/**\n * Displays mentions within `Comment.Body`.\n *\n * @example\n * <Comment.Mention>@{mention.id}</Comment.Mention>\n */\nconst CommentMention = forwardRef<HTMLSpanElement, CommentMentionProps>(\n ({ children, asChild, ...props }, forwardedRef) => {\n const Component = asChild ? SlotPrimitive.Slot : \"span\";\n\n return (\n <Component {...props} ref={forwardedRef}>\n {children}\n </Component>\n );\n }\n);\n\n/**\n * Displays links within `Comment.Body`.\n *\n * @example\n * <Comment.Link href={href}>{children}</Comment.Link>\n */\nconst CommentLink = forwardRef<HTMLAnchorElement, CommentLinkProps>(\n ({ children, asChild, ...props }, forwardedRef) => {\n const Component = asChild ? SlotPrimitive.Slot : \"a\";\n\n return (\n <Component\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n {...props}\n ref={forwardedRef}\n >\n {children}\n </Component>\n );\n }\n);\n\nconst defaultBodyComponents: CommentBodyComponents = {\n Mention: ({ mention }) => {\n return (\n <CommentMention>\n {MENTION_CHARACTER}\n {mention.id}\n </CommentMention>\n );\n },\n Link: ({ href, children }) => {\n return <CommentLink href={href}>{children}</CommentLink>;\n },\n};\n\n/**\n * Displays a comment body.\n *\n * @example\n * <Comment.Body body={comment.body} />\n */\nconst CommentBody = forwardRef<HTMLDivElement, CommentBodyProps>(\n ({ body, components, style, asChild, ...props }, forwardedRef) => {\n const Component = asChild ? SlotPrimitive.Slot : \"div\";\n const { Mention, Link } = useMemo(\n () => ({ ...defaultBodyComponents, ...components }),\n [components]\n );\n\n if (!body || !body?.content) {\n return null;\n }\n\n return (\n <Component\n {...props}\n style={{ whiteSpace: \"break-spaces\", ...style }}\n ref={forwardedRef}\n >\n {body.content.map((block, index) => {\n switch (block.type) {\n case \"paragraph\":\n return (\n <p key={index} style={{ minHeight: \"1lh\" }}>\n {block.children.map((inline, index) => {\n if (isCommentBodyMention(inline)) {\n const { type: _, ...mention } = inline;\n\n return mention.id ? (\n <Mention mention={mention} key={index} />\n ) : null;\n }\n\n if (isCommentBodyLink(inline)) {\n const href = sanitizeUrl(inline.url);\n\n // If the URL is invalid, its text/URL are used as plain text.\n if (href === null) {\n return (\n <span key={index}>{inline.text ?? inline.url}</span>\n );\n }\n\n return (\n <Link href={href} key={index}>\n {inline.text ?? inline.url}\n </Link>\n );\n }\n\n // <code><s><em><strong>text</strong></s></em></code>\n let children: ReactNode = inline.text;\n\n if (inline.bold) {\n children = <strong key={index}>{children}</strong>;\n }\n\n if (inline.italic) {\n children = <em key={index}>{children}</em>;\n }\n\n if (inline.strikethrough) {\n children = <s key={index}>{children}</s>;\n }\n\n if (inline.code) {\n children = <code key={index}>{children}</code>;\n }\n\n return <span key={index}>{children}</span>;\n })}\n </p>\n );\n default:\n return null;\n }\n })}\n </Component>\n );\n }\n);\n\nif (process.env.NODE_ENV !== \"production\") {\n CommentBody.displayName = COMMENT_BODY_NAME;\n CommentMention.displayName = COMMENT_MENTION_NAME;\n CommentLink.displayName = COMMENT_LINK_NAME;\n}\n\n// NOTE: Every export from this file will be available publicly as Comment.*\nexport { CommentBody as Body, CommentLink as Link, CommentMention as Mention };\n"],"names":["forwardRef","SlotPrimitive","jsx","MENTION_CHARACTER","useMemo","index","isCommentBodyMention","isCommentBodyLink","sanitizeUrl"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { MENTION_CHARACTER, isCommentBodyMention, isCommentBodyLink, sanitizeUrl } from '@liveblocks/core';
|
|
3
|
-
import { Slot } from '
|
|
3
|
+
import { Slot } from 'radix-ui';
|
|
4
4
|
import { forwardRef, useMemo } from 'react';
|
|
5
5
|
|
|
6
6
|
const COMMENT_MENTION_NAME = "CommentMention";
|
|
@@ -8,13 +8,13 @@ const COMMENT_BODY_NAME = "CommentBody";
|
|
|
8
8
|
const COMMENT_LINK_NAME = "CommentLink";
|
|
9
9
|
const CommentMention = forwardRef(
|
|
10
10
|
({ children, asChild, ...props }, forwardedRef) => {
|
|
11
|
-
const Component = asChild ? Slot : "span";
|
|
11
|
+
const Component = asChild ? Slot.Slot : "span";
|
|
12
12
|
return /* @__PURE__ */ jsx(Component, { ...props, ref: forwardedRef, children });
|
|
13
13
|
}
|
|
14
14
|
);
|
|
15
15
|
const CommentLink = forwardRef(
|
|
16
16
|
({ children, asChild, ...props }, forwardedRef) => {
|
|
17
|
-
const Component = asChild ? Slot : "a";
|
|
17
|
+
const Component = asChild ? Slot.Slot : "a";
|
|
18
18
|
return /* @__PURE__ */ jsx(
|
|
19
19
|
Component,
|
|
20
20
|
{
|
|
@@ -40,7 +40,7 @@ const defaultBodyComponents = {
|
|
|
40
40
|
};
|
|
41
41
|
const CommentBody = forwardRef(
|
|
42
42
|
({ body, components, style, asChild, ...props }, forwardedRef) => {
|
|
43
|
-
const Component = asChild ? Slot : "div";
|
|
43
|
+
const Component = asChild ? Slot.Slot : "div";
|
|
44
44
|
const { Mention, Link } = useMemo(
|
|
45
45
|
() => ({ ...defaultBodyComponents, ...components }),
|
|
46
46
|
[components]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/primitives/Comment/index.tsx"],"sourcesContent":["import {\n isCommentBodyLink,\n isCommentBodyMention,\n MENTION_CHARACTER,\n sanitizeUrl,\n} from \"@liveblocks/core\";\nimport { Slot } from \"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/primitives/Comment/index.tsx"],"sourcesContent":["import {\n isCommentBodyLink,\n isCommentBodyMention,\n MENTION_CHARACTER,\n sanitizeUrl,\n} from \"@liveblocks/core\";\nimport { Slot as SlotPrimitive } from \"radix-ui\";\nimport type { ReactNode } from \"react\";\nimport { forwardRef, useMemo } from \"react\";\n\nimport type {\n CommentBodyComponents,\n CommentBodyProps,\n CommentLinkProps,\n CommentMentionProps,\n} from \"./types\";\n\nconst COMMENT_MENTION_NAME = \"CommentMention\";\nconst COMMENT_BODY_NAME = \"CommentBody\";\nconst COMMENT_LINK_NAME = \"CommentLink\";\n\n/**\n * Displays mentions within `Comment.Body`.\n *\n * @example\n * <Comment.Mention>@{mention.id}</Comment.Mention>\n */\nconst CommentMention = forwardRef<HTMLSpanElement, CommentMentionProps>(\n ({ children, asChild, ...props }, forwardedRef) => {\n const Component = asChild ? SlotPrimitive.Slot : \"span\";\n\n return (\n <Component {...props} ref={forwardedRef}>\n {children}\n </Component>\n );\n }\n);\n\n/**\n * Displays links within `Comment.Body`.\n *\n * @example\n * <Comment.Link href={href}>{children}</Comment.Link>\n */\nconst CommentLink = forwardRef<HTMLAnchorElement, CommentLinkProps>(\n ({ children, asChild, ...props }, forwardedRef) => {\n const Component = asChild ? SlotPrimitive.Slot : \"a\";\n\n return (\n <Component\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n {...props}\n ref={forwardedRef}\n >\n {children}\n </Component>\n );\n }\n);\n\nconst defaultBodyComponents: CommentBodyComponents = {\n Mention: ({ mention }) => {\n return (\n <CommentMention>\n {MENTION_CHARACTER}\n {mention.id}\n </CommentMention>\n );\n },\n Link: ({ href, children }) => {\n return <CommentLink href={href}>{children}</CommentLink>;\n },\n};\n\n/**\n * Displays a comment body.\n *\n * @example\n * <Comment.Body body={comment.body} />\n */\nconst CommentBody = forwardRef<HTMLDivElement, CommentBodyProps>(\n ({ body, components, style, asChild, ...props }, forwardedRef) => {\n const Component = asChild ? SlotPrimitive.Slot : \"div\";\n const { Mention, Link } = useMemo(\n () => ({ ...defaultBodyComponents, ...components }),\n [components]\n );\n\n if (!body || !body?.content) {\n return null;\n }\n\n return (\n <Component\n {...props}\n style={{ whiteSpace: \"break-spaces\", ...style }}\n ref={forwardedRef}\n >\n {body.content.map((block, index) => {\n switch (block.type) {\n case \"paragraph\":\n return (\n <p key={index} style={{ minHeight: \"1lh\" }}>\n {block.children.map((inline, index) => {\n if (isCommentBodyMention(inline)) {\n const { type: _, ...mention } = inline;\n\n return mention.id ? (\n <Mention mention={mention} key={index} />\n ) : null;\n }\n\n if (isCommentBodyLink(inline)) {\n const href = sanitizeUrl(inline.url);\n\n // If the URL is invalid, its text/URL are used as plain text.\n if (href === null) {\n return (\n <span key={index}>{inline.text ?? inline.url}</span>\n );\n }\n\n return (\n <Link href={href} key={index}>\n {inline.text ?? inline.url}\n </Link>\n );\n }\n\n // <code><s><em><strong>text</strong></s></em></code>\n let children: ReactNode = inline.text;\n\n if (inline.bold) {\n children = <strong key={index}>{children}</strong>;\n }\n\n if (inline.italic) {\n children = <em key={index}>{children}</em>;\n }\n\n if (inline.strikethrough) {\n children = <s key={index}>{children}</s>;\n }\n\n if (inline.code) {\n children = <code key={index}>{children}</code>;\n }\n\n return <span key={index}>{children}</span>;\n })}\n </p>\n );\n default:\n return null;\n }\n })}\n </Component>\n );\n }\n);\n\nif (process.env.NODE_ENV !== \"production\") {\n CommentBody.displayName = COMMENT_BODY_NAME;\n CommentMention.displayName = COMMENT_MENTION_NAME;\n CommentLink.displayName = COMMENT_LINK_NAME;\n}\n\n// NOTE: Every export from this file will be available publicly as Comment.*\nexport { CommentBody as Body, CommentLink as Link, CommentMention as Mention };\n"],"names":["SlotPrimitive","index"],"mappings":"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"}
|
|
@@ -5,12 +5,12 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
5
5
|
var core = require('@liveblocks/core');
|
|
6
6
|
var react$1 = require('@liveblocks/react');
|
|
7
7
|
var _private = require('@liveblocks/react/_private');
|
|
8
|
-
var
|
|
9
|
-
var TogglePrimitive = require('@radix-ui/react-toggle');
|
|
8
|
+
var radixUi = require('radix-ui');
|
|
10
9
|
var react = require('react');
|
|
11
10
|
var slate = require('slate');
|
|
12
11
|
var slateHistory = require('slate-history');
|
|
13
12
|
var slateReact = require('slate-react');
|
|
13
|
+
var shared = require('../../shared.cjs');
|
|
14
14
|
var isKey = require('../../utils/is-key.cjs');
|
|
15
15
|
var Persist = require('../../utils/Persist.cjs');
|
|
16
16
|
var Portal = require('../../utils/Portal.cjs');
|
|
@@ -18,6 +18,7 @@ var requestSubmit = require('../../utils/request-submit.cjs');
|
|
|
18
18
|
var useIndex = require('../../utils/use-index.cjs');
|
|
19
19
|
var useInitial = require('../../utils/use-initial.cjs');
|
|
20
20
|
var useObservable = require('../../utils/use-observable.cjs');
|
|
21
|
+
var usePreResolveUser = require('../../utils/use-pre-resolve-user.cjs');
|
|
21
22
|
var useRefs = require('../../utils/use-refs.cjs');
|
|
22
23
|
var emptyClearFormatting = require('../slate/plugins/empty-clear-formatting.cjs');
|
|
23
24
|
var normalize = require('../slate/plugins/normalize.cjs');
|
|
@@ -32,25 +33,6 @@ var mentions = require('./slate/plugins/mentions.cjs');
|
|
|
32
33
|
var paste = require('./slate/plugins/paste.cjs');
|
|
33
34
|
var utils = require('./utils.cjs');
|
|
34
35
|
|
|
35
|
-
function _interopNamespaceDefault(e) {
|
|
36
|
-
var n = Object.create(null);
|
|
37
|
-
if (e) {
|
|
38
|
-
Object.keys(e).forEach(function (k) {
|
|
39
|
-
if (k !== 'default') {
|
|
40
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
41
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
42
|
-
enumerable: true,
|
|
43
|
-
get: function () { return e[k]; }
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
n.default = e;
|
|
49
|
-
return Object.freeze(n);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
var TogglePrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(TogglePrimitive);
|
|
53
|
-
|
|
54
36
|
|
|
55
37
|
const MENTION_SUGGESTIONS_POSITION = "top";
|
|
56
38
|
const FLOATING_TOOLBAR_POSITION = "top";
|
|
@@ -308,7 +290,7 @@ const ComposerFloatingToolbar = react.forwardRef(({ children, onPointerDown, sty
|
|
|
308
290
|
() => utils.getSideAndAlignFromFloatingPlacement(placement),
|
|
309
291
|
[placement]
|
|
310
292
|
);
|
|
311
|
-
const Component = asChild ?
|
|
293
|
+
const Component = asChild ? radixUi.Slot.Slot : "div";
|
|
312
294
|
Persist.useAnimationPersist(ref);
|
|
313
295
|
const handlePointerDown = react.useCallback(
|
|
314
296
|
(event) => {
|
|
@@ -400,7 +382,7 @@ function ComposerEditorPlaceholder({
|
|
|
400
382
|
}
|
|
401
383
|
const ComposerMention = react.forwardRef(
|
|
402
384
|
({ children, asChild, ...props }, forwardedRef) => {
|
|
403
|
-
const Component = asChild ?
|
|
385
|
+
const Component = asChild ? radixUi.Slot.Slot : "span";
|
|
404
386
|
const isSelected = slateReact.useSelected();
|
|
405
387
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
406
388
|
Component,
|
|
@@ -415,7 +397,7 @@ const ComposerMention = react.forwardRef(
|
|
|
415
397
|
);
|
|
416
398
|
const ComposerLink = react.forwardRef(
|
|
417
399
|
({ children, asChild, ...props }, forwardedRef) => {
|
|
418
|
-
const Component = asChild ?
|
|
400
|
+
const Component = asChild ? radixUi.Slot.Slot : "a";
|
|
419
401
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
420
402
|
Component,
|
|
421
403
|
{
|
|
@@ -441,7 +423,7 @@ const ComposerSuggestions = react.forwardRef(({ children, style, asChild, ...pro
|
|
|
441
423
|
() => utils.getSideAndAlignFromFloatingPlacement(placement),
|
|
442
424
|
[placement]
|
|
443
425
|
);
|
|
444
|
-
const Component = asChild ?
|
|
426
|
+
const Component = asChild ? radixUi.Slot.Slot : "div";
|
|
445
427
|
Persist.useAnimationPersist(ref);
|
|
446
428
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
447
429
|
Component,
|
|
@@ -465,7 +447,7 @@ const ComposerSuggestions = react.forwardRef(({ children, style, asChild, ...pro
|
|
|
465
447
|
});
|
|
466
448
|
const ComposerSuggestionsList = react.forwardRef(({ children, asChild, ...props }, forwardedRef) => {
|
|
467
449
|
const { id } = contexts.useComposerSuggestionsContext(COMPOSER_SUGGESTIONS_LIST_NAME);
|
|
468
|
-
const Component = asChild ?
|
|
450
|
+
const Component = asChild ? radixUi.Slot.Slot : "ul";
|
|
469
451
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
470
452
|
Component,
|
|
471
453
|
{
|
|
@@ -491,7 +473,7 @@ const ComposerSuggestionsListItem = react.forwardRef(
|
|
|
491
473
|
const ref = react.useRef(null);
|
|
492
474
|
const mergedRefs = useRefs.useRefs(forwardedRef, ref);
|
|
493
475
|
const { selectedValue, setSelectedValue, itemId, onItemSelect } = contexts.useComposerSuggestionsContext(COMPOSER_SUGGESTIONS_LIST_ITEM_NAME);
|
|
494
|
-
const Component = asChild ?
|
|
476
|
+
const Component = asChild ? radixUi.Slot.Slot : "li";
|
|
495
477
|
const isSelected = react.useMemo(
|
|
496
478
|
() => selectedValue === value,
|
|
497
479
|
[selectedValue, value]
|
|
@@ -585,6 +567,8 @@ const ComposerEditor = react.forwardRef(
|
|
|
585
567
|
isDisabled: isComposerDisabled,
|
|
586
568
|
isFocused
|
|
587
569
|
} = contexts.useComposer();
|
|
570
|
+
const currentUserId = shared.useCurrentUserId();
|
|
571
|
+
const preResolveUser = usePreResolveUser.usePreResolveUser();
|
|
588
572
|
const isDisabled = isComposerDisabled || disabled;
|
|
589
573
|
const initialBody = useInitial.useInitial(defaultValue ?? emptyCommentBody);
|
|
590
574
|
const initialEditorValue = react.useMemo(() => {
|
|
@@ -730,9 +714,12 @@ const ComposerEditor = react.forwardRef(
|
|
|
730
714
|
onFocus?.(event);
|
|
731
715
|
if (!event.isDefaultPrevented()) {
|
|
732
716
|
setFocused(true);
|
|
717
|
+
if (currentUserId) {
|
|
718
|
+
preResolveUser(currentUserId);
|
|
719
|
+
}
|
|
733
720
|
}
|
|
734
721
|
},
|
|
735
|
-
[onFocus, setFocused]
|
|
722
|
+
[onFocus, setFocused, currentUserId, preResolveUser]
|
|
736
723
|
);
|
|
737
724
|
const handleBlur = react.useCallback(
|
|
738
725
|
(event) => {
|
|
@@ -811,6 +798,7 @@ const ComposerEditor = react.forwardRef(
|
|
|
811
798
|
slateReact.Editable,
|
|
812
799
|
{
|
|
813
800
|
dir,
|
|
801
|
+
tabIndex: isDisabled ? -1 : 0,
|
|
814
802
|
enterKeyHint: mentionDraft ? "enter" : "send",
|
|
815
803
|
autoCapitalize: "sentences",
|
|
816
804
|
"aria-label": "Composer editor",
|
|
@@ -885,7 +873,7 @@ const ComposerForm = react.forwardRef(
|
|
|
885
873
|
roomId: _roomId,
|
|
886
874
|
...props
|
|
887
875
|
}, forwardedRef) => {
|
|
888
|
-
const Component = asChild ?
|
|
876
|
+
const Component = asChild ? radixUi.Slot.Slot : "form";
|
|
889
877
|
const [isEmpty$1, setEmpty] = react.useState(true);
|
|
890
878
|
const [isSubmitting, setSubmitting] = react.useState(false);
|
|
891
879
|
const [isFocused, setFocused] = react.useState(false);
|
|
@@ -1165,7 +1153,7 @@ const ComposerForm = react.forwardRef(
|
|
|
1165
1153
|
style: { display: "none" }
|
|
1166
1154
|
}
|
|
1167
1155
|
),
|
|
1168
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1156
|
+
/* @__PURE__ */ jsxRuntime.jsx(radixUi.Slot.Slottable, { children })
|
|
1169
1157
|
] })
|
|
1170
1158
|
}
|
|
1171
1159
|
)
|
|
@@ -1177,7 +1165,7 @@ const ComposerForm = react.forwardRef(
|
|
|
1177
1165
|
);
|
|
1178
1166
|
const ComposerSubmit = react.forwardRef(
|
|
1179
1167
|
({ children, disabled, asChild, ...props }, forwardedRef) => {
|
|
1180
|
-
const Component = asChild ?
|
|
1168
|
+
const Component = asChild ? radixUi.Slot.Slot : "button";
|
|
1181
1169
|
const { canSubmit, isDisabled: isComposerDisabled } = contexts.useComposer();
|
|
1182
1170
|
const isDisabled = isComposerDisabled || disabled || !canSubmit;
|
|
1183
1171
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1193,7 +1181,7 @@ const ComposerSubmit = react.forwardRef(
|
|
|
1193
1181
|
}
|
|
1194
1182
|
);
|
|
1195
1183
|
const ComposerAttachFiles = react.forwardRef(({ children, onClick, disabled, asChild, ...props }, forwardedRef) => {
|
|
1196
|
-
const Component = asChild ?
|
|
1184
|
+
const Component = asChild ? radixUi.Slot.Slot : "button";
|
|
1197
1185
|
const { hasMaxAttachments } = contexts.useComposerAttachmentsContext();
|
|
1198
1186
|
const { isDisabled: isComposerDisabled, attachFiles } = contexts.useComposer();
|
|
1199
1187
|
const isDisabled = isComposerDisabled || hasMaxAttachments || disabled;
|
|
@@ -1228,7 +1216,7 @@ const ComposerAttachmentsDropArea = react.forwardRef(
|
|
|
1228
1216
|
asChild,
|
|
1229
1217
|
...props
|
|
1230
1218
|
}, forwardedRef) => {
|
|
1231
|
-
const Component = asChild ?
|
|
1219
|
+
const Component = asChild ? radixUi.Slot.Slot : "div";
|
|
1232
1220
|
const { isDisabled: isComposerDisabled } = contexts.useComposer();
|
|
1233
1221
|
const isDisabled = isComposerDisabled || disabled;
|
|
1234
1222
|
const [, dropAreaProps] = utils.useComposerAttachmentsDropArea({
|
|
@@ -1259,7 +1247,7 @@ const ComposerMarkToggle = react.forwardRef(
|
|
|
1259
1247
|
asChild,
|
|
1260
1248
|
...props
|
|
1261
1249
|
}, forwardedRef) => {
|
|
1262
|
-
const Component = asChild ?
|
|
1250
|
+
const Component = asChild ? radixUi.Slot.Slot : "button";
|
|
1263
1251
|
const { marks, toggleMark } = contexts.useComposer();
|
|
1264
1252
|
const handlePointerDown = react.useCallback(
|
|
1265
1253
|
(event) => {
|
|
@@ -1282,7 +1270,7 @@ const ComposerMarkToggle = react.forwardRef(
|
|
|
1282
1270
|
[mark, onClick, onValueChange, toggleMark]
|
|
1283
1271
|
);
|
|
1284
1272
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1285
|
-
|
|
1273
|
+
radixUi.Toggle.Root,
|
|
1286
1274
|
{
|
|
1287
1275
|
asChild: true,
|
|
1288
1276
|
pressed: marks[mark],
|