@liveblocks/react-ui 2.14.0 → 2.15.0-debug1

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 (258) hide show
  1. package/dist/_private/index.d.mts +24 -22
  2. package/dist/_private/index.d.ts +24 -22
  3. package/dist/components/Comment.js +355 -254
  4. package/dist/components/Comment.js.map +1 -1
  5. package/dist/components/Comment.mjs +330 -229
  6. package/dist/components/Comment.mjs.map +1 -1
  7. package/dist/components/Composer.js +305 -224
  8. package/dist/components/Composer.js.map +1 -1
  9. package/dist/components/Composer.mjs +281 -200
  10. package/dist/components/Composer.mjs.map +1 -1
  11. package/dist/components/HistoryVersionSummary.js +25 -22
  12. package/dist/components/HistoryVersionSummary.js.map +1 -1
  13. package/dist/components/HistoryVersionSummary.mjs +24 -21
  14. package/dist/components/HistoryVersionSummary.mjs.map +1 -1
  15. package/dist/components/HistoryVersionSummaryList.js +10 -9
  16. package/dist/components/HistoryVersionSummaryList.js.map +1 -1
  17. package/dist/components/HistoryVersionSummaryList.mjs +9 -8
  18. package/dist/components/HistoryVersionSummaryList.mjs.map +1 -1
  19. package/dist/components/InboxNotification.js +201 -143
  20. package/dist/components/InboxNotification.js.map +1 -1
  21. package/dist/components/InboxNotification.mjs +179 -121
  22. package/dist/components/InboxNotification.mjs.map +1 -1
  23. package/dist/components/InboxNotificationList.js +18 -14
  24. package/dist/components/InboxNotificationList.js.map +1 -1
  25. package/dist/components/InboxNotificationList.mjs +16 -12
  26. package/dist/components/InboxNotificationList.mjs.map +1 -1
  27. package/dist/components/Thread.js +103 -86
  28. package/dist/components/Thread.js.map +1 -1
  29. package/dist/components/Thread.mjs +92 -75
  30. package/dist/components/Thread.mjs.map +1 -1
  31. package/dist/components/internal/Attachment.js +158 -107
  32. package/dist/components/internal/Attachment.js.map +1 -1
  33. package/dist/components/internal/Attachment.mjs +147 -96
  34. package/dist/components/internal/Attachment.mjs.map +1 -1
  35. package/dist/components/internal/Attribution.js +15 -13
  36. package/dist/components/internal/Attribution.js.map +1 -1
  37. package/dist/components/internal/Attribution.mjs +15 -13
  38. package/dist/components/internal/Attribution.mjs.map +1 -1
  39. package/dist/components/internal/Avatar.js +26 -20
  40. package/dist/components/internal/Avatar.js.map +1 -1
  41. package/dist/components/internal/Avatar.mjs +22 -16
  42. package/dist/components/internal/Avatar.mjs.map +1 -1
  43. package/dist/components/internal/Button.js +4 -4
  44. package/dist/components/internal/Button.js.map +1 -1
  45. package/dist/components/internal/Button.mjs +3 -3
  46. package/dist/components/internal/Button.mjs.map +1 -1
  47. package/dist/components/internal/Dropdown.js +26 -19
  48. package/dist/components/internal/Dropdown.js.map +1 -1
  49. package/dist/components/internal/Dropdown.mjs +25 -18
  50. package/dist/components/internal/Dropdown.mjs.map +1 -1
  51. package/dist/components/internal/Emoji.js +4 -3
  52. package/dist/components/internal/Emoji.js.map +1 -1
  53. package/dist/components/internal/Emoji.mjs +3 -2
  54. package/dist/components/internal/Emoji.mjs.map +1 -1
  55. package/dist/components/internal/EmojiPicker.js +96 -72
  56. package/dist/components/internal/EmojiPicker.js.map +1 -1
  57. package/dist/components/internal/EmojiPicker.mjs +90 -66
  58. package/dist/components/internal/EmojiPicker.mjs.map +1 -1
  59. package/dist/components/internal/Icon.js +5 -4
  60. package/dist/components/internal/Icon.js.map +1 -1
  61. package/dist/components/internal/Icon.mjs +5 -4
  62. package/dist/components/internal/Icon.mjs.map +1 -1
  63. package/dist/components/internal/InboxNotificationThread.js +53 -38
  64. package/dist/components/internal/InboxNotificationThread.js.map +1 -1
  65. package/dist/components/internal/InboxNotificationThread.mjs +53 -38
  66. package/dist/components/internal/InboxNotificationThread.mjs.map +1 -1
  67. package/dist/components/internal/List.js +8 -6
  68. package/dist/components/internal/List.js.map +1 -1
  69. package/dist/components/internal/List.mjs +6 -4
  70. package/dist/components/internal/List.mjs.map +1 -1
  71. package/dist/components/internal/Room.js +7 -6
  72. package/dist/components/internal/Room.js.map +1 -1
  73. package/dist/components/internal/Room.mjs +6 -5
  74. package/dist/components/internal/Room.mjs.map +1 -1
  75. package/dist/components/internal/Tooltip.js +48 -33
  76. package/dist/components/internal/Tooltip.js.map +1 -1
  77. package/dist/components/internal/Tooltip.mjs +45 -30
  78. package/dist/components/internal/Tooltip.mjs.map +1 -1
  79. package/dist/components/internal/User.js +7 -6
  80. package/dist/components/internal/User.js.map +1 -1
  81. package/dist/components/internal/User.mjs +6 -5
  82. package/dist/components/internal/User.mjs.map +1 -1
  83. package/dist/components.js +11 -29
  84. package/dist/components.js.map +1 -1
  85. package/dist/components.mjs +5 -5
  86. package/dist/components.mjs.map +1 -1
  87. package/dist/config.js +15 -12
  88. package/dist/config.js.map +1 -1
  89. package/dist/config.mjs +12 -9
  90. package/dist/config.mjs.map +1 -1
  91. package/dist/icons/ArrowDown.js +7 -6
  92. package/dist/icons/ArrowDown.js.map +1 -1
  93. package/dist/icons/ArrowDown.mjs +7 -6
  94. package/dist/icons/ArrowDown.mjs.map +1 -1
  95. package/dist/icons/ArrowUp.js +7 -6
  96. package/dist/icons/ArrowUp.js.map +1 -1
  97. package/dist/icons/ArrowUp.mjs +7 -6
  98. package/dist/icons/ArrowUp.mjs.map +1 -1
  99. package/dist/icons/Attachment.js +7 -6
  100. package/dist/icons/Attachment.js.map +1 -1
  101. package/dist/icons/Attachment.mjs +7 -6
  102. package/dist/icons/Attachment.mjs.map +1 -1
  103. package/dist/icons/Bold.js +7 -6
  104. package/dist/icons/Bold.js.map +1 -1
  105. package/dist/icons/Bold.mjs +7 -6
  106. package/dist/icons/Bold.mjs.map +1 -1
  107. package/dist/icons/Check.js +7 -6
  108. package/dist/icons/Check.js.map +1 -1
  109. package/dist/icons/Check.mjs +7 -6
  110. package/dist/icons/Check.mjs.map +1 -1
  111. package/dist/icons/Code.js +7 -6
  112. package/dist/icons/Code.js.map +1 -1
  113. package/dist/icons/Code.mjs +7 -6
  114. package/dist/icons/Code.mjs.map +1 -1
  115. package/dist/icons/Cross.js +12 -8
  116. package/dist/icons/Cross.js.map +1 -1
  117. package/dist/icons/Cross.mjs +12 -8
  118. package/dist/icons/Cross.mjs.map +1 -1
  119. package/dist/icons/Delete.js +7 -6
  120. package/dist/icons/Delete.js.map +1 -1
  121. package/dist/icons/Delete.mjs +7 -6
  122. package/dist/icons/Delete.mjs.map +1 -1
  123. package/dist/icons/Edit.js +7 -6
  124. package/dist/icons/Edit.js.map +1 -1
  125. package/dist/icons/Edit.mjs +7 -6
  126. package/dist/icons/Edit.mjs.map +1 -1
  127. package/dist/icons/Ellipsis.js +21 -16
  128. package/dist/icons/Ellipsis.js.map +1 -1
  129. package/dist/icons/Ellipsis.mjs +21 -16
  130. package/dist/icons/Ellipsis.mjs.map +1 -1
  131. package/dist/icons/Emoji.js +25 -18
  132. package/dist/icons/Emoji.js.map +1 -1
  133. package/dist/icons/Emoji.mjs +25 -18
  134. package/dist/icons/Emoji.mjs.map +1 -1
  135. package/dist/icons/EmojiAdd.js +28 -20
  136. package/dist/icons/EmojiAdd.js.map +1 -1
  137. package/dist/icons/EmojiAdd.mjs +28 -20
  138. package/dist/icons/EmojiAdd.mjs.map +1 -1
  139. package/dist/icons/Italic.js +7 -6
  140. package/dist/icons/Italic.js.map +1 -1
  141. package/dist/icons/Italic.mjs +7 -6
  142. package/dist/icons/Italic.mjs.map +1 -1
  143. package/dist/icons/Mention.js +12 -8
  144. package/dist/icons/Mention.js.map +1 -1
  145. package/dist/icons/Mention.mjs +12 -8
  146. package/dist/icons/Mention.mjs.map +1 -1
  147. package/dist/icons/Resolve.js +14 -10
  148. package/dist/icons/Resolve.js.map +1 -1
  149. package/dist/icons/Resolve.mjs +14 -10
  150. package/dist/icons/Resolve.mjs.map +1 -1
  151. package/dist/icons/Resolved.js +16 -12
  152. package/dist/icons/Resolved.js.map +1 -1
  153. package/dist/icons/Resolved.mjs +16 -12
  154. package/dist/icons/Resolved.mjs.map +1 -1
  155. package/dist/icons/Restore.js +12 -8
  156. package/dist/icons/Restore.js.map +1 -1
  157. package/dist/icons/Restore.mjs +12 -8
  158. package/dist/icons/Restore.mjs.map +1 -1
  159. package/dist/icons/Search.js +7 -6
  160. package/dist/icons/Search.js.map +1 -1
  161. package/dist/icons/Search.mjs +7 -6
  162. package/dist/icons/Search.mjs.map +1 -1
  163. package/dist/icons/Send.js +7 -6
  164. package/dist/icons/Send.js.map +1 -1
  165. package/dist/icons/Send.mjs +7 -6
  166. package/dist/icons/Send.mjs.map +1 -1
  167. package/dist/icons/Spinner.js +8 -7
  168. package/dist/icons/Spinner.js.map +1 -1
  169. package/dist/icons/Spinner.mjs +8 -7
  170. package/dist/icons/Spinner.mjs.map +1 -1
  171. package/dist/icons/Strikethrough.js +7 -6
  172. package/dist/icons/Strikethrough.js.map +1 -1
  173. package/dist/icons/Strikethrough.mjs +7 -6
  174. package/dist/icons/Strikethrough.mjs.map +1 -1
  175. package/dist/icons/Warning.js +14 -10
  176. package/dist/icons/Warning.js.map +1 -1
  177. package/dist/icons/Warning.mjs +14 -10
  178. package/dist/icons/Warning.mjs.map +1 -1
  179. package/dist/index.d.mts +14 -12
  180. package/dist/index.d.ts +14 -12
  181. package/dist/overrides.js +64 -36
  182. package/dist/overrides.js.map +1 -1
  183. package/dist/overrides.mjs +58 -12
  184. package/dist/overrides.mjs.map +1 -1
  185. package/dist/primitives/Comment/index.js +75 -66
  186. package/dist/primitives/Comment/index.js.map +1 -1
  187. package/dist/primitives/Comment/index.mjs +71 -62
  188. package/dist/primitives/Comment/index.mjs.map +1 -1
  189. package/dist/primitives/Composer/contexts.js +11 -11
  190. package/dist/primitives/Composer/index.js +329 -271
  191. package/dist/primitives/Composer/index.js.map +1 -1
  192. package/dist/primitives/Composer/index.mjs +254 -196
  193. package/dist/primitives/Composer/index.mjs.map +1 -1
  194. package/dist/primitives/Composer/utils.js +18 -20
  195. package/dist/primitives/Composer/utils.js.map +1 -1
  196. package/dist/primitives/Composer/utils.mjs +1 -3
  197. package/dist/primitives/Composer/utils.mjs.map +1 -1
  198. package/dist/primitives/EmojiPicker/contexts.js +3 -3
  199. package/dist/primitives/EmojiPicker/index.js +159 -142
  200. package/dist/primitives/EmojiPicker/index.js.map +1 -1
  201. package/dist/primitives/EmojiPicker/index.mjs +120 -103
  202. package/dist/primitives/EmojiPicker/index.mjs.map +1 -1
  203. package/dist/primitives/FileSize.js +8 -7
  204. package/dist/primitives/FileSize.js.map +1 -1
  205. package/dist/primitives/FileSize.mjs +6 -5
  206. package/dist/primitives/FileSize.mjs.map +1 -1
  207. package/dist/primitives/Timestamp.js +11 -10
  208. package/dist/primitives/Timestamp.js.map +1 -1
  209. package/dist/primitives/Timestamp.mjs +6 -5
  210. package/dist/primitives/Timestamp.mjs.map +1 -1
  211. package/dist/primitives/index.d.mts +24 -23
  212. package/dist/primitives/index.d.ts +24 -23
  213. package/dist/primitives/internal/Emoji.js +7 -5
  214. package/dist/primitives/internal/Emoji.js.map +1 -1
  215. package/dist/primitives/internal/Emoji.mjs +6 -4
  216. package/dist/primitives/internal/Emoji.mjs.map +1 -1
  217. package/dist/shared.js +2 -7
  218. package/dist/shared.js.map +1 -1
  219. package/dist/shared.mjs +2 -7
  220. package/dist/shared.mjs.map +1 -1
  221. package/dist/utils/Persist.js +18 -18
  222. package/dist/utils/Persist.js.map +1 -1
  223. package/dist/utils/Persist.mjs +6 -6
  224. package/dist/utils/Persist.mjs.map +1 -1
  225. package/dist/utils/Portal.js +4 -4
  226. package/dist/utils/Portal.js.map +1 -1
  227. package/dist/utils/Portal.mjs +3 -3
  228. package/dist/utils/Portal.mjs.map +1 -1
  229. package/dist/utils/use-controllable-state.js +5 -5
  230. package/dist/utils/use-index.js +7 -7
  231. package/dist/utils/use-initial.js +2 -2
  232. package/dist/utils/use-interval.js +4 -4
  233. package/dist/utils/use-latest.js +3 -3
  234. package/dist/utils/use-observable.js +2 -2
  235. package/dist/utils/use-refs.js +2 -2
  236. package/dist/utils/use-rerender.js +2 -2
  237. package/dist/utils/use-visible.js +2 -2
  238. package/dist/utils/use-window-focus.js +2 -2
  239. package/dist/utils/use-window-focus.js.map +1 -1
  240. package/dist/utils/use-window-focus.mjs +1 -1
  241. package/dist/utils/use-window-focus.mjs.map +1 -1
  242. package/dist/version.js +1 -1
  243. package/dist/version.js.map +1 -1
  244. package/dist/version.mjs +1 -1
  245. package/dist/version.mjs.map +1 -1
  246. package/package.json +6 -8
  247. package/dist/utils/use-id.js +0 -29
  248. package/dist/utils/use-id.js.map +0 -1
  249. package/dist/utils/use-id.mjs +0 -27
  250. package/dist/utils/use-id.mjs.map +0 -1
  251. package/dist/utils/use-layout-effect.js +0 -8
  252. package/dist/utils/use-layout-effect.js.map +0 -1
  253. package/dist/utils/use-layout-effect.mjs +0 -6
  254. package/dist/utils/use-layout-effect.mjs.map +0 -1
  255. package/dist/utils/use-transition.js +0 -16
  256. package/dist/utils/use-transition.js.map +0 -1
  257. package/dist/utils/use-transition.mjs +0 -14
  258. package/dist/utils/use-transition.mjs.map +0 -1
