@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
package/dist/overrides.js CHANGED
@@ -1,30 +1,11 @@
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('react');
5
+ var react = require('react');
6
6
  var Emoji = require('./components/internal/Emoji.js');
7
7
  var pluralize = require('./utils/pluralize.js');
8
8
 
9
- function _interopNamespaceDefault(e) {
10
- var n = Object.create(null);
11
- if (e) {
12
- Object.keys(e).forEach(function (k) {
13
- if (k !== 'default') {
14
- var d = Object.getOwnPropertyDescriptor(e, k);
15
- Object.defineProperty(n, k, d.get ? d : {
16
- enumerable: true,
17
- get: function () { return e[k]; }
18
- });
19
- }
20
- });
21
- }
22
- n.default = e;
23
- return Object.freeze(n);
24
- }
25
-
26
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
27
-
28
9
  const defaultOverrides = {
29
10
  locale: "en",
30
11
  dir: "ltr",
@@ -68,9 +49,15 @@ const defaultOverrides = {
68
49
  COMMENT_DELETE: "Delete comment",
69
50
  COMMENT_DELETE_ATTACHMENT: "Delete attachment",
70
51
  COMMENT_ADD_REACTION: "Add reaction",
71
- COMMENT_REACTION_LIST: (list, emoji) => /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, list, " reacted with ", /* @__PURE__ */ React__namespace.createElement(Emoji.Emoji, {
72
- emoji
73
- })),
52
+ COMMENT_REACTION_LIST: (list, emoji) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
53
+ children: [
54
+ list,
55
+ " reacted with ",
56
+ /* @__PURE__ */ jsxRuntime.jsx(Emoji.Emoji, {
57
+ emoji
58
+ })
59
+ ]
60
+ }),
74
61
  COMMENT_REACTION_DESCRIPTION: (emoji, count) => `${count} ${pluralize.pluralize(count, "reaction")}, react with ${emoji}`,
75
62
  THREAD_RESOLVE: "Resolve thread",
76
63
  THREAD_UNRESOLVE: "Re-open thread",
@@ -81,18 +68,58 @@ const defaultOverrides = {
81
68
  INBOX_NOTIFICATION_MORE: "More",
82
69
  INBOX_NOTIFICATION_MARK_AS_READ: "Mark as read",
83
70
  INBOX_NOTIFICATION_DELETE: "Delete notification",
84
- INBOX_NOTIFICATION_THREAD_COMMENTS_LIST: (list, room) => /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, list, " commented", room ? /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, " in ", room) : /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, " in a thread")),
85
- INBOX_NOTIFICATION_THREAD_MENTION: (user, room) => /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, user, " mentioned you", room ? /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, " in ", room) : null),
86
- INBOX_NOTIFICATION_TEXT_MENTION: (user, room) => /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, user, " mentioned you", room ? /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, " in ", room) : null),
87
- HISTORY_VERSION_PREVIEW_AUTHORS_LIST: (list) => /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, "Edits from ", list),
71
+ INBOX_NOTIFICATION_THREAD_COMMENTS_LIST: (list, room) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
72
+ children: [
73
+ list,
74
+ " commented",
75
+ room ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
76
+ children: [
77
+ " in ",
78
+ room
79
+ ]
80
+ }) : /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {
81
+ children: " in a thread"
82
+ })
83
+ ]
84
+ }),
85
+ INBOX_NOTIFICATION_THREAD_MENTION: (user, room) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
86
+ children: [
87
+ user,
88
+ " mentioned you",
89
+ room ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
90
+ children: [
91
+ " in ",
92
+ room
93
+ ]
94
+ }) : null
95
+ ]
96
+ }),
97
+ INBOX_NOTIFICATION_TEXT_MENTION: (user, room) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
98
+ children: [
99
+ user,
100
+ " mentioned you",
101
+ room ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
102
+ children: [
103
+ " in ",
104
+ room
105
+ ]
106
+ }) : null
107
+ ]
108
+ }),
109
+ HISTORY_VERSION_PREVIEW_AUTHORS_LIST: (list) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
110
+ children: [
111
+ "Edits from ",
112
+ list
113
+ ]
114
+ }),
88
115
  HISTORY_VERSION_PREVIEW_RESTORE: "Restore",
89
116
  HISTORY_VERSION_PREVIEW_EMPTY: "No content.",
90
117
  HISTORY_VERSION_PREVIEW_ERROR: () => "There was an error while getting this version."
91
118
  };
