@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.
- package/dist/_private/index.d.mts +24 -22
- package/dist/_private/index.d.ts +24 -22
- package/dist/components/Comment.js +355 -254
- package/dist/components/Comment.js.map +1 -1
- package/dist/components/Comment.mjs +330 -229
- package/dist/components/Comment.mjs.map +1 -1
- package/dist/components/Composer.js +305 -224
- package/dist/components/Composer.js.map +1 -1
- package/dist/components/Composer.mjs +281 -200
- package/dist/components/Composer.mjs.map +1 -1
- package/dist/components/HistoryVersionSummary.js +25 -22
- package/dist/components/HistoryVersionSummary.js.map +1 -1
- package/dist/components/HistoryVersionSummary.mjs +24 -21
- package/dist/components/HistoryVersionSummary.mjs.map +1 -1
- package/dist/components/HistoryVersionSummaryList.js +10 -9
- package/dist/components/HistoryVersionSummaryList.js.map +1 -1
- package/dist/components/HistoryVersionSummaryList.mjs +9 -8
- package/dist/components/HistoryVersionSummaryList.mjs.map +1 -1
- package/dist/components/InboxNotification.js +201 -143
- package/dist/components/InboxNotification.js.map +1 -1
- package/dist/components/InboxNotification.mjs +179 -121
- package/dist/components/InboxNotification.mjs.map +1 -1
- package/dist/components/InboxNotificationList.js +18 -14
- package/dist/components/InboxNotificationList.js.map +1 -1
- package/dist/components/InboxNotificationList.mjs +16 -12
- package/dist/components/InboxNotificationList.mjs.map +1 -1
- package/dist/components/Thread.js +103 -86
- package/dist/components/Thread.js.map +1 -1
- package/dist/components/Thread.mjs +92 -75
- package/dist/components/Thread.mjs.map +1 -1
- package/dist/components/internal/Attachment.js +158 -107
- package/dist/components/internal/Attachment.js.map +1 -1
- package/dist/components/internal/Attachment.mjs +147 -96
- package/dist/components/internal/Attachment.mjs.map +1 -1
- package/dist/components/internal/Attribution.js +15 -13
- package/dist/components/internal/Attribution.js.map +1 -1
- package/dist/components/internal/Attribution.mjs +15 -13
- package/dist/components/internal/Attribution.mjs.map +1 -1
- package/dist/components/internal/Avatar.js +26 -20
- package/dist/components/internal/Avatar.js.map +1 -1
- package/dist/components/internal/Avatar.mjs +22 -16
- package/dist/components/internal/Avatar.mjs.map +1 -1
- package/dist/components/internal/Button.js +4 -4
- package/dist/components/internal/Button.js.map +1 -1
- package/dist/components/internal/Button.mjs +3 -3
- package/dist/components/internal/Button.mjs.map +1 -1
- package/dist/components/internal/Dropdown.js +26 -19
- package/dist/components/internal/Dropdown.js.map +1 -1
- package/dist/components/internal/Dropdown.mjs +25 -18
- package/dist/components/internal/Dropdown.mjs.map +1 -1
- package/dist/components/internal/Emoji.js +4 -3
- package/dist/components/internal/Emoji.js.map +1 -1
- package/dist/components/internal/Emoji.mjs +3 -2
- package/dist/components/internal/Emoji.mjs.map +1 -1
- package/dist/components/internal/EmojiPicker.js +96 -72
- package/dist/components/internal/EmojiPicker.js.map +1 -1
- package/dist/components/internal/EmojiPicker.mjs +90 -66
- package/dist/components/internal/EmojiPicker.mjs.map +1 -1
- package/dist/components/internal/Icon.js +5 -4
- package/dist/components/internal/Icon.js.map +1 -1
- package/dist/components/internal/Icon.mjs +5 -4
- package/dist/components/internal/Icon.mjs.map +1 -1
- package/dist/components/internal/InboxNotificationThread.js +53 -38
- package/dist/components/internal/InboxNotificationThread.js.map +1 -1
- package/dist/components/internal/InboxNotificationThread.mjs +53 -38
- package/dist/components/internal/InboxNotificationThread.mjs.map +1 -1
- package/dist/components/internal/List.js +8 -6
- package/dist/components/internal/List.js.map +1 -1
- package/dist/components/internal/List.mjs +6 -4
- package/dist/components/internal/List.mjs.map +1 -1
- package/dist/components/internal/Room.js +7 -6
- package/dist/components/internal/Room.js.map +1 -1
- package/dist/components/internal/Room.mjs +6 -5
- package/dist/components/internal/Room.mjs.map +1 -1
- package/dist/components/internal/Tooltip.js +48 -33
- package/dist/components/internal/Tooltip.js.map +1 -1
- package/dist/components/internal/Tooltip.mjs +45 -30
- package/dist/components/internal/Tooltip.mjs.map +1 -1
- package/dist/components/internal/User.js +7 -6
- package/dist/components/internal/User.js.map +1 -1
- package/dist/components/internal/User.mjs +6 -5
- package/dist/components/internal/User.mjs.map +1 -1
- package/dist/components.js +11 -29
- package/dist/components.js.map +1 -1
- package/dist/components.mjs +5 -5
- package/dist/components.mjs.map +1 -1
- package/dist/config.js +15 -12
- package/dist/config.js.map +1 -1
- package/dist/config.mjs +12 -9
- package/dist/config.mjs.map +1 -1
- package/dist/icons/ArrowDown.js +7 -6
- package/dist/icons/ArrowDown.js.map +1 -1
- package/dist/icons/ArrowDown.mjs +7 -6
- package/dist/icons/ArrowDown.mjs.map +1 -1
- package/dist/icons/ArrowUp.js +7 -6
- package/dist/icons/ArrowUp.js.map +1 -1
- package/dist/icons/ArrowUp.mjs +7 -6
- package/dist/icons/ArrowUp.mjs.map +1 -1
- package/dist/icons/Attachment.js +7 -6
- package/dist/icons/Attachment.js.map +1 -1
- package/dist/icons/Attachment.mjs +7 -6
- package/dist/icons/Attachment.mjs.map +1 -1
- package/dist/icons/Bold.js +7 -6
- package/dist/icons/Bold.js.map +1 -1
- package/dist/icons/Bold.mjs +7 -6
- package/dist/icons/Bold.mjs.map +1 -1
- package/dist/icons/Check.js +7 -6
- package/dist/icons/Check.js.map +1 -1
- package/dist/icons/Check.mjs +7 -6
- package/dist/icons/Check.mjs.map +1 -1
- package/dist/icons/Code.js +7 -6
- package/dist/icons/Code.js.map +1 -1
- package/dist/icons/Code.mjs +7 -6
- package/dist/icons/Code.mjs.map +1 -1
- package/dist/icons/Cross.js +12 -8
- package/dist/icons/Cross.js.map +1 -1
- package/dist/icons/Cross.mjs +12 -8
- package/dist/icons/Cross.mjs.map +1 -1
- package/dist/icons/Delete.js +7 -6
- package/dist/icons/Delete.js.map +1 -1
- package/dist/icons/Delete.mjs +7 -6
- package/dist/icons/Delete.mjs.map +1 -1
- package/dist/icons/Edit.js +7 -6
- package/dist/icons/Edit.js.map +1 -1
- package/dist/icons/Edit.mjs +7 -6
- package/dist/icons/Edit.mjs.map +1 -1
- package/dist/icons/Ellipsis.js +21 -16
- package/dist/icons/Ellipsis.js.map +1 -1
- package/dist/icons/Ellipsis.mjs +21 -16
- package/dist/icons/Ellipsis.mjs.map +1 -1
- package/dist/icons/Emoji.js +25 -18
- package/dist/icons/Emoji.js.map +1 -1
- package/dist/icons/Emoji.mjs +25 -18
- package/dist/icons/Emoji.mjs.map +1 -1
- package/dist/icons/EmojiAdd.js +28 -20
- package/dist/icons/EmojiAdd.js.map +1 -1
- package/dist/icons/EmojiAdd.mjs +28 -20
- package/dist/icons/EmojiAdd.mjs.map +1 -1
- package/dist/icons/Italic.js +7 -6
- package/dist/icons/Italic.js.map +1 -1
- package/dist/icons/Italic.mjs +7 -6
- package/dist/icons/Italic.mjs.map +1 -1
- package/dist/icons/Mention.js +12 -8
- package/dist/icons/Mention.js.map +1 -1
- package/dist/icons/Mention.mjs +12 -8
- package/dist/icons/Mention.mjs.map +1 -1
- package/dist/icons/Resolve.js +14 -10
- package/dist/icons/Resolve.js.map +1 -1
- package/dist/icons/Resolve.mjs +14 -10
- package/dist/icons/Resolve.mjs.map +1 -1
- package/dist/icons/Resolved.js +16 -12
- package/dist/icons/Resolved.js.map +1 -1
- package/dist/icons/Resolved.mjs +16 -12
- package/dist/icons/Resolved.mjs.map +1 -1
- package/dist/icons/Restore.js +12 -8
- package/dist/icons/Restore.js.map +1 -1
- package/dist/icons/Restore.mjs +12 -8
- package/dist/icons/Restore.mjs.map +1 -1
- package/dist/icons/Search.js +7 -6
- package/dist/icons/Search.js.map +1 -1
- package/dist/icons/Search.mjs +7 -6
- package/dist/icons/Search.mjs.map +1 -1
- package/dist/icons/Send.js +7 -6
- package/dist/icons/Send.js.map +1 -1
- package/dist/icons/Send.mjs +7 -6
- package/dist/icons/Send.mjs.map +1 -1
- package/dist/icons/Spinner.js +8 -7
- package/dist/icons/Spinner.js.map +1 -1
- package/dist/icons/Spinner.mjs +8 -7
- package/dist/icons/Spinner.mjs.map +1 -1
- package/dist/icons/Strikethrough.js +7 -6
- package/dist/icons/Strikethrough.js.map +1 -1
- package/dist/icons/Strikethrough.mjs +7 -6
- package/dist/icons/Strikethrough.mjs.map +1 -1
- package/dist/icons/Warning.js +14 -10
- package/dist/icons/Warning.js.map +1 -1
- package/dist/icons/Warning.mjs +14 -10
- package/dist/icons/Warning.mjs.map +1 -1
- package/dist/index.d.mts +14 -12
- package/dist/index.d.ts +14 -12
- package/dist/overrides.js +64 -36
- package/dist/overrides.js.map +1 -1
- package/dist/overrides.mjs +58 -12
- package/dist/overrides.mjs.map +1 -1
- package/dist/primitives/Comment/index.js +75 -66
- package/dist/primitives/Comment/index.js.map +1 -1
- package/dist/primitives/Comment/index.mjs +71 -62
- package/dist/primitives/Comment/index.mjs.map +1 -1
- package/dist/primitives/Composer/contexts.js +11 -11
- package/dist/primitives/Composer/index.js +329 -271
- package/dist/primitives/Composer/index.js.map +1 -1
- package/dist/primitives/Composer/index.mjs +254 -196
- package/dist/primitives/Composer/index.mjs.map +1 -1
- package/dist/primitives/Composer/utils.js +18 -20
- package/dist/primitives/Composer/utils.js.map +1 -1
- package/dist/primitives/Composer/utils.mjs +1 -3
- package/dist/primitives/Composer/utils.mjs.map +1 -1
- package/dist/primitives/EmojiPicker/contexts.js +3 -3
- package/dist/primitives/EmojiPicker/index.js +159 -142
- package/dist/primitives/EmojiPicker/index.js.map +1 -1
- package/dist/primitives/EmojiPicker/index.mjs +120 -103
- package/dist/primitives/EmojiPicker/index.mjs.map +1 -1
- package/dist/primitives/FileSize.js +8 -7
- package/dist/primitives/FileSize.js.map +1 -1
- package/dist/primitives/FileSize.mjs +6 -5
- package/dist/primitives/FileSize.mjs.map +1 -1
- package/dist/primitives/Timestamp.js +11 -10
- package/dist/primitives/Timestamp.js.map +1 -1
- package/dist/primitives/Timestamp.mjs +6 -5
- package/dist/primitives/Timestamp.mjs.map +1 -1
- package/dist/primitives/index.d.mts +24 -23
- package/dist/primitives/index.d.ts +24 -23
- package/dist/primitives/internal/Emoji.js +7 -5
- package/dist/primitives/internal/Emoji.js.map +1 -1
- package/dist/primitives/internal/Emoji.mjs +6 -4
- package/dist/primitives/internal/Emoji.mjs.map +1 -1
- package/dist/shared.js +2 -7
- package/dist/shared.js.map +1 -1
- package/dist/shared.mjs +2 -7
- package/dist/shared.mjs.map +1 -1
- package/dist/utils/Persist.js +18 -18
- package/dist/utils/Persist.js.map +1 -1
- package/dist/utils/Persist.mjs +6 -6
- package/dist/utils/Persist.mjs.map +1 -1
- package/dist/utils/Portal.js +4 -4
- package/dist/utils/Portal.js.map +1 -1
- package/dist/utils/Portal.mjs +3 -3
- package/dist/utils/Portal.mjs.map +1 -1
- package/dist/utils/use-controllable-state.js +5 -5
- package/dist/utils/use-index.js +7 -7
- package/dist/utils/use-initial.js +2 -2
- package/dist/utils/use-interval.js +4 -4
- package/dist/utils/use-latest.js +3 -3
- package/dist/utils/use-observable.js +2 -2
- package/dist/utils/use-refs.js +2 -2
- package/dist/utils/use-rerender.js +2 -2
- package/dist/utils/use-visible.js +2 -2
- package/dist/utils/use-window-focus.js +2 -2
- package/dist/utils/use-window-focus.js.map +1 -1
- package/dist/utils/use-window-focus.mjs +1 -1
- package/dist/utils/use-window-focus.mjs.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/dist/version.mjs +1 -1
- package/dist/version.mjs.map +1 -1
- package/package.json +6 -8
- package/dist/utils/use-id.js +0 -29
- package/dist/utils/use-id.js.map +0 -1
- package/dist/utils/use-id.mjs +0 -27
- package/dist/utils/use-id.mjs.map +0 -1
- package/dist/utils/use-layout-effect.js +0 -8
- package/dist/utils/use-layout-effect.js.map +0 -1
- package/dist/utils/use-layout-effect.mjs +0 -6
- package/dist/utils/use-layout-effect.mjs.map +0 -1
- package/dist/utils/use-transition.js +0 -16
- package/dist/utils/use-transition.js.map +0 -1
- package/dist/utils/use-transition.mjs +0 -14
- 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
|
|
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__ */
|
|
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
|
-
|
|
69
|
-
|
|
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__ */
|
|
82
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index$1.Link, {
|
|
79
83
|
className: classNames.classNames("lb-comment-link", className),
|
|
80
84
|
href,
|
|
81
|
-
...props
|
|
82
|
-
|
|
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__ */
|
|
95
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", {
|
|
91
96
|
className: classNames.classNames("lb-comment-link", className),
|
|
92
|
-
...props
|
|
93
|
-
|
|
97
|
+
...props,
|
|
98
|
+
children
|
|
99
|
+
});
|
|
94
100
|
}
|
|
95
|
-
const CommentReactionButton =
|
|
101
|
+
const CommentReactionButton = react.forwardRef(({ reaction, overrides: overrides$1, className, ...props }, forwardedRef) => {
|
|
96
102
|
const $ = overrides.useOverrides(overrides$1);
|
|
97
|
-
return /* @__PURE__ */
|
|
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
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
122
|
-
() => /* @__PURE__ */
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
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 =
|
|
150
|
+
const stopPropagation = react.useCallback((event) => {
|
|
139
151
|
event.stopPropagation();
|
|
140
152
|
}, []);
|
|
141
|
-
const handlePressedChange =
|
|
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__ */
|
|
171
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Tooltip, {
|
|
160
172
|
content: tooltipContent,
|
|
161
173
|
multiline: true,
|
|
162
|
-
className: "lb-comment-reaction-tooltip"
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
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 =
|
|
191
|
+
const CommentNonInteractiveReaction = react.forwardRef(({ reaction, overrides, ...props }, forwardedRef) => {
|
|
178
192
|
const currentId = shared.useCurrentUserId();
|
|
179
|
-
const isActive =
|
|
193
|
+
const isActive = react.useMemo(() => {
|
|
180
194
|
return reaction.users.some((users) => users.id === currentId);
|
|
181
195
|
}, [currentId, reaction]);
|
|
182
|
-
return /* @__PURE__ */
|
|
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 =
|
|
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__ */
|
|
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 =
|
|
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__ */
|
|
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__ */
|
|
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 =
|
|
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 =
|
|
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] =
|
|
320
|
-
const [isTarget, setTarget] =
|
|
321
|
-
const [isMoreActionOpen, setMoreActionOpen] =
|
|
322
|
-
const [isReactionActionOpen, setReactionActionOpen] =
|
|
323
|
-
const { mediaAttachments, fileAttachments } =
|
|
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 =
|
|
340
|
+
const stopPropagation = react.useCallback((event) => {
|
|
327
341
|
event.stopPropagation();
|
|
328
342
|
}, []);
|
|
329
|
-
const handleEdit =
|
|
343
|
+
const handleEdit = react.useCallback(() => {
|
|
330
344
|
setEditing(true);
|
|
331
345
|
}, []);
|
|
332
|
-
const handleEditCancel =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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__ */
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
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
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
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
|
|