@liveblocks/react-ui 3.15.0-components1 → 3.15.0-thread2
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 +7 -1
- 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 +3 -1
- package/dist/_private/index.js.map +1 -1
- 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/Comment.cjs +277 -232
- package/dist/components/Comment.cjs.map +1 -1
- package/dist/components/Comment.js +263 -237
- package/dist/components/Comment.js.map +1 -1
- package/dist/components/Composer.cjs +4 -2
- package/dist/components/Composer.cjs.map +1 -1
- package/dist/components/Composer.js +5 -3
- package/dist/components/Composer.js.map +1 -1
- package/dist/components/InboxNotification.cjs +6 -4
- package/dist/components/InboxNotification.cjs.map +1 -1
- package/dist/components/InboxNotification.js +7 -5
- package/dist/components/InboxNotification.js.map +1 -1
- package/dist/components/Thread.cjs +71 -45
- package/dist/components/Thread.cjs.map +1 -1
- package/dist/components/Thread.js +56 -49
- package/dist/components/Thread.js.map +1 -1
- package/dist/components/internal/AiComposer.cjs +2 -1
- package/dist/components/internal/AiComposer.cjs.map +1 -1
- package/dist/components/internal/AiComposer.js +2 -1
- package/dist/components/internal/AiComposer.js.map +1 -1
- package/dist/components/internal/CodeBlock.cjs +2 -1
- package/dist/components/internal/CodeBlock.cjs.map +1 -1
- package/dist/components/internal/CodeBlock.js +2 -1
- package/dist/components/internal/CodeBlock.js.map +1 -1
- package/dist/components/internal/Dropdown.cjs +28 -7
- 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 +27 -6
- 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 +28 -7
- 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 +0 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +197 -213
- package/dist/index.d.ts +197 -213
- package/dist/index.js +0 -6
- package/dist/index.js.map +1 -1
- package/dist/primitives/AiComposer/index.cjs +4 -5
- package/dist/primitives/AiComposer/index.cjs.map +1 -1
- package/dist/primitives/AiComposer/index.js +4 -5
- 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 +35 -23
- package/dist/primitives/Composer/index.cjs.map +1 -1
- package/dist/primitives/Composer/index.js +16 -23
- 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/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 +10 -6
- package/src/styles/dark/index.css +1 -1
- package/src/styles/index.css +4 -252
- 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/components/AvatarStack.cjs +0 -115
- package/dist/components/AvatarStack.cjs.map +0 -1
- package/dist/components/AvatarStack.js +0 -113
- package/dist/components/AvatarStack.js.map +0 -1
- package/dist/components/CommentPin.cjs +0 -27
- package/dist/components/CommentPin.cjs.map +0 -1
- package/dist/components/CommentPin.js +0 -25
- package/dist/components/CommentPin.js.map +0 -1
- package/dist/components/Cursor.cjs +0 -40
- package/dist/components/Cursor.cjs.map +0 -1
- package/dist/components/Cursor.js +0 -38
- package/dist/components/Cursor.js.map +0 -1
- package/dist/components/Cursors.cjs +0 -252
- package/dist/components/Cursors.cjs.map +0 -1
- package/dist/components/Cursors.js +0 -250
- package/dist/components/Cursors.js.map +0 -1
- package/dist/components/FloatingComposer.cjs +0 -82
- package/dist/components/FloatingComposer.cjs.map +0 -1
- package/dist/components/FloatingComposer.js +0 -80
- package/dist/components/FloatingComposer.js.map +0 -1
- package/dist/components/FloatingThread.cjs +0 -82
- package/dist/components/FloatingThread.cjs.map +0 -1
- package/dist/components/FloatingThread.js +0 -80
- package/dist/components/FloatingThread.js.map +0 -1
- package/dist/utils/animation-loop.cjs +0 -44
- package/dist/utils/animation-loop.cjs.map +0 -1
- package/dist/utils/animation-loop.js +0 -42
- package/dist/utils/animation-loop.js.map +0 -1
- package/dist/utils/use-pre-resolve-user.cjs +0 -18
- package/dist/utils/use-pre-resolve-user.cjs.map +0 -1
- package/dist/utils/use-pre-resolve-user.js +0 -16
- package/dist/utils/use-pre-resolve-user.js.map +0 -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 reactSlot = require('@radix-ui/react-slot');
|
|
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 ? reactSlot.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 ? reactSlot.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 ? reactSlot.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
|
|
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 \"@radix-ui/react-slot\";\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 ? 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 ? 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 ? 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","Slot","jsx","MENTION_CHARACTER","useMemo","index","isCommentBodyMention","isCommentBodyLink","sanitizeUrl"],"mappings":";;;;;;;AAiBA,MAAM,oBAAuB,GAAA,gBAAA,CAAA;AAC7B,MAAM,iBAAoB,GAAA,aAAA,CAAA;AAC1B,MAAM,iBAAoB,GAAA,aAAA,CAAA;AAQ1B,MAAM,cAAiB,GAAAA,gBAAA;AAAA,EACrB,CAAC,EAAE,QAAA,EAAU,SAAS,GAAG,KAAA,IAAS,YAAiB,KAAA;AACjD,IAAM,MAAA,SAAA,GAAY,UAAUC,cAAO,GAAA,MAAA,CAAA;AAEnC,IAAA,sCACG,SAAW,EAAA,EAAA,GAAG,KAAO,EAAA,GAAA,EAAK,cACxB,QACH,EAAA,CAAA,CAAA;AAAA,GAEJ;AACF,EAAA;AAQA,MAAM,WAAc,GAAAD,gBAAA;AAAA,EAClB,CAAC,EAAE,QAAA,EAAU,SAAS,GAAG,KAAA,IAAS,YAAiB,KAAA;AACjD,IAAM,MAAA,SAAA,GAAY,UAAUC,cAAO,GAAA,GAAA,CAAA;AAEnC,IACE,uBAAAC,cAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,MAAO,EAAA,QAAA;AAAA,QACP,GAAI,EAAA,8BAAA;AAAA,QACH,GAAG,KAAA;AAAA,QACJ,GAAK,EAAA,YAAA;AAAA,QAEJ,QAAA;AAAA,OAAA;AAAA,KACH,CAAA;AAAA,GAEJ;AACF,EAAA;AAEA,MAAM,qBAA+C,GAAA;AAAA,EACnD,OAAS,EAAA,CAAC,EAAE,OAAA,EAAc,KAAA;AACxB,IAAA,uCACG,cACE,EAAA,EAAA,QAAA,EAAA;AAAA,MAAAC,sBAAA;AAAA,MACA,OAAQ,CAAA,EAAA;AAAA,KACX,EAAA,CAAA,CAAA;AAAA,GAEJ;AAAA,EACA,IAAM,EAAA,CAAC,EAAE,IAAA,EAAM,UAAe,KAAA;AAC5B,IAAO,uBAAAD,cAAA,CAAC,WAAY,EAAA,EAAA,IAAA,EAAa,QAAS,EAAA,CAAA,CAAA;AAAA,GAC5C;AACF,CAAA,CAAA;AAQA,MAAM,WAAc,GAAAF,gBAAA;AAAA,EAClB,CAAC,EAAE,IAAM,EAAA,UAAA,EAAY,OAAO,OAAS,EAAA,GAAG,KAAM,EAAA,EAAG,YAAiB,KAAA;AAChE,IAAM,MAAA,SAAA,GAAY,UAAUC,cAAO,GAAA,KAAA,CAAA;AACnC,IAAM,MAAA,EAAE,OAAS,EAAA,IAAA,EAAS,GAAAG,aAAA;AAAA,MACxB,OAAO,EAAE,GAAG,qBAAA,EAAuB,GAAG,UAAW,EAAA,CAAA;AAAA,MACjD,CAAC,UAAU,CAAA;AAAA,KACb,CAAA;AAEA,IAAA,IAAI,CAAC,IAAA,IAAQ,CAAC,IAAA,EAAM,OAAS,EAAA;AAC3B,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AAEA,IACE,uBAAAF,cAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACE,GAAG,KAAA;AAAA,QACJ,KAAO,EAAA,EAAE,UAAY,EAAA,cAAA,EAAgB,GAAG,KAAM,EAAA;AAAA,QAC9C,GAAK,EAAA,YAAA;AAAA,QAEJ,QAAK,EAAA,IAAA,CAAA,OAAA,CAAQ,GAAI,CAAA,CAAC,OAAO,KAAU,KAAA;AAClC,UAAA,QAAQ,MAAM,IAAM;AAAA,YAClB,KAAK,WAAA;AACH,cAAA,uBACGA,cAAA,CAAA,GAAA,EAAA,EAAc,KAAO,EAAA,EAAE,SAAW,EAAA,KAAA,EAChC,EAAA,QAAA,EAAA,KAAA,CAAM,QAAS,CAAA,GAAA,CAAI,CAAC,MAAA,EAAQG,MAAU,KAAA;AACrC,gBAAI,IAAAC,yBAAA,CAAqB,MAAM,CAAG,EAAA;AAChC,kBAAA,MAAM,EAAE,IAAA,EAAM,CAAG,EAAA,GAAG,SAAY,GAAA,MAAA,CAAA;AAEhC,kBAAA,OAAO,QAAQ,EACb,mBAAAJ,cAAA,CAAC,OAAQ,EAAA,EAAA,OAAA,EAAA,EAAuBG,MAAO,CACrC,GAAA,IAAA,CAAA;AAAA,iBACN;AAEA,gBAAI,IAAAE,sBAAA,CAAkB,MAAM,CAAG,EAAA;AAC7B,kBAAM,MAAA,IAAA,GAAOC,gBAAY,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA;AAGnC,kBAAA,IAAI,SAAS,IAAM,EAAA;AACjB,oBAAA,sCACG,MAAkB,EAAA,EAAA,QAAA,EAAA,MAAA,CAAO,IAAQ,IAAA,MAAA,CAAO,OAA9BH,MAAkC,CAAA,CAAA;AAAA,mBAEjD;AAEA,kBAAA,sCACG,IAAK,EAAA,EAAA,IAAA,EACH,iBAAO,IAAQ,IAAA,MAAA,CAAO,OADFA,MAEvB,CAAA,CAAA;AAAA,iBAEJ;AAGA,gBAAA,IAAI,WAAsB,MAAO,CAAA,IAAA,CAAA;AAEjC,gBAAA,IAAI,OAAO,IAAM,EAAA;AACf,kBAAW,QAAA,mBAAAH,cAAA,CAAC,QAAoB,EAAA,EAAA,QAAA,EAAA,EAARG,MAAiB,CAAA,CAAA;AAAA,iBAC3C;AAEA,gBAAA,IAAI,OAAO,MAAQ,EAAA;AACjB,kBAAW,QAAA,mBAAAH,cAAA,CAAC,IAAgB,EAAA,EAAA,QAAA,EAAA,EAARG,MAAiB,CAAA,CAAA;AAAA,iBACvC;AAEA,gBAAA,IAAI,OAAO,aAAe,EAAA;AACxB,kBAAW,QAAA,mBAAAH,cAAA,CAAC,GAAe,EAAA,EAAA,QAAA,EAAA,EAARG,MAAiB,CAAA,CAAA;AAAA,iBACtC;AAEA,gBAAA,IAAI,OAAO,IAAM,EAAA;AACf,kBAAW,QAAA,mBAAAH,cAAA,CAAC,MAAkB,EAAA,EAAA,QAAA,EAAA,EAARG,MAAiB,CAAA,CAAA;AAAA,iBACzC;AAEA,gBAAO,uBAAAH,cAAA,CAAC,MAAkB,EAAA,EAAA,QAAA,EAAA,EAARG,MAAiB,CAAA,CAAA;AAAA,eACpC,KA/CK,KAgDR,CAAA,CAAA;AAAA,YAEJ;AACE,cAAO,OAAA,IAAA,CAAA;AAAA,WACX;AAAA,SACD,CAAA;AAAA,OAAA;AAAA,KACH,CAAA;AAAA,GAEJ;AACF,EAAA;AAEA,IAAI,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,EAAA,WAAA,CAAY,WAAc,GAAA,iBAAA,CAAA;AAC1B,EAAA,cAAA,CAAe,WAAc,GAAA,oBAAA,CAAA;AAC7B,EAAA,WAAA,CAAY,WAAc,GAAA,iBAAA,CAAA;AAC5B;;;;;;"}
|
|
@@ -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 'radix-ui';
|
|
3
|
+
import { Slot } from '@radix-ui/react-slot';
|
|
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
|
|
11
|
+
const Component = asChild ? 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
|
|
17
|
+
const Component = asChild ? 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
|
|
43
|
+
const Component = asChild ? 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
|
|
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 \"@radix-ui/react-slot\";\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 ? 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 ? 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 ? 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":["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
|
|
8
|
+
var reactSlot = require('@radix-ui/react-slot');
|
|
9
|
+
var TogglePrimitive = require('@radix-ui/react-toggle');
|
|
9
10
|
var react = require('react');
|
|
10
11
|
var slate = require('slate');
|
|
11
12
|
var slateHistory = require('slate-history');
|
|
12
13
|
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,7 +18,6 @@ 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');
|
|
22
21
|
var useRefs = require('../../utils/use-refs.cjs');
|
|
23
22
|
var emptyClearFormatting = require('../slate/plugins/empty-clear-formatting.cjs');
|
|
24
23
|
var normalize = require('../slate/plugins/normalize.cjs');
|
|
@@ -33,6 +32,25 @@ var mentions = require('./slate/plugins/mentions.cjs');
|
|
|
33
32
|
var paste = require('./slate/plugins/paste.cjs');
|
|
34
33
|
var utils = require('./utils.cjs');
|
|
35
34
|
|
|
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
|
+
|
|
36
54
|
|
|
37
55
|
const MENTION_SUGGESTIONS_POSITION = "top";
|
|
38
56
|
const FLOATING_TOOLBAR_POSITION = "top";
|
|
@@ -290,7 +308,7 @@ const ComposerFloatingToolbar = react.forwardRef(({ children, onPointerDown, sty
|
|
|
290
308
|
() => utils.getSideAndAlignFromFloatingPlacement(placement),
|
|
291
309
|
[placement]
|
|
292
310
|
);
|
|
293
|
-
const Component = asChild ?
|
|
311
|
+
const Component = asChild ? reactSlot.Slot : "div";
|
|
294
312
|
Persist.useAnimationPersist(ref);
|
|
295
313
|
const handlePointerDown = react.useCallback(
|
|
296
314
|
(event) => {
|
|
@@ -382,7 +400,7 @@ function ComposerEditorPlaceholder({
|
|
|
382
400
|
}
|
|
383
401
|
const ComposerMention = react.forwardRef(
|
|
384
402
|
({ children, asChild, ...props }, forwardedRef) => {
|
|
385
|
-
const Component = asChild ?
|
|
403
|
+
const Component = asChild ? reactSlot.Slot : "span";
|
|
386
404
|
const isSelected = slateReact.useSelected();
|
|
387
405
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
388
406
|
Component,
|
|
@@ -397,7 +415,7 @@ const ComposerMention = react.forwardRef(
|
|
|
397
415
|
);
|
|
398
416
|
const ComposerLink = react.forwardRef(
|
|
399
417
|
({ children, asChild, ...props }, forwardedRef) => {
|
|
400
|
-
const Component = asChild ?
|
|
418
|
+
const Component = asChild ? reactSlot.Slot : "a";
|
|
401
419
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
402
420
|
Component,
|
|
403
421
|
{
|
|
@@ -423,7 +441,7 @@ const ComposerSuggestions = react.forwardRef(({ children, style, asChild, ...pro
|
|
|
423
441
|
() => utils.getSideAndAlignFromFloatingPlacement(placement),
|
|
424
442
|
[placement]
|
|
425
443
|
);
|
|
426
|
-
const Component = asChild ?
|
|
444
|
+
const Component = asChild ? reactSlot.Slot : "div";
|
|
427
445
|
Persist.useAnimationPersist(ref);
|
|
428
446
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
429
447
|
Component,
|
|
@@ -447,7 +465,7 @@ const ComposerSuggestions = react.forwardRef(({ children, style, asChild, ...pro
|
|
|
447
465
|
});
|
|
448
466
|
const ComposerSuggestionsList = react.forwardRef(({ children, asChild, ...props }, forwardedRef) => {
|
|
449
467
|
const { id } = contexts.useComposerSuggestionsContext(COMPOSER_SUGGESTIONS_LIST_NAME);
|
|
450
|
-
const Component = asChild ?
|
|
468
|
+
const Component = asChild ? reactSlot.Slot : "ul";
|
|
451
469
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
452
470
|
Component,
|
|
453
471
|
{
|
|
@@ -473,7 +491,7 @@ const ComposerSuggestionsListItem = react.forwardRef(
|
|
|
473
491
|
const ref = react.useRef(null);
|
|
474
492
|
const mergedRefs = useRefs.useRefs(forwardedRef, ref);
|
|
475
493
|
const { selectedValue, setSelectedValue, itemId, onItemSelect } = contexts.useComposerSuggestionsContext(COMPOSER_SUGGESTIONS_LIST_ITEM_NAME);
|
|
476
|
-
const Component = asChild ?
|
|
494
|
+
const Component = asChild ? reactSlot.Slot : "li";
|
|
477
495
|
const isSelected = react.useMemo(
|
|
478
496
|
() => selectedValue === value,
|
|
479
497
|
[selectedValue, value]
|
|
@@ -567,8 +585,6 @@ const ComposerEditor = react.forwardRef(
|
|
|
567
585
|
isDisabled: isComposerDisabled,
|
|
568
586
|
isFocused
|
|
569
587
|
} = contexts.useComposer();
|
|
570
|
-
const currentUserId = shared.useCurrentUserId();
|
|
571
|
-
const preResolveUser = usePreResolveUser.usePreResolveUser();
|
|
572
588
|
const isDisabled = isComposerDisabled || disabled;
|
|
573
589
|
const initialBody = useInitial.useInitial(defaultValue ?? emptyCommentBody);
|
|
574
590
|
const initialEditorValue = react.useMemo(() => {
|
|
@@ -714,12 +730,9 @@ const ComposerEditor = react.forwardRef(
|
|
|
714
730
|
onFocus?.(event);
|
|
715
731
|
if (!event.isDefaultPrevented()) {
|
|
716
732
|
setFocused(true);
|
|
717
|
-
if (currentUserId) {
|
|
718
|
-
preResolveUser(currentUserId);
|
|
719
|
-
}
|
|
720
733
|
}
|
|
721
734
|
},
|
|
722
|
-
[onFocus, setFocused
|
|
735
|
+
[onFocus, setFocused]
|
|
723
736
|
);
|
|
724
737
|
const handleBlur = react.useCallback(
|
|
725
738
|
(event) => {
|
|
@@ -798,7 +811,6 @@ const ComposerEditor = react.forwardRef(
|
|
|
798
811
|
slateReact.Editable,
|
|
799
812
|
{
|
|
800
813
|
dir,
|
|
801
|
-
tabIndex: isDisabled ? -1 : 0,
|
|
802
814
|
enterKeyHint: mentionDraft ? "enter" : "send",
|
|
803
815
|
autoCapitalize: "sentences",
|
|
804
816
|
"aria-label": "Composer editor",
|
|
@@ -873,7 +885,7 @@ const ComposerForm = react.forwardRef(
|
|
|
873
885
|
roomId: _roomId,
|
|
874
886
|
...props
|
|
875
887
|
}, forwardedRef) => {
|
|
876
|
-
const Component = asChild ?
|
|
888
|
+
const Component = asChild ? reactSlot.Slot : "form";
|
|
877
889
|
const [isEmpty$1, setEmpty] = react.useState(true);
|
|
878
890
|
const [isSubmitting, setSubmitting] = react.useState(false);
|
|
879
891
|
const [isFocused, setFocused] = react.useState(false);
|
|
@@ -1153,7 +1165,7 @@ const ComposerForm = react.forwardRef(
|
|
|
1153
1165
|
style: { display: "none" }
|
|
1154
1166
|
}
|
|
1155
1167
|
),
|
|
1156
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1168
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactSlot.Slottable, { children })
|
|
1157
1169
|
] })
|
|
1158
1170
|
}
|
|
1159
1171
|
)
|
|
@@ -1165,7 +1177,7 @@ const ComposerForm = react.forwardRef(
|
|
|
1165
1177
|
);
|
|
1166
1178
|
const ComposerSubmit = react.forwardRef(
|
|
1167
1179
|
({ children, disabled, asChild, ...props }, forwardedRef) => {
|
|
1168
|
-
const Component = asChild ?
|
|
1180
|
+
const Component = asChild ? reactSlot.Slot : "button";
|
|
1169
1181
|
const { canSubmit, isDisabled: isComposerDisabled } = contexts.useComposer();
|
|
1170
1182
|
const isDisabled = isComposerDisabled || disabled || !canSubmit;
|
|
1171
1183
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1181,7 +1193,7 @@ const ComposerSubmit = react.forwardRef(
|
|
|
1181
1193
|
}
|
|
1182
1194
|
);
|
|
1183
1195
|
const ComposerAttachFiles = react.forwardRef(({ children, onClick, disabled, asChild, ...props }, forwardedRef) => {
|
|
1184
|
-
const Component = asChild ?
|
|
1196
|
+
const Component = asChild ? reactSlot.Slot : "button";
|
|
1185
1197
|
const { hasMaxAttachments } = contexts.useComposerAttachmentsContext();
|
|
1186
1198
|
const { isDisabled: isComposerDisabled, attachFiles } = contexts.useComposer();
|
|
1187
1199
|
const isDisabled = isComposerDisabled || hasMaxAttachments || disabled;
|
|
@@ -1216,7 +1228,7 @@ const ComposerAttachmentsDropArea = react.forwardRef(
|
|
|
1216
1228
|
asChild,
|
|
1217
1229
|
...props
|
|
1218
1230
|
}, forwardedRef) => {
|
|
1219
|
-
const Component = asChild ?
|
|
1231
|
+
const Component = asChild ? reactSlot.Slot : "div";
|
|
1220
1232
|
const { isDisabled: isComposerDisabled } = contexts.useComposer();
|
|
1221
1233
|
const isDisabled = isComposerDisabled || disabled;
|
|
1222
1234
|
const [, dropAreaProps] = utils.useComposerAttachmentsDropArea({
|
|
@@ -1247,7 +1259,7 @@ const ComposerMarkToggle = react.forwardRef(
|
|
|
1247
1259
|
asChild,
|
|
1248
1260
|
...props
|
|
1249
1261
|
}, forwardedRef) => {
|
|
1250
|
-
const Component = asChild ?
|
|
1262
|
+
const Component = asChild ? reactSlot.Slot : "button";
|
|
1251
1263
|
const { marks, toggleMark } = contexts.useComposer();
|
|
1252
1264
|
const handlePointerDown = react.useCallback(
|
|
1253
1265
|
(event) => {
|
|
@@ -1270,7 +1282,7 @@ const ComposerMarkToggle = react.forwardRef(
|
|
|
1270
1282
|
[mark, onClick, onValueChange, toggleMark]
|
|
1271
1283
|
);
|
|
1272
1284
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1273
|
-
|
|
1285
|
+
TogglePrimitive__namespace.Root,
|
|
1274
1286
|
{
|
|
1275
1287
|
asChild: true,
|
|
1276
1288
|
pressed: marks[mark],
|