@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,11 +1,9 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
3
+ var jsxRuntime = require('react/jsx-runtime');
4
4
  var core = require('@liveblocks/core');
5
- var react = require('@liveblocks/react');
6
5
  var _private = require('@liveblocks/react/_private');
7
- var React = require('react');
8
- var index_js = require('use-sync-external-store/shim/index.js');
6
+ var react = require('react');
9
7
  var config = require('../config.js');
10
8
  var constants = require('../constants.js');
11
9
  var Attachment = require('../icons/Attachment.js');
@@ -23,7 +21,6 @@ var utils = require('../primitives/Composer/utils.js');
23
21
  var mentions = require('../slate/plugins/mentions.js');
24
22
  var classNames = require('../utils/class-names.js');
25
23
  var useControllableState = require('../utils/use-controllable-state.js');
26
- var useLayoutEffect = require('../utils/use-layout-effect.js');
27
24
  var Attachment$1 = require('./internal/Attachment.js');
28
25
  var Attribution = require('./internal/Attribution.js');
29
26
  var Avatar = require('./internal/Avatar.js');
@@ -42,10 +39,10 @@ function ComposerInsertMentionEditorAction({
42
39
  ...props
43
40
  }) {
44
41
  const { createMention } = contexts.useComposer();
45
- const preventDefault = React.useCallback((event) => {
42
+ const preventDefault = react.useCallback((event) => {
46
43
  event.preventDefault();
47
44
  }, []);
48
- const handleClick = React.useCallback(
45
+ const handleClick = react.useCallback(
49
46
  (event) => {
50
47
  onClick?.(event);
51
48
  if (!event.isDefaultPrevented()) {
@@ -55,17 +52,19 @@ function ComposerInsertMentionEditorAction({
55
52
  },
56
53
  [createMention, onClick]
57
54
  );
58
- return /* @__PURE__ */ React.createElement(Tooltip.Tooltip, {
59
- content: tooltipLabel ?? label
60
- }, /* @__PURE__ */ React.createElement(Button.Button, {
61
- className: classNames.classNames("lb-composer-editor-action", className),
62
- onPointerDown: preventDefault,
63
- onClick: handleClick,
64
- "aria-label": label,
65
- ...props
66
- }, /* @__PURE__ */ React.createElement(Mention.MentionIcon, {
67
- className: "lb-button-icon"
68
- })));
55
+ return /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Tooltip, {
56
+ content: tooltipLabel ?? label,
57
+ children: /* @__PURE__ */ jsxRuntime.jsx(Button.Button, {
58
+ className: classNames.classNames("lb-composer-editor-action", className),
59
+ onPointerDown: preventDefault,
60
+ onClick: handleClick,
61
+ "aria-label": label,
62
+ ...props,
63
+ children: /* @__PURE__ */ jsxRuntime.jsx(Mention.MentionIcon, {
64
+ className: "lb-button-icon"
65
+ })
66
+ })
67
+ });
69
68
  }
70
69
  function ComposerInsertEmojiEditorAction({
71
70
  label,
@@ -75,28 +74,32 @@ function ComposerInsertEmojiEditorAction({
75
74
  ...props
76
75
  }) {
77
76
  const { insertText } = contexts.useComposer();
78
- const preventDefault = React.useCallback((event) => {
77
+ const preventDefault = react.useCallback((event) => {
79
78
  event.preventDefault();
80
79
  }, []);
81
- const stopPropagation = React.useCallback((event) => {
80
+ const stopPropagation = react.useCallback((event) => {
82
81
  event.stopPropagation();
83
82
  }, []);
84
- return /* @__PURE__ */ React.createElement(EmojiPicker.EmojiPicker, {
83
+ return /* @__PURE__ */ jsxRuntime.jsx(EmojiPicker.EmojiPicker, {
85
84
  onEmojiSelect: insertText,
86
- onOpenChange: onPickerOpenChange
87
- }, /* @__PURE__ */ React.createElement(Tooltip.Tooltip, {
88
- content: tooltipLabel ?? label
89
- }, /* @__PURE__ */ React.createElement(PopoverPrimitive.PopoverTrigger, {
90
- asChild: true
91
- }, /* @__PURE__ */ React.createElement(Button.Button, {
92
- className: classNames.classNames("lb-composer-editor-action", className),
93
- onPointerDown: preventDefault,
94
- onClick: stopPropagation,
95
- "aria-label": label,
96
- ...props
97
- }, /* @__PURE__ */ React.createElement(Emoji.EmojiIcon, {
98
- className: "lb-button-icon"
99
- })))));
85
+ onOpenChange: onPickerOpenChange,
86
+ children: /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Tooltip, {
87
+ content: tooltipLabel ?? label,
88
+ children: /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive.PopoverTrigger, {
89
+ asChild: true,
90
+ children: /* @__PURE__ */ jsxRuntime.jsx(Button.Button, {
91
+ className: classNames.classNames("lb-composer-editor-action", className),
92
+ onPointerDown: preventDefault,
93
+ onClick: stopPropagation,
94
+ "aria-label": label,
95
+ ...props,
96
+ children: /* @__PURE__ */ jsxRuntime.jsx(Emoji.EmojiIcon, {
97
+ className: "lb-button-icon"
98
+ })
99
+ })
100
+ })
101
+ })
102
+ });
100
103
  }
101
104
  function ComposerAttachFilesEditorAction({
102
105
  label,
@@ -104,111 +107,159 @@ function ComposerAttachFilesEditorAction({
104
107
  className,
105
108
  ...props
106
109
  }) {
107
- const preventDefault = React.useCallback((event) => {
110
+ const preventDefault = react.useCallback((event) => {
108
111
  event.preventDefault();
109
112
  }, []);
110
- const stopPropagation = React.useCallback((event) => {
113
+ const stopPropagation = react.useCallback((event) => {
111
114
  event.stopPropagation();
112
115
  }, []);
113
- return /* @__PURE__ */ React.createElement(Tooltip.Tooltip, {
114
- content: tooltipLabel ?? label
115
- }, /* @__PURE__ */ React.createElement(index.AttachFiles, {
116
- asChild: true
117
- }, /* @__PURE__ */ React.createElement(Button.Button, {
118
- className: classNames.classNames("lb-composer-editor-action", className),
119
- onPointerDown: preventDefault,
120
- onClick: stopPropagation,
121
- "aria-label": label,
122
- ...props
123
- }, /* @__PURE__ */ React.createElement(Attachment.AttachmentIcon, {
124
- className: "lb-button-icon"
125
- }))));
116
+ return /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Tooltip, {
117
+ content: tooltipLabel ?? label,
118
+ children: /* @__PURE__ */ jsxRuntime.jsx(index.AttachFiles, {
119
+ asChild: true,
120
+ children: /* @__PURE__ */ jsxRuntime.jsx(Button.Button, {
121
+ className: classNames.classNames("lb-composer-editor-action", className),
122
+ onPointerDown: preventDefault,
123
+ onClick: stopPropagation,
124
+ "aria-label": label,
125
+ ...props,
126
+ children: /* @__PURE__ */ jsxRuntime.jsx(Attachment.AttachmentIcon, {
127
+ className: "lb-button-icon"
128
+ })
129
+ })
130
+ })
131
+ });
126
132
  }
127
133
  function ComposerMention({ userId }) {
128
- return /* @__PURE__ */ React.createElement(index.Mention, {
129
- className: "lb-composer-mention"
130
- }, mentions.MENTION_CHARACTER, /* @__PURE__ */ React.createElement(User.User, {
131
- userId
132
- }));
134
+ return /* @__PURE__ */ jsxRuntime.jsxs(index.Mention, {
135
+ className: "lb-composer-mention",
136
+ children: [
137
+ mentions.MENTION_CHARACTER,
138
+ /* @__PURE__ */ jsxRuntime.jsx(User.User, {
139
+ userId
140
+ })
141
+ ]
142
+ });
133
143
  }
134
144
  function ComposerMentionSuggestions({
135
145
  userIds
136
146
  }) {
137
- return userIds.length > 0 ? /* @__PURE__ */ React.createElement(index.Suggestions, {
138
- className: "lb-root lb-portal lb-elevation lb-composer-suggestions lb-composer-mention-suggestions"
139
- }, /* @__PURE__ */ React.createElement(index.SuggestionsList, {
140
- className: "lb-composer-suggestions-list lb-composer-mention-suggestions-list"
141
- }, userIds.map((userId) => /* @__PURE__ */ React.createElement(index.SuggestionsListItem, {
142
- key: userId,
143
- className: "lb-composer-suggestions-list-item lb-composer-mention-suggestion",
144
- value: userId
145
- }, /* @__PURE__ */ React.createElement(Avatar.Avatar, {
146
- userId,
147
- className: "lb-composer-mention-suggestion-avatar"
148
- }), /* @__PURE__ */ React.createElement(User.User, {
149
- userId,
150
- className: "lb-composer-mention-suggestion-user"
151
- }))))) : null;
147
+ return userIds.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(index.Suggestions, {
148
+ className: "lb-root lb-portal lb-elevation lb-composer-suggestions lb-composer-mention-suggestions",
149
+ children: /* @__PURE__ */ jsxRuntime.jsx(index.SuggestionsList, {
150
+ className: "lb-composer-suggestions-list lb-composer-mention-suggestions-list",
151
+ children: userIds.map((userId) => /* @__PURE__ */ jsxRuntime.jsxs(index.SuggestionsListItem, {
152
+ className: "lb-composer-suggestions-list-item lb-composer-mention-suggestion",
153
+ value: userId,
154
+ children: [
155
+ /* @__PURE__ */ jsxRuntime.jsx(Avatar.Avatar, {
156
+ userId,
157
+ className: "lb-composer-mention-suggestion-avatar"
158
+ }),
159
+ /* @__PURE__ */ jsxRuntime.jsx(User.User, {
160
+ userId,
161
+ className: "lb-composer-mention-suggestion-user"
162
+ })
163
+ ]
164
+ }, userId))
165
+ })
166
+ }) : null;
152
167
  }
153
168
  function MarkToggle({ mark, shortcut, children, ...props }) {
154
169
  const $ = overrides.useOverrides();
155
- const label = React.useMemo(() => {
170
+ const label = react.useMemo(() => {
156
171
  return $.COMPOSER_TOGGLE_MARK(mark);
157
172
  }, [$, mark]);
158
- return /* @__PURE__ */ React.createElement(Tooltip.ShortcutTooltip, {
173
+ return /* @__PURE__ */ jsxRuntime.jsx(Tooltip.ShortcutTooltip, {
159
174
  content: label,
160
175
  shortcut,
161
- sideOffset: constants.FLOATING_ELEMENT_SIDE_OFFSET + 2
162
- }, /* @__PURE__ */ React.createElement(index.MarkToggle, {
163
- mark,
164
- asChild: true,
165
- ...props
166
- }, /* @__PURE__ */ React.createElement(Button.Button, {
167
- "aria-label": label,
168
- variant: "toggle"
169
- }, children)));
176
+ sideOffset: constants.FLOATING_ELEMENT_SIDE_OFFSET + 2,
177
+ children: /* @__PURE__ */ jsxRuntime.jsx(index.MarkToggle, {
178
+ mark,
179
+ asChild: true,
180
+ ...props,
181
+ children: /* @__PURE__ */ jsxRuntime.jsx(Button.Button, {
182
+ "aria-label": label,
183
+ variant: "toggle",
184
+ children
185
+ })
186
+ })
187
+ });
170
188
  }
171
189
  const markToggles = {
172
- bold: () => /* @__PURE__ */ React.createElement(MarkToggle, {
190
+ bold: () => /* @__PURE__ */ jsxRuntime.jsx(MarkToggle, {
173
191
  mark: "bold",
174
- shortcut: /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Tooltip.ShortcutTooltipKey, {
175
- name: "mod"
176
- }), /* @__PURE__ */ React.createElement("span", null, "B"))
177
- }, /* @__PURE__ */ React.createElement(Bold.BoldIcon, null)),
178
- italic: () => /* @__PURE__ */ React.createElement(MarkToggle, {
192
+ shortcut: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
193
+ children: [
194
+ /* @__PURE__ */ jsxRuntime.jsx(Tooltip.ShortcutTooltipKey, {
195
+ name: "mod"
196
+ }),
197
+ /* @__PURE__ */ jsxRuntime.jsx("span", {
198
+ children: "B"
199
+ })
200
+ ]
201
+ }),
202
+ children: /* @__PURE__ */ jsxRuntime.jsx(Bold.BoldIcon, {})
203
+ }),
204
+ italic: () => /* @__PURE__ */ jsxRuntime.jsx(MarkToggle, {
179
205
  mark: "italic",
180
- shortcut: /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Tooltip.ShortcutTooltipKey, {
181
- name: "mod"
182
- }), /* @__PURE__ */ React.createElement("span", null, "I"))
183
- }, /* @__PURE__ */ React.createElement(Italic.ItalicIcon, null)),
184
- strikethrough: () => /* @__PURE__ */ React.createElement(MarkToggle, {
206
+ shortcut: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
207
+ children: [
208
+ /* @__PURE__ */ jsxRuntime.jsx(Tooltip.ShortcutTooltipKey, {
209
+ name: "mod"
210
+ }),
211
+ /* @__PURE__ */ jsxRuntime.jsx("span", {
212
+ children: "I"
213
+ })
214
+ ]
215
+ }),
216
+ children: /* @__PURE__ */ jsxRuntime.jsx(Italic.ItalicIcon, {})
217
+ }),
218
+ strikethrough: () => /* @__PURE__ */ jsxRuntime.jsx(MarkToggle, {
185
219
  mark: "strikethrough",
186
- shortcut: /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Tooltip.ShortcutTooltipKey, {
187
- name: "mod"
188
- }), /* @__PURE__ */ React.createElement(Tooltip.ShortcutTooltipKey, {
189
- name: "shift"
190
- }), /* @__PURE__ */ React.createElement("span", null, "S"))
191
- }, /* @__PURE__ */ React.createElement(Strikethrough.StrikethroughIcon, null)),
192
- code: () => /* @__PURE__ */ React.createElement(MarkToggle, {
220
+ shortcut: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
221
+ children: [
222
+ /* @__PURE__ */ jsxRuntime.jsx(Tooltip.ShortcutTooltipKey, {
223
+ name: "mod"
224
+ }),
225
+ /* @__PURE__ */ jsxRuntime.jsx(Tooltip.ShortcutTooltipKey, {
226
+ name: "shift"
227
+ }),
228
+ /* @__PURE__ */ jsxRuntime.jsx("span", {
229
+ children: "S"
230
+ })
231
+ ]
232
+ }),
233
+ children: /* @__PURE__ */ jsxRuntime.jsx(Strikethrough.StrikethroughIcon, {})
234
+ }),
235
+ code: () => /* @__PURE__ */ jsxRuntime.jsx(MarkToggle, {
193
236
  mark: "code",
194
- shortcut: /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Tooltip.ShortcutTooltipKey, {
195
- name: "mod"
196
- }), /* @__PURE__ */ React.createElement("span", null, "E"))
197
- }, /* @__PURE__ */ React.createElement(Code.CodeIcon, null))
237
+ shortcut: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
238
+ children: [
239
+ /* @__PURE__ */ jsxRuntime.jsx(Tooltip.ShortcutTooltipKey, {
240
+ name: "mod"
241
+ }),
242
+ /* @__PURE__ */ jsxRuntime.jsx("span", {
243
+ children: "E"
244
+ })
245
+ ]
246
+ }),
247
+ children: /* @__PURE__ */ jsxRuntime.jsx(Code.CodeIcon, {})
248
+ })
198
249
  };
199
- const markTogglesList = Object.entries(markToggles).map(([mark, Toggle]) => /* @__PURE__ */ React.createElement(Toggle, {
200
- key: mark
201
- }));
250
+ const markTogglesList = Object.entries(markToggles).map(([mark, Toggle]) => /* @__PURE__ */ jsxRuntime.jsx(Toggle, {}, mark));
202
251
  function ComposerFloatingToolbar() {
203
- return /* @__PURE__ */ React.createElement(index.FloatingToolbar, {
204
- className: "lb-root lb-portal lb-elevation lb-composer-floating-toolbar"
205
- }, markTogglesList);
252
+ return /* @__PURE__ */ jsxRuntime.jsx(index.FloatingToolbar, {
253
+ className: "lb-root lb-portal lb-elevation lb-composer-floating-toolbar",
254
+ children: markTogglesList
255
+ });
206
256
  }
207
257
  function ComposerLink({ href, children }) {
208
- return /* @__PURE__ */ React.createElement(index.Link, {
258
+ return /* @__PURE__ */ jsxRuntime.jsx(index.Link, {
209
259
  href,
210
- className: "lb-composer-link"
211
- }, children);
260
+ className: "lb-composer-link",
261
+ children
262
+ });
212
263
  }
213
264
  function ComposerFileAttachment({
214
265
  attachment,
@@ -218,10 +269,10 @@ function ComposerFileAttachment({
218
269
  }) {
219
270
  const { removeAttachment } = contexts.useComposer();
220
271
  const { roomId } = contexts.useComposerEditorContext();
221
- const handleDeleteClick = React.useCallback(() => {
272
+ const handleDeleteClick = react.useCallback(() => {
222
273
  removeAttachment(attachment.id);
223
274
  }, [attachment.id, removeAttachment]);
224
- return /* @__PURE__ */ React.createElement(Attachment$1.FileAttachment, {
275
+ return /* @__PURE__ */ jsxRuntime.jsx(Attachment$1.FileAttachment, {
225
276
  className: classNames.classNames("lb-composer-attachment", className),
226
277
  ...props,
227
278
  attachment,
@@ -240,18 +291,19 @@ function ComposerAttachments({
240
291
  if (attachments.length === 0) {
241
292
  return null;
242
293
  }
243
- return /* @__PURE__ */ React.createElement("div", {
294
+ return /* @__PURE__ */ jsxRuntime.jsx("div", {
244
295
  className: classNames.classNames("lb-composer-attachments", className),
245
- ...props
246
- }, /* @__PURE__ */ React.createElement("div", {
247
- className: "lb-attachments"
248
- }, attachments.map((attachment) => {
249
- return /* @__PURE__ */ React.createElement(ComposerFileAttachment, {
250
- key: attachment.id,
251
- attachment,
252
- overrides
253
- });
254
- })));
296
+ ...props,
297
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", {
298
+ className: "lb-attachments",
299
+ children: attachments.map((attachment) => {
300
+ return /* @__PURE__ */ jsxRuntime.jsx(ComposerFileAttachment, {
301
+ attachment,
302
+ overrides
303
+ }, attachment.id);
304
+ })
305
+ })
306
+ });
255
307
  }
256
308
  const editorRequiredComponents = {
257
309
  Mention: ComposerMention,
@@ -276,7 +328,7 @@ function ComposerEditorContainer({
276
328
  const { isEmpty } = contexts.useComposer();
277
329
  const { hasMaxAttachments } = contexts.useComposerAttachmentsContext();
278
330
  const $ = overrides.useOverrides(overrides$1);
279
- const components = React.useMemo(() => {
331
+ const components = react.useMemo(() => {
280
332
  return {
281
333
  ...editorRequiredComponents,
282
334
  FloatingToolbar: showFormattingControls ? ComposerFloatingToolbar : void 0
@@ -285,66 +337,93 @@ function ComposerEditorContainer({
285
337
  const [isDraggingOver, dropAreaProps] = utils.useComposerAttachmentsDropArea({
286
338
  disabled: disabled || hasMaxAttachments
287
339
  });
288
- useLayoutEffect.useLayoutEffect(() => {
340
+ react.useLayoutEffect(() => {
289
341
  onEmptyChange(isEmpty);
290
342
  }, [isEmpty, onEmptyChange]);
291
- const preventDefault = React.useCallback((event) => {
343
+ const preventDefault = react.useCallback((event) => {
292
344
  event.preventDefault();
293
345
  }, []);
294
- const stopPropagation = React.useCallback((event) => {
346
+ const stopPropagation = react.useCallback((event) => {
295
347
  event.stopPropagation();
296
348
  }, []);
297
- return /* @__PURE__ */ React.createElement("div", {
349
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", {
298
350
  className: "lb-composer-editor-container",
299
- ...dropAreaProps
300
- }, /* @__PURE__ */ React.createElement(index.Editor, {
301
- className: "lb-composer-editor",
302
- onClick: onEditorClick,
303
- placeholder: $.COMPOSER_PLACEHOLDER,
304
- defaultValue,
305
- autoFocus,
306
- components,
307
- disabled,
308
- dir: $.dir
309
- }), showAttachments && /* @__PURE__ */ React.createElement(ComposerAttachments, {
310
- overrides: overrides$1
311
- }), (!isCollapsed || isDraggingOver) && /* @__PURE__ */ React.createElement("div", {
312
- className: "lb-composer-footer"
313
- }, /* @__PURE__ */ React.createElement("div", {
314
- className: "lb-composer-editor-actions"
315
- }, hasResolveMentionSuggestions && /* @__PURE__ */ React.createElement(ComposerInsertMentionEditorAction, {
316
- label: $.COMPOSER_INSERT_MENTION,
317
- disabled
318
- }), /* @__PURE__ */ React.createElement(ComposerInsertEmojiEditorAction, {
319
- label: $.COMPOSER_INSERT_EMOJI,
320
- onPickerOpenChange: onEmojiPickerOpenChange,
321
- disabled
322
- }), showAttachments && /* @__PURE__ */ React.createElement(ComposerAttachFilesEditorAction, {
323
- label: $.COMPOSER_ATTACH_FILES,
324
- disabled
325
- })), showAttribution && /* @__PURE__ */ React.createElement(Attribution.Attribution, null), /* @__PURE__ */ React.createElement("div", {
326
- className: "lb-composer-actions"
327
- }, actions ?? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Tooltip.ShortcutTooltip, {
328
- content: $.COMPOSER_SEND,
329
- shortcut: /* @__PURE__ */ React.createElement(Tooltip.ShortcutTooltipKey, {
330
- name: "enter"
331
- })
332
- }, /* @__PURE__ */ React.createElement(index.Submit, {
333
- asChild: true
334
- }, /* @__PURE__ */ React.createElement(Button.Button, {
335
- onPointerDown: preventDefault,
336
- onClick: stopPropagation,
337
- className: "lb-composer-action",
338
- variant: "primary",
339
- "aria-label": $.COMPOSER_SEND
340
- }, /* @__PURE__ */ React.createElement(Send.SendIcon, null))))))), showAttachments && isDraggingOver && /* @__PURE__ */ React.createElement("div", {
341
- className: "lb-composer-attachments-drop-area"
342
- }, /* @__PURE__ */ React.createElement("div", {
343
- className: "lb-composer-attachments-drop-area-label"
344
- }, /* @__PURE__ */ React.createElement(Attachment.AttachmentIcon, null), $.COMPOSER_ATTACH_FILES)));
351
+ ...dropAreaProps,
352
+ children: [
353
+ /* @__PURE__ */ jsxRuntime.jsx(index.Editor, {
354
+ className: "lb-composer-editor",
355
+ onClick: onEditorClick,
356
+ placeholder: $.COMPOSER_PLACEHOLDER,
357
+ defaultValue,
358
+ autoFocus,
359
+ components,
360
+ disabled,
361
+ dir: $.dir
362
+ }),
363
+ showAttachments && /* @__PURE__ */ jsxRuntime.jsx(ComposerAttachments, {
364
+ overrides: overrides$1
365
+ }),
366
+ (!isCollapsed || isDraggingOver) && /* @__PURE__ */ jsxRuntime.jsxs("div", {
367
+ className: "lb-composer-footer",
368
+ children: [
369
+ /* @__PURE__ */ jsxRuntime.jsxs("div", {
370
+ className: "lb-composer-editor-actions",
371
+ children: [
372
+ hasResolveMentionSuggestions && /* @__PURE__ */ jsxRuntime.jsx(ComposerInsertMentionEditorAction, {
373
+ label: $.COMPOSER_INSERT_MENTION,
374
+ disabled
375
+ }),
376
+ /* @__PURE__ */ jsxRuntime.jsx(ComposerInsertEmojiEditorAction, {
377
+ label: $.COMPOSER_INSERT_EMOJI,
378
+ onPickerOpenChange: onEmojiPickerOpenChange,
379
+ disabled
380
+ }),
381
+ showAttachments && /* @__PURE__ */ jsxRuntime.jsx(ComposerAttachFilesEditorAction, {
382
+ label: $.COMPOSER_ATTACH_FILES,
383
+ disabled
384
+ })
385
+ ]
386
+ }),
387
+ showAttribution && /* @__PURE__ */ jsxRuntime.jsx(Attribution.Attribution, {}),
388
+ /* @__PURE__ */ jsxRuntime.jsx("div", {
389
+ className: "lb-composer-actions",
390
+ children: actions ?? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {
391
+ children: /* @__PURE__ */ jsxRuntime.jsx(Tooltip.ShortcutTooltip, {
392
+ content: $.COMPOSER_SEND,
393
+ shortcut: /* @__PURE__ */ jsxRuntime.jsx(Tooltip.ShortcutTooltipKey, {
394
+ name: "enter"
395
+ }),
396
+ children: /* @__PURE__ */ jsxRuntime.jsx(index.Submit, {
397
+ asChild: true,
398
+ children: /* @__PURE__ */ jsxRuntime.jsx(Button.Button, {
399
+ onPointerDown: preventDefault,
400
+ onClick: stopPropagation,
401
+ className: "lb-composer-action",
402
+ variant: "primary",
403
+ "aria-label": $.COMPOSER_SEND,
404
+ children: /* @__PURE__ */ jsxRuntime.jsx(Send.SendIcon, {})
405
+ })
406
+ })
407
+ })
408
+ })
409
+ })
410
+ ]
411
+ }),
412
+ showAttachments && isDraggingOver && /* @__PURE__ */ jsxRuntime.jsx("div", {
413
+ className: "lb-composer-attachments-drop-area",
414
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", {
415
+ className: "lb-composer-attachments-drop-area-label",
416
+ children: [
417
+ /* @__PURE__ */ jsxRuntime.jsx(Attachment.AttachmentIcon, {}),
418
+ $.COMPOSER_ATTACH_FILES
419
+ ]
420
+ })
421
+ })
422
+ ]
423
+ });
345
424
  }
346
- React.createContext(null);
347
- const Composer = React.forwardRef(
425
+ react.createContext(null);
426
+ const Composer = react.forwardRef(
348
427
  ({
349
428
  threadId,
350
429
  commentId,
@@ -368,7 +447,6 @@ const Composer = React.forwardRef(
368
447
  roomId: _roomId,
369
448
  ...props
370
449
  }, forwardedRef) => {
371
- const client = react.useClient();
372
450
  const room = _private.useRoomOrNull();
373
451
  const roomId = _roomId !== void 0 ? _roomId : room?.id;
374
452
  if (roomId === void 0) {
@@ -380,17 +458,17 @@ const Composer = React.forwardRef(
380
458
  const createComment = _private.useCreateRoomComment(roomId);
381
459
  const editComment = _private.useEditRoomComment(roomId);
382
460
  const { preventUnsavedComposerChanges } = config.useLiveblocksUIConfig();
383
- const hasResolveMentionSuggestions = client[core.kInternal].resolveMentionSuggestions !== void 0;
384
- const isEmptyRef = React.useRef(true);
385
- const isEmojiPickerOpenRef = React.useRef(false);
461
+ const hasResolveMentionSuggestions = _private.useResolveMentionSuggestions() !== void 0;
462
+ const isEmptyRef = react.useRef(true);
463
+ const isEmojiPickerOpenRef = react.useRef(false);
386
464
  const $ = overrides.useOverrides(overrides$1);
387
465
  const [isCollapsed, onCollapsedChange] = useControllableState.useControllableState(
388
466
  controlledCollapsed === void 0 && defaultCollapsed === void 0 ? false : controlledCollapsed,
389
467
  controlledOnCollapsedChange,
390
468
  defaultCollapsed
391
469
  );
392
- const canCommentFallback = index_js.useSyncExternalStore(
393
- React.useCallback(
470
+ const canCommentFallback = react.useSyncExternalStore(
471
+ react.useCallback(
394
472
  (callback) => {
395
473
  if (room === null)
396
474
  return () => {
@@ -399,20 +477,20 @@ const Composer = React.forwardRef(
399
477
  },
400
478
  [room]
401
479
  ),
402
- React.useCallback(() => {
480
+ react.useCallback(() => {
403
481
  return room?.getSelf()?.canComment ?? true;
404
482
  }, [room]),
405
- React.useCallback(() => true, [])
483
+ react.useCallback(() => true, [])
406
484
  );
407
485
  const permissions = _private.useRoomPermissions(roomId);
408
486
  const canComment = permissions.size > 0 ? permissions.has(core.Permission.CommentsWrite) || permissions.has(core.Permission.Write) : canCommentFallback;
409
- const setEmptyRef = React.useCallback((isEmpty) => {
487
+ const setEmptyRef = react.useCallback((isEmpty) => {
410
488
  isEmptyRef.current = isEmpty;
411
489
  }, []);
412
- const setEmojiPickerOpenRef = React.useCallback((isEmojiPickerOpen) => {
490
+ const setEmojiPickerOpenRef = react.useCallback((isEmojiPickerOpen) => {
413
491
  isEmojiPickerOpenRef.current = isEmojiPickerOpen;
414
492
  }, []);
415
- const handleFocus = React.useCallback(
493
+ const handleFocus = react.useCallback(
416
494
  (event) => {
417
495
  onFocus?.(event);
418
496
  if (event.isDefaultPrevented()) {
@@ -424,7 +502,7 @@ const Composer = React.forwardRef(
424
502
  },
425
503
  [onCollapsedChange, onFocus, canComment]
426
504
  );
427
- const handleBlur = React.useCallback(
505
+ const handleBlur = react.useCallback(
428
506
  (event) => {
429
507
  onBlur?.(event);
430
508
  if (event.isDefaultPrevented()) {
@@ -439,7 +517,7 @@ const Composer = React.forwardRef(
439
517
  },
440
518
  [onBlur, onCollapsedChange]
441
519
  );
442
- const handleEditorClick = React.useCallback(
520
+ const handleEditorClick = react.useCallback(
443
521
  (event) => {
444
522
  event.stopPropagation();
445
523
  if (isEmptyRef.current && canComment) {
@@ -448,7 +526,7 @@ const Composer = React.forwardRef(
448
526
  },
449
527
  [onCollapsedChange, canComment]
450
528
  );
451
- const handleCommentSubmit = React.useCallback(
529
+ const handleCommentSubmit = react.useCallback(
452
530
  (comment, event) => {
453
531
  onComposerSubmit?.(comment, event);
454
532
  if (event.isDefaultPrevented()) {
@@ -485,38 +563,41 @@ const Composer = React.forwardRef(
485
563
  threadId
486
564
  ]
487
565
  );
488
- return /* @__PURE__ */ React.createElement(TooltipPrimitive.TooltipProvider, null, /* @__PURE__ */ React.createElement(index.Form, {
489
- onComposerSubmit: handleCommentSubmit,
490
- className: classNames.classNames(
491
- "lb-root lb-composer lb-composer-form",
492
- className
493
- ),
494
- dir: $.dir,
495
- ...props,
496
- ref: forwardedRef,
497
- "data-collapsed": isCollapsed ? "" : void 0,
498
- onFocus: handleFocus,
499
- onBlur: handleBlur,
500
- disabled: disabled || !canComment,
501
- defaultAttachments,
502
- pasteFilesAsAttachments: showAttachments,
503
- preventUnsavedChanges: preventUnsavedComposerChanges,
504
- roomId
505
- }, /* @__PURE__ */ React.createElement(ComposerEditorContainer, {
506
- defaultValue,
507
- actions,
508
- overrides: overrides$1,
509
- isCollapsed,
510
- showAttachments,
511
- showAttribution,
512
- showFormattingControls,
513
- hasResolveMentionSuggestions,
514
- onEmptyChange: setEmptyRef,
515
- onEmojiPickerOpenChange: setEmojiPickerOpenRef,
516
- onEditorClick: handleEditorClick,
517
- autoFocus,
518
- disabled
519
- })));
566
+ return /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive.TooltipProvider, {
567
+ children: /* @__PURE__ */ jsxRuntime.jsx(index.Form, {
568
+ onComposerSubmit: handleCommentSubmit,
569
+ className: classNames.classNames(
570
+ "lb-root lb-composer lb-composer-form",
571
+ className
572
+ ),
573
+ dir: $.dir,
574
+ ...props,
575
+ ref: forwardedRef,
576
+ "data-collapsed": isCollapsed ? "" : void 0,
577
+ onFocus: handleFocus,
578
+ onBlur: handleBlur,
579
+ disabled: disabled || !canComment,
580
+ defaultAttachments,
581
+ pasteFilesAsAttachments: showAttachments,
582
+ preventUnsavedChanges: preventUnsavedComposerChanges,
583
+ roomId,
584
+ children: /* @__PURE__ */ jsxRuntime.jsx(ComposerEditorContainer, {
585
+ defaultValue,
586
+ actions,
587
+ overrides: overrides$1,
588
+ isCollapsed,
589
+ showAttachments,
590
+ showAttribution,
591
+ showFormattingControls,
592
+ hasResolveMentionSuggestions,
593
+ onEmptyChange: setEmptyRef,
594
+ onEmojiPickerOpenChange: setEmojiPickerOpenRef,
595
+ onEditorClick: handleEditorClick,
596
+ autoFocus,
597
+ disabled
598
+ })
599
+ })
600
+ });
520
601
  }
521
602
  );
522
603