@liveblocks/react-ui 2.14.0-v2encoding → 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 +304 -221
  8. package/dist/components/Composer.js.map +1 -1
  9. package/dist/components/Composer.mjs +278 -195
  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 +327 -270
  191. package/dist/primitives/Composer/index.js.map +1 -1
  192. package/dist/primitives/Composer/index.mjs +250 -193
  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,9 +1,9 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
3
+ var jsxRuntime = require('react/jsx-runtime');
4
4
  var _private = require('@liveblocks/react/_private');
5
5
  var TogglePrimitive = require('@radix-ui/react-toggle');
6
- var React = require('react');
6
+ var react = require('react');
7
7
  var Check = require('../icons/Check.js');
8
8
  var Cross = require('../icons/Cross.js');
9
9
  var Delete = require('../icons/Delete.js');
@@ -61,13 +61,17 @@ function CommentMention({
61
61
  ...props
62
62
  }) {
63
63
  const currentId = shared.useCurrentUserId();
64
- return /* @__PURE__ */ React.createElement(index$1.Mention, {
64
+ return /* @__PURE__ */ jsxRuntime.jsxs(index$1.Mention, {
65
65
  className: classNames.classNames("lb-comment-mention", className),
66
66
  "data-self": userId === currentId ? "" : void 0,
67
- ...props
68
- }, mentions.MENTION_CHARACTER, /* @__PURE__ */ React.createElement(User.User, {
69
- userId
70
- }));
67
+ ...props,
68
+ children: [
69
+ mentions.MENTION_CHARACTER,
70
+ /* @__PURE__ */ jsxRuntime.jsx(User.User, {
71
+ userId
72
+ })
73
+ ]
74
+ });
71
75
  }
72
76
  function CommentLink({
73
77
  href,
@@ -75,11 +79,12 @@ function CommentLink({
75
79
  className,
76
80
  ...props
77
81
  }) {
78
- return /* @__PURE__ */ React.createElement(index$1.Link, {
82
+ return /* @__PURE__ */ jsxRuntime.jsx(index$1.Link, {
79
83
  className: classNames.classNames("lb-comment-link", className),
80
84
  href,
81
- ...props
82
- }, children);
85
+ ...props,
86
+ children
87
+ });
83
88
  }
84
89
  function CommentNonInteractiveLink({
85
90
  href: _href,
@@ -87,14 +92,15 @@ function CommentNonInteractiveLink({
87
92
  className,
88
93
  ...props
89
94
  }) {
90
- return /* @__PURE__ */ React.createElement("span", {
95
+ return /* @__PURE__ */ jsxRuntime.jsx("span", {
91
96
  className: classNames.classNames("lb-comment-link", className),
92
- ...props
93
- }, children);
97
+ ...props,
98
+ children
99
+ });
94
100
  }
95
- const CommentReactionButton = React.forwardRef(({ reaction, overrides: overrides$1, className, ...props }, forwardedRef) => {
101
+ const CommentReactionButton = react.forwardRef(({ reaction, overrides: overrides$1, className, ...props }, forwardedRef) => {
96
102
  const $ = overrides.useOverrides(overrides$1);
97
- return /* @__PURE__ */ React.createElement(Button.Button, {
103
+ return /* @__PURE__ */ jsxRuntime.jsxs(Button.Button, {
98
104
  className: classNames.classNames("lb-comment-reaction", className),
99
105
  variant: "outline",
100
106
  "aria-label": $.COMMENT_REACTION_DESCRIPTION(
@@ -102,43 +108,49 @@ const CommentReactionButton = React.forwardRef(({ reaction, overrides: overrides
102
108
  reaction.users.length
103
109
  ),
104
110
  ...props,
105
- ref: forwardedRef
106
- }, /* @__PURE__ */ React.createElement(Emoji.Emoji, {
107
- className: "lb-comment-reaction-emoji",
108
- emoji: reaction.emoji
109
- }), /* @__PURE__ */ React.createElement("span", {
110
- className: "lb-comment-reaction-count"
111
- }, reaction.users.length));
111
+ ref: forwardedRef,
112
+ children: [
113
+ /* @__PURE__ */ jsxRuntime.jsx(Emoji.Emoji, {
114
+ className: "lb-comment-reaction-emoji",
115
+ emoji: reaction.emoji
116
+ }),
117
+ /* @__PURE__ */ jsxRuntime.jsx("span", {
118
+ className: "lb-comment-reaction-count",
119
+ children: reaction.users.length
120
+ })
121
+ ]
122
+ });
112
123
  });
113
- const CommentReaction = React.forwardRef(({ comment, reaction, overrides: overrides$1, disabled, ...props }, forwardedRef) => {
124
+ const CommentReaction = react.forwardRef(({ comment, reaction, overrides: overrides$1, disabled, ...props }, forwardedRef) => {
114
125
  const addReaction = _private.useAddRoomCommentReaction(comment.roomId);
115
126
  const removeReaction = _private.useRemoveRoomCommentReaction(comment.roomId);
116
127
  const currentId = shared.useCurrentUserId();
117
- const isActive = React.useMemo(() => {
128
+ const isActive = react.useMemo(() => {
118
129
  return reaction.users.some((users) => users.id === currentId);
119
130
  }, [currentId, reaction]);
120
131
  const $ = overrides.useOverrides(overrides$1);
121
- const tooltipContent = React.useMemo(
122
- () => /* @__PURE__ */ React.createElement("span", null, $.COMMENT_REACTION_LIST(
123
- /* @__PURE__ */ React.createElement(List.List, {
124
- values: reaction.users.map((users) => /* @__PURE__ */ React.createElement(User.User, {
125
- key: users.id,
126
- userId: users.id,
127
- replaceSelf: true
128
- })),
129
- formatRemaining: $.LIST_REMAINING_USERS,
130
- truncate: REACTIONS_TRUNCATE,
131
- locale: $.locale
132
- }),
133
- reaction.emoji,
134
- reaction.users.length
135
- )),
132
+ const tooltipContent = react.useMemo(
133
+ () => /* @__PURE__ */ jsxRuntime.jsx("span", {
134
+ children: $.COMMENT_REACTION_LIST(
135
+ /* @__PURE__ */ jsxRuntime.jsx(List.List, {
136
+ values: reaction.users.map((users) => /* @__PURE__ */ jsxRuntime.jsx(User.User, {
137
+ userId: users.id,
138
+ replaceSelf: true
139
+ }, users.id)),
140
+ formatRemaining: $.LIST_REMAINING_USERS,
141
+ truncate: REACTIONS_TRUNCATE,
142
+ locale: $.locale
143
+ }),
144
+ reaction.emoji,
145
+ reaction.users.length
146
+ )
147
+ }),
136
148
  [$, reaction]
137
149
  );
138
- const stopPropagation = React.useCallback((event) => {
150
+ const stopPropagation = react.useCallback((event) => {
139
151
  event.stopPropagation();
140
152
  }, []);
141
- const handlePressedChange = React.useCallback(
153
+ const handlePressedChange = react.useCallback(
142
154
  (isPressed) => {
143
155
  if (isPressed) {
144
156
  addReaction({
@@ -156,30 +168,32 @@ const CommentReaction = React.forwardRef(({ comment, reaction, overrides: overri
156
168
  },
157
169
  [addReaction, comment.threadId, comment.id, reaction.emoji, removeReaction]
158
170
  );
159
- return /* @__PURE__ */ React.createElement(Tooltip.Tooltip, {
171
+ return /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Tooltip, {
160
172
  content: tooltipContent,
161
173
  multiline: true,
162
- className: "lb-comment-reaction-tooltip"
163
- }, /* @__PURE__ */ React.createElement(TogglePrimitive__namespace.Root, {
164
- asChild: true,
165
- pressed: isActive,
166
- onPressedChange: handlePressedChange,
167
- onClick: stopPropagation,
168
- disabled,
169
- ref: forwardedRef
170
- }, /* @__PURE__ */ React.createElement(CommentReactionButton, {
171
- "data-self": isActive ? "" : void 0,
172
- reaction,
173
- overrides: overrides$1,
174
- ...props
175
- })));
174
+ className: "lb-comment-reaction-tooltip",
175
+ children: /* @__PURE__ */ jsxRuntime.jsx(TogglePrimitive__namespace.Root, {
176
+ asChild: true,
177
+ pressed: isActive,
178
+ onPressedChange: handlePressedChange,
179
+ onClick: stopPropagation,
180
+ disabled,
181
+ ref: forwardedRef,
182
+ children: /* @__PURE__ */ jsxRuntime.jsx(CommentReactionButton, {
183
+ "data-self": isActive ? "" : void 0,
184
+ reaction,
185
+ overrides: overrides$1,
186
+ ...props
187
+ })
188
+ })
189
+ });
176
190
  });
177
- const CommentNonInteractiveReaction = React.forwardRef(({ reaction, overrides, ...props }, forwardedRef) => {
191
+ const CommentNonInteractiveReaction = react.forwardRef(({ reaction, overrides, ...props }, forwardedRef) => {
178
192
  const currentId = shared.useCurrentUserId();
179
- const isActive = React.useMemo(() => {
193
+ const isActive = react.useMemo(() => {
180
194
  return reaction.users.some((users) => users.id === currentId);
181
195
  }, [currentId, reaction]);
182
- return /* @__PURE__ */ React.createElement(CommentReactionButton, {
196
+ return /* @__PURE__ */ jsxRuntime.jsx(CommentReactionButton, {
183
197
  disableable: false,
184
198
  "data-self": isActive ? "" : void 0,
185
199
  reaction,
@@ -204,7 +218,7 @@ function CommentMediaAttachment({
204
218
  ...props
205
219
  }) {
206
220
  const { url } = _private.useRoomAttachmentUrl(attachment.id, roomId);
207
- const handleClick = React.useCallback(
221
+ const handleClick = react.useCallback(
208
222
  (event) => {
209
223
  if (!url) {
210
224
  return;
@@ -218,7 +232,7 @@ function CommentMediaAttachment({
218
232
  },
219
233
  [attachment, onAttachmentClick, url]
220
234
  );
221
- return /* @__PURE__ */ React.createElement(Attachment.MediaAttachment, {
235
+ return /* @__PURE__ */ jsxRuntime.jsx(Attachment.MediaAttachment, {
222
236
  className: classNames.classNames("lb-comment-attachment", className),
223
237
  ...props,
224
238
  attachment,
@@ -236,7 +250,7 @@ function CommentFileAttachment({
236
250
  ...props
237
251
  }) {
238
252
  const { url } = _private.useRoomAttachmentUrl(attachment.id, roomId);
239
- const handleClick = React.useCallback(
253
+ const handleClick = react.useCallback(
240
254
  (event) => {
241
255
  if (!url) {
242
256
  return;
@@ -250,7 +264,7 @@ function CommentFileAttachment({
250
264
  },
251
265
  [attachment, onAttachmentClick, url]
252
266
  );
253
- return /* @__PURE__ */ React.createElement(Attachment.FileAttachment, {
267
+ return /* @__PURE__ */ jsxRuntime.jsx(Attachment.FileAttachment, {
254
268
  className: classNames.classNames("lb-comment-attachment", className),
255
269
  ...props,
256
270
  attachment,
@@ -263,7 +277,7 @@ function CommentNonInteractiveFileAttachment({
263
277
  className,
264
278
  ...props
265
279
  }) {
266
- return /* @__PURE__ */ React.createElement(Attachment.FileAttachment, {
280
+ return /* @__PURE__ */ jsxRuntime.jsx(Attachment.FileAttachment, {
267
281
  className: classNames.classNames("lb-comment-attachment", className),
268
282
  allowMediaPreview: false,
269
283
  ...props
@@ -287,7 +301,7 @@ function AutoMarkReadThreadIdHandler({
287
301
  );
288
302
  return null;
289
303
  }
290
- const Comment = React.forwardRef(
304
+ const Comment = react.forwardRef(
291
305
  ({
292
306
  comment,
293
307
  indentContent = true,
@@ -308,7 +322,7 @@ const Comment = React.forwardRef(
308
322
  autoMarkReadThreadId,
309
323
  ...props
310
324
  }, forwardedRef) => {
311
- const ref = React.useRef(null);
325
+ const ref = react.useRef(null);
312
326
  const mergedRefs = useRefs.useRefs(forwardedRef, ref);
313
327
  const currentUserId = shared.useCurrentUserId();
314
328
  const deleteComment = _private.useDeleteRoomComment(comment.roomId);
@@ -316,27 +330,27 @@ const Comment = React.forwardRef(
316
330
  const addReaction = _private.useAddRoomCommentReaction(comment.roomId);
317
331
  const removeReaction = _private.useRemoveRoomCommentReaction(comment.roomId);
318
332
  const $ = overrides.useOverrides(overrides$1);
319
- const [isEditing, setEditing] = React.useState(false);
320
- const [isTarget, setTarget] = React.useState(false);
321
- const [isMoreActionOpen, setMoreActionOpen] = React.useState(false);
322
- const [isReactionActionOpen, setReactionActionOpen] = React.useState(false);
323
- const { mediaAttachments, fileAttachments } = React.useMemo(() => {
333
+ const [isEditing, setEditing] = react.useState(false);
334
+ const [isTarget, setTarget] = react.useState(false);
335
+ const [isMoreActionOpen, setMoreActionOpen] = react.useState(false);
336
+ const [isReactionActionOpen, setReactionActionOpen] = react.useState(false);
337
+ const { mediaAttachments, fileAttachments } = react.useMemo(() => {
324
338
  return Attachment.separateMediaAttachments(comment.attachments);
325
339
  }, [comment.attachments]);
326
- const stopPropagation = React.useCallback((event) => {
340
+ const stopPropagation = react.useCallback((event) => {
327
341
  event.stopPropagation();
328
342
  }, []);
329
- const handleEdit = React.useCallback(() => {
343
+ const handleEdit = react.useCallback(() => {
330
344
  setEditing(true);
331
345
  }, []);
332
- const handleEditCancel = React.useCallback(
346
+ const handleEditCancel = react.useCallback(
333
347
  (event) => {
334
348
  event.stopPropagation();
335
349
  setEditing(false);
336
350
  },
337
351
  []
338
352
  );
339
- const handleEditSubmit = React.useCallback(
353
+ const handleEditSubmit = react.useCallback(
340
354
  ({ body, attachments }, event) => {
341
355
  onCommentEdit?.(comment);
342
356
  event.preventDefault();
@@ -350,20 +364,20 @@ const Comment = React.forwardRef(
350
364
  },
351
365
  [comment, editComment, onCommentEdit]
352
366
  );
353
- const handleDelete = React.useCallback(() => {
367
+ const handleDelete = react.useCallback(() => {
354
368
  onCommentDelete?.(comment);
355
369
  deleteComment({
356
370
  commentId: comment.id,
357
371
  threadId: comment.threadId
358
372
  });
359
373
  }, [comment, deleteComment, onCommentDelete]);
360
- const handleAuthorClick = React.useCallback(
374
+ const handleAuthorClick = react.useCallback(
361
375
  (event) => {
362
376
  onAuthorClick?.(comment.userId, event);
363
377
  },
364
378
  [comment.userId, onAuthorClick]
365
379
  );
366
- const handleReactionSelect = React.useCallback(
380
+ const handleReactionSelect = react.useCallback(
367
381
  (emoji) => {
368
382
  const reactionIndex = comment.reactions.findIndex(
369
383
  (reaction) => reaction.emoji === emoji
@@ -393,7 +407,7 @@ const Comment = React.forwardRef(
393
407
  currentUserId
394
408
  ]
395
409
  );
396
- React.useEffect(() => {
410
+ react.useEffect(() => {
397
411
  const isWindowDefined = typeof window !== "undefined";
398
412
  if (!isWindowDefined)
399
413
  return;
@@ -406,182 +420,269 @@ const Comment = React.forwardRef(
406
420
  if (!showDeleted && !comment.body) {
407
421
  return null;
408
422
  }
409
- return /* @__PURE__ */ React.createElement(TooltipPrimitive.TooltipProvider, null, autoMarkReadThreadId && /* @__PURE__ */ React.createElement(AutoMarkReadThreadIdHandler, {
410
- commentRef: ref,
411
- threadId: autoMarkReadThreadId,
412
- roomId: comment.roomId
413
- }), /* @__PURE__ */ React.createElement("div", {
414
- id: comment.id,
415
- className: classNames.classNames(
416
- "lb-root lb-comment",
417
- indentContent && "lb-comment:indent-content",
418
- showActions === "hover" && "lb-comment:show-actions-hover",
419
- (isMoreActionOpen || isReactionActionOpen) && "lb-comment:action-open",
420
- className
421
- ),
422
- "data-deleted": !comment.body ? "" : void 0,
423
- "data-editing": isEditing ? "" : void 0,
424
- "data-target": isTarget ? "" : void 0,
425
- dir: $.dir,
426
- ...props,
427
- ref: mergedRefs
428
- }, /* @__PURE__ */ React.createElement("div", {
429
- className: "lb-comment-header"
430
- }, /* @__PURE__ */ React.createElement("div", {
431
- className: "lb-comment-details"
432
- }, /* @__PURE__ */ React.createElement(Avatar.Avatar, {
433
- className: "lb-comment-avatar",
434
- userId: comment.userId,
435
- onClick: handleAuthorClick
436
- }), /* @__PURE__ */ React.createElement("span", {
437
- className: "lb-comment-details-labels"
438
- }, /* @__PURE__ */ React.createElement(User.User, {
439
- className: "lb-comment-author",
440
- userId: comment.userId,
441
- onClick: handleAuthorClick
442
- }), /* @__PURE__ */ React.createElement("span", {
443
- className: "lb-comment-date"
444
- }, /* @__PURE__ */ React.createElement(Timestamp.Timestamp, {
445
- locale: $.locale,
446
- date: comment.createdAt,
447
- className: "lb-date lb-comment-date-created"
448
- }), comment.editedAt && comment.body && /* @__PURE__ */ React.createElement(React.Fragment, null, " ", /* @__PURE__ */ React.createElement("span", {
449
- className: "lb-comment-date-edited"
450
- }, $.COMMENT_EDITED))))), showActions && !isEditing && /* @__PURE__ */ React.createElement("div", {
451
- className: classNames.classNames(
452
- "lb-comment-actions",
453
- additionalActionsClassName
454
- )
455
- }, additionalActions ?? null, showReactions && /* @__PURE__ */ React.createElement(EmojiPicker.EmojiPicker, {
456
- onEmojiSelect: handleReactionSelect,
457
- onOpenChange: setReactionActionOpen
458
- }, /* @__PURE__ */ React.createElement(Tooltip.Tooltip, {
459
- content: $.COMMENT_ADD_REACTION
460
- }, /* @__PURE__ */ React.createElement(PopoverPrimitive.PopoverTrigger, {
461
- asChild: true
462
- }, /* @__PURE__ */ React.createElement(Button.Button, {
463
- className: "lb-comment-action",
464
- onClick: stopPropagation,
465
- "aria-label": $.COMMENT_ADD_REACTION
466
- }, /* @__PURE__ */ React.createElement(EmojiAdd.EmojiAddIcon, {
467
- className: "lb-button-icon"
468
- }))))), comment.userId === currentUserId && /* @__PURE__ */ React.createElement(Dropdown.Dropdown, {
469
- open: isMoreActionOpen,
470
- onOpenChange: setMoreActionOpen,
471
- align: "end",
472
- content: /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Dropdown.DropdownItem, {
473
- onSelect: handleEdit,
474
- onClick: stopPropagation
475
- }, /* @__PURE__ */ React.createElement(Edit.EditIcon, {
476
- className: "lb-dropdown-item-icon"
477
- }), $.COMMENT_EDIT), /* @__PURE__ */ React.createElement(Dropdown.DropdownItem, {
478
- onSelect: handleDelete,
479
- onClick: stopPropagation
480
- }, /* @__PURE__ */ React.createElement(Delete.DeleteIcon, {
481
- className: "lb-dropdown-item-icon"
482
- }), $.COMMENT_DELETE))
483
- }, /* @__PURE__ */ React.createElement(Tooltip.Tooltip, {
484
- content: $.COMMENT_MORE
485
- }, /* @__PURE__ */ React.createElement(DropdownMenuPrimitive.DropdownMenuTrigger, {
486
- asChild: true
487
- }, /* @__PURE__ */ React.createElement(Button.Button, {
488
- className: "lb-comment-action",
489
- disabled: !comment.body,
490
- onClick: stopPropagation,
491
- "aria-label": $.COMMENT_MORE
492
- }, /* @__PURE__ */ React.createElement(Ellipsis.EllipsisIcon, {
493
- className: "lb-button-icon"
494
- }))))))), /* @__PURE__ */ React.createElement("div", {
495
- className: "lb-comment-content"
496
- }, isEditing ? /* @__PURE__ */ React.createElement(Composer.Composer, {
497
- className: "lb-comment-composer",
498
- onComposerSubmit: handleEditSubmit,
499
- defaultValue: comment.body,
500
- defaultAttachments: comment.attachments,
501
- autoFocus: true,
502
- showAttribution: false,
503
- showAttachments,
504
- showFormattingControls: showComposerFormattingControls,
505
- actions: /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Tooltip.Tooltip, {
506
- content: $.COMMENT_EDIT_COMPOSER_CANCEL,
507
- "aria-label": $.COMMENT_EDIT_COMPOSER_CANCEL
508
- }, /* @__PURE__ */ React.createElement(Button.Button, {
509
- className: "lb-composer-action",
510
- onClick: handleEditCancel
511
- }, /* @__PURE__ */ React.createElement(Cross.CrossIcon, {
512
- className: "lb-button-icon"
513
- }))), /* @__PURE__ */ React.createElement(Tooltip.ShortcutTooltip, {
514
- content: $.COMMENT_EDIT_COMPOSER_SAVE,
515
- shortcut: /* @__PURE__ */ React.createElement(Tooltip.ShortcutTooltipKey, {
516
- name: "enter"
517
- })
518
- }, /* @__PURE__ */ React.createElement(index.Submit, {
519
- asChild: true
520
- }, /* @__PURE__ */ React.createElement(Button.Button, {
521
- variant: "primary",
522
- className: "lb-composer-action",
523
- onClick: stopPropagation,
524
- "aria-label": $.COMMENT_EDIT_COMPOSER_SAVE
525
- }, /* @__PURE__ */ React.createElement(Check.CheckIcon, {
526
- className: "lb-button-icon"
527
- }))))),
528
- overrides: {
529
- COMPOSER_PLACEHOLDER: $.COMMENT_EDIT_COMPOSER_PLACEHOLDER
530
- },
531
- roomId: comment.roomId
532
- }) : comment.body ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(index$1.Body, {
533
- className: "lb-comment-body",
534
- body: comment.body,
535
- components: {
536
- Mention: ({ userId }) => /* @__PURE__ */ React.createElement(CommentMention, {
537
- userId,
538
- onClick: (event) => onMentionClick?.(userId, event)
423
+ return /* @__PURE__ */ jsxRuntime.jsxs(TooltipPrimitive.TooltipProvider, {
424
+ children: [
425
+ autoMarkReadThreadId && /* @__PURE__ */ jsxRuntime.jsx(AutoMarkReadThreadIdHandler, {
426
+ commentRef: ref,
427
+ threadId: autoMarkReadThreadId,
428
+ roomId: comment.roomId
539
429
  }),
540
- Link: CommentLink
541
- }
542
- }), showAttachments && (mediaAttachments.length > 0 || fileAttachments.length > 0) ? /* @__PURE__ */ React.createElement("div", {
543
- className: "lb-comment-attachments"
544
- }, mediaAttachments.length > 0 ? /* @__PURE__ */ React.createElement("div", {
545
- className: "lb-attachments"
546
- }, mediaAttachments.map((attachment) => /* @__PURE__ */ React.createElement(CommentMediaAttachment, {
547
- key: attachment.id,
548
- attachment,
549
- overrides: overrides$1,
550
- onAttachmentClick,
551
- roomId: comment.roomId
552
- }))) : null, fileAttachments.length > 0 ? /* @__PURE__ */ React.createElement("div", {
553
- className: "lb-attachments"
554
- }, fileAttachments.map((attachment) => /* @__PURE__ */ React.createElement(CommentFileAttachment, {
555
- key: attachment.id,
556
- attachment,
557
- overrides: overrides$1,
558
- onAttachmentClick,
559
- roomId: comment.roomId
560
- }))) : null) : null, showReactions && comment.reactions.length > 0 && /* @__PURE__ */ React.createElement("div", {
561
- className: "lb-comment-reactions"
562
- }, comment.reactions.map((reaction) => /* @__PURE__ */ React.createElement(CommentReaction, {
563
- key: reaction.emoji,
564
- comment,
565
- reaction,
566
- overrides: overrides$1
567
- })), /* @__PURE__ */ React.createElement(EmojiPicker.EmojiPicker, {
568
- onEmojiSelect: handleReactionSelect
569
- }, /* @__PURE__ */ React.createElement(Tooltip.Tooltip, {
570
- content: $.COMMENT_ADD_REACTION
571
- }, /* @__PURE__ */ React.createElement(PopoverPrimitive.PopoverTrigger, {
572
- asChild: true
573
- }, /* @__PURE__ */ React.createElement(Button.Button, {
574
- className: "lb-comment-reaction lb-comment-reaction-add",
575
- variant: "outline",
576
- onClick: stopPropagation,
577
- "aria-label": $.COMMENT_ADD_REACTION
578
- }, /* @__PURE__ */ React.createElement(EmojiAdd.EmojiAddIcon, {
579
- className: "lb-button-icon"
580
- }))))))) : /* @__PURE__ */ React.createElement("div", {
581
- className: "lb-comment-body"
582
- }, /* @__PURE__ */ React.createElement("p", {
583
- className: "lb-comment-deleted"
584
- }, $.COMMENT_DELETED)))));
430
+ /* @__PURE__ */ jsxRuntime.jsxs("div", {
431
+ id: comment.id,
432
+ className: classNames.classNames(
433
+ "lb-root lb-comment",
434
+ indentContent && "lb-comment:indent-content",
435
+ showActions === "hover" && "lb-comment:show-actions-hover",
436
+ (isMoreActionOpen || isReactionActionOpen) && "lb-comment:action-open",
437
+ className
438
+ ),
439
+ "data-deleted": !comment.body ? "" : void 0,
440
+ "data-editing": isEditing ? "" : void 0,
441
+ "data-target": isTarget ? "" : void 0,
442
+ dir: $.dir,
443
+ ...props,
444
+ ref: mergedRefs,
445
+ children: [
446
+ /* @__PURE__ */ jsxRuntime.jsxs("div", {
447
+ className: "lb-comment-header",
448
+ children: [
449
+ /* @__PURE__ */ jsxRuntime.jsxs("div", {
450
+ className: "lb-comment-details",
451
+ children: [
452
+ /* @__PURE__ */ jsxRuntime.jsx(Avatar.Avatar, {
453
+ className: "lb-comment-avatar",
454
+ userId: comment.userId,
455
+ onClick: handleAuthorClick
456
+ }),
457
+ /* @__PURE__ */ jsxRuntime.jsxs("span", {
458
+ className: "lb-comment-details-labels",
459
+ children: [
460
+ /* @__PURE__ */ jsxRuntime.jsx(User.User, {
461
+ className: "lb-comment-author",
462
+ userId: comment.userId,
463
+ onClick: handleAuthorClick
464
+ }),
465
+ /* @__PURE__ */ jsxRuntime.jsxs("span", {
466
+ className: "lb-comment-date",
467
+ children: [
468
+ /* @__PURE__ */ jsxRuntime.jsx(Timestamp.Timestamp, {
469
+ locale: $.locale,
470
+ date: comment.createdAt,
471
+ className: "lb-date lb-comment-date-created"
472
+ }),
473
+ comment.editedAt && comment.body && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
474
+ children: [
475
+ " ",
476
+ /* @__PURE__ */ jsxRuntime.jsx("span", {
477
+ className: "lb-comment-date-edited",
478
+ children: $.COMMENT_EDITED
479
+ })
480
+ ]
481
+ })
482
+ ]
483
+ })
484
+ ]
485
+ })
486
+ ]
487
+ }),
488
+ showActions && !isEditing && /* @__PURE__ */ jsxRuntime.jsxs("div", {
489
+ className: classNames.classNames(
490
+ "lb-comment-actions",
491
+ additionalActionsClassName
492
+ ),
493
+ children: [
494
+ additionalActions ?? null,
495
+ showReactions && /* @__PURE__ */ jsxRuntime.jsx(EmojiPicker.EmojiPicker, {
496
+ onEmojiSelect: handleReactionSelect,
497
+ onOpenChange: setReactionActionOpen,
498
+ children: /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Tooltip, {
499
+ content: $.COMMENT_ADD_REACTION,
500
+ children: /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive.PopoverTrigger, {
501
+ asChild: true,
502
+ children: /* @__PURE__ */ jsxRuntime.jsx(Button.Button, {
503
+ className: "lb-comment-action",
504
+ onClick: stopPropagation,
505
+ "aria-label": $.COMMENT_ADD_REACTION,
506
+ children: /* @__PURE__ */ jsxRuntime.jsx(EmojiAdd.EmojiAddIcon, {
507
+ className: "lb-button-icon"
508
+ })
509
+ })
510
+ })
511
+ })
512
+ }),
513
+ comment.userId === currentUserId && /* @__PURE__ */ jsxRuntime.jsx(Dropdown.Dropdown, {
514
+ open: isMoreActionOpen,
515
+ onOpenChange: setMoreActionOpen,
516
+ align: "end",
517
+ content: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
518
+ children: [
519
+ /* @__PURE__ */ jsxRuntime.jsxs(Dropdown.DropdownItem, {
520
+ onSelect: handleEdit,
521
+ onClick: stopPropagation,
522
+ children: [
523
+ /* @__PURE__ */ jsxRuntime.jsx(Edit.EditIcon, {
524
+ className: "lb-dropdown-item-icon"
525
+ }),
526
+ $.COMMENT_EDIT
527
+ ]
528
+ }),
529
+ /* @__PURE__ */ jsxRuntime.jsxs(Dropdown.DropdownItem, {
530
+ onSelect: handleDelete,
531
+ onClick: stopPropagation,
532
+ children: [
533
+ /* @__PURE__ */ jsxRuntime.jsx(Delete.DeleteIcon, {
534
+ className: "lb-dropdown-item-icon"
535
+ }),
536
+ $.COMMENT_DELETE
537
+ ]
538
+ })
539
+ ]
540
+ }),
541
+ children: /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Tooltip, {
542
+ content: $.COMMENT_MORE,
543
+ children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive.DropdownMenuTrigger, {
544
+ asChild: true,
545
+ children: /* @__PURE__ */ jsxRuntime.jsx(Button.Button, {
546
+ className: "lb-comment-action",
547
+ disabled: !comment.body,
548
+ onClick: stopPropagation,
549
+ "aria-label": $.COMMENT_MORE,
550
+ children: /* @__PURE__ */ jsxRuntime.jsx(Ellipsis.EllipsisIcon, {
551
+ className: "lb-button-icon"
552
+ })
553
+ })
554
+ })
555
+ })
556
+ })
557
+ ]
558
+ })
559
+ ]
560
+ }),
561
+ /* @__PURE__ */ jsxRuntime.jsx("div", {
562
+ className: "lb-comment-content",
563
+ children: isEditing ? /* @__PURE__ */ jsxRuntime.jsx(Composer.Composer, {
564
+ className: "lb-comment-composer",
565
+ onComposerSubmit: handleEditSubmit,
566
+ defaultValue: comment.body,
567
+ defaultAttachments: comment.attachments,
568
+ autoFocus: true,
569
+ showAttribution: false,
570
+ showAttachments,
571
+ showFormattingControls: showComposerFormattingControls,
572
+ actions: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
573
+ children: [
574
+ /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Tooltip, {
575
+ content: $.COMMENT_EDIT_COMPOSER_CANCEL,
576
+ "aria-label": $.COMMENT_EDIT_COMPOSER_CANCEL,
577
+ children: /* @__PURE__ */ jsxRuntime.jsx(Button.Button, {
578
+ className: "lb-composer-action",
579
+ onClick: handleEditCancel,
580
+ children: /* @__PURE__ */ jsxRuntime.jsx(Cross.CrossIcon, {
581
+ className: "lb-button-icon"
582
+ })
583
+ })
584
+ }),
585
+ /* @__PURE__ */ jsxRuntime.jsx(Tooltip.ShortcutTooltip, {
586
+ content: $.COMMENT_EDIT_COMPOSER_SAVE,
587
+ shortcut: /* @__PURE__ */ jsxRuntime.jsx(Tooltip.ShortcutTooltipKey, {
588
+ name: "enter"
589
+ }),
590
+ children: /* @__PURE__ */ jsxRuntime.jsx(index.Submit, {
591
+ asChild: true,
592
+ children: /* @__PURE__ */ jsxRuntime.jsx(Button.Button, {
593
+ variant: "primary",
594
+ className: "lb-composer-action",
595
+ onClick: stopPropagation,
596
+ "aria-label": $.COMMENT_EDIT_COMPOSER_SAVE,
597
+ children: /* @__PURE__ */ jsxRuntime.jsx(Check.CheckIcon, {
598
+ className: "lb-button-icon"
599
+ })
600
+ })
601
+ })
602
+ })
603
+ ]
604
+ }),
605
+ overrides: {
606
+ COMPOSER_PLACEHOLDER: $.COMMENT_EDIT_COMPOSER_PLACEHOLDER
607
+ },
608
+ roomId: comment.roomId
609
+ }) : comment.body ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
610
+ children: [
611
+ /* @__PURE__ */ jsxRuntime.jsx(index$1.Body, {
612
+ className: "lb-comment-body",
613
+ body: comment.body,
614
+ components: {
615
+ Mention: ({ userId }) => /* @__PURE__ */ jsxRuntime.jsx(CommentMention, {
616
+ userId,
617
+ onClick: (event) => onMentionClick?.(userId, event)
618
+ }),
619
+ Link: CommentLink
620
+ }
621
+ }),
622
+ showAttachments && (mediaAttachments.length > 0 || fileAttachments.length > 0) ? /* @__PURE__ */ jsxRuntime.jsxs("div", {
623
+ className: "lb-comment-attachments",
624
+ children: [
625
+ mediaAttachments.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", {
626
+ className: "lb-attachments",
627
+ children: mediaAttachments.map((attachment) => /* @__PURE__ */ jsxRuntime.jsx(CommentMediaAttachment, {
628
+ attachment,
629
+ overrides: overrides$1,
630
+ onAttachmentClick,
631
+ roomId: comment.roomId
632
+ }, attachment.id))
633
+ }) : null,
634
+ fileAttachments.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", {
635
+ className: "lb-attachments",
636
+ children: fileAttachments.map((attachment) => /* @__PURE__ */ jsxRuntime.jsx(CommentFileAttachment, {
637
+ attachment,
638
+ overrides: overrides$1,
639
+ onAttachmentClick,
640
+ roomId: comment.roomId
641
+ }, attachment.id))
642
+ }) : null
643
+ ]
644
+ }) : null,
645
+ showReactions && comment.reactions.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", {
646
+ className: "lb-comment-reactions",
647
+ children: [
648
+ comment.reactions.map((reaction) => /* @__PURE__ */ jsxRuntime.jsx(CommentReaction, {
649
+ comment,
650
+ reaction,
651
+ overrides: overrides$1
652
+ }, reaction.emoji)),
653
+ /* @__PURE__ */ jsxRuntime.jsx(EmojiPicker.EmojiPicker, {
654
+ onEmojiSelect: handleReactionSelect,
655
+ children: /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Tooltip, {
656
+ content: $.COMMENT_ADD_REACTION,
657
+ children: /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive.PopoverTrigger, {
658
+ asChild: true,
659
+ children: /* @__PURE__ */ jsxRuntime.jsx(Button.Button, {
660
+ className: "lb-comment-reaction lb-comment-reaction-add",
661
+ variant: "outline",
662
+ onClick: stopPropagation,
663
+ "aria-label": $.COMMENT_ADD_REACTION,
664
+ children: /* @__PURE__ */ jsxRuntime.jsx(EmojiAdd.EmojiAddIcon, {
665
+ className: "lb-button-icon"
666
+ })
667
+ })
668
+ })
669
+ })
670
+ })
671
+ ]
672
+ })
673
+ ]
674
+ }) : /* @__PURE__ */ jsxRuntime.jsx("div", {
675
+ className: "lb-comment-body",
676
+ children: /* @__PURE__ */ jsxRuntime.jsx("p", {
677
+ className: "lb-comment-deleted",
678
+ children: $.COMMENT_DELETED
679
+ })
680
+ })
681
+ })
682
+ ]
683
+ })
684
+ ]
685
+ });
585
686
  }
586
687
  );
587
688