@@ -1,8 +1,8 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
3
+ var jsxRuntime = require('react/jsx-runtime');
4
4
  var TooltipPrimitive = require('@radix-ui/react-tooltip');
5
- var React = require('react');
5
+ var react = require('react');
6
6
  var config = require('../../config.js');
7
7
  var constants = require('../../constants.js');
8
8
  var classNames = require('../../utils/class-names.js');
@@ -37,48 +37,63 @@ const KEYS = {
37
37
  return { title: "Enter", key: "\u23CE" };
38
38
  }
39
39
  };
40
- const Tooltip = React.forwardRef(
40
+ const Tooltip = react.forwardRef(
41
41
  ({ children, content, multiline, className, ...props }, forwardedRef) => {
42
42
  const { portalContainer } = config.useLiveblocksUIConfig();
43
- return /* @__PURE__ */ React.createElement(TooltipPrimitive__namespace.Root, {
44
- disableHoverableContent: true
45
- }, /* @__PURE__ */ React.createElement(TooltipPrimitive__namespace.Trigger, {
46
- asChild: true,
47
- ref: forwardedRef
48
- }, children), /* @__PURE__ */ React.createElement(TooltipPrimitive__namespace.Portal, {
49
- container: portalContainer
50
- }, /* @__PURE__ */ React.createElement(TooltipPrimitive__namespace.Content, {
51
- className: classNames.classNames(
52
- "lb-root lb-portal lb-tooltip",
53
- multiline && "lb-tooltip:multiline",
54
- className
55
- ),
56
- side: "top",
57
- align: "center",
58
- sideOffset: constants.FLOATING_ELEMENT_SIDE_OFFSET,
59
- collisionPadding: constants.FLOATING_ELEMENT_COLLISION_PADDING,
60
- ...props
61
- }, content)));
43
+ return /* @__PURE__ */ jsxRuntime.jsxs(TooltipPrimitive__namespace.Root, {
44
+ disableHoverableContent: true,
45
+ children: [
46
+ /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Trigger, {
47
+ asChild: true,
48
+ ref: forwardedRef,
49
+ children
50
+ }),
51
+ /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Portal, {
52
+ container: portalContainer,
53
+ children: /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Content, {
54
+ className: classNames.classNames(
55
+ "lb-root lb-portal lb-tooltip",
56
+ multiline && "lb-tooltip:multiline",
57
+ className
58
+ ),
59
+ side: "top",
60
+ align: "center",
61
+ sideOffset: constants.FLOATING_ELEMENT_SIDE_OFFSET,
62
+ collisionPadding: constants.FLOATING_ELEMENT_COLLISION_PADDING,
63
+ ...props,
64
+ children: content
65
+ })
66
+ })
67
+ ]
68
+ });
62
69
  }
63
70
  );
64
- const ShortcutTooltip = React.forwardRef(({ children, content, shortcut, ...props }, forwardedRef) => {
65
- return /* @__PURE__ */ React.createElement(Tooltip, {
66
- content: /* @__PURE__ */ React.createElement(React.Fragment, null, content, shortcut && /* @__PURE__ */ React.createElement("kbd", {
67
- className: "lb-tooltip-shortcut"
68
- }, shortcut)),
71
+ const ShortcutTooltip = react.forwardRef(({ children, content, shortcut, ...props }, forwardedRef) => {
72
+ return /* @__PURE__ */ jsxRuntime.jsx(Tooltip, {
73
+ content: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
74
+ children: [
75
+ content,
76
+ shortcut && /* @__PURE__ */ jsxRuntime.jsx("kbd", {
77
+ className: "lb-tooltip-shortcut",
78
+ children: shortcut
79
+ })
80
+ ]
81
+ }),
69
82
  ...props,
70
- ref: forwardedRef
71
- }, children);
83
+ ref: forwardedRef,
84
+ children
85
+ });
72
86
  });
73
87
  function ShortcutTooltipKey({
74
88
  name,
75
89
  ...props
76
90
  }) {
77
- const { title, key } = React.useMemo(() => KEYS[name]?.(), [name]);
78
- return /* @__PURE__ */ React.createElement("abbr", {
91
+ const { title, key } = react.useMemo(() => KEYS[name]?.(), [name]);
92
+ return /* @__PURE__ */ jsxRuntime.jsx("abbr", {
79
93
  title,
80
- ...props
81
- }, key);
94
+ ...props,
95
+ children: key
96
+ });
82
97
  }
83
98
 
84
99
  Object.defineProperty(exports, 'TooltipProvider', {
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sources":["../../../src/components/internal/Tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport type { ComponentProps, ReactNode } from \"react\";\nimport React, { forwardRef, useMemo } from \"react\";\n\nimport { useLiveblocksUIConfig } from \"../../config\";\nimport {\n FLOATING_ELEMENT_COLLISION_PADDING,\n FLOATING_ELEMENT_SIDE_OFFSET,\n} from \"../../constants\";\nimport { classNames } from \"../../utils/class-names\";\nimport { isApple } from \"../../utils/is-apple\";\n\nconst KEYS = {\n alt: () => ({ title: \"Alt\", key: \"⌥\" }),\n mod: () =>\n isApple() ? { title: \"Command\", key: \"⌘\" } : { title: \"Ctrl\", key: \"⌃\" },\n shift: () => {\n return { title: \"Shift\", key: \"⇧\" };\n },\n enter: () => {\n return { title: \"Enter\", key: \"⏎\" };\n },\n} as const;\n\nexport interface TooltipProps\n extends Pick<TooltipPrimitive.TooltipTriggerProps, \"children\">,\n Omit<TooltipPrimitive.TooltipContentProps, \"content\"> {\n content: ReactNode;\n multiline?: boolean;\n}\n\nexport interface ShortcutTooltipProps extends TooltipProps {\n shortcut?: ReactNode;\n}\n\nexport interface ShortcutTooltipKeyProps extends ComponentProps<\"abbr\"> {\n name: keyof typeof KEYS;\n}\n\nexport const Tooltip = forwardRef<HTMLButtonElement, TooltipProps>(\n ({ children, content, multiline, className, ...props }, forwardedRef) => {\n const { portalContainer } = useLiveblocksUIConfig();\n\n return (\n <TooltipPrimitive.Root disableHoverableContent>\n <TooltipPrimitive.Trigger asChild ref={forwardedRef}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Portal container={portalContainer}>\n <TooltipPrimitive.Content\n className={classNames(\n \"lb-root lb-portal lb-tooltip\",\n multiline && \"lb-tooltip:multiline\",\n className\n )}\n side=\"top\"\n align=\"center\"\n sideOffset={FLOATING_ELEMENT_SIDE_OFFSET}\n collisionPadding={FLOATING_ELEMENT_COLLISION_PADDING}\n {...props}\n >\n {content}\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n );\n }\n);\n\nexport const ShortcutTooltip = forwardRef<\n HTMLButtonElement,\n ShortcutTooltipProps\n>(({ children, content, shortcut, ...props }, forwardedRef) => {\n return (\n <Tooltip\n content={\n <>\n {content}\n {shortcut && <kbd className=\"lb-tooltip-shortcut\">{shortcut}</kbd>}\n </>\n }\n {...props}\n ref={forwardedRef}\n >\n {children}\n </Tooltip>\n );\n});\n\nexport function ShortcutTooltipKey({\n name,\n ...props\n}: ShortcutTooltipKeyProps) {\n const { title, key } = useMemo(() => KEYS[name]?.(), [name]);\n\n return (\n <abbr title={title} {...props}>\n {key}\n </abbr>\n );\n}\n\nexport { TooltipProvider } from \"@radix-ui/react-tooltip\";\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA;AAAa;AAC0B;AAEoC;AAEvE;AAAkC;AACpC;AAEE;AAAkC;AAEtC;AAiBO;AAAgB;AAEnB;AAEA;AACG;AAA6C;AAC3C;AAAgC;AAAM;AAGtC;AAAmC;AACjC;AACY;AACT;AACa;AACb;AACF;AACK;AACC;AACM;AACM;AACd;AAKV;AAGN;AAEa;AAIX;AACG;AAImB;AAAc;AAC9B;AAEE;AACC;AAKX;AAEO;AAA4B;AACjC;AAEF;AACE;AAEA;AACG;AAAK;AAAkB;AAI5B;;;;;;;;"}
1
+ {"version":3,"file":"Tooltip.js","sources":["../../../src/components/internal/Tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport type { ComponentProps, ReactNode } from \"react\";\nimport { forwardRef, useMemo } from \"react\";\n\nimport { useLiveblocksUIConfig } from \"../../config\";\nimport {\n FLOATING_ELEMENT_COLLISION_PADDING,\n FLOATING_ELEMENT_SIDE_OFFSET,\n} from \"../../constants\";\nimport { classNames } from \"../../utils/class-names\";\nimport { isApple } from \"../../utils/is-apple\";\n\nconst KEYS = {\n alt: () => ({ title: \"Alt\", key: \"⌥\" }),\n mod: () =>\n isApple() ? { title: \"Command\", key: \"⌘\" } : { title: \"Ctrl\", key: \"⌃\" },\n shift: () => {\n return { title: \"Shift\", key: \"⇧\" };\n },\n enter: () => {\n return { title: \"Enter\", key: \"⏎\" };\n },\n} as const;\n\nexport interface TooltipProps\n extends Pick<TooltipPrimitive.TooltipTriggerProps, \"children\">,\n Omit<TooltipPrimitive.TooltipContentProps, \"content\"> {\n content: ReactNode;\n multiline?: boolean;\n}\n\nexport interface ShortcutTooltipProps extends TooltipProps {\n shortcut?: ReactNode;\n}\n\nexport interface ShortcutTooltipKeyProps extends ComponentProps<\"abbr\"> {\n name: keyof typeof KEYS;\n}\n\nexport const Tooltip = forwardRef<HTMLButtonElement, TooltipProps>(\n ({ children, content, multiline, className, ...props }, forwardedRef) => {\n const { portalContainer } = useLiveblocksUIConfig();\n\n return (\n <TooltipPrimitive.Root disableHoverableContent>\n <TooltipPrimitive.Trigger asChild ref={forwardedRef}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Portal container={portalContainer}>\n <TooltipPrimitive.Content\n className={classNames(\n \"lb-root lb-portal lb-tooltip\",\n multiline && \"lb-tooltip:multiline\",\n className\n )}\n side=\"top\"\n align=\"center\"\n sideOffset={FLOATING_ELEMENT_SIDE_OFFSET}\n collisionPadding={FLOATING_ELEMENT_COLLISION_PADDING}\n {...props}\n >\n {content}\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n );\n }\n);\n\nexport const ShortcutTooltip = forwardRef<\n HTMLButtonElement,\n ShortcutTooltipProps\n>(({ children, content, shortcut, ...props }, forwardedRef) => {\n return (\n <Tooltip\n content={\n <>\n {content}\n {shortcut && <kbd className=\"lb-tooltip-shortcut\">{shortcut}</kbd>}\n </>\n }\n {...props}\n ref={forwardedRef}\n >\n {children}\n </Tooltip>\n );\n});\n\nexport function ShortcutTooltipKey({\n name,\n ...props\n}: ShortcutTooltipKeyProps) {\n const { title, key } = useMemo(() => KEYS[name]?.(), [name]);\n\n return (\n <abbr title={title} {...props}>\n {key}\n </abbr>\n );\n}\n\nexport { TooltipProvider } from \"@radix-ui/react-tooltip\";\n"],"names":["isApple","forwardRef","useLiveblocksUIConfig","jsxs","TooltipPrimitive","jsx","classNames","FLOATING_ELEMENT_SIDE_OFFSET","FLOATING_ELEMENT_COLLISION_PADDING","Fragment","useMemo"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,MAAM,IAAO,GAAA;AAAA,EACX,KAAK,OAAO,EAAE,KAAO,EAAA,KAAA,EAAO,KAAK,QAAI,EAAA,CAAA;AAAA,EACrC,GAAK,EAAA,MACHA,eAAQ,EAAA,GAAI,EAAE,KAAO,EAAA,SAAA,EAAW,GAAK,EAAA,QAAA,EAAQ,GAAA,EAAE,KAAO,EAAA,MAAA,EAAQ,KAAK,QAAI,EAAA;AAAA,EACzE,OAAO,MAAM;AACX,IAAA,OAAO,EAAE,KAAA,EAAO,OAAS,EAAA,GAAA,EAAK,QAAI,EAAA,CAAA;AAAA,GACpC;AAAA,EACA,OAAO,MAAM;AACX,IAAA,OAAO,EAAE,KAAA,EAAO,OAAS,EAAA,GAAA,EAAK,QAAI,EAAA,CAAA;AAAA,GACpC;AACF,CAAA,CAAA;AAiBO,MAAM,OAAU,GAAAC,gBAAA;AAAA,EACrB,CAAC,EAAE,QAAU,EAAA,OAAA,EAAS,WAAW,SAAc,EAAA,GAAA,KAAA,IAAS,YAAiB,KAAA;AACvE,IAAM,MAAA,EAAE,eAAgB,EAAA,GAAIC,4BAAsB,EAAA,CAAA;AAElD,IACE,uBAAAC,eAAA,CAACC,4BAAiB,IAAjB,EAAA;AAAA,MAAsB,uBAAuB,EAAA,IAAA;AAAA,MAC5C,QAAA,EAAA;AAAA,wBAAAC,cAAA,CAACD,4BAAiB,OAAjB,EAAA;AAAA,UAAyB,OAAO,EAAA,IAAA;AAAA,UAAC,GAAK,EAAA,YAAA;AAAA,UACpC,QAAA;AAAA,SACH,CAAA;AAAA,wBACAC,cAAA,CAACD,4BAAiB,MAAjB,EAAA;AAAA,UAAwB,SAAW,EAAA,eAAA;AAAA,UAClC,QAAA,kBAAAC,cAAA,CAACD,4BAAiB,OAAjB,EAAA;AAAA,YACC,SAAW,EAAAE,qBAAA;AAAA,cACT,8BAAA;AAAA,cACA,SAAa,IAAA,sBAAA;AAAA,cACb,SAAA;AAAA,aACF;AAAA,YACA,IAAK,EAAA,KAAA;AAAA,YACL,KAAM,EAAA,QAAA;AAAA,YACN,UAAY,EAAAC,sCAAA;AAAA,YACZ,gBAAkB,EAAAC,4CAAA;AAAA,YACjB,GAAG,KAAA;AAAA,YAEH,QAAA,EAAA,OAAA;AAAA,WACH,CAAA;AAAA,SACF,CAAA;AAAA,OAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF,EAAA;AAEa,MAAA,eAAA,GAAkBP,iBAG7B,CAAC,EAAE,UAAU,OAAS,EAAA,QAAA,EAAA,GAAa,KAAM,EAAA,EAAG,YAAiB,KAAA;AAC7D,EAAA,uBACGI,cAAA,CAAA,OAAA,EAAA;AAAA,IACC,OACE,kBAAAF,eAAA,CAAAM,mBAAA,EAAA;AAAA,MACG,QAAA,EAAA;AAAA,QAAA,OAAA;AAAA,QACA,4BAAaJ,cAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAU,EAAA,qBAAA;AAAA,UAAuB,QAAA,EAAA,QAAA;AAAA,SAAS,CAAA;AAAA,OAAA;AAAA,KAC9D,CAAA;AAAA,IAED,GAAG,KAAA;AAAA,IACJ,GAAK,EAAA,YAAA;AAAA,IAEJ,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC,EAAA;AAEM,SAAS,kBAAmB,CAAA;AAAA,EACjC,IAAA;AAAA,EACG,GAAA,KAAA;AACL,CAA4B,EAAA;AAC1B,EAAM,MAAA,EAAE,KAAO,EAAA,GAAA,EAAQ,GAAAK,aAAA,CAAQ,MAAM,IAAA,CAAK,IAAQ,CAAA,IAAA,EAAG,CAAC,IAAI,CAAC,CAAA,CAAA;AAE3D,EAAA,uBACGL,cAAA,CAAA,MAAA,EAAA;AAAA,IAAK,KAAA;AAAA,IAAe,GAAG,KAAA;AAAA,IACrB,QAAA,EAAA,GAAA;AAAA,GACH,CAAA,CAAA;AAEJ;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
- 'use client';
1
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
3
3
  export { TooltipProvider } from '@radix-ui/react-tooltip';
4
- import React__default, { forwardRef, useMemo } from 'react';
4
+ import { forwardRef, useMemo } from 'react';
5
5
  import { useLiveblocksUIConfig } from '../../config.mjs';
6
6
  import { FLOATING_ELEMENT_SIDE_OFFSET, FLOATING_ELEMENT_COLLISION_PADDING } from '../../constants.mjs';
7
7
  import { classNames } from '../../utils/class-names.mjs';
@@ -20,45 +20,60 @@ const KEYS = {
20
20
  const Tooltip = forwardRef(
21
21
  ({ children, content, multiline, className, ...props }, forwardedRef) => {
22
22
  const { portalContainer } = useLiveblocksUIConfig();
23
- return /* @__PURE__ */ React__default.createElement(TooltipPrimitive.Root, {
24
- disableHoverableContent: true
25
- }, /* @__PURE__ */ React__default.createElement(TooltipPrimitive.Trigger, {
26
- asChild: true,
27
- ref: forwardedRef
28
- }, children), /* @__PURE__ */ React__default.createElement(TooltipPrimitive.Portal, {
29
- container: portalContainer
30
- }, /* @__PURE__ */ React__default.createElement(TooltipPrimitive.Content, {
31
- className: classNames(
32
- "lb-root lb-portal lb-tooltip",
33
- multiline && "lb-tooltip:multiline",
34
- className
35
- ),
36
- side: "top",
37
- align: "center",
38
- sideOffset: FLOATING_ELEMENT_SIDE_OFFSET,
39
- collisionPadding: FLOATING_ELEMENT_COLLISION_PADDING,
40
- ...props
41
- }, content)));
23
+ return /* @__PURE__ */ jsxs(TooltipPrimitive.Root, {
24
+ disableHoverableContent: true,
25
+ children: [
26
+ /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, {
27
+ asChild: true,
28
+ ref: forwardedRef,
29
+ children
30
+ }),
31
+ /* @__PURE__ */ jsx(TooltipPrimitive.Portal, {
32
+ container: portalContainer,
33
+ children: /* @__PURE__ */ jsx(TooltipPrimitive.Content, {
34
+ className: classNames(
35
+ "lb-root lb-portal lb-tooltip",
36
+ multiline && "lb-tooltip:multiline",
37
+ className
38
+ ),
39
+ side: "top",
40
+ align: "center",
41
+ sideOffset: FLOATING_ELEMENT_SIDE_OFFSET,
42
+ collisionPadding: FLOATING_ELEMENT_COLLISION_PADDING,
43
+ ...props,
44
+ children: content
45
+ })
46
+ })
47
+ ]
48
+ });
42
49
  }
43
50
  );
44
51
  const ShortcutTooltip = forwardRef(({ children, content, shortcut, ...props }, forwardedRef) => {
45
- return /* @__PURE__ */ React__default.createElement(Tooltip, {
46
- content: /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, content, shortcut && /* @__PURE__ */ React__default.createElement("kbd", {
47
- className: "lb-tooltip-shortcut"
48
- }, shortcut)),
52
+ return /* @__PURE__ */ jsx(Tooltip, {
53
+ content: /* @__PURE__ */ jsxs(Fragment, {
54
+ children: [
55
+ content,
56
+ shortcut && /* @__PURE__ */ jsx("kbd", {
57
+ className: "lb-tooltip-shortcut",
58
+ children: shortcut
59
+ })
60
+ ]
61
+ }),
49
62
  ...props,
50
- ref: forwardedRef
51
- }, children);
63
+ ref: forwardedRef,
64
+ children
65
+ });
52
66
  });
53
67
  function ShortcutTooltipKey({
54
68
  name,
55
69
  ...props
56
70
  }) {
57
71
  const { title, key } = useMemo(() => KEYS[name]?.(), [name]);
58
- return /* @__PURE__ */ React__default.createElement("abbr", {
72
+ return /* @__PURE__ */ jsx("abbr", {
59
73
  title,
60
- ...props
61
- }, key);
74
+ ...props,
75
+ children: key
76
+ });
62
77
  }
63
78
 
64
79
  export { ShortcutTooltip, ShortcutTooltipKey, Tooltip };
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.mjs","sources":["../../../src/components/internal/Tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport type { ComponentProps, ReactNode } from \"react\";\nimport React, { forwardRef, useMemo } from \"react\";\n\nimport { useLiveblocksUIConfig } from \"../../config\";\nimport {\n FLOATING_ELEMENT_COLLISION_PADDING,\n FLOATING_ELEMENT_SIDE_OFFSET,\n} from \"../../constants\";\nimport { classNames } from \"../../utils/class-names\";\nimport { isApple } from \"../../utils/is-apple\";\n\nconst KEYS = {\n alt: () => ({ title: \"Alt\", key: \"⌥\" }),\n mod: () =>\n isApple() ? { title: \"Command\", key: \"⌘\" } : { title: \"Ctrl\", key: \"⌃\" },\n shift: () => {\n return { title: \"Shift\", key: \"⇧\" };\n },\n enter: () => {\n return { title: \"Enter\", key: \"⏎\" };\n },\n} as const;\n\nexport interface TooltipProps\n extends Pick<TooltipPrimitive.TooltipTriggerProps, \"children\">,\n Omit<TooltipPrimitive.TooltipContentProps, \"content\"> {\n content: ReactNode;\n multiline?: boolean;\n}\n\nexport interface ShortcutTooltipProps extends TooltipProps {\n shortcut?: ReactNode;\n}\n\nexport interface ShortcutTooltipKeyProps extends ComponentProps<\"abbr\"> {\n name: keyof typeof KEYS;\n}\n\nexport const Tooltip = forwardRef<HTMLButtonElement, TooltipProps>(\n ({ children, content, multiline, className, ...props }, forwardedRef) => {\n const { portalContainer } = useLiveblocksUIConfig();\n\n return (\n <TooltipPrimitive.Root disableHoverableContent>\n <TooltipPrimitive.Trigger asChild ref={forwardedRef}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Portal container={portalContainer}>\n <TooltipPrimitive.Content\n className={classNames(\n \"lb-root lb-portal lb-tooltip\",\n multiline && \"lb-tooltip:multiline\",\n className\n )}\n side=\"top\"\n align=\"center\"\n sideOffset={FLOATING_ELEMENT_SIDE_OFFSET}\n collisionPadding={FLOATING_ELEMENT_COLLISION_PADDING}\n {...props}\n >\n {content}\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n );\n }\n);\n\nexport const ShortcutTooltip = forwardRef<\n HTMLButtonElement,\n ShortcutTooltipProps\n>(({ children, content, shortcut, ...props }, forwardedRef) => {\n return (\n <Tooltip\n content={\n <>\n {content}\n {shortcut && <kbd className=\"lb-tooltip-shortcut\">{shortcut}</kbd>}\n </>\n }\n {...props}\n ref={forwardedRef}\n >\n {children}\n </Tooltip>\n );\n});\n\nexport function ShortcutTooltipKey({\n name,\n ...props\n}: ShortcutTooltipKeyProps) {\n const { title, key } = useMemo(() => KEYS[name]?.(), [name]);\n\n return (\n <abbr title={title} {...props}>\n {key}\n </abbr>\n );\n}\n\nexport { TooltipProvider } from \"@radix-ui/react-tooltip\";\n"],"names":[],"mappings":";;;;;;;;;AAcA;AAAa;AAC0B;AAEoC;AAEvE;AAAkC;AACpC;AAEE;AAAkC;AAEtC;AAiBO;AAAgB;AAEnB;AAEA;AACG;AAA6C;AAC3C;AAAgC;AAAM;AAGtC;AAAmC;AACjC;AACY;AACT;AACa;AACb;AACF;AACK;AACC;AACM;AACM;AACd;AAKV;AAGN;AAEa;AAIX;AACG;AAImB;AAAc;AAC9B;AAEE;AACC;AAKX;AAEO;AAA4B;AACjC;AAEF;AACE;AAEA;AACG;AAAK;AAAkB;AAI5B;;"}
1
+ {"version":3,"file":"Tooltip.mjs","sources":["../../../src/components/internal/Tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport type { ComponentProps, ReactNode } from \"react\";\nimport { forwardRef, useMemo } from \"react\";\n\nimport { useLiveblocksUIConfig } from \"../../config\";\nimport {\n FLOATING_ELEMENT_COLLISION_PADDING,\n FLOATING_ELEMENT_SIDE_OFFSET,\n} from \"../../constants\";\nimport { classNames } from \"../../utils/class-names\";\nimport { isApple } from \"../../utils/is-apple\";\n\nconst KEYS = {\n alt: () => ({ title: \"Alt\", key: \"⌥\" }),\n mod: () =>\n isApple() ? { title: \"Command\", key: \"⌘\" } : { title: \"Ctrl\", key: \"⌃\" },\n shift: () => {\n return { title: \"Shift\", key: \"⇧\" };\n },\n enter: () => {\n return { title: \"Enter\", key: \"⏎\" };\n },\n} as const;\n\nexport interface TooltipProps\n extends Pick<TooltipPrimitive.TooltipTriggerProps, \"children\">,\n Omit<TooltipPrimitive.TooltipContentProps, \"content\"> {\n content: ReactNode;\n multiline?: boolean;\n}\n\nexport interface ShortcutTooltipProps extends TooltipProps {\n shortcut?: ReactNode;\n}\n\nexport interface ShortcutTooltipKeyProps extends ComponentProps<\"abbr\"> {\n name: keyof typeof KEYS;\n}\n\nexport const Tooltip = forwardRef<HTMLButtonElement, TooltipProps>(\n ({ children, content, multiline, className, ...props }, forwardedRef) => {\n const { portalContainer } = useLiveblocksUIConfig();\n\n return (\n <TooltipPrimitive.Root disableHoverableContent>\n <TooltipPrimitive.Trigger asChild ref={forwardedRef}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Portal container={portalContainer}>\n <TooltipPrimitive.Content\n className={classNames(\n \"lb-root lb-portal lb-tooltip\",\n multiline && \"lb-tooltip:multiline\",\n className\n )}\n side=\"top\"\n align=\"center\"\n sideOffset={FLOATING_ELEMENT_SIDE_OFFSET}\n collisionPadding={FLOATING_ELEMENT_COLLISION_PADDING}\n {...props}\n >\n {content}\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n );\n }\n);\n\nexport const ShortcutTooltip = forwardRef<\n HTMLButtonElement,\n ShortcutTooltipProps\n>(({ children, content, shortcut, ...props }, forwardedRef) => {\n return (\n <Tooltip\n content={\n <>\n {content}\n {shortcut && <kbd className=\"lb-tooltip-shortcut\">{shortcut}</kbd>}\n </>\n }\n {...props}\n ref={forwardedRef}\n >\n {children}\n </Tooltip>\n );\n});\n\nexport function ShortcutTooltipKey({\n name,\n ...props\n}: ShortcutTooltipKeyProps) {\n const { title, key } = useMemo(() => KEYS[name]?.(), [name]);\n\n return (\n <abbr title={title} {...props}>\n {key}\n </abbr>\n );\n}\n\nexport { TooltipProvider } from \"@radix-ui/react-tooltip\";\n"],"names":[],"mappings":";;;;;;;;;AAcA,MAAM,IAAO,GAAA;AAAA,EACX,KAAK,OAAO,EAAE,KAAO,EAAA,KAAA,EAAO,KAAK,QAAI,EAAA,CAAA;AAAA,EACrC,GAAK,EAAA,MACH,OAAQ,EAAA,GAAI,EAAE,KAAO,EAAA,SAAA,EAAW,GAAK,EAAA,QAAA,EAAQ,GAAA,EAAE,KAAO,EAAA,MAAA,EAAQ,KAAK,QAAI,EAAA;AAAA,EACzE,OAAO,MAAM;AACX,IAAA,OAAO,EAAE,KAAA,EAAO,OAAS,EAAA,GAAA,EAAK,QAAI,EAAA,CAAA;AAAA,GACpC;AAAA,EACA,OAAO,MAAM;AACX,IAAA,OAAO,EAAE,KAAA,EAAO,OAAS,EAAA,GAAA,EAAK,QAAI,EAAA,CAAA;AAAA,GACpC;AACF,CAAA,CAAA;AAiBO,MAAM,OAAU,GAAA,UAAA;AAAA,EACrB,CAAC,EAAE,QAAU,EAAA,OAAA,EAAS,WAAW,SAAc,EAAA,GAAA,KAAA,IAAS,YAAiB,KAAA;AACvE,IAAM,MAAA,EAAE,eAAgB,EAAA,GAAI,qBAAsB,EAAA,CAAA;AAElD,IACE,uBAAA,IAAA,CAAC,iBAAiB,IAAjB,EAAA;AAAA,MAAsB,uBAAuB,EAAA,IAAA;AAAA,MAC5C,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,iBAAiB,OAAjB,EAAA;AAAA,UAAyB,OAAO,EAAA,IAAA;AAAA,UAAC,GAAK,EAAA,YAAA;AAAA,UACpC,QAAA;AAAA,SACH,CAAA;AAAA,wBACA,GAAA,CAAC,iBAAiB,MAAjB,EAAA;AAAA,UAAwB,SAAW,EAAA,eAAA;AAAA,UAClC,QAAA,kBAAA,GAAA,CAAC,iBAAiB,OAAjB,EAAA;AAAA,YACC,SAAW,EAAA,UAAA;AAAA,cACT,8BAAA;AAAA,cACA,SAAa,IAAA,sBAAA;AAAA,cACb,SAAA;AAAA,aACF;AAAA,YACA,IAAK,EAAA,KAAA;AAAA,YACL,KAAM,EAAA,QAAA;AAAA,YACN,UAAY,EAAA,4BAAA;AAAA,YACZ,gBAAkB,EAAA,kCAAA;AAAA,YACjB,GAAG,KAAA;AAAA,YAEH,QAAA,EAAA,OAAA;AAAA,WACH,CAAA;AAAA,SACF,CAAA;AAAA,OAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF,EAAA;AAEa,MAAA,eAAA,GAAkB,WAG7B,CAAC,EAAE,UAAU,OAAS,EAAA,QAAA,EAAA,GAAa,KAAM,EAAA,EAAG,YAAiB,KAAA;AAC7D,EAAA,uBACG,GAAA,CAAA,OAAA,EAAA;AAAA,IACC,OACE,kBAAA,IAAA,CAAA,QAAA,EAAA;AAAA,MACG,QAAA,EAAA;AAAA,QAAA,OAAA;AAAA,QACA,4BAAa,GAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAU,EAAA,qBAAA;AAAA,UAAuB,QAAA,EAAA,QAAA;AAAA,SAAS,CAAA;AAAA,OAAA;AAAA,KAC9D,CAAA;AAAA,IAED,GAAG,KAAA;AAAA,IACJ,GAAK,EAAA,YAAA;AAAA,IAEJ,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC,EAAA;AAEM,SAAS,kBAAmB,CAAA;AAAA,EACjC,IAAA;AAAA,EACG,GAAA,KAAA;AACL,CAA4B,EAAA;AAC1B,EAAM,MAAA,EAAE,KAAO,EAAA,GAAA,EAAQ,GAAA,OAAA,CAAQ,MAAM,IAAA,CAAK,IAAQ,CAAA,IAAA,EAAG,CAAC,IAAI,CAAC,CAAA,CAAA;AAE3D,EAAA,uBACG,GAAA,CAAA,MAAA,EAAA;AAAA,IAAK,KAAA;AAAA,IAAe,GAAG,KAAA;AAAA,IACrB,QAAA,EAAA,GAAA;AAAA,GACH,CAAA,CAAA;AAEJ;;;;"}
@@ -1,8 +1,8 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
3
+ var jsxRuntime = require('react/jsx-runtime');
4
4
  var react = require('@liveblocks/react');
5
- var React = require('react');
5
+ var react$1 = require('react');
6
6
  var overrides = require('../../overrides.js');
7
7
  var shared = require('../../shared.js');
8
8
  var classNames = require('../../utils/class-names.js');
@@ -11,14 +11,15 @@ function User({ userId, replaceSelf, className, ...props }) {
11
11
  const currentId = shared.useCurrentUserId();
12
12
  const { user, isLoading } = react.useUser(userId);
13
13
  const $ = overrides.useOverrides();
14
- const resolvedUserName = React.useMemo(() => {
14
+ const resolvedUserName = react$1.useMemo(() => {
15
15
  return replaceSelf && currentId === userId ? $.USER_SELF : user?.name ?? $.USER_UNKNOWN;
16
16
  }, [replaceSelf, currentId, userId, $.USER_SELF, $.USER_UNKNOWN, user?.name]);
17
- return /* @__PURE__ */ React.createElement("span", {
17
+ return /* @__PURE__ */ jsxRuntime.jsx("span", {
18
18
  className: classNames.classNames("lb-name lb-user", className),
19
19
  "data-loading": isLoading ? "" : void 0,
20
- ...props
21
- }, isLoading ? null : resolvedUserName);
20
+ ...props,
21
+ children: isLoading ? null : resolvedUserName
22
+ });
22
23
  }
23
24
 
24
25
  exports.User = User;
@@ -1 +1 @@
1
- {"version":3,"file":"User.js","sources":["../../../src/components/internal/User.tsx"],"sourcesContent":["\"use client\";\n\nimport { useUser } from \"@liveblocks/react\";\nimport type { ComponentProps } from \"react\";\nimport React, { useMemo } from \"react\";\n\nimport { useOverrides } from \"../../overrides\";\nimport { useCurrentUserId } from \"../../shared\";\nimport { classNames } from \"../../utils/class-names\";\n\nexport interface UserProps extends ComponentProps<\"span\"> {\n /**\n * The user ID to display the user name for.\n */\n userId: string;\n\n /**\n * Whether to replace the user name with \"you\" ($.USER_SELF) for the current user.\n */\n replaceSelf?: boolean;\n}\n\nexport function User({ userId, replaceSelf, className, ...props }: UserProps) {\n const currentId = useCurrentUserId();\n const { user, isLoading } = useUser(userId);\n const $ = useOverrides();\n const resolvedUserName = useMemo(() => {\n return replaceSelf && currentId === userId\n ? $.USER_SELF\n : user?.name ?? $.USER_UNKNOWN;\n }, [replaceSelf, currentId, userId, $.USER_SELF, $.USER_UNKNOWN, user?.name]);\n\n return (\n <span\n className={classNames(\"lb-name lb-user\", className)}\n data-loading={isLoading ? \"\" : undefined}\n {...props}\n >\n {isLoading ? null : resolvedUserName}\n </span>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;AAsBO;AACL;AACA;AACA;AACA;AACE;AAEoB;AAGtB;AACG;AACmD;AACnB;AAC3B;AAKV;;"}
1
+ {"version":3,"file":"User.js","sources":["../../../src/components/internal/User.tsx"],"sourcesContent":["\"use client\";\n\nimport { useUser } from \"@liveblocks/react\";\nimport type { ComponentProps } from \"react\";\nimport { useMemo } from \"react\";\n\nimport { useOverrides } from \"../../overrides\";\nimport { useCurrentUserId } from \"../../shared\";\nimport { classNames } from \"../../utils/class-names\";\n\nexport interface UserProps extends ComponentProps<\"span\"> {\n /**\n * The user ID to display the user name for.\n */\n userId: string;\n\n /**\n * Whether to replace the user name with \"you\" ($.USER_SELF) for the current user.\n */\n replaceSelf?: boolean;\n}\n\nexport function User({ userId, replaceSelf, className, ...props }: UserProps) {\n const currentId = useCurrentUserId();\n const { user, isLoading } = useUser(userId);\n const $ = useOverrides();\n const resolvedUserName = useMemo(() => {\n return replaceSelf && currentId === userId\n ? $.USER_SELF\n : user?.name ?? $.USER_UNKNOWN;\n }, [replaceSelf, currentId, userId, $.USER_SELF, $.USER_UNKNOWN, user?.name]);\n\n return (\n <span\n className={classNames(\"lb-name lb-user\", className)}\n data-loading={isLoading ? \"\" : undefined}\n {...props}\n >\n {isLoading ? null : resolvedUserName}\n </span>\n );\n}\n"],"names":["useCurrentUserId","useUser","useOverrides","useMemo","jsx","classNames"],"mappings":";;;;;;;;;AAsBO,SAAS,KAAK,EAAE,MAAA,EAAQ,WAAa,EAAA,SAAA,EAAA,GAAc,OAAoB,EAAA;AAC5E,EAAA,MAAM,YAAYA,uBAAiB,EAAA,CAAA;AACnC,EAAA,MAAM,EAAE,IAAA,EAAM,SAAU,EAAA,GAAIC,cAAQ,MAAM,CAAA,CAAA;AAC1C,EAAA,MAAM,IAAIC,sBAAa,EAAA,CAAA;AACvB,EAAM,MAAA,gBAAA,GAAmBC,gBAAQ,MAAM;AACrC,IAAA,OAAO,eAAe,SAAc,KAAA,MAAA,GAChC,EAAE,SACF,GAAA,IAAA,EAAM,QAAQ,CAAE,CAAA,YAAA,CAAA;AAAA,GACtB,EAAG,CAAC,WAAA,EAAa,SAAW,EAAA,MAAA,EAAQ,CAAE,CAAA,SAAA,EAAW,CAAE,CAAA,YAAA,EAAc,IAAM,EAAA,IAAI,CAAC,CAAA,CAAA;AAE5E,EAAA,uBACGC,cAAA,CAAA,MAAA,EAAA;AAAA,IACC,SAAA,EAAWC,qBAAW,CAAA,iBAAA,EAAmB,SAAS,CAAA;AAAA,IAClD,cAAA,EAAc,YAAY,EAAK,GAAA,KAAA,CAAA;AAAA,IAC9B,GAAG,KAAA;AAAA,IAEH,sBAAY,IAAO,GAAA,gBAAA;AAAA,GACtB,CAAA,CAAA;AAEJ;;;;"}
@@ -1,6 +1,6 @@
1
- 'use client';
1
+ import { jsx } from 'react/jsx-runtime';
2
2
  import { useUser } from '@liveblocks/react';
3
- import React__default, { useMemo } from 'react';
3
+ import { useMemo } from 'react';
4
4
  import { useOverrides } from '../../overrides.mjs';
5
5
  import { useCurrentUserId } from '../../shared.mjs';
6
6
  import { classNames } from '../../utils/class-names.mjs';
@@ -12,11 +12,12 @@ function User({ userId, replaceSelf, className, ...props }) {
12
12
  const resolvedUserName = useMemo(() => {
13
13
  return replaceSelf && currentId === userId ? $.USER_SELF : user?.name ?? $.USER_UNKNOWN;
14
14
  }, [replaceSelf, currentId, userId, $.USER_SELF, $.USER_UNKNOWN, user?.name]);
15
- return /* @__PURE__ */ React__default.createElement("span", {
15
+ return /* @__PURE__ */ jsx("span", {
16
16
  className: classNames("lb-name lb-user", className),
17
17
  "data-loading": isLoading ? "" : void 0,
18
- ...props
19
- }, isLoading ? null : resolvedUserName);
18
+ ...props,
19
+ children: isLoading ? null : resolvedUserName
20
+ });
20
21
  }
21
22
 
22
23
  export { User };
@@ -1 +1 @@
1
- {"version":3,"file":"User.mjs","sources":["../../../src/components/internal/User.tsx"],"sourcesContent":["\"use client\";\n\nimport { useUser } from \"@liveblocks/react\";\nimport type { ComponentProps } from \"react\";\nimport React, { useMemo } from \"react\";\n\nimport { useOverrides } from \"../../overrides\";\nimport { useCurrentUserId } from \"../../shared\";\nimport { classNames } from \"../../utils/class-names\";\n\nexport interface UserProps extends ComponentProps<\"span\"> {\n /**\n * The user ID to display the user name for.\n */\n userId: string;\n\n /**\n * Whether to replace the user name with \"you\" ($.USER_SELF) for the current user.\n */\n replaceSelf?: boolean;\n}\n\nexport function User({ userId, replaceSelf, className, ...props }: UserProps) {\n const currentId = useCurrentUserId();\n const { user, isLoading } = useUser(userId);\n const $ = useOverrides();\n const resolvedUserName = useMemo(() => {\n return replaceSelf && currentId === userId\n ? $.USER_SELF\n : user?.name ?? $.USER_UNKNOWN;\n }, [replaceSelf, currentId, userId, $.USER_SELF, $.USER_UNKNOWN, user?.name]);\n\n return (\n <span\n className={classNames(\"lb-name lb-user\", className)}\n data-loading={isLoading ? \"\" : undefined}\n {...props}\n >\n {isLoading ? null : resolvedUserName}\n </span>\n );\n}\n"],"names":[],"mappings":";;;;;;;AAsBO;AACL;AACA;AACA;AACA;AACE;AAEoB;AAGtB;AACG;AACmD;AACnB;AAC3B;AAKV;;"}
1
+ {"version":3,"file":"User.mjs","sources":["../../../src/components/internal/User.tsx"],"sourcesContent":["\"use client\";\n\nimport { useUser } from \"@liveblocks/react\";\nimport type { ComponentProps } from \"react\";\nimport { useMemo } from \"react\";\n\nimport { useOverrides } from \"../../overrides\";\nimport { useCurrentUserId } from \"../../shared\";\nimport { classNames } from \"../../utils/class-names\";\n\nexport interface UserProps extends ComponentProps<\"span\"> {\n /**\n * The user ID to display the user name for.\n */\n userId: string;\n\n /**\n * Whether to replace the user name with \"you\" ($.USER_SELF) for the current user.\n */\n replaceSelf?: boolean;\n}\n\nexport function User({ userId, replaceSelf, className, ...props }: UserProps) {\n const currentId = useCurrentUserId();\n const { user, isLoading } = useUser(userId);\n const $ = useOverrides();\n const resolvedUserName = useMemo(() => {\n return replaceSelf && currentId === userId\n ? $.USER_SELF\n : user?.name ?? $.USER_UNKNOWN;\n }, [replaceSelf, currentId, userId, $.USER_SELF, $.USER_UNKNOWN, user?.name]);\n\n return (\n <span\n className={classNames(\"lb-name lb-user\", className)}\n data-loading={isLoading ? \"\" : undefined}\n {...props}\n >\n {isLoading ? null : resolvedUserName}\n </span>\n );\n}\n"],"names":[],"mappings":";;;;;;;AAsBO,SAAS,KAAK,EAAE,MAAA,EAAQ,WAAa,EAAA,SAAA,EAAA,GAAc,OAAoB,EAAA;AAC5E,EAAA,MAAM,YAAY,gBAAiB,EAAA,CAAA;AACnC,EAAA,MAAM,EAAE,IAAA,EAAM,SAAU,EAAA,GAAI,QAAQ,MAAM,CAAA,CAAA;AAC1C,EAAA,MAAM,IAAI,YAAa,EAAA,CAAA;AACvB,EAAM,MAAA,gBAAA,GAAmB,QAAQ,MAAM;AACrC,IAAA,OAAO,eAAe,SAAc,KAAA,MAAA,GAChC,EAAE,SACF,GAAA,IAAA,EAAM,QAAQ,CAAE,CAAA,YAAA,CAAA;AAAA,GACtB,EAAG,CAAC,WAAA,EAAa,SAAW,EAAA,MAAA,EAAQ,CAAE,CAAA,SAAA,EAAW,CAAE,CAAA,YAAA,EAAc,IAAM,EAAA,IAAI,CAAC,CAAA,CAAA;AAE5E,EAAA,uBACG,GAAA,CAAA,MAAA,EAAA;AAAA,IACC,SAAA,EAAW,UAAW,CAAA,iBAAA,EAAmB,SAAS,CAAA;AAAA,IAClD,cAAA,EAAc,YAAY,EAAK,GAAA,KAAA,CAAA;AAAA,IAC9B,GAAG,KAAA;AAAA,IAEH,sBAAY,IAAO,GAAA,gBAAA;AAAA,GACtB,CAAA,CAAA;AAEJ;;;;"}
@@ -1,36 +1,17 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
- var React = require('react');
5
-
6
- function _interopNamespaceDefault(e) {
7
- var n = Object.create(null);
8
- if (e) {
9
- Object.keys(e).forEach(function (k) {
10
- if (k !== 'default') {
11
- var d = Object.getOwnPropertyDescriptor(e, k);
12
- Object.defineProperty(n, k, d.get ? d : {
13
- enumerable: true,
14
- get: function () { return e[k]; }
15
- });
16
- }
17
- });
18
- }
19
- n.default = e;
20
- return Object.freeze(n);
21
- }
22
-
23
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var react = require('react');
24
5
 
25
6
  const defaultComponents = {
26
7
  Anchor: "a"
27
8
  };
28
- const ComponentsContext = React.createContext(
9
+ const ComponentsContext = react.createContext(
29
10
  void 0
30
11
  );
31
12
  function useComponents(components) {
32
- const contextComponents = React.useContext(ComponentsContext);
33
- return React.useMemo(
13
+ const contextComponents = react.useContext(ComponentsContext);
14
+ return react.useMemo(
34
15
  () => ({
35
16
  ...defaultComponents,
36
17
  ...contextComponents,
@@ -43,8 +24,8 @@ function ComponentsProvider({
43
24
  children,
44
25
  components: providerComponents
45
26
  }) {
46
- const contextComponents = React.useContext(ComponentsContext);
47
- const components = React.useMemo(
27
+ const contextComponents = react.useContext(ComponentsContext);
28
+ const components = react.useMemo(
48
29
  () => ({
49
30
  ...defaultComponents,
50
31
  ...contextComponents,
@@ -52,9 +33,10 @@ function ComponentsProvider({
52
33
  }),
53
34
  [contextComponents, providerComponents]
54
35
  );
55
- return /* @__PURE__ */ React__namespace.createElement(ComponentsContext.Provider, {
56
- value: components
57
- }, children);
36
+ return /* @__PURE__ */ jsxRuntime.jsx(ComponentsContext.Provider, {
37
+ value: components,
38
+ children
39
+ });
58
40
  }
59
41
 
60
42
  exports.ComponentsContext = ComponentsContext;
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sources":["../src/components.tsx"],"sourcesContent":["\"use client\";\n\nimport type {\n ComponentPropsWithoutRef,\n ComponentType,\n PropsWithChildren,\n} from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\nimport * as React from \"react\";\n\nexport interface GlobalComponents {\n Anchor: ComponentType<ComponentPropsWithoutRef<\"a\">> | \"a\";\n}\n\nexport type Components = GlobalComponents;\n\ntype ComponentsProviderProps = PropsWithChildren<{\n components?: Partial<Components>;\n}>;\n\nexport const defaultComponents: Components = {\n Anchor: \"a\",\n};\n\nexport const ComponentsContext = createContext<Components | undefined>(\n undefined\n);\n\nexport function useComponents(components?: Partial<Components>): Components {\n const contextComponents = useContext(ComponentsContext);\n\n return useMemo(\n () => ({\n ...defaultComponents,\n ...contextComponents,\n ...components,\n }),\n [contextComponents, components]\n );\n}\n\nexport function ComponentsProvider({\n children,\n components: providerComponents,\n}: ComponentsProviderProps) {\n const contextComponents = useContext(ComponentsContext);\n const components = useMemo(\n () => ({\n ...defaultComponents,\n ...contextComponents,\n ...providerComponents,\n }),\n [contextComponents, providerComponents]\n );\n\n return (\n <ComponentsContext.Provider value={components}>\n {children}\n </ComponentsContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAoBO;AAAsC;AAE7C;AAEO;AAA0B;AAEjC;AAEO;AACL;AAEA;AAAO;AACE;AACF;AACA;AACA;AACL;AAC8B;AAElC;AAEO;AAA4B;AACjC;AAEF;AACE;AACA;AAAmB;AACV;AACF;AACA;AACA;AACL;AACsC;AAGxC;AACG;AAAkC;AAIvC;;;;;"}
1
+ {"version":3,"file":"components.js","sources":["../src/components.tsx"],"sourcesContent":["\"use client\";\n\nimport type {\n ComponentPropsWithoutRef,\n ComponentType,\n PropsWithChildren,\n} from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\n\nexport interface GlobalComponents {\n Anchor: ComponentType<ComponentPropsWithoutRef<\"a\">> | \"a\";\n}\n\nexport type Components = GlobalComponents;\n\ntype ComponentsProviderProps = PropsWithChildren<{\n components?: Partial<Components>;\n}>;\n\nexport const defaultComponents: Components = {\n Anchor: \"a\",\n};\n\nexport const ComponentsContext = createContext<Components | undefined>(\n undefined\n);\n\nexport function useComponents(components?: Partial<Components>): Components {\n const contextComponents = useContext(ComponentsContext);\n\n return useMemo(\n () => ({\n ...defaultComponents,\n ...contextComponents,\n ...components,\n }),\n [contextComponents, components]\n );\n}\n\nexport function ComponentsProvider({\n children,\n components: providerComponents,\n}: ComponentsProviderProps) {\n const contextComponents = useContext(ComponentsContext);\n const components = useMemo(\n () => ({\n ...defaultComponents,\n ...contextComponents,\n ...providerComponents,\n }),\n [contextComponents, providerComponents]\n );\n\n return (\n <ComponentsContext.Provider value={components}>\n {children}\n </ComponentsContext.Provider>\n );\n}\n"],"names":["createContext","useContext","useMemo","jsx"],"mappings":";;;;;AAmBO,MAAM,iBAAgC,GAAA;AAAA,EAC3C,MAAQ,EAAA,GAAA;AACV,EAAA;AAEO,MAAM,iBAAoB,GAAAA,mBAAA;AAAA,EAC/B,KAAA,CAAA;AACF,EAAA;AAEO,SAAS,cAAc,UAA8C,EAAA;AAC1E,EAAM,MAAA,iBAAA,GAAoBC,iBAAW,iBAAiB,CAAA,CAAA;AAEtD,EAAO,OAAAC,aAAA;AAAA,IACL,OAAO;AAAA,MACL,GAAG,iBAAA;AAAA,MACH,GAAG,iBAAA;AAAA,MACH,GAAG,UAAA;AAAA,KACL,CAAA;AAAA,IACA,CAAC,mBAAmB,UAAU,CAAA;AAAA,GAChC,CAAA;AACF,CAAA;AAEO,SAAS,kBAAmB,CAAA;AAAA,EACjC,QAAA;AAAA,EACA,UAAY,EAAA,kBAAA;AACd,CAA4B,EAAA;AAC1B,EAAM,MAAA,iBAAA,GAAoBD,iBAAW,iBAAiB,CAAA,CAAA;AACtD,EAAA,MAAM,UAAa,GAAAC,aAAA;AAAA,IACjB,OAAO;AAAA,MACL,GAAG,iBAAA;AAAA,MACH,GAAG,iBAAA;AAAA,MACH,GAAG,kBAAA;AAAA,KACL,CAAA;AAAA,IACA,CAAC,mBAAmB,kBAAkB,CAAA;AAAA,GACxC,CAAA;AAEA,EACE,uBAAAC,cAAA,CAAC,kBAAkB,QAAlB,EAAA;AAAA,IAA2B,KAAO,EAAA,UAAA;AAAA,IAChC,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ;;;;;;;"}
@@ -1,5 +1,4 @@
1
- 'use client';
2
- import * as React from 'react';
1
+ import { jsx } from 'react/jsx-runtime';
3
2
  import { createContext, useContext, useMemo } from 'react';
4
3
 
5
4
  const defaultComponents = {
@@ -32,9 +31,10 @@ function ComponentsProvider({
32
31
  }),
33
32
  [contextComponents, providerComponents]
34
33
  );
35
- return /* @__PURE__ */ React.createElement(ComponentsContext.Provider, {
36
- value: components
37
- }, children);
34
+ return /* @__PURE__ */ jsx(ComponentsContext.Provider, {
35
+ value: components,
36
+ children
37
+ });
38
38
  }
39
39
 
40
40
  export { ComponentsContext, ComponentsProvider, defaultComponents, useComponents };
@@ -1 +1 @@
1
- {"version":3,"file":"components.mjs","sources":["../src/components.tsx"],"sourcesContent":["\"use client\";\n\nimport type {\n ComponentPropsWithoutRef,\n ComponentType,\n PropsWithChildren,\n} from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\nimport * as React from \"react\";\n\nexport interface GlobalComponents {\n Anchor: ComponentType<ComponentPropsWithoutRef<\"a\">> | \"a\";\n}\n\nexport type Components = GlobalComponents;\n\ntype ComponentsProviderProps = PropsWithChildren<{\n components?: Partial<Components>;\n}>;\n\nexport const defaultComponents: Components = {\n Anchor: \"a\",\n};\n\nexport const ComponentsContext = createContext<Components | undefined>(\n undefined\n);\n\nexport function useComponents(components?: Partial<Components>): Components {\n const contextComponents = useContext(ComponentsContext);\n\n return useMemo(\n () => ({\n ...defaultComponents,\n ...contextComponents,\n ...components,\n }),\n [contextComponents, components]\n );\n}\n\nexport function ComponentsProvider({\n children,\n components: providerComponents,\n}: ComponentsProviderProps) {\n const contextComponents = useContext(ComponentsContext);\n const components = useMemo(\n () => ({\n ...defaultComponents,\n ...contextComponents,\n ...providerComponents,\n }),\n [contextComponents, providerComponents]\n );\n\n return (\n <ComponentsContext.Provider value={components}>\n {children}\n </ComponentsContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;;AAoBO;AAAsC;AAE7C;AAEO;AAA0B;AAEjC;AAEO;AACL;AAEA;AAAO;AACE;AACF;AACA;AACA;AACL;AAC8B;AAElC;AAEO;AAA4B;AACjC;AAEF;AACE;AACA;AAAmB;AACV;AACF;AACA;AACA;AACL;AACsC;AAGxC;AACG;AAAkC;AAIvC;;"}
1
+ {"version":3,"file":"components.mjs","sources":["../src/components.tsx"],"sourcesContent":["\"use client\";\n\nimport type {\n ComponentPropsWithoutRef,\n ComponentType,\n PropsWithChildren,\n} from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\n\nexport interface GlobalComponents {\n Anchor: ComponentType<ComponentPropsWithoutRef<\"a\">> | \"a\";\n}\n\nexport type Components = GlobalComponents;\n\ntype ComponentsProviderProps = PropsWithChildren<{\n components?: Partial<Components>;\n}>;\n\nexport const defaultComponents: Components = {\n Anchor: \"a\",\n};\n\nexport const ComponentsContext = createContext<Components | undefined>(\n undefined\n);\n\nexport function useComponents(components?: Partial<Components>): Components {\n const contextComponents = useContext(ComponentsContext);\n\n return useMemo(\n () => ({\n ...defaultComponents,\n ...contextComponents,\n ...components,\n }),\n [contextComponents, components]\n );\n}\n\nexport function ComponentsProvider({\n children,\n components: providerComponents,\n}: ComponentsProviderProps) {\n const contextComponents = useContext(ComponentsContext);\n const components = useMemo(\n () => ({\n ...defaultComponents,\n ...contextComponents,\n ...providerComponents,\n }),\n [contextComponents, providerComponents]\n );\n\n return (\n <ComponentsContext.Provider value={components}>\n {children}\n </ComponentsContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;AAmBO,MAAM,iBAAgC,GAAA;AAAA,EAC3C,MAAQ,EAAA,GAAA;AACV,EAAA;AAEO,MAAM,iBAAoB,GAAA,aAAA;AAAA,EAC/B,KAAA,CAAA;AACF,EAAA;AAEO,SAAS,cAAc,UAA8C,EAAA;AAC1E,EAAM,MAAA,iBAAA,GAAoB,WAAW,iBAAiB,CAAA,CAAA;AAEtD,EAAO,OAAA,OAAA;AAAA,IACL,OAAO;AAAA,MACL,GAAG,iBAAA;AAAA,MACH,GAAG,iBAAA;AAAA,MACH,GAAG,UAAA;AAAA,KACL,CAAA;AAAA,IACA,CAAC,mBAAmB,UAAU,CAAA;AAAA,GAChC,CAAA;AACF,CAAA;AAEO,SAAS,kBAAmB,CAAA;AAAA,EACjC,QAAA;AAAA,EACA,UAAY,EAAA,kBAAA;AACd,CAA4B,EAAA;AAC1B,EAAM,MAAA,iBAAA,GAAoB,WAAW,iBAAiB,CAAA,CAAA;AACtD,EAAA,MAAM,UAAa,GAAA,OAAA;AAAA,IACjB,OAAO;AAAA,MACL,GAAG,iBAAA;AAAA,MACH,GAAG,iBAAA;AAAA,MACH,GAAG,kBAAA;AAAA,KACL,CAAA;AAAA,IACA,CAAC,mBAAmB,kBAAkB,CAAA;AAAA,GACxC,CAAA;AAEA,EACE,uBAAA,GAAA,CAAC,kBAAkB,QAAlB,EAAA;AAAA,IAA2B,KAAO,EAAA,UAAA;AAAA,IAChC,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ;;;;"}
package/dist/config.js CHANGED
@@ -1,13 +1,13 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
- var React = require('react');
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var react = require('react');
5
5
  var components = require('./components.js');
6
6
  var overrides = require('./overrides.js');
7
7
 
8
- const LiveblocksUIConfigContext = React.createContext({});
8
+ const LiveblocksUIConfigContext = react.createContext({});
9
9
  function useLiveblocksUIConfig() {
10
- return React.useContext(LiveblocksUIConfigContext);
10
+ return react.useContext(LiveblocksUIConfigContext);
11
11
  }
12
12
  function LiveblocksUIConfig({
13
13
  overrides: overrides$1,
@@ -16,17 +16,20 @@ function LiveblocksUIConfig({
16
16
  preventUnsavedComposerChanges = true,
17
17
  children
18
18
  }) {
19
- const liveblocksUIConfig = React.useMemo(
19
+ const liveblocksUIConfig = react.useMemo(
20
20
  () => ({ portalContainer, preventUnsavedComposerChanges }),
21
21
  [portalContainer, preventUnsavedComposerChanges]
22
22
  );
23
- return /* @__PURE__ */ React.createElement(LiveblocksUIConfigContext.Provider, {
24
- value: liveblocksUIConfig
25
- }, /* @__PURE__ */ React.createElement(overrides.OverridesProvider, {
26
- overrides: overrides$1
27
- }, /* @__PURE__ */ React.createElement(components.ComponentsProvider, {
28
- components: components$1
29
- }, children)));
23
+ return /* @__PURE__ */ jsxRuntime.jsx(LiveblocksUIConfigContext.Provider, {
24
+ value: liveblocksUIConfig,
25
+ children: /* @__PURE__ */ jsxRuntime.jsx(overrides.OverridesProvider, {
26
+ overrides: overrides$1,
27
+ children: /* @__PURE__ */ jsxRuntime.jsx(components.ComponentsProvider, {
28
+ components: components$1,
29
+ children
30
+ })
31
+ })
32
+ });
30
33
  }
31
34
 
32
35
  exports.LiveblocksUIConfig = LiveblocksUIConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sources":["../src/config.tsx"],"sourcesContent":["\"use client\";\n\nimport type { PropsWithChildren } from \"react\";\nimport React, { createContext, useContext, useMemo } from \"react\";\n\nimport { type Components, ComponentsProvider } from \"./components\";\nimport type { Overrides } from \"./overrides\";\nimport { OverridesProvider } from \"./overrides\";\n\ntype LiveblocksUIConfigProps = PropsWithChildren<{\n /**\n * Override the components' strings.\n */\n overrides?: Partial<Overrides>;\n\n /**\n * Override the components' components.\n */\n components?: Partial<Components>;\n\n /**\n * The container to render the portal into.\n */\n portalContainer?: HTMLElement;\n\n /**\n * When `preventUnsavedChanges` is set on your Liveblocks client (or set on\n * <LiveblocksProvider>), then closing a browser tab will be prevented when\n * there are unsaved changes.\n *\n * By default, that will include draft texts or attachments that are (being)\n * uploaded via comments/threads composers, but not submitted yet.\n *\n * If you want to prevent unsaved changes with Liveblocks, but not for\n * composers, you can opt-out by setting this option to `false`.\n */\n preventUnsavedComposerChanges?: boolean;\n}>;\n\ninterface LiveblocksUIConfigContext {\n portalContainer?: HTMLElement;\n preventUnsavedComposerChanges?: boolean;\n}\n\nconst LiveblocksUIConfigContext = createContext<LiveblocksUIConfigContext>({});\n\nexport function useLiveblocksUIConfig() {\n return useContext(LiveblocksUIConfigContext);\n}\n\n/**\n * Set configuration options for all components.\n *\n * @example\n * <LiveblocksUIConfig overrides={{ locale: \"fr\", USER_UNKNOWN: \"Anonyme\", ... }}>\n * <App />\n * </LiveblocksUIConfig>\n */\nexport function LiveblocksUIConfig({\n overrides,\n components,\n portalContainer,\n preventUnsavedComposerChanges = true,\n children,\n}: LiveblocksUIConfigProps) {\n const liveblocksUIConfig = useMemo(\n () => ({ portalContainer, preventUnsavedComposerChanges }),\n [portalContainer, preventUnsavedComposerChanges]\n );\n\n return (\n <LiveblocksUIConfigContext.Provider value={liveblocksUIConfig}>\n <OverridesProvider overrides={overrides}>\n <ComponentsProvider components={components}>\n {children}\n </ComponentsProvider>\n </OverridesProvider>\n </LiveblocksUIConfigContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;;;;;AA4CA;AAEO;AACL;AACF;AAUO;AAA4B;AACjC;AACA;AACA;AACgC;AAElC;AACE;AAA2B;AAC+B;AACT;AAGjD;AACG;AAA0C;AACxC;AAAkB;AAChB;AAAmB;AAM5B;;;"}
1
+ {"version":3,"file":"config.js","sources":["../src/config.tsx"],"sourcesContent":["\"use client\";\n\nimport type { PropsWithChildren } from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\n\nimport { type Components, ComponentsProvider } from \"./components\";\nimport type { Overrides } from \"./overrides\";\nimport { OverridesProvider } from \"./overrides\";\n\ntype LiveblocksUIConfigProps = PropsWithChildren<{\n /**\n * Override the components' strings.\n */\n overrides?: Partial<Overrides>;\n\n /**\n * Override the components' components.\n */\n components?: Partial<Components>;\n\n /**\n * The container to render the portal into.\n */\n portalContainer?: HTMLElement;\n\n /**\n * When `preventUnsavedChanges` is set on your Liveblocks client (or set on\n * <LiveblocksProvider>), then closing a browser tab will be prevented when\n * there are unsaved changes.\n *\n * By default, that will include draft texts or attachments that are (being)\n * uploaded via comments/threads composers, but not submitted yet.\n *\n * If you want to prevent unsaved changes with Liveblocks, but not for\n * composers, you can opt-out by setting this option to `false`.\n */\n preventUnsavedComposerChanges?: boolean;\n}>;\n\ninterface LiveblocksUIConfigContext {\n portalContainer?: HTMLElement;\n preventUnsavedComposerChanges?: boolean;\n}\n\nconst LiveblocksUIConfigContext = createContext<LiveblocksUIConfigContext>({});\n\nexport function useLiveblocksUIConfig() {\n return useContext(LiveblocksUIConfigContext);\n}\n\n/**\n * Set configuration options for all components.\n *\n * @example\n * <LiveblocksUIConfig overrides={{ locale: \"fr\", USER_UNKNOWN: \"Anonyme\", ... }}>\n * <App />\n * </LiveblocksUIConfig>\n */\nexport function LiveblocksUIConfig({\n overrides,\n components,\n portalContainer,\n preventUnsavedComposerChanges = true,\n children,\n}: LiveblocksUIConfigProps) {\n const liveblocksUIConfig = useMemo(\n () => ({ portalContainer, preventUnsavedComposerChanges }),\n [portalContainer, preventUnsavedComposerChanges]\n );\n\n return (\n <LiveblocksUIConfigContext.Provider value={liveblocksUIConfig}>\n <OverridesProvider overrides={overrides}>\n <ComponentsProvider components={components}>\n {children}\n </ComponentsProvider>\n </OverridesProvider>\n </LiveblocksUIConfigContext.Provider>\n );\n}\n"],"names":["createContext","useContext","overrides","components","useMemo","jsx","OverridesProvider","ComponentsProvider"],"mappings":";;;;;;;AA4CA,MAAM,yBAAA,GAA4BA,mBAAyC,CAAA,EAAE,CAAA,CAAA;AAEtE,SAAS,qBAAwB,GAAA;AACtC,EAAA,OAAOC,iBAAW,yBAAyB,CAAA,CAAA;AAC7C,CAAA;AAUO,SAAS,kBAAmB,CAAA;AAAA,aACjCC,WAAA;AAAA,cACAC,YAAA;AAAA,EACA,eAAA;AAAA,EACA,6BAAgC,GAAA,IAAA;AAAA,EAChC,QAAA;AACF,CAA4B,EAAA;AAC1B,EAAA,MAAM,kBAAqB,GAAAC,aAAA;AAAA,IACzB,OAAO,EAAE,eAAA,EAAiB,6BAA8B,EAAA,CAAA;AAAA,IACxD,CAAC,iBAAiB,6BAA6B,CAAA;AAAA,GACjD,CAAA;AAEA,EACE,uBAAAC,cAAA,CAAC,0BAA0B,QAA1B,EAAA;AAAA,IAAmC,KAAO,EAAA,kBAAA;AAAA,IACzC,QAAC,kBAAAA,cAAA,CAAAC,2BAAA,EAAA;AAAA,iBAAkBJ,WAAA;AAAA,MACjB,QAAC,kBAAAG,cAAA,CAAAE,6BAAA,EAAA;AAAA,oBAAmBJ,YAAA;AAAA,QACjB,QAAA;AAAA,OACH,CAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;;"}
package/dist/config.mjs CHANGED
@@ -1,5 +1,5 @@
1
- 'use client';
2
- import React__default, { createContext, useContext, useMemo } from 'react';
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { createContext, useContext, useMemo } from 'react';
3
3
  import { ComponentsProvider } from './components.mjs';
4
4
  import { OverridesProvider } from './overrides.mjs';
5
5
 
@@ -18,13 +18,16 @@ function LiveblocksUIConfig({
18
18
  () => ({ portalContainer, preventUnsavedComposerChanges }),
19
19
  [portalContainer, preventUnsavedComposerChanges]
20
20
  );
21
- return /* @__PURE__ */ React__default.createElement(LiveblocksUIConfigContext.Provider, {
22
- value: liveblocksUIConfig
23
- }, /* @__PURE__ */ React__default.createElement(OverridesProvider, {
24
- overrides
25
- }, /* @__PURE__ */ React__default.createElement(ComponentsProvider, {
26
- components
27
- }, children)));
21
+ return /* @__PURE__ */ jsx(LiveblocksUIConfigContext.Provider, {
22
+ value: liveblocksUIConfig,
23
+ children: /* @__PURE__ */ jsx(OverridesProvider, {
24
+ overrides,
25
+ children: /* @__PURE__ */ jsx(ComponentsProvider, {
26
+ components,
27
+ children
28
+ })
29
+ })
30
+ });
28
31
  }
29
32
 
30
33
  export { LiveblocksUIConfig, useLiveblocksUIConfig };
@@ -1 +1 @@
1
- {"version":3,"file":"config.mjs","sources":["../src/config.tsx"],"sourcesContent":["\"use client\";\n\nimport type { PropsWithChildren } from \"react\";\nimport React, { createContext, useContext, useMemo } from \"react\";\n\nimport { type Components, ComponentsProvider } from \"./components\";\nimport type { Overrides } from \"./overrides\";\nimport { OverridesProvider } from \"./overrides\";\n\ntype LiveblocksUIConfigProps = PropsWithChildren<{\n /**\n * Override the components' strings.\n */\n overrides?: Partial<Overrides>;\n\n /**\n * Override the components' components.\n */\n components?: Partial<Components>;\n\n /**\n * The container to render the portal into.\n */\n portalContainer?: HTMLElement;\n\n /**\n * When `preventUnsavedChanges` is set on your Liveblocks client (or set on\n * <LiveblocksProvider>), then closing a browser tab will be prevented when\n * there are unsaved changes.\n *\n * By default, that will include draft texts or attachments that are (being)\n * uploaded via comments/threads composers, but not submitted yet.\n *\n * If you want to prevent unsaved changes with Liveblocks, but not for\n * composers, you can opt-out by setting this option to `false`.\n */\n preventUnsavedComposerChanges?: boolean;\n}>;\n\ninterface LiveblocksUIConfigContext {\n portalContainer?: HTMLElement;\n preventUnsavedComposerChanges?: boolean;\n}\n\nconst LiveblocksUIConfigContext = createContext<LiveblocksUIConfigContext>({});\n\nexport function useLiveblocksUIConfig() {\n return useContext(LiveblocksUIConfigContext);\n}\n\n/**\n * Set configuration options for all components.\n *\n * @example\n * <LiveblocksUIConfig overrides={{ locale: \"fr\", USER_UNKNOWN: \"Anonyme\", ... }}>\n * <App />\n * </LiveblocksUIConfig>\n */\nexport function LiveblocksUIConfig({\n overrides,\n components,\n portalContainer,\n preventUnsavedComposerChanges = true,\n children,\n}: LiveblocksUIConfigProps) {\n const liveblocksUIConfig = useMemo(\n () => ({ portalContainer, preventUnsavedComposerChanges }),\n [portalContainer, preventUnsavedComposerChanges]\n );\n\n return (\n <LiveblocksUIConfigContext.Provider value={liveblocksUIConfig}>\n <OverridesProvider overrides={overrides}>\n <ComponentsProvider components={components}>\n {children}\n </ComponentsProvider>\n </OverridesProvider>\n </LiveblocksUIConfigContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;;;AA4CA;AAEO;AACL;AACF;AAUO;AAA4B;AACjC;AACA;AACA;AACgC;AAElC;AACE;AAA2B;AAC+B;AACT;AAGjD;AACG;AAA0C;AACxC;AAAkB;AAChB;AAAmB;AAM5B;;"}
1
+ {"version":3,"file":"config.mjs","sources":["../src/config.tsx"],"sourcesContent":["\"use client\";\n\nimport type { PropsWithChildren } from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\n\nimport { type Components, ComponentsProvider } from \"./components\";\nimport type { Overrides } from \"./overrides\";\nimport { OverridesProvider } from \"./overrides\";\n\ntype LiveblocksUIConfigProps = PropsWithChildren<{\n /**\n * Override the components' strings.\n */\n overrides?: Partial<Overrides>;\n\n /**\n * Override the components' components.\n */\n components?: Partial<Components>;\n\n /**\n * The container to render the portal into.\n */\n portalContainer?: HTMLElement;\n\n /**\n * When `preventUnsavedChanges` is set on your Liveblocks client (or set on\n * <LiveblocksProvider>), then closing a browser tab will be prevented when\n * there are unsaved changes.\n *\n * By default, that will include draft texts or attachments that are (being)\n * uploaded via comments/threads composers, but not submitted yet.\n *\n * If you want to prevent unsaved changes with Liveblocks, but not for\n * composers, you can opt-out by setting this option to `false`.\n */\n preventUnsavedComposerChanges?: boolean;\n}>;\n\ninterface LiveblocksUIConfigContext {\n portalContainer?: HTMLElement;\n preventUnsavedComposerChanges?: boolean;\n}\n\nconst LiveblocksUIConfigContext = createContext<LiveblocksUIConfigContext>({});\n\nexport function useLiveblocksUIConfig() {\n return useContext(LiveblocksUIConfigContext);\n}\n\n/**\n * Set configuration options for all components.\n *\n * @example\n * <LiveblocksUIConfig overrides={{ locale: \"fr\", USER_UNKNOWN: \"Anonyme\", ... }}>\n * <App />\n * </LiveblocksUIConfig>\n */\nexport function LiveblocksUIConfig({\n overrides,\n components,\n portalContainer,\n preventUnsavedComposerChanges = true,\n children,\n}: LiveblocksUIConfigProps) {\n const liveblocksUIConfig = useMemo(\n () => ({ portalContainer, preventUnsavedComposerChanges }),\n [portalContainer, preventUnsavedComposerChanges]\n );\n\n return (\n <LiveblocksUIConfigContext.Provider value={liveblocksUIConfig}>\n <OverridesProvider overrides={overrides}>\n <ComponentsProvider components={components}>\n {children}\n </ComponentsProvider>\n </OverridesProvider>\n </LiveblocksUIConfigContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;;;AA4CA,MAAM,yBAAA,GAA4B,aAAyC,CAAA,EAAE,CAAA,CAAA;AAEtE,SAAS,qBAAwB,GAAA;AACtC,EAAA,OAAO,WAAW,yBAAyB,CAAA,CAAA;AAC7C,CAAA;AAUO,SAAS,kBAAmB,CAAA;AAAA,EACjC,SAAA;AAAA,EACA,UAAA;AAAA,EACA,eAAA;AAAA,EACA,6BAAgC,GAAA,IAAA;AAAA,EAChC,QAAA;AACF,CAA4B,EAAA;AAC1B,EAAA,MAAM,kBAAqB,GAAA,OAAA;AAAA,IACzB,OAAO,EAAE,eAAA,EAAiB,6BAA8B,EAAA,CAAA;AAAA,IACxD,CAAC,iBAAiB,6BAA6B,CAAA;AAAA,GACjD,CAAA;AAEA,EACE,uBAAA,GAAA,CAAC,0BAA0B,QAA1B,EAAA;AAAA,IAAmC,KAAO,EAAA,kBAAA;AAAA,IACzC,QAAC,kBAAA,GAAA,CAAA,iBAAA,EAAA;AAAA,MAAkB,SAAA;AAAA,MACjB,QAAC,kBAAA,GAAA,CAAA,kBAAA,EAAA;AAAA,QAAmB,UAAA;AAAA,QACjB,QAAA;AAAA,OACH,CAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -1,14 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var React = require('react');
3
+ var jsxRuntime = require('react/jsx-runtime');
4
4
  var Icon = require('../components/internal/Icon.js');
5
5
 
6
6
  function ArrowDownIcon(props) {
7
- return /* @__PURE__ */ React.createElement(Icon.Icon, {
8
- ...props
9
- }, /* @__PURE__ */ React.createElement("path", {
10
- d: "M10 4v12m6-6-6 6-6-6"
11
- }));
7
+ return /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, {
8
+ ...props,
9
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", {
10
+ d: "M10 4v12m6-6-6 6-6-6"
11
+ })
12
+ });
12
13
  }
13
14
 
14
15
  exports.ArrowDownIcon = ArrowDownIcon;
@@ -1 +1 @@
1
- {"version":3,"file":"ArrowDown.js","sources":["../../src/icons/ArrowDown.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\nimport React from \"react\";\n\nimport { Icon } from \"../components/internal/Icon\";\n\nexport function ArrowDownIcon(props: ComponentProps<\"svg\">) {\n return (\n <Icon {...props}>\n <path d=\"M10 4v12m6-6-6 6-6-6\" />\n </Icon>\n );\n}\n"],"names":["Icon"],"mappings":";;;;;AAKO,SAAS,cAAc,KAA8B,EAAA;AAC1D,EAAA,uBACG,KAAA,CAAA,aAAA,CAAAA,SAAA,EAAA;AAAA,IAAM,GAAG,KAAA;AAAA,GAAA,kBACP,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IAAK,CAAE,EAAA,sBAAA;AAAA,GAAuB,CACjC,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"ArrowDown.js","sources":["../../src/icons/ArrowDown.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\n\nimport { Icon } from \"../components/internal/Icon\";\n\nexport function ArrowDownIcon(props: ComponentProps<\"svg\">) {\n return (\n <Icon {...props}>\n <path d=\"M10 4v12m6-6-6 6-6-6\" />\n </Icon>\n );\n}\n"],"names":["jsx","Icon"],"mappings":";;;;;AAIO,SAAS,cAAc,KAA8B,EAAA;AAC1D,EAAA,uBACGA,cAAA,CAAAC,SAAA,EAAA;AAAA,IAAM,GAAG,KAAA;AAAA,IACR,QAAC,kBAAAD,cAAA,CAAA,MAAA,EAAA;AAAA,MAAK,CAAE,EAAA,sBAAA;AAAA,KAAuB,CAAA;AAAA,GACjC,CAAA,CAAA;AAEJ;;;;"}