92
- const OverridesContext = React.createContext(void 0);
119
+ const OverridesContext = react.createContext(void 0);
93
120
  function useOverrides(overrides) {
94
- const contextOverrides = React.useContext(OverridesContext);
95
- return React.useMemo(
121
+ const contextOverrides = react.useContext(OverridesContext);
122
+ return react.useMemo(
96
123
  () => ({
97
124
  ...defaultOverrides,
98
125
  ...contextOverrides,
@@ -105,8 +132,8 @@ function OverridesProvider({
105
132
  children,
106
133
  overrides: providerOverrides
107
134
  }) {
108
- const contextOverrides = React.useContext(OverridesContext);
109
- const overrides = React.useMemo(
135
+ const contextOverrides = react.useContext(OverridesContext);
136
+ const overrides = react.useMemo(
110
137
  () => ({
111
138
  ...defaultOverrides,
112
139
  ...contextOverrides,
@@ -114,9 +141,10 @@ function OverridesProvider({
114
141
  }),
115
142
  [contextOverrides, providerOverrides]
116
143
  );
117
- return /* @__PURE__ */ React__namespace.createElement(OverridesContext.Provider, {
118
- value: overrides
119
- }, children);
144
+ return /* @__PURE__ */ jsxRuntime.jsx(OverridesContext.Provider, {
145
+ value: overrides,
146
+ children
147
+ });
120
148
  }
121
149
 
122
150
  exports.OverridesContext = OverridesContext;
@@ -1 +1 @@
1
- {"version":3,"file":"overrides.js","sources":["../src/overrides.tsx"],"sourcesContent":["\"use client\";\n\nimport { assertNever } from \"@liveblocks/core\";\nimport type { PropsWithChildren, ReactNode } from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\nimport * as React from \"react\";\n\nimport { Emoji } from \"./components/internal/Emoji\";\nimport type { ComposerBodyMark, Direction } from \"./types\";\nimport { pluralize } from \"./utils/pluralize\";\n\nexport interface LocalizationOverrides {\n locale: string;\n dir: Direction;\n}\n\nexport interface GlobalOverrides {\n USER_SELF: string;\n USER_UNKNOWN: string;\n LIST_REMAINING: (count: number) => string;\n LIST_REMAINING_USERS: (count: number) => string;\n LIST_REMAINING_COMMENTS: (count: number) => string;\n EMOJI_PICKER_SEARCH_PLACEHOLDER: string;\n EMOJI_PICKER_EMPTY: ReactNode;\n EMOJI_PICKER_ERROR: (error: Error) => ReactNode;\n ATTACHMENT_TOO_LARGE: (maxSize?: string) => string;\n ATTACHMENT_ERROR: (error: Error) => string;\n}\n\nexport interface CommentOverrides {\n COMMENT_EDITED: ReactNode;\n COMMENT_DELETED: ReactNode;\n COMMENT_MORE: string;\n COMMENT_EDIT: string;\n COMMENT_EDIT_COMPOSER_PLACEHOLDER: string;\n COMMENT_EDIT_COMPOSER_CANCEL: string;\n COMMENT_EDIT_COMPOSER_SAVE: string;\n COMMENT_DELETE: string;\n COMMENT_DELETE_ATTACHMENT: string;\n COMMENT_ADD_REACTION: string;\n COMMENT_REACTION_LIST: (\n list: ReactNode,\n emoji: string,\n count: number\n ) => ReactNode;\n COMMENT_REACTION_DESCRIPTION: (emoji: string, count: number) => string;\n}\n\nexport interface ComposerOverrides {\n COMPOSER_INSERT_MENTION: string;\n COMPOSER_INSERT_EMOJI: string;\n COMPOSER_ATTACH_FILES: string;\n COMPOSER_REMOVE_ATTACHMENT: string;\n COMPOSER_PLACEHOLDER: string;\n COMPOSER_SEND: string;\n COMPOSER_TOGGLE_MARK: (mark: ComposerBodyMark) => string;\n}\n\nexport interface ThreadOverrides {\n THREAD_RESOLVE: string;\n THREAD_UNRESOLVE: string;\n THREAD_NEW_INDICATOR: string;\n THREAD_NEW_INDICATOR_DESCRIPTION: string;\n THREAD_COMPOSER_PLACEHOLDER: string;\n THREAD_COMPOSER_SEND: string;\n}\n\nexport interface InboxNotificationOverrides {\n INBOX_NOTIFICATION_MORE: string;\n INBOX_NOTIFICATION_MARK_AS_READ: string;\n INBOX_NOTIFICATION_DELETE: string;\n INBOX_NOTIFICATION_THREAD_COMMENTS_LIST: (\n list: ReactNode,\n room: ReactNode | undefined,\n count: number\n ) => ReactNode;\n INBOX_NOTIFICATION_THREAD_MENTION: (\n user: ReactNode,\n room: ReactNode | undefined\n ) => ReactNode;\n INBOX_NOTIFICATION_TEXT_MENTION: (\n user: ReactNode,\n room: ReactNode | undefined\n ) => ReactNode;\n}\n\nexport interface HistoryVersionPreviewOverrides {\n HISTORY_VERSION_PREVIEW_AUTHORS_LIST: (list: ReactNode) => ReactNode;\n HISTORY_VERSION_PREVIEW_RESTORE: string;\n HISTORY_VERSION_PREVIEW_EMPTY: ReactNode;\n HISTORY_VERSION_PREVIEW_ERROR: (error: Error) => ReactNode;\n}\n\nexport type Overrides = LocalizationOverrides &\n GlobalOverrides &\n ComposerOverrides &\n CommentOverrides &\n ThreadOverrides &\n InboxNotificationOverrides &\n HistoryVersionPreviewOverrides;\n\ntype OverridesProviderProps = PropsWithChildren<{\n overrides?: Partial<Overrides>;\n}>;\n\nexport const defaultOverrides: Overrides = {\n locale: \"en\",\n dir: \"ltr\",\n USER_SELF: \"you\",\n USER_UNKNOWN: \"Anonymous\",\n LIST_REMAINING: (count) => `${count} more`,\n LIST_REMAINING_USERS: (count) => `${count} ${pluralize(count, \"other\")}`,\n LIST_REMAINING_COMMENTS: (count) =>\n `${count} more ${pluralize(count, \"comment\")}`,\n EMOJI_PICKER_SEARCH_PLACEHOLDER: \"Search…\",\n EMOJI_PICKER_EMPTY: \"No emoji found.\",\n EMOJI_PICKER_ERROR: () =>\n \"There was an error while getting the list of emoji.\",\n ATTACHMENT_TOO_LARGE: (maxSize) =>\n maxSize ? `The file is larger than ${maxSize}` : \"The file is too large\",\n ATTACHMENT_ERROR: () => \"The file couldn’t be uploaded.\",\n COMPOSER_INSERT_MENTION: \"Mention someone\",\n COMPOSER_INSERT_EMOJI: \"Add emoji\",\n COMPOSER_ATTACH_FILES: \"Attach files\",\n COMPOSER_REMOVE_ATTACHMENT: \"Remove attachment\",\n COMPOSER_PLACEHOLDER: \"Write a comment…\",\n COMPOSER_SEND: \"Send\",\n COMPOSER_TOGGLE_MARK: (format) => {\n switch (format) {\n case \"bold\":\n return \"Bold\";\n case \"italic\":\n return \"Italic\";\n case \"strikethrough\":\n return \"Strikethrough\";\n case \"code\":\n return \"Inline code\";\n default:\n return assertNever(format, \"Unexpected mark\");\n }\n },\n COMMENT_EDITED: \"(edited)\",\n COMMENT_DELETED: \"This comment has been deleted.\",\n COMMENT_MORE: \"More\",\n COMMENT_EDIT: \"Edit comment\",\n COMMENT_EDIT_COMPOSER_PLACEHOLDER: \"Edit comment…\",\n COMMENT_EDIT_COMPOSER_CANCEL: \"Cancel\",\n COMMENT_EDIT_COMPOSER_SAVE: \"Save\",\n COMMENT_DELETE: \"Delete comment\",\n COMMENT_DELETE_ATTACHMENT: \"Delete attachment\",\n COMMENT_ADD_REACTION: \"Add reaction\",\n COMMENT_REACTION_LIST: (list, emoji) => (\n <>\n {list} reacted with <Emoji emoji={emoji} />\n </>\n ),\n COMMENT_REACTION_DESCRIPTION: (emoji, count) =>\n `${count} ${pluralize(count, \"reaction\")}, react with ${emoji}`,\n THREAD_RESOLVE: \"Resolve thread\",\n THREAD_UNRESOLVE: \"Re-open thread\",\n THREAD_NEW_INDICATOR: \"New\",\n THREAD_NEW_INDICATOR_DESCRIPTION: \"New comments\",\n THREAD_COMPOSER_PLACEHOLDER: \"Reply to thread…\",\n THREAD_COMPOSER_SEND: \"Reply\",\n INBOX_NOTIFICATION_MORE: \"More\",\n INBOX_NOTIFICATION_MARK_AS_READ: \"Mark as read\",\n INBOX_NOTIFICATION_DELETE: \"Delete notification\",\n INBOX_NOTIFICATION_THREAD_COMMENTS_LIST: (\n list: ReactNode,\n room: ReactNode\n ) => (\n <>\n {list} commented\n {room ? <> in {room}</> : <> in a thread</>}\n </>\n ),\n INBOX_NOTIFICATION_THREAD_MENTION: (user: ReactNode, room: ReactNode) => (\n <>\n {user} mentioned you{room ? <> in {room}</> : null}\n </>\n ),\n INBOX_NOTIFICATION_TEXT_MENTION: (user: ReactNode, room: ReactNode) => (\n <>\n {user} mentioned you{room ? <> in {room}</> : null}\n </>\n ),\n HISTORY_VERSION_PREVIEW_AUTHORS_LIST: (list: ReactNode) => (\n <>Edits from {list}</>\n ),\n HISTORY_VERSION_PREVIEW_RESTORE: \"Restore\",\n HISTORY_VERSION_PREVIEW_EMPTY: \"No content.\",\n HISTORY_VERSION_PREVIEW_ERROR: () =>\n \"There was an error while getting this version.\",\n};\n\nexport const OverridesContext = createContext<Overrides | undefined>(undefined);\n\nexport function useOverrides(overrides?: Partial<Overrides>): Overrides {\n const contextOverrides = useContext(OverridesContext);\n\n return useMemo(\n () => ({\n ...defaultOverrides,\n ...contextOverrides,\n ...overrides,\n }),\n [contextOverrides, overrides]\n );\n}\n\nexport function OverridesProvider({\n children,\n overrides: providerOverrides,\n}: OverridesProviderProps) {\n const contextOverrides = useContext(OverridesContext);\n const overrides = useMemo(\n () => ({\n ...defaultOverrides,\n ...contextOverrides,\n ...providerOverrides,\n }),\n [contextOverrides, providerOverrides]\n );\n\n return (\n <OverridesContext.Provider value={overrides}>\n {children}\n </OverridesContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAyGO;AAAoC;AACjC;AACH;AACM;AACG;AACgB;AACuC;AAExB;AACZ;AACb;AAElB;AAEiD;AAC3B;AACC;AACF;AACA;AACK;AACN;AACP;AAEb;AAAgB;AAEZ;AAAO;AAEP;AAAO;AAEP;AAAO;AAEP;AAAO;AAEP;AAA4C;AAChD;AACF;AACgB;AACC;AACH;AACA;AACqB;AACL;AACF;AACZ;AACW;AACL;AAGG;AAAM;AAC7B;AAGwD;AAC1C;AACE;AACI;AACY;AACL;AACP;AACG;AACQ;AACN;AAQzB;AAKA;AAKA;AAGmB;AAEY;AACF;AAGjC;AAEa;AAEN;AACL;AAEA;AAAO;AACE;AACF;AACA;AACA;AACL;AAC4B;AAEhC;AAEO;AAA2B;AAChC;AAEF;AACE;AACA;AAAkB;AACT;AACF;AACA;AACA;AACL;AACoC;AAGtC;AACG;AAAiC;AAItC;;;;;"}
1
+ {"version":3,"file":"overrides.js","sources":["../src/overrides.tsx"],"sourcesContent":["\"use client\";\n\nimport { assertNever } from \"@liveblocks/core\";\nimport type { PropsWithChildren, ReactNode } from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\n\nimport { Emoji } from \"./components/internal/Emoji\";\nimport type { ComposerBodyMark, Direction } from \"./types\";\nimport { pluralize } from \"./utils/pluralize\";\n\nexport interface LocalizationOverrides {\n locale: string;\n dir: Direction;\n}\n\nexport interface GlobalOverrides {\n USER_SELF: string;\n USER_UNKNOWN: string;\n LIST_REMAINING: (count: number) => string;\n LIST_REMAINING_USERS: (count: number) => string;\n LIST_REMAINING_COMMENTS: (count: number) => string;\n EMOJI_PICKER_SEARCH_PLACEHOLDER: string;\n EMOJI_PICKER_EMPTY: ReactNode;\n EMOJI_PICKER_ERROR: (error: Error) => ReactNode;\n ATTACHMENT_TOO_LARGE: (maxSize?: string) => string;\n ATTACHMENT_ERROR: (error: Error) => string;\n}\n\nexport interface CommentOverrides {\n COMMENT_EDITED: ReactNode;\n COMMENT_DELETED: ReactNode;\n COMMENT_MORE: string;\n COMMENT_EDIT: string;\n COMMENT_EDIT_COMPOSER_PLACEHOLDER: string;\n COMMENT_EDIT_COMPOSER_CANCEL: string;\n COMMENT_EDIT_COMPOSER_SAVE: string;\n COMMENT_DELETE: string;\n COMMENT_DELETE_ATTACHMENT: string;\n COMMENT_ADD_REACTION: string;\n COMMENT_REACTION_LIST: (\n list: ReactNode,\n emoji: string,\n count: number\n ) => ReactNode;\n COMMENT_REACTION_DESCRIPTION: (emoji: string, count: number) => string;\n}\n\nexport interface ComposerOverrides {\n COMPOSER_INSERT_MENTION: string;\n COMPOSER_INSERT_EMOJI: string;\n COMPOSER_ATTACH_FILES: string;\n COMPOSER_REMOVE_ATTACHMENT: string;\n COMPOSER_PLACEHOLDER: string;\n COMPOSER_SEND: string;\n COMPOSER_TOGGLE_MARK: (mark: ComposerBodyMark) => string;\n}\n\nexport interface ThreadOverrides {\n THREAD_RESOLVE: string;\n THREAD_UNRESOLVE: string;\n THREAD_NEW_INDICATOR: string;\n THREAD_NEW_INDICATOR_DESCRIPTION: string;\n THREAD_COMPOSER_PLACEHOLDER: string;\n THREAD_COMPOSER_SEND: string;\n}\n\nexport interface InboxNotificationOverrides {\n INBOX_NOTIFICATION_MORE: string;\n INBOX_NOTIFICATION_MARK_AS_READ: string;\n INBOX_NOTIFICATION_DELETE: string;\n INBOX_NOTIFICATION_THREAD_COMMENTS_LIST: (\n list: ReactNode,\n room: ReactNode | undefined,\n count: number\n ) => ReactNode;\n INBOX_NOTIFICATION_THREAD_MENTION: (\n user: ReactNode,\n room: ReactNode | undefined\n ) => ReactNode;\n INBOX_NOTIFICATION_TEXT_MENTION: (\n user: ReactNode,\n room: ReactNode | undefined\n ) => ReactNode;\n}\n\nexport interface HistoryVersionPreviewOverrides {\n HISTORY_VERSION_PREVIEW_AUTHORS_LIST: (list: ReactNode) => ReactNode;\n HISTORY_VERSION_PREVIEW_RESTORE: string;\n HISTORY_VERSION_PREVIEW_EMPTY: ReactNode;\n HISTORY_VERSION_PREVIEW_ERROR: (error: Error) => ReactNode;\n}\n\nexport type Overrides = LocalizationOverrides &\n GlobalOverrides &\n ComposerOverrides &\n CommentOverrides &\n ThreadOverrides &\n InboxNotificationOverrides &\n HistoryVersionPreviewOverrides;\n\ntype OverridesProviderProps = PropsWithChildren<{\n overrides?: Partial<Overrides>;\n}>;\n\nexport const defaultOverrides: Overrides = {\n locale: \"en\",\n dir: \"ltr\",\n USER_SELF: \"you\",\n USER_UNKNOWN: \"Anonymous\",\n LIST_REMAINING: (count) => `${count} more`,\n LIST_REMAINING_USERS: (count) => `${count} ${pluralize(count, \"other\")}`,\n LIST_REMAINING_COMMENTS: (count) =>\n `${count} more ${pluralize(count, \"comment\")}`,\n EMOJI_PICKER_SEARCH_PLACEHOLDER: \"Search…\",\n EMOJI_PICKER_EMPTY: \"No emoji found.\",\n EMOJI_PICKER_ERROR: () =>\n \"There was an error while getting the list of emoji.\",\n ATTACHMENT_TOO_LARGE: (maxSize) =>\n maxSize ? `The file is larger than ${maxSize}` : \"The file is too large\",\n ATTACHMENT_ERROR: () => \"The file couldn’t be uploaded.\",\n COMPOSER_INSERT_MENTION: \"Mention someone\",\n COMPOSER_INSERT_EMOJI: \"Add emoji\",\n COMPOSER_ATTACH_FILES: \"Attach files\",\n COMPOSER_REMOVE_ATTACHMENT: \"Remove attachment\",\n COMPOSER_PLACEHOLDER: \"Write a comment…\",\n COMPOSER_SEND: \"Send\",\n COMPOSER_TOGGLE_MARK: (format) => {\n switch (format) {\n case \"bold\":\n return \"Bold\";\n case \"italic\":\n return \"Italic\";\n case \"strikethrough\":\n return \"Strikethrough\";\n case \"code\":\n return \"Inline code\";\n default:\n return assertNever(format, \"Unexpected mark\");\n }\n },\n COMMENT_EDITED: \"(edited)\",\n COMMENT_DELETED: \"This comment has been deleted.\",\n COMMENT_MORE: \"More\",\n COMMENT_EDIT: \"Edit comment\",\n COMMENT_EDIT_COMPOSER_PLACEHOLDER: \"Edit comment…\",\n COMMENT_EDIT_COMPOSER_CANCEL: \"Cancel\",\n COMMENT_EDIT_COMPOSER_SAVE: \"Save\",\n COMMENT_DELETE: \"Delete comment\",\n COMMENT_DELETE_ATTACHMENT: \"Delete attachment\",\n COMMENT_ADD_REACTION: \"Add reaction\",\n COMMENT_REACTION_LIST: (list, emoji) => (\n <>\n {list} reacted with <Emoji emoji={emoji} />\n </>\n ),\n COMMENT_REACTION_DESCRIPTION: (emoji, count) =>\n `${count} ${pluralize(count, \"reaction\")}, react with ${emoji}`,\n THREAD_RESOLVE: \"Resolve thread\",\n THREAD_UNRESOLVE: \"Re-open thread\",\n THREAD_NEW_INDICATOR: \"New\",\n THREAD_NEW_INDICATOR_DESCRIPTION: \"New comments\",\n THREAD_COMPOSER_PLACEHOLDER: \"Reply to thread…\",\n THREAD_COMPOSER_SEND: \"Reply\",\n INBOX_NOTIFICATION_MORE: \"More\",\n INBOX_NOTIFICATION_MARK_AS_READ: \"Mark as read\",\n INBOX_NOTIFICATION_DELETE: \"Delete notification\",\n INBOX_NOTIFICATION_THREAD_COMMENTS_LIST: (\n list: ReactNode,\n room: ReactNode\n ) => (\n <>\n {list} commented\n {room ? <> in {room}</> : <> in a thread</>}\n </>\n ),\n INBOX_NOTIFICATION_THREAD_MENTION: (user: ReactNode, room: ReactNode) => (\n <>\n {user} mentioned you{room ? <> in {room}</> : null}\n </>\n ),\n INBOX_NOTIFICATION_TEXT_MENTION: (user: ReactNode, room: ReactNode) => (\n <>\n {user} mentioned you{room ? <> in {room}</> : null}\n </>\n ),\n HISTORY_VERSION_PREVIEW_AUTHORS_LIST: (list: ReactNode) => (\n <>Edits from {list}</>\n ),\n HISTORY_VERSION_PREVIEW_RESTORE: \"Restore\",\n HISTORY_VERSION_PREVIEW_EMPTY: \"No content.\",\n HISTORY_VERSION_PREVIEW_ERROR: () =>\n \"There was an error while getting this version.\",\n};\n\nexport const OverridesContext = createContext<Overrides | undefined>(undefined);\n\nexport function useOverrides(overrides?: Partial<Overrides>): Overrides {\n const contextOverrides = useContext(OverridesContext);\n\n return useMemo(\n () => ({\n ...defaultOverrides,\n ...contextOverrides,\n ...overrides,\n }),\n [contextOverrides, overrides]\n );\n}\n\nexport function OverridesProvider({\n children,\n overrides: providerOverrides,\n}: OverridesProviderProps) {\n const contextOverrides = useContext(OverridesContext);\n const overrides = useMemo(\n () => ({\n ...defaultOverrides,\n ...contextOverrides,\n ...providerOverrides,\n }),\n [contextOverrides, providerOverrides]\n );\n\n return (\n <OverridesContext.Provider value={overrides}>\n {children}\n </OverridesContext.Provider>\n );\n}\n"],"names":["pluralize","assertNever","jsxs","Fragment","jsx","Emoji","createContext","useContext","useMemo"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- 'use client';
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { assertNever } from '@liveblocks/core';
3
- import * as React from 'react';
4
3
  import { createContext, useContext, useMemo } from 'react';
5
4
  import { Emoji } from './components/internal/Emoji.mjs';
6
5
  import { pluralize } from './utils/pluralize.mjs';
@@ -48,9 +47,15 @@ const defaultOverrides = {
48
47
  COMMENT_DELETE: "Delete comment",
49
48
  COMMENT_DELETE_ATTACHMENT: "Delete attachment",
50
49
  COMMENT_ADD_REACTION: "Add reaction",
51
- COMMENT_REACTION_LIST: (list, emoji) => /* @__PURE__ */ React.createElement(React.Fragment, null, list, " reacted with ", /* @__PURE__ */ React.createElement(Emoji, {
52
- emoji
53
- })),
50
+ COMMENT_REACTION_LIST: (list, emoji) => /* @__PURE__ */ jsxs(Fragment, {
51
+ children: [
52
+ list,
53
+ " reacted with ",
54
+ /* @__PURE__ */ jsx(Emoji, {
55
+ emoji
56
+ })
57
+ ]
58
+ }),
54
59
  COMMENT_REACTION_DESCRIPTION: (emoji, count) => `${count} ${pluralize(count, "reaction")}, react with ${emoji}`,
55
60
  THREAD_RESOLVE: "Resolve thread",
56
61
  THREAD_UNRESOLVE: "Re-open thread",
@@ -61,10 +66,50 @@ const defaultOverrides = {
61
66
  INBOX_NOTIFICATION_MORE: "More",
62
67
  INBOX_NOTIFICATION_MARK_AS_READ: "Mark as read",
63
68
  INBOX_NOTIFICATION_DELETE: "Delete notification",
64
- INBOX_NOTIFICATION_THREAD_COMMENTS_LIST: (list, room) => /* @__PURE__ */ React.createElement(React.Fragment, null, list, " commented", room ? /* @__PURE__ */ React.createElement(React.Fragment, null, " in ", room) : /* @__PURE__ */ React.createElement(React.Fragment, null, " in a thread")),
65
- INBOX_NOTIFICATION_THREAD_MENTION: (user, room) => /* @__PURE__ */ React.createElement(React.Fragment, null, user, " mentioned you", room ? /* @__PURE__ */ React.createElement(React.Fragment, null, " in ", room) : null),
66
- INBOX_NOTIFICATION_TEXT_MENTION: (user, room) => /* @__PURE__ */ React.createElement(React.Fragment, null, user, " mentioned you", room ? /* @__PURE__ */ React.createElement(React.Fragment, null, " in ", room) : null),
67
- HISTORY_VERSION_PREVIEW_AUTHORS_LIST: (list) => /* @__PURE__ */ React.createElement(React.Fragment, null, "Edits from ", list),
69
+ INBOX_NOTIFICATION_THREAD_COMMENTS_LIST: (list, room) => /* @__PURE__ */ jsxs(Fragment, {
70
+ children: [
71
+ list,
72
+ " commented",
73
+ room ? /* @__PURE__ */ jsxs(Fragment, {
74
+ children: [
75
+ " in ",
76
+ room
77
+ ]
78
+ }) : /* @__PURE__ */ jsx(Fragment, {
79
+ children: " in a thread"
80
+ })
81
+ ]
82
+ }),
83
+ INBOX_NOTIFICATION_THREAD_MENTION: (user, room) => /* @__PURE__ */ jsxs(Fragment, {
84
+ children: [
85
+ user,
86
+ " mentioned you",
87
+ room ? /* @__PURE__ */ jsxs(Fragment, {
88
+ children: [
89
+ " in ",
90
+ room
91
+ ]
92
+ }) : null
93
+ ]
94
+ }),
95
+ INBOX_NOTIFICATION_TEXT_MENTION: (user, room) => /* @__PURE__ */ jsxs(Fragment, {
96
+ children: [
97
+ user,
98
+ " mentioned you",
99
+ room ? /* @__PURE__ */ jsxs(Fragment, {
100
+ children: [
101
+ " in ",
102
+ room
103
+ ]
104
+ }) : null
105
+ ]
106
+ }),
107
+ HISTORY_VERSION_PREVIEW_AUTHORS_LIST: (list) => /* @__PURE__ */ jsxs(Fragment, {
108
+ children: [
109
+ "Edits from ",
110
+ list
111
+ ]
112
+ }),
68
113
  HISTORY_VERSION_PREVIEW_RESTORE: "Restore",
69
114
  HISTORY_VERSION_PREVIEW_EMPTY: "No content.",
70
115
  HISTORY_VERSION_PREVIEW_ERROR: () => "There was an error while getting this version."
@@ -94,9 +139,10 @@ function OverridesProvider({
94
139
  }),
95
140
  [contextOverrides, providerOverrides]
96
141
  );
97
- return /* @__PURE__ */ React.createElement(OverridesContext.Provider, {
98
- value: overrides
99
- }, children);
142
+ return /* @__PURE__ */ jsx(OverridesContext.Provider, {
143
+ value: overrides,
144
+ children
145
+ });
100
146
  }
101
147
 
102
148
  export { OverridesContext, OverridesProvider, defaultOverrides, useOverrides };
@@ -1 +1 @@
1
- {"version":3,"file":"overrides.mjs","sources":["../src/overrides.tsx"],"sourcesContent":["\"use client\";\n\nimport { assertNever } from \"@liveblocks/core\";\nimport type { PropsWithChildren, ReactNode } from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\nimport * as React from \"react\";\n\nimport { Emoji } from \"./components/internal/Emoji\";\nimport type { ComposerBodyMark, Direction } from \"./types\";\nimport { pluralize } from \"./utils/pluralize\";\n\nexport interface LocalizationOverrides {\n locale: string;\n dir: Direction;\n}\n\nexport interface GlobalOverrides {\n USER_SELF: string;\n USER_UNKNOWN: string;\n LIST_REMAINING: (count: number) => string;\n LIST_REMAINING_USERS: (count: number) => string;\n LIST_REMAINING_COMMENTS: (count: number) => string;\n EMOJI_PICKER_SEARCH_PLACEHOLDER: string;\n EMOJI_PICKER_EMPTY: ReactNode;\n EMOJI_PICKER_ERROR: (error: Error) => ReactNode;\n ATTACHMENT_TOO_LARGE: (maxSize?: string) => string;\n ATTACHMENT_ERROR: (error: Error) => string;\n}\n\nexport interface CommentOverrides {\n COMMENT_EDITED: ReactNode;\n COMMENT_DELETED: ReactNode;\n COMMENT_MORE: string;\n COMMENT_EDIT: string;\n COMMENT_EDIT_COMPOSER_PLACEHOLDER: string;\n COMMENT_EDIT_COMPOSER_CANCEL: string;\n COMMENT_EDIT_COMPOSER_SAVE: string;\n COMMENT_DELETE: string;\n COMMENT_DELETE_ATTACHMENT: string;\n COMMENT_ADD_REACTION: string;\n COMMENT_REACTION_LIST: (\n list: ReactNode,\n emoji: string,\n count: number\n ) => ReactNode;\n COMMENT_REACTION_DESCRIPTION: (emoji: string, count: number) => string;\n}\n\nexport interface ComposerOverrides {\n COMPOSER_INSERT_MENTION: string;\n COMPOSER_INSERT_EMOJI: string;\n COMPOSER_ATTACH_FILES: string;\n COMPOSER_REMOVE_ATTACHMENT: string;\n COMPOSER_PLACEHOLDER: string;\n COMPOSER_SEND: string;\n COMPOSER_TOGGLE_MARK: (mark: ComposerBodyMark) => string;\n}\n\nexport interface ThreadOverrides {\n THREAD_RESOLVE: string;\n THREAD_UNRESOLVE: string;\n THREAD_NEW_INDICATOR: string;\n THREAD_NEW_INDICATOR_DESCRIPTION: string;\n THREAD_COMPOSER_PLACEHOLDER: string;\n THREAD_COMPOSER_SEND: string;\n}\n\nexport interface InboxNotificationOverrides {\n INBOX_NOTIFICATION_MORE: string;\n INBOX_NOTIFICATION_MARK_AS_READ: string;\n INBOX_NOTIFICATION_DELETE: string;\n INBOX_NOTIFICATION_THREAD_COMMENTS_LIST: (\n list: ReactNode,\n room: ReactNode | undefined,\n count: number\n ) => ReactNode;\n INBOX_NOTIFICATION_THREAD_MENTION: (\n user: ReactNode,\n room: ReactNode | undefined\n ) => ReactNode;\n INBOX_NOTIFICATION_TEXT_MENTION: (\n user: ReactNode,\n room: ReactNode | undefined\n ) => ReactNode;\n}\n\nexport interface HistoryVersionPreviewOverrides {\n HISTORY_VERSION_PREVIEW_AUTHORS_LIST: (list: ReactNode) => ReactNode;\n HISTORY_VERSION_PREVIEW_RESTORE: string;\n HISTORY_VERSION_PREVIEW_EMPTY: ReactNode;\n HISTORY_VERSION_PREVIEW_ERROR: (error: Error) => ReactNode;\n}\n\nexport type Overrides = LocalizationOverrides &\n GlobalOverrides &\n ComposerOverrides &\n CommentOverrides &\n ThreadOverrides &\n InboxNotificationOverrides &\n HistoryVersionPreviewOverrides;\n\ntype OverridesProviderProps = PropsWithChildren<{\n overrides?: Partial<Overrides>;\n}>;\n\nexport const defaultOverrides: Overrides = {\n locale: \"en\",\n dir: \"ltr\",\n USER_SELF: \"you\",\n USER_UNKNOWN: \"Anonymous\",\n LIST_REMAINING: (count) => `${count} more`,\n LIST_REMAINING_USERS: (count) => `${count} ${pluralize(count, \"other\")}`,\n LIST_REMAINING_COMMENTS: (count) =>\n `${count} more ${pluralize(count, \"comment\")}`,\n EMOJI_PICKER_SEARCH_PLACEHOLDER: \"Search…\",\n EMOJI_PICKER_EMPTY: \"No emoji found.\",\n EMOJI_PICKER_ERROR: () =>\n \"There was an error while getting the list of emoji.\",\n ATTACHMENT_TOO_LARGE: (maxSize) =>\n maxSize ? `The file is larger than ${maxSize}` : \"The file is too large\",\n ATTACHMENT_ERROR: () => \"The file couldn’t be uploaded.\",\n COMPOSER_INSERT_MENTION: \"Mention someone\",\n COMPOSER_INSERT_EMOJI: \"Add emoji\",\n COMPOSER_ATTACH_FILES: \"Attach files\",\n COMPOSER_REMOVE_ATTACHMENT: \"Remove attachment\",\n COMPOSER_PLACEHOLDER: \"Write a comment…\",\n COMPOSER_SEND: \"Send\",\n COMPOSER_TOGGLE_MARK: (format) => {\n switch (format) {\n case \"bold\":\n return \"Bold\";\n case \"italic\":\n return \"Italic\";\n case \"strikethrough\":\n return \"Strikethrough\";\n case \"code\":\n return \"Inline code\";\n default:\n return assertNever(format, \"Unexpected mark\");\n }\n },\n COMMENT_EDITED: \"(edited)\",\n COMMENT_DELETED: \"This comment has been deleted.\",\n COMMENT_MORE: \"More\",\n COMMENT_EDIT: \"Edit comment\",\n COMMENT_EDIT_COMPOSER_PLACEHOLDER: \"Edit comment…\",\n COMMENT_EDIT_COMPOSER_CANCEL: \"Cancel\",\n COMMENT_EDIT_COMPOSER_SAVE: \"Save\",\n COMMENT_DELETE: \"Delete comment\",\n COMMENT_DELETE_ATTACHMENT: \"Delete attachment\",\n COMMENT_ADD_REACTION: \"Add reaction\",\n COMMENT_REACTION_LIST: (list, emoji) => (\n <>\n {list} reacted with <Emoji emoji={emoji} />\n </>\n ),\n COMMENT_REACTION_DESCRIPTION: (emoji, count) =>\n `${count} ${pluralize(count, \"reaction\")}, react with ${emoji}`,\n THREAD_RESOLVE: \"Resolve thread\",\n THREAD_UNRESOLVE: \"Re-open thread\",\n THREAD_NEW_INDICATOR: \"New\",\n THREAD_NEW_INDICATOR_DESCRIPTION: \"New comments\",\n THREAD_COMPOSER_PLACEHOLDER: \"Reply to thread…\",\n THREAD_COMPOSER_SEND: \"Reply\",\n INBOX_NOTIFICATION_MORE: \"More\",\n INBOX_NOTIFICATION_MARK_AS_READ: \"Mark as read\",\n INBOX_NOTIFICATION_DELETE: \"Delete notification\",\n INBOX_NOTIFICATION_THREAD_COMMENTS_LIST: (\n list: ReactNode,\n room: ReactNode\n ) => (\n <>\n {list} commented\n {room ? <> in {room}</> : <> in a thread</>}\n </>\n ),\n INBOX_NOTIFICATION_THREAD_MENTION: (user: ReactNode, room: ReactNode) => (\n <>\n {user} mentioned you{room ? <> in {room}</> : null}\n </>\n ),\n INBOX_NOTIFICATION_TEXT_MENTION: (user: ReactNode, room: ReactNode) => (\n <>\n {user} mentioned you{room ? <> in {room}</> : null}\n </>\n ),\n HISTORY_VERSION_PREVIEW_AUTHORS_LIST: (list: ReactNode) => (\n <>Edits from {list}</>\n ),\n HISTORY_VERSION_PREVIEW_RESTORE: \"Restore\",\n HISTORY_VERSION_PREVIEW_EMPTY: \"No content.\",\n HISTORY_VERSION_PREVIEW_ERROR: () =>\n \"There was an error while getting this version.\",\n};\n\nexport const OverridesContext = createContext<Overrides | undefined>(undefined);\n\nexport function useOverrides(overrides?: Partial<Overrides>): Overrides {\n const contextOverrides = useContext(OverridesContext);\n\n return useMemo(\n () => ({\n ...defaultOverrides,\n ...contextOverrides,\n ...overrides,\n }),\n [contextOverrides, overrides]\n );\n}\n\nexport function OverridesProvider({\n children,\n overrides: providerOverrides,\n}: OverridesProviderProps) {\n const contextOverrides = useContext(OverridesContext);\n const overrides = useMemo(\n () => ({\n ...defaultOverrides,\n ...contextOverrides,\n ...providerOverrides,\n }),\n [contextOverrides, providerOverrides]\n );\n\n return (\n <OverridesContext.Provider value={overrides}>\n {children}\n </OverridesContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;;;;;AAyGO;AAAoC;AACjC;AACH;AACM;AACG;AACgB;AACuC;AAExB;AACZ;AACb;AAElB;AAEiD;AAC3B;AACC;AACF;AACA;AACK;AACN;AACP;AAEb;AAAgB;AAEZ;AAAO;AAEP;AAAO;AAEP;AAAO;AAEP;AAAO;AAEP;AAA4C;AAChD;AACF;AACgB;AACC;AACH;AACA;AACqB;AACL;AACF;AACZ;AACW;AACL;AAGG;AAAM;AAC7B;AAGwD;AAC1C;AACE;AACI;AACY;AACL;AACP;AACG;AACQ;AACN;AAQzB;AAKA;AAKA;AAGmB;AAEY;AACF;AAGjC;AAEa;AAEN;AACL;AAEA;AAAO;AACE;AACF;AACA;AACA;AACL;AAC4B;AAEhC;AAEO;AAA2B;AAChC;AAEF;AACE;AACA;AAAkB;AACT;AACF;AACA;AACA;AACL;AACoC;AAGtC;AACG;AAAiC;AAItC;;"}
1
+ {"version":3,"file":"overrides.mjs","sources":["../src/overrides.tsx"],"sourcesContent":["\"use client\";\n\nimport { assertNever } from \"@liveblocks/core\";\nimport type { PropsWithChildren, ReactNode } from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\n\nimport { Emoji } from \"./components/internal/Emoji\";\nimport type { ComposerBodyMark, Direction } from \"./types\";\nimport { pluralize } from \"./utils/pluralize\";\n\nexport interface LocalizationOverrides {\n locale: string;\n dir: Direction;\n}\n\nexport interface GlobalOverrides {\n USER_SELF: string;\n USER_UNKNOWN: string;\n LIST_REMAINING: (count: number) => string;\n LIST_REMAINING_USERS: (count: number) => string;\n LIST_REMAINING_COMMENTS: (count: number) => string;\n EMOJI_PICKER_SEARCH_PLACEHOLDER: string;\n EMOJI_PICKER_EMPTY: ReactNode;\n EMOJI_PICKER_ERROR: (error: Error) => ReactNode;\n ATTACHMENT_TOO_LARGE: (maxSize?: string) => string;\n ATTACHMENT_ERROR: (error: Error) => string;\n}\n\nexport interface CommentOverrides {\n COMMENT_EDITED: ReactNode;\n COMMENT_DELETED: ReactNode;\n COMMENT_MORE: string;\n COMMENT_EDIT: string;\n COMMENT_EDIT_COMPOSER_PLACEHOLDER: string;\n COMMENT_EDIT_COMPOSER_CANCEL: string;\n COMMENT_EDIT_COMPOSER_SAVE: string;\n COMMENT_DELETE: string;\n COMMENT_DELETE_ATTACHMENT: string;\n COMMENT_ADD_REACTION: string;\n COMMENT_REACTION_LIST: (\n list: ReactNode,\n emoji: string,\n count: number\n ) => ReactNode;\n COMMENT_REACTION_DESCRIPTION: (emoji: string, count: number) => string;\n}\n\nexport interface ComposerOverrides {\n COMPOSER_INSERT_MENTION: string;\n COMPOSER_INSERT_EMOJI: string;\n COMPOSER_ATTACH_FILES: string;\n COMPOSER_REMOVE_ATTACHMENT: string;\n COMPOSER_PLACEHOLDER: string;\n COMPOSER_SEND: string;\n COMPOSER_TOGGLE_MARK: (mark: ComposerBodyMark) => string;\n}\n\nexport interface ThreadOverrides {\n THREAD_RESOLVE: string;\n THREAD_UNRESOLVE: string;\n THREAD_NEW_INDICATOR: string;\n THREAD_NEW_INDICATOR_DESCRIPTION: string;\n THREAD_COMPOSER_PLACEHOLDER: string;\n THREAD_COMPOSER_SEND: string;\n}\n\nexport interface InboxNotificationOverrides {\n INBOX_NOTIFICATION_MORE: string;\n INBOX_NOTIFICATION_MARK_AS_READ: string;\n INBOX_NOTIFICATION_DELETE: string;\n INBOX_NOTIFICATION_THREAD_COMMENTS_LIST: (\n list: ReactNode,\n room: ReactNode | undefined,\n count: number\n ) => ReactNode;\n INBOX_NOTIFICATION_THREAD_MENTION: (\n user: ReactNode,\n room: ReactNode | undefined\n ) => ReactNode;\n INBOX_NOTIFICATION_TEXT_MENTION: (\n user: ReactNode,\n room: ReactNode | undefined\n ) => ReactNode;\n}\n\nexport interface HistoryVersionPreviewOverrides {\n HISTORY_VERSION_PREVIEW_AUTHORS_LIST: (list: ReactNode) => ReactNode;\n HISTORY_VERSION_PREVIEW_RESTORE: string;\n HISTORY_VERSION_PREVIEW_EMPTY: ReactNode;\n HISTORY_VERSION_PREVIEW_ERROR: (error: Error) => ReactNode;\n}\n\nexport type Overrides = LocalizationOverrides &\n GlobalOverrides &\n ComposerOverrides &\n CommentOverrides &\n ThreadOverrides &\n InboxNotificationOverrides &\n HistoryVersionPreviewOverrides;\n\ntype OverridesProviderProps = PropsWithChildren<{\n overrides?: Partial<Overrides>;\n}>;\n\nexport const defaultOverrides: Overrides = {\n locale: \"en\",\n dir: \"ltr\",\n USER_SELF: \"you\",\n USER_UNKNOWN: \"Anonymous\",\n LIST_REMAINING: (count) => `${count} more`,\n LIST_REMAINING_USERS: (count) => `${count} ${pluralize(count, \"other\")}`,\n LIST_REMAINING_COMMENTS: (count) =>\n `${count} more ${pluralize(count, \"comment\")}`,\n EMOJI_PICKER_SEARCH_PLACEHOLDER: \"Search…\",\n EMOJI_PICKER_EMPTY: \"No emoji found.\",\n EMOJI_PICKER_ERROR: () =>\n \"There was an error while getting the list of emoji.\",\n ATTACHMENT_TOO_LARGE: (maxSize) =>\n maxSize ? `The file is larger than ${maxSize}` : \"The file is too large\",\n ATTACHMENT_ERROR: () => \"The file couldn’t be uploaded.\",\n COMPOSER_INSERT_MENTION: \"Mention someone\",\n COMPOSER_INSERT_EMOJI: \"Add emoji\",\n COMPOSER_ATTACH_FILES: \"Attach files\",\n COMPOSER_REMOVE_ATTACHMENT: \"Remove attachment\",\n COMPOSER_PLACEHOLDER: \"Write a comment…\",\n COMPOSER_SEND: \"Send\",\n COMPOSER_TOGGLE_MARK: (format) => {\n switch (format) {\n case \"bold\":\n return \"Bold\";\n case \"italic\":\n return \"Italic\";\n case \"strikethrough\":\n return \"Strikethrough\";\n case \"code\":\n return \"Inline code\";\n default:\n return assertNever(format, \"Unexpected mark\");\n }\n },\n COMMENT_EDITED: \"(edited)\",\n COMMENT_DELETED: \"This comment has been deleted.\",\n COMMENT_MORE: \"More\",\n COMMENT_EDIT: \"Edit comment\",\n COMMENT_EDIT_COMPOSER_PLACEHOLDER: \"Edit comment…\",\n COMMENT_EDIT_COMPOSER_CANCEL: \"Cancel\",\n COMMENT_EDIT_COMPOSER_SAVE: \"Save\",\n COMMENT_DELETE: \"Delete comment\",\n COMMENT_DELETE_ATTACHMENT: \"Delete attachment\",\n COMMENT_ADD_REACTION: \"Add reaction\",\n COMMENT_REACTION_LIST: (list, emoji) => (\n <>\n {list} reacted with <Emoji emoji={emoji} />\n </>\n ),\n COMMENT_REACTION_DESCRIPTION: (emoji, count) =>\n `${count} ${pluralize(count, \"reaction\")}, react with ${emoji}`,\n THREAD_RESOLVE: \"Resolve thread\",\n THREAD_UNRESOLVE: \"Re-open thread\",\n THREAD_NEW_INDICATOR: \"New\",\n THREAD_NEW_INDICATOR_DESCRIPTION: \"New comments\",\n THREAD_COMPOSER_PLACEHOLDER: \"Reply to thread…\",\n THREAD_COMPOSER_SEND: \"Reply\",\n INBOX_NOTIFICATION_MORE: \"More\",\n INBOX_NOTIFICATION_MARK_AS_READ: \"Mark as read\",\n INBOX_NOTIFICATION_DELETE: \"Delete notification\",\n INBOX_NOTIFICATION_THREAD_COMMENTS_LIST: (\n list: ReactNode,\n room: ReactNode\n ) => (\n <>\n {list} commented\n {room ? <> in {room}</> : <> in a thread</>}\n </>\n ),\n INBOX_NOTIFICATION_THREAD_MENTION: (user: ReactNode, room: ReactNode) => (\n <>\n {user} mentioned you{room ? <> in {room}</> : null}\n </>\n ),\n INBOX_NOTIFICATION_TEXT_MENTION: (user: ReactNode, room: ReactNode) => (\n <>\n {user} mentioned you{room ? <> in {room}</> : null}\n </>\n ),\n HISTORY_VERSION_PREVIEW_AUTHORS_LIST: (list: ReactNode) => (\n <>Edits from {list}</>\n ),\n HISTORY_VERSION_PREVIEW_RESTORE: \"Restore\",\n HISTORY_VERSION_PREVIEW_EMPTY: \"No content.\",\n HISTORY_VERSION_PREVIEW_ERROR: () =>\n \"There was an error while getting this version.\",\n};\n\nexport const OverridesContext = createContext<Overrides | undefined>(undefined);\n\nexport function useOverrides(overrides?: Partial<Overrides>): Overrides {\n const contextOverrides = useContext(OverridesContext);\n\n return useMemo(\n () => ({\n ...defaultOverrides,\n ...contextOverrides,\n ...overrides,\n }),\n [contextOverrides, overrides]\n );\n}\n\nexport function OverridesProvider({\n children,\n overrides: providerOverrides,\n}: OverridesProviderProps) {\n const contextOverrides = useContext(OverridesContext);\n const overrides = useMemo(\n () => ({\n ...defaultOverrides,\n ...contextOverrides,\n ...providerOverrides,\n }),\n [contextOverrides, providerOverrides]\n );\n\n return (\n <OverridesContext.Provider value={overrides}>\n {children}\n </OverridesContext.Provider>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -1,106 +1,115 @@
1
1
  'use strict';
2
2
 
3
+ var jsxRuntime = require('react/jsx-runtime');
3
4
  var reactSlot = require('@radix-ui/react-slot');
4
- var React = require('react');
5
+ var react = require('react');
5
6
  var mentions = require('../../slate/plugins/mentions.js');
6
7
  var utils = require('./utils.js');
7
8
 
8
9
  const COMMENT_MENTION_NAME = "CommentMention";
9
10
  const COMMENT_BODY_NAME = "CommentBody";
10
11
  const COMMENT_LINK_NAME = "CommentLink";
11
- const CommentMention = React.forwardRef(
12
+ const CommentMention = react.forwardRef(
12
13
  ({ children, asChild, ...props }, forwardedRef) => {
13
14
  const Component = asChild ? reactSlot.Slot : "span";
14
- return /* @__PURE__ */ React.createElement(Component, {
15
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, {
15
16
  ...props,
16
- ref: forwardedRef
17
- }, children);
17
+ ref: forwardedRef,
18
+ children
19
+ });
18
20
  }
19
21
  );
20
- const CommentLink = React.forwardRef(
22
+ const CommentLink = react.forwardRef(
21
23
  ({ children, asChild, ...props }, forwardedRef) => {
22
24
  const Component = asChild ? reactSlot.Slot : "a";
23
- return /* @__PURE__ */ React.createElement(Component, {
25
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, {
24
26
  target: "_blank",
25
27
  rel: "noopener noreferrer nofollow",
26
28
  ...props,
27
- ref: forwardedRef
28
- }, children);
29
+ ref: forwardedRef,
30
+ children
31
+ });
29
32
  }
30
33
  );
31
34
  const defaultBodyComponents = {
32
35
  Mention: ({ userId }) => {
33
- return /* @__PURE__ */ React.createElement(CommentMention, null, mentions.MENTION_CHARACTER, userId);
36
+ return /* @__PURE__ */ jsxRuntime.jsxs(CommentMention, {
37
+ children: [
38
+ mentions.MENTION_CHARACTER,
39
+ userId
40
+ ]
41
+ });
34
42
  },
35
43
  Link: ({ href, children }) => {
36
- return /* @__PURE__ */ React.createElement(CommentLink, {
37
- href
38
- }, children);
44
+ return /* @__PURE__ */ jsxRuntime.jsx(CommentLink, {
45
+ href,
46
+ children
47
+ });
39
48
  }
40
49
  };
41
- const CommentBody = React.forwardRef(
50
+ const CommentBody = react.forwardRef(
42
51
  ({ body, components, style, asChild, ...props }, forwardedRef) => {
43
52
  const Component = asChild ? reactSlot.Slot : "div";
44
- const { Mention, Link } = React.useMemo(
53
+ const { Mention, Link } = react.useMemo(
45
54
  () => ({ ...defaultBodyComponents, ...components }),
46
55
  [components]
47
56
  );
48
57
  if (!body || !body?.content) {
49
58
  return null;
50
59
  }
51
- return /* @__PURE__ */ React.createElement(Component, {
60
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, {
52
61
  ...props,
53
62
  style: { whiteSpace: "break-spaces", ...style },
54
- ref: forwardedRef
55
- }, body.content.map((block, index) => {
56
- switch (block.type) {
57
- case "paragraph":
58
- return /* @__PURE__ */ React.createElement("p", {
59
- key: index,
60
- style: { minHeight: "1lh" }
61
- }, block.children.map((inline, index2) => {
62
- if (utils.isCommentBodyMention(inline)) {
63
- return inline.id ? /* @__PURE__ */ React.createElement(Mention, {
64
- userId: inline.id,
65
- key: index2
66
- }) : null;
67
- }
68
- if (utils.isCommentBodyLink(inline)) {
69
- const href = utils.toAbsoluteUrl(inline.url) ?? inline.url;
70
- return /* @__PURE__ */ React.createElement(Link, {
71
- href,
72
- key: index2
73
- }, inline.text ?? inline.url);
74
- }
75
- let children = inline.text;
76
- if (inline.bold) {
77
- children = /* @__PURE__ */ React.createElement("strong", {
78
- key: index2
79
- }, children);
80
- }
81
- if (inline.italic) {
82
- children = /* @__PURE__ */ React.createElement("em", {
83
- key: index2
84
- }, children);
85
- }
86
- if (inline.strikethrough) {
87
- children = /* @__PURE__ */ React.createElement("s", {
88
- key: index2
89
- }, children);
90
- }
91
- if (inline.code) {
92
- children = /* @__PURE__ */ React.createElement("code", {
93
- key: index2
94
- }, children);
95
- }
96
- return /* @__PURE__ */ React.createElement("span", {
97
- key: index2
98
- }, children);
99
- }));
100
- default:
101
- return null;
102
- }
103
- }));
63
+ ref: forwardedRef,
64
+ children: body.content.map((block, index) => {
65
+ switch (block.type) {
66
+ case "paragraph":
67
+ return /* @__PURE__ */ jsxRuntime.jsx("p", {
68
+ style: { minHeight: "1lh" },
69
+ children: block.children.map((inline, index2) => {
70
+ if (utils.isCommentBodyMention(inline)) {
71
+ return inline.id ? /* @__PURE__ */ jsxRuntime.jsx(Mention, {
72
+ userId: inline.id
73
+ }, index2) : null;
74
+ }
75
+ if (utils.isCommentBodyLink(inline)) {
76
+ const href = utils.toAbsoluteUrl(inline.url) ?? inline.url;
77
+ return /* @__PURE__ */ jsxRuntime.jsx(Link, {
78
+ href,
79
+ children: inline.text ?? inline.url
80
+ }, index2);
81
+ }
82
+ let children = inline.text;
83
+ if (inline.bold) {
84
+ children = /* @__PURE__ */ jsxRuntime.jsx("strong", {
85
+ children
86
+ }, index2);
87
+ }
88
+ if (inline.italic) {
89
+ children = /* @__PURE__ */ jsxRuntime.jsx("em", {
90
+ children
91
+ }, index2);
92
+ }
93
+ if (inline.strikethrough) {
94
+ children = /* @__PURE__ */ jsxRuntime.jsx("s", {
95
+ children
96
+ }, index2);
97
+ }
98
+ if (inline.code) {
99
+ children = /* @__PURE__ */ jsxRuntime.jsx("code", {
100
+ children
101
+ }, index2);
102
+ }
103
+ return /* @__PURE__ */ jsxRuntime.jsx("span", {
104
+ children
105
+ }, index2);
106
+ })
107
+ }, index);
108
+ default:
109
+ return null;
110
+ }
111
+ })
112
+ });
104
113
  }
105
114
  );
106
115
  if (process.env.NODE_ENV !== "production") {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/primitives/Comment/index.tsx"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport type { ReactNode } from \"react\";\nimport React, { forwardRef, useMemo } from \"react\";\n\nimport { MENTION_CHARACTER } from \"../../slate/plugins/mentions\";\nimport type {\n CommentBodyComponents,\n CommentBodyProps,\n CommentLinkProps,\n CommentMentionProps,\n} from \"./types\";\nimport {\n isCommentBodyLink,\n isCommentBodyMention,\n toAbsoluteUrl,\n} from \"./utils\";\n\nconst COMMENT_MENTION_NAME = \"CommentMention\";\nconst COMMENT_BODY_NAME = \"CommentBody\";\nconst COMMENT_LINK_NAME = \"CommentLink\";\n\n/**\n * Displays mentions within `Comment.Body`.\n *\n * @example\n * <Comment.Mention>@{userId}</Comment.Mention>\n */\nconst CommentMention = forwardRef<HTMLSpanElement, CommentMentionProps>(\n ({ children, asChild, ...props }, forwardedRef) => {\n const Component = asChild ? Slot : \"span\";\n\n return (\n <Component {...props} ref={forwardedRef}>\n {children}\n </Component>\n );\n }\n);\n\n/**\n * Displays links within `Comment.Body`.\n *\n * @example\n * <Comment.Link href={href}>{children}</Comment.Link>\n */\nconst CommentLink = forwardRef<HTMLAnchorElement, CommentLinkProps>(\n ({ children, asChild, ...props }, forwardedRef) => {\n const Component = asChild ? Slot : \"a\";\n\n return (\n <Component\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n {...props}\n ref={forwardedRef}\n >\n {children}\n </Component>\n );\n }\n);\n\nconst defaultBodyComponents: CommentBodyComponents = {\n Mention: ({ userId }) => {\n return (\n <CommentMention>\n {MENTION_CHARACTER}\n {userId}\n </CommentMention>\n );\n },\n Link: ({ href, children }) => {\n return <CommentLink href={href}>{children}</CommentLink>;\n },\n};\n\n/**\n * Displays a comment body.\n *\n * @example\n * <Comment.Body body={comment.body} />\n */\nconst CommentBody = forwardRef<HTMLDivElement, CommentBodyProps>(\n ({ body, components, style, asChild, ...props }, forwardedRef) => {\n const Component = asChild ? Slot : \"div\";\n const { Mention, Link } = useMemo(\n () => ({ ...defaultBodyComponents, ...components }),\n [components]\n );\n\n if (!body || !body?.content) {\n return null;\n }\n\n return (\n <Component\n {...props}\n style={{ whiteSpace: \"break-spaces\", ...style }}\n ref={forwardedRef}\n >\n {body.content.map((block, index) => {\n switch (block.type) {\n case \"paragraph\":\n return (\n <p key={index} style={{ minHeight: \"1lh\" }}>\n {block.children.map((inline, index) => {\n if (isCommentBodyMention(inline)) {\n return inline.id ? (\n <Mention userId={inline.id} key={index} />\n ) : null;\n }\n\n if (isCommentBodyLink(inline)) {\n const href = toAbsoluteUrl(inline.url) ?? inline.url;\n\n return (\n <Link href={href} key={index}>\n {inline.text ?? inline.url}\n </Link>\n );\n }\n\n // <code><s><em><strong>text</strong></s></em></code>\n let children: ReactNode = inline.text;\n\n if (inline.bold) {\n children = <strong key={index}>{children}</strong>;\n }\n\n if (inline.italic) {\n children = <em key={index}>{children}</em>;\n }\n\n if (inline.strikethrough) {\n children = <s key={index}>{children}</s>;\n }\n\n if (inline.code) {\n children = <code key={index}>{children}</code>;\n }\n\n return <span key={index}>{children}</span>;\n })}\n </p>\n );\n default:\n return null;\n }\n })}\n </Component>\n );\n }\n);\n\nif (process.env.NODE_ENV !== \"production\") {\n CommentBody.displayName = COMMENT_BODY_NAME;\n CommentMention.displayName = COMMENT_MENTION_NAME;\n CommentLink.displayName = COMMENT_LINK_NAME;\n}\n\n// NOTE: Every export from this file will be available publicly as Comment.*\nexport { CommentBody as Body, CommentLink as Link, CommentMention as Mention };\n"],"names":["forwardRef","Slot","MENTION_CHARACTER","useMemo","index","isCommentBodyMention","isCommentBodyLink","toAbsoluteUrl"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/primitives/Comment/index.tsx"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport type { ReactNode } from \"react\";\nimport { forwardRef, useMemo } from \"react\";\n\nimport { MENTION_CHARACTER } from \"../../slate/plugins/mentions\";\nimport type {\n CommentBodyComponents,\n CommentBodyProps,\n CommentLinkProps,\n CommentMentionProps,\n} from \"./types\";\nimport {\n isCommentBodyLink,\n isCommentBodyMention,\n toAbsoluteUrl,\n} from \"./utils\";\n\nconst COMMENT_MENTION_NAME = \"CommentMention\";\nconst COMMENT_BODY_NAME = \"CommentBody\";\nconst COMMENT_LINK_NAME = \"CommentLink\";\n\n/**\n * Displays mentions within `Comment.Body`.\n *\n * @example\n * <Comment.Mention>@{userId}</Comment.Mention>\n */\nconst CommentMention = forwardRef<HTMLSpanElement, CommentMentionProps>(\n ({ children, asChild, ...props }, forwardedRef) => {\n const Component = asChild ? Slot : \"span\";\n\n return (\n <Component {...props} ref={forwardedRef}>\n {children}\n </Component>\n );\n }\n);\n\n/**\n * Displays links within `Comment.Body`.\n *\n * @example\n * <Comment.Link href={href}>{children}</Comment.Link>\n */\nconst CommentLink = forwardRef<HTMLAnchorElement, CommentLinkProps>(\n ({ children, asChild, ...props }, forwardedRef) => {\n const Component = asChild ? Slot : \"a\";\n\n return (\n <Component\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n {...props}\n ref={forwardedRef}\n >\n {children}\n </Component>\n );\n }\n);\n\nconst defaultBodyComponents: CommentBodyComponents = {\n Mention: ({ userId }) => {\n return (\n <CommentMention>\n {MENTION_CHARACTER}\n {userId}\n </CommentMention>\n );\n },\n Link: ({ href, children }) => {\n return <CommentLink href={href}>{children}</CommentLink>;\n },\n};\n\n/**\n * Displays a comment body.\n *\n * @example\n * <Comment.Body body={comment.body} />\n */\nconst CommentBody = forwardRef<HTMLDivElement, CommentBodyProps>(\n ({ body, components, style, asChild, ...props }, forwardedRef) => {\n const Component = asChild ? Slot : \"div\";\n const { Mention, Link } = useMemo(\n () => ({ ...defaultBodyComponents, ...components }),\n [components]\n );\n\n if (!body || !body?.content) {\n return null;\n }\n\n return (\n <Component\n {...props}\n style={{ whiteSpace: \"break-spaces\", ...style }}\n ref={forwardedRef}\n >\n {body.content.map((block, index) => {\n switch (block.type) {\n case \"paragraph\":\n return (\n <p key={index} style={{ minHeight: \"1lh\" }}>\n {block.children.map((inline, index) => {\n if (isCommentBodyMention(inline)) {\n return inline.id ? (\n <Mention userId={inline.id} key={index} />\n ) : null;\n }\n\n if (isCommentBodyLink(inline)) {\n const href = toAbsoluteUrl(inline.url) ?? inline.url;\n\n return (\n <Link href={href} key={index}>\n {inline.text ?? inline.url}\n </Link>\n );\n }\n\n // <code><s><em><strong>text</strong></s></em></code>\n let children: ReactNode = inline.text;\n\n if (inline.bold) {\n children = <strong key={index}>{children}</strong>;\n }\n\n if (inline.italic) {\n children = <em key={index}>{children}</em>;\n }\n\n if (inline.strikethrough) {\n children = <s key={index}>{children}</s>;\n }\n\n if (inline.code) {\n children = <code key={index}>{children}</code>;\n }\n\n return <span key={index}>{children}</span>;\n })}\n </p>\n );\n default:\n return null;\n }\n })}\n </Component>\n );\n }\n);\n\nif (process.env.NODE_ENV !== \"production\") {\n CommentBody.displayName = COMMENT_BODY_NAME;\n CommentMention.displayName = COMMENT_MENTION_NAME;\n CommentLink.displayName = COMMENT_LINK_NAME;\n}\n\n// NOTE: Every export from this file will be available publicly as Comment.*\nexport { CommentBody as Body, CommentLink as Link, CommentMention as Mention };\n"],"names":["forwardRef","Slot","jsx","jsxs","MENTION_CHARACTER","useMemo","index","isCommentBodyMention","isCommentBodyLink","toAbsoluteUrl"],"mappings":"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"}