@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.
Files changed (145) hide show
  1. package/dist/_private/index.cjs +7 -1
  2. package/dist/_private/index.cjs.map +1 -1
  3. package/dist/_private/index.d.cts +10 -4
  4. package/dist/_private/index.d.ts +10 -4
  5. package/dist/_private/index.js +3 -1
  6. package/dist/_private/index.js.map +1 -1
  7. package/dist/components/AiChat.cjs +10 -2
  8. package/dist/components/AiChat.cjs.map +1 -1
  9. package/dist/components/AiChat.js +10 -2
  10. package/dist/components/AiChat.js.map +1 -1
  11. package/dist/components/Comment.cjs +277 -232
  12. package/dist/components/Comment.cjs.map +1 -1
  13. package/dist/components/Comment.js +263 -237
  14. package/dist/components/Comment.js.map +1 -1
  15. package/dist/components/Composer.cjs +4 -2
  16. package/dist/components/Composer.cjs.map +1 -1
  17. package/dist/components/Composer.js +5 -3
  18. package/dist/components/Composer.js.map +1 -1
  19. package/dist/components/InboxNotification.cjs +6 -4
  20. package/dist/components/InboxNotification.cjs.map +1 -1
  21. package/dist/components/InboxNotification.js +7 -5
  22. package/dist/components/InboxNotification.js.map +1 -1
  23. package/dist/components/Thread.cjs +71 -45
  24. package/dist/components/Thread.cjs.map +1 -1
  25. package/dist/components/Thread.js +56 -49
  26. package/dist/components/Thread.js.map +1 -1
  27. package/dist/components/internal/AiComposer.cjs +2 -1
  28. package/dist/components/internal/AiComposer.cjs.map +1 -1
  29. package/dist/components/internal/AiComposer.js +2 -1
  30. package/dist/components/internal/AiComposer.js.map +1 -1
  31. package/dist/components/internal/CodeBlock.cjs +2 -1
  32. package/dist/components/internal/CodeBlock.cjs.map +1 -1
  33. package/dist/components/internal/CodeBlock.js +2 -1
  34. package/dist/components/internal/CodeBlock.js.map +1 -1
  35. package/dist/components/internal/Dropdown.cjs +28 -7
  36. package/dist/components/internal/Dropdown.cjs.map +1 -1
  37. package/dist/components/internal/Dropdown.js +7 -7
  38. package/dist/components/internal/Dropdown.js.map +1 -1
  39. package/dist/components/internal/EmojiPicker.cjs +27 -6
  40. package/dist/components/internal/EmojiPicker.cjs.map +1 -1
  41. package/dist/components/internal/EmojiPicker.js +6 -6
  42. package/dist/components/internal/EmojiPicker.js.map +1 -1
  43. package/dist/components/internal/List.cjs +2 -2
  44. package/dist/components/internal/List.cjs.map +1 -1
  45. package/dist/components/internal/List.js +2 -2
  46. package/dist/components/internal/List.js.map +1 -1
  47. package/dist/components/internal/Tooltip.cjs +28 -7
  48. package/dist/components/internal/Tooltip.cjs.map +1 -1
  49. package/dist/components/internal/Tooltip.js +7 -7
  50. package/dist/components/internal/Tooltip.js.map +1 -1
  51. package/dist/index.cjs +0 -12
  52. package/dist/index.cjs.map +1 -1
  53. package/dist/index.d.cts +197 -213
  54. package/dist/index.d.ts +197 -213
  55. package/dist/index.js +0 -6
  56. package/dist/index.js.map +1 -1
  57. package/dist/primitives/AiComposer/index.cjs +4 -5
  58. package/dist/primitives/AiComposer/index.cjs.map +1 -1
  59. package/dist/primitives/AiComposer/index.js +4 -5
  60. package/dist/primitives/AiComposer/index.js.map +1 -1
  61. package/dist/primitives/AiMessage/index.cjs +2 -2
  62. package/dist/primitives/AiMessage/index.cjs.map +1 -1
  63. package/dist/primitives/AiMessage/index.js +2 -2
  64. package/dist/primitives/AiMessage/index.js.map +1 -1
  65. package/dist/primitives/Collapsible/index.cjs +4 -4
  66. package/dist/primitives/Collapsible/index.cjs.map +1 -1
  67. package/dist/primitives/Collapsible/index.js +4 -4
  68. package/dist/primitives/Collapsible/index.js.map +1 -1
  69. package/dist/primitives/Comment/index.cjs +4 -4
  70. package/dist/primitives/Comment/index.cjs.map +1 -1
  71. package/dist/primitives/Comment/index.js +4 -4
  72. package/dist/primitives/Comment/index.js.map +1 -1
  73. package/dist/primitives/Composer/index.cjs +35 -23
  74. package/dist/primitives/Composer/index.cjs.map +1 -1
  75. package/dist/primitives/Composer/index.js +16 -23
  76. package/dist/primitives/Composer/index.js.map +1 -1
  77. package/dist/primitives/Duration.cjs +2 -2
  78. package/dist/primitives/Duration.cjs.map +1 -1
  79. package/dist/primitives/Duration.js +2 -2
  80. package/dist/primitives/Duration.js.map +1 -1
  81. package/dist/primitives/FileSize.cjs +2 -2
  82. package/dist/primitives/FileSize.cjs.map +1 -1
  83. package/dist/primitives/FileSize.js +2 -2
  84. package/dist/primitives/FileSize.js.map +1 -1
  85. package/dist/primitives/Markdown.cjs +2 -2
  86. package/dist/primitives/Markdown.cjs.map +1 -1
  87. package/dist/primitives/Markdown.js +2 -2
  88. package/dist/primitives/Markdown.js.map +1 -1
  89. package/dist/primitives/Timestamp.cjs +2 -2
  90. package/dist/primitives/Timestamp.cjs.map +1 -1
  91. package/dist/primitives/Timestamp.js +2 -2
  92. package/dist/primitives/Timestamp.js.map +1 -1
  93. package/dist/utils/Portal.cjs +2 -2
  94. package/dist/utils/Portal.cjs.map +1 -1
  95. package/dist/utils/Portal.js +2 -2
  96. package/dist/utils/Portal.js.map +1 -1
  97. package/dist/utils/use-stable-component.cjs +32 -0
  98. package/dist/utils/use-stable-component.cjs.map +1 -0
  99. package/dist/utils/use-stable-component.js +30 -0
  100. package/dist/utils/use-stable-component.js.map +1 -0
  101. package/dist/version.cjs +1 -1
  102. package/dist/version.cjs.map +1 -1
  103. package/dist/version.js +1 -1
  104. package/dist/version.js.map +1 -1
  105. package/package.json +10 -6
  106. package/src/styles/dark/index.css +1 -1
  107. package/src/styles/index.css +4 -252
  108. package/styles/dark/attributes.css +1 -1
  109. package/styles/dark/attributes.css.map +1 -1
  110. package/styles/dark/media-query.css +1 -1
  111. package/styles/dark/media-query.css.map +1 -1
  112. package/styles.css +1 -1
  113. package/styles.css.map +1 -1
  114. package/dist/components/AvatarStack.cjs +0 -115
  115. package/dist/components/AvatarStack.cjs.map +0 -1
  116. package/dist/components/AvatarStack.js +0 -113
  117. package/dist/components/AvatarStack.js.map +0 -1
  118. package/dist/components/CommentPin.cjs +0 -27
  119. package/dist/components/CommentPin.cjs.map +0 -1
  120. package/dist/components/CommentPin.js +0 -25
  121. package/dist/components/CommentPin.js.map +0 -1
  122. package/dist/components/Cursor.cjs +0 -40
  123. package/dist/components/Cursor.cjs.map +0 -1
  124. package/dist/components/Cursor.js +0 -38
  125. package/dist/components/Cursor.js.map +0 -1
  126. package/dist/components/Cursors.cjs +0 -252
  127. package/dist/components/Cursors.cjs.map +0 -1
  128. package/dist/components/Cursors.js +0 -250
  129. package/dist/components/Cursors.js.map +0 -1
  130. package/dist/components/FloatingComposer.cjs +0 -82
  131. package/dist/components/FloatingComposer.cjs.map +0 -1
  132. package/dist/components/FloatingComposer.js +0 -80
  133. package/dist/components/FloatingComposer.js.map +0 -1
  134. package/dist/components/FloatingThread.cjs +0 -82
  135. package/dist/components/FloatingThread.cjs.map +0 -1
  136. package/dist/components/FloatingThread.js +0 -80
  137. package/dist/components/FloatingThread.js.map +0 -1
  138. package/dist/utils/animation-loop.cjs +0 -44
  139. package/dist/utils/animation-loop.cjs.map +0 -1
  140. package/dist/utils/animation-loop.js +0 -42
  141. package/dist/utils/animation-loop.js.map +0 -1
  142. package/dist/utils/use-pre-resolve-user.cjs +0 -18
  143. package/dist/utils/use-pre-resolve-user.cjs.map +0 -1
  144. package/dist/utils/use-pre-resolve-user.js +0 -16
  145. 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 radixUi = require('radix-ui');
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 ? radixUi.Slot.Slot : "span";
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 ? radixUi.Slot.Slot : "a";
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 ? radixUi.Slot.Slot : "div";
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 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
+ {"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":"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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 '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.Slot : "span";
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.Slot : "a";
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.Slot : "div";
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 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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"}
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 radixUi = require('radix-ui');
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 ? radixUi.Slot.Slot : "div";
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 ? radixUi.Slot.Slot : "span";
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 ? radixUi.Slot.Slot : "a";
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 ? radixUi.Slot.Slot : "div";
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 ? radixUi.Slot.Slot : "ul";
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 ? radixUi.Slot.Slot : "li";
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, currentUserId, preResolveUser]
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 ? radixUi.Slot.Slot : "form";
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(radixUi.Slot.Slottable, { children })
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 ? radixUi.Slot.Slot : "button";
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 ? radixUi.Slot.Slot : "button";
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 ? radixUi.Slot.Slot : "div";
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 ? radixUi.Slot.Slot : "button";
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
- radixUi.Toggle.Root,
1285
+ TogglePrimitive__namespace.Root,
1274
1286
  {
1275
1287
  asChild: true,
1276
1288
  pressed: marks[mark],