@liveblocks/react-ui 2.18.3 → 2.18.4-uns1

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 (675) hide show
  1. package/dist/_private/index.cjs +118 -0
  2. package/dist/_private/index.cjs.map +1 -0
  3. package/dist/_private/index.js +54 -117
  4. package/dist/_private/index.js.map +1 -1
  5. package/dist/components/{Comment.mjs → Comment.cjs} +196 -169
  6. package/dist/components/{Comment.mjs.map → Comment.cjs.map} +1 -1
  7. package/dist/components/Comment.js +168 -195
  8. package/dist/components/Comment.js.map +1 -1
  9. package/dist/components/{Composer.mjs → Composer.cjs} +151 -148
  10. package/dist/components/{Composer.mjs.map → Composer.cjs.map} +1 -1
  11. package/dist/components/Composer.js +147 -150
  12. package/dist/components/Composer.js.map +1 -1
  13. package/dist/components/HistoryVersionSummary.cjs +45 -0
  14. package/dist/components/{HistoryVersionSummary.mjs.map → HistoryVersionSummary.cjs.map} +1 -1
  15. package/dist/components/HistoryVersionSummary.js +17 -19
  16. package/dist/components/HistoryVersionSummary.js.map +1 -1
  17. package/dist/components/HistoryVersionSummaryList.cjs +25 -0
  18. package/dist/components/{HistoryVersionSummaryList.mjs.map → HistoryVersionSummaryList.cjs.map} +1 -1
  19. package/dist/components/HistoryVersionSummaryList.js +8 -10
  20. package/dist/components/HistoryVersionSummaryList.js.map +1 -1
  21. package/dist/components/{InboxNotification.mjs → InboxNotification.cjs} +124 -122
  22. package/dist/components/{InboxNotification.mjs.map → InboxNotification.cjs.map} +1 -1
  23. package/dist/components/InboxNotification.js +121 -123
  24. package/dist/components/InboxNotification.js.map +1 -1
  25. package/dist/components/InboxNotificationList.cjs +42 -0
  26. package/dist/components/{InboxNotificationList.mjs.map → InboxNotificationList.cjs.map} +1 -1
  27. package/dist/components/InboxNotificationList.js +14 -16
  28. package/dist/components/InboxNotificationList.js.map +1 -1
  29. package/dist/components/{Thread.mjs → Thread.cjs} +70 -49
  30. package/dist/components/{Thread.mjs.map → Thread.cjs.map} +1 -1
  31. package/dist/components/Thread.js +48 -69
  32. package/dist/components/Thread.js.map +1 -1
  33. package/dist/components/internal/{Attachment.mjs → Attachment.cjs} +82 -78
  34. package/dist/components/internal/{Attachment.mjs.map → Attachment.cjs.map} +1 -1
  35. package/dist/components/internal/Attachment.js +77 -81
  36. package/dist/components/internal/Attachment.js.map +1 -1
  37. package/dist/components/internal/{Attribution.mjs → Attribution.cjs} +10 -8
  38. package/dist/components/internal/{Attribution.mjs.map → Attribution.cjs.map} +1 -1
  39. package/dist/components/internal/Attribution.js +7 -9
  40. package/dist/components/internal/Attribution.js.map +1 -1
  41. package/dist/components/internal/Avatar.cjs +48 -0
  42. package/dist/components/internal/{Avatar.mjs.map → Avatar.cjs.map} +1 -1
  43. package/dist/components/internal/Avatar.js +18 -20
  44. package/dist/components/internal/Avatar.js.map +1 -1
  45. package/dist/components/internal/Button.cjs +80 -0
  46. package/dist/components/internal/{Button.mjs.map → Button.cjs.map} +1 -1
  47. package/dist/components/internal/Button.js +19 -23
  48. package/dist/components/internal/Button.js.map +1 -1
  49. package/dist/components/internal/Dropdown.cjs +92 -0
  50. package/dist/components/internal/{Dropdown.mjs.map → Dropdown.cjs.map} +1 -1
  51. package/dist/components/internal/Dropdown.js +22 -47
  52. package/dist/components/internal/Dropdown.js.map +1 -1
  53. package/dist/components/internal/Emoji.cjs +19 -0
  54. package/dist/components/internal/{Emoji.mjs.map → Emoji.cjs.map} +1 -1
  55. package/dist/components/internal/Emoji.js +8 -10
  56. package/dist/components/internal/Emoji.js.map +1 -1
  57. package/dist/components/internal/EmojiPicker.cjs +208 -0
  58. package/dist/components/internal/{EmojiPicker.mjs.map → EmojiPicker.cjs.map} +1 -1
  59. package/dist/components/internal/EmojiPicker.js +52 -76
  60. package/dist/components/internal/EmojiPicker.js.map +1 -1
  61. package/dist/components/internal/{Icon.mjs → Icon.cjs} +10 -6
  62. package/dist/components/internal/{Icon.mjs.map → Icon.cjs.map} +1 -1
  63. package/dist/components/internal/Icon.js +5 -9
  64. package/dist/components/internal/Icon.js.map +1 -1
  65. package/dist/components/internal/{InboxNotificationThread.mjs → InboxNotificationThread.cjs} +34 -30
  66. package/dist/components/internal/{InboxNotificationThread.mjs.map → InboxNotificationThread.cjs.map} +1 -1
  67. package/dist/components/internal/InboxNotificationThread.js +29 -33
  68. package/dist/components/internal/InboxNotificationThread.js.map +1 -1
  69. package/dist/components/internal/List.cjs +36 -0
  70. package/dist/components/internal/{List.mjs.map → List.cjs.map} +1 -1
  71. package/dist/components/internal/List.js +14 -16
  72. package/dist/components/internal/List.js.map +1 -1
  73. package/dist/components/internal/Room.cjs +24 -0
  74. package/dist/components/internal/{Room.mjs.map → Room.cjs.map} +1 -1
  75. package/dist/components/internal/Room.js +9 -11
  76. package/dist/components/internal/Room.js.map +1 -1
  77. package/dist/components/internal/Tooltip.cjs +134 -0
  78. package/dist/components/internal/{Tooltip.mjs.map → Tooltip.cjs.map} +1 -1
  79. package/dist/components/internal/Tooltip.js +29 -54
  80. package/dist/components/internal/Tooltip.js.map +1 -1
  81. package/dist/components/internal/User.cjs +28 -0
  82. package/dist/components/internal/{User.mjs.map → User.cjs.map} +1 -1
  83. package/dist/components/internal/User.js +13 -15
  84. package/dist/components/internal/User.js.map +1 -1
  85. package/dist/components.cjs +48 -0
  86. package/dist/{components.mjs.map → components.cjs.map} +1 -1
  87. package/dist/components.js +9 -14
  88. package/dist/components.js.map +1 -1
  89. package/dist/config.cjs +39 -0
  90. package/dist/{config.mjs.map → config.cjs.map} +1 -1
  91. package/dist/config.js +15 -18
  92. package/dist/config.js.map +1 -1
  93. package/dist/{constants.mjs → constants.cjs} +6 -2
  94. package/dist/{constants.mjs.map → constants.cjs.map} +1 -1
  95. package/dist/constants.js +1 -5
  96. package/dist/constants.js.map +1 -1
  97. package/dist/icon.cjs +69 -0
  98. package/dist/icon.cjs.map +1 -0
  99. package/dist/icon.js +32 -68
  100. package/dist/icon.js.map +1 -1
  101. package/dist/icons/ArrowCornerDownRight.cjs +16 -0
  102. package/dist/icons/{ArrowCornerDownRight.mjs.map → ArrowCornerDownRight.cjs.map} +1 -1
  103. package/dist/icons/ArrowCornerDownRight.js +5 -7
  104. package/dist/icons/ArrowCornerDownRight.js.map +1 -1
  105. package/dist/icons/ArrowCornerUpRight.cjs +16 -0
  106. package/dist/icons/ArrowCornerUpRight.cjs.map +1 -0
  107. package/dist/icons/ArrowCornerUpRight.js +5 -7
  108. package/dist/icons/ArrowCornerUpRight.js.map +1 -1
  109. package/dist/icons/ArrowDown.cjs +16 -0
  110. package/dist/icons/ArrowDown.cjs.map +1 -0
  111. package/dist/icons/ArrowDown.js +5 -7
  112. package/dist/icons/ArrowDown.js.map +1 -1
  113. package/dist/icons/ArrowUp.cjs +16 -0
  114. package/dist/icons/ArrowUp.cjs.map +1 -0
  115. package/dist/icons/ArrowUp.js +5 -7
  116. package/dist/icons/ArrowUp.js.map +1 -1
  117. package/dist/icons/{Attachment.mjs → Attachment.cjs} +8 -6
  118. package/dist/icons/{Attachment.mjs.map → Attachment.cjs.map} +1 -1
  119. package/dist/icons/Attachment.js +5 -7
  120. package/dist/icons/Attachment.js.map +1 -1
  121. package/dist/icons/Blockquote.cjs +16 -0
  122. package/dist/icons/Blockquote.cjs.map +1 -0
  123. package/dist/icons/Blockquote.js +5 -7
  124. package/dist/icons/Blockquote.js.map +1 -1
  125. package/dist/icons/Bold.cjs +16 -0
  126. package/dist/icons/{Bold.mjs.map → Bold.cjs.map} +1 -1
  127. package/dist/icons/Bold.js +5 -7
  128. package/dist/icons/Bold.js.map +1 -1
  129. package/dist/icons/Check.cjs +16 -0
  130. package/dist/icons/Check.cjs.map +1 -0
  131. package/dist/icons/Check.js +5 -7
  132. package/dist/icons/Check.js.map +1 -1
  133. package/dist/icons/ChevronDown.cjs +16 -0
  134. package/dist/icons/{ChevronDown.mjs.map → ChevronDown.cjs.map} +1 -1
  135. package/dist/icons/ChevronDown.js +5 -7
  136. package/dist/icons/ChevronDown.js.map +1 -1
  137. package/dist/icons/ChevronLeft.cjs +16 -0
  138. package/dist/icons/{ChevronLeft.mjs.map → ChevronLeft.cjs.map} +1 -1
  139. package/dist/icons/ChevronLeft.js +5 -7
  140. package/dist/icons/ChevronLeft.js.map +1 -1
  141. package/dist/icons/ChevronRight.cjs +16 -0
  142. package/dist/icons/{ChevronRight.mjs.map → ChevronRight.cjs.map} +1 -1
  143. package/dist/icons/ChevronRight.js +5 -7
  144. package/dist/icons/ChevronRight.js.map +1 -1
  145. package/dist/icons/ChevronUp.cjs +16 -0
  146. package/dist/icons/{ChevronUp.mjs.map → ChevronUp.cjs.map} +1 -1
  147. package/dist/icons/ChevronUp.js +5 -7
  148. package/dist/icons/ChevronUp.js.map +1 -1
  149. package/dist/icons/Code.cjs +16 -0
  150. package/dist/icons/Code.cjs.map +1 -0
  151. package/dist/icons/Code.js +5 -7
  152. package/dist/icons/Code.js.map +1 -1
  153. package/dist/icons/Comment.cjs +16 -0
  154. package/dist/icons/{Comment.mjs.map → Comment.cjs.map} +1 -1
  155. package/dist/icons/Comment.js +5 -7
  156. package/dist/icons/Comment.js.map +1 -1
  157. package/dist/icons/Cross.cjs +21 -0
  158. package/dist/icons/Cross.cjs.map +1 -0
  159. package/dist/icons/Cross.js +6 -8
  160. package/dist/icons/Cross.js.map +1 -1
  161. package/dist/icons/Delete.cjs +16 -0
  162. package/dist/icons/{Delete.mjs.map → Delete.cjs.map} +1 -1
  163. package/dist/icons/Delete.js +5 -7
  164. package/dist/icons/Delete.js.map +1 -1
  165. package/dist/icons/Edit.cjs +16 -0
  166. package/dist/icons/{Edit.mjs.map → Edit.cjs.map} +1 -1
  167. package/dist/icons/Edit.js +5 -7
  168. package/dist/icons/Edit.js.map +1 -1
  169. package/dist/icons/Ellipsis.cjs +31 -0
  170. package/dist/icons/Ellipsis.cjs.map +1 -0
  171. package/dist/icons/Ellipsis.js +7 -9
  172. package/dist/icons/Ellipsis.js.map +1 -1
  173. package/dist/icons/Emoji.cjs +34 -0
  174. package/dist/icons/Emoji.cjs.map +1 -0
  175. package/dist/icons/Emoji.js +9 -11
  176. package/dist/icons/Emoji.js.map +1 -1
  177. package/dist/icons/EmojiAdd.cjs +37 -0
  178. package/dist/icons/EmojiAdd.cjs.map +1 -0
  179. package/dist/icons/EmojiAdd.js +10 -12
  180. package/dist/icons/EmojiAdd.js.map +1 -1
  181. package/dist/icons/H1.cjs +16 -0
  182. package/dist/icons/{H1.mjs.map → H1.cjs.map} +1 -1
  183. package/dist/icons/H1.js +5 -7
  184. package/dist/icons/H1.js.map +1 -1
  185. package/dist/icons/H2.cjs +16 -0
  186. package/dist/icons/H2.cjs.map +1 -0
  187. package/dist/icons/H2.js +5 -7
  188. package/dist/icons/H2.js.map +1 -1
  189. package/dist/icons/H3.cjs +16 -0
  190. package/dist/icons/{H3.mjs.map → H3.cjs.map} +1 -1
  191. package/dist/icons/H3.js +5 -7
  192. package/dist/icons/H3.js.map +1 -1
  193. package/dist/icons/Italic.cjs +16 -0
  194. package/dist/icons/{Italic.mjs.map → Italic.cjs.map} +1 -1
  195. package/dist/icons/Italic.js +5 -7
  196. package/dist/icons/Italic.js.map +1 -1
  197. package/dist/icons/Lengthen.cjs +16 -0
  198. package/dist/icons/Lengthen.cjs.map +1 -0
  199. package/dist/icons/Lengthen.js +5 -7
  200. package/dist/icons/Lengthen.js.map +1 -1
  201. package/dist/icons/ListOrdered.cjs +16 -0
  202. package/dist/icons/{ListOrdered.mjs.map → ListOrdered.cjs.map} +1 -1
  203. package/dist/icons/ListOrdered.js +5 -7
  204. package/dist/icons/ListOrdered.js.map +1 -1
  205. package/dist/icons/ListUnordered.cjs +39 -0
  206. package/dist/icons/ListUnordered.cjs.map +1 -0
  207. package/dist/icons/ListUnordered.js +10 -12
  208. package/dist/icons/ListUnordered.js.map +1 -1
  209. package/dist/icons/Mention.cjs +21 -0
  210. package/dist/icons/Mention.cjs.map +1 -0
  211. package/dist/icons/Mention.js +6 -8
  212. package/dist/icons/Mention.js.map +1 -1
  213. package/dist/icons/QuestionMark.cjs +26 -0
  214. package/dist/icons/QuestionMark.cjs.map +1 -0
  215. package/dist/icons/QuestionMark.js +7 -9
  216. package/dist/icons/QuestionMark.js.map +1 -1
  217. package/dist/icons/Redo.cjs +21 -0
  218. package/dist/icons/Redo.cjs.map +1 -0
  219. package/dist/icons/Redo.js +6 -8
  220. package/dist/icons/Redo.js.map +1 -1
  221. package/dist/icons/Resolve.cjs +23 -0
  222. package/dist/icons/Resolve.cjs.map +1 -0
  223. package/dist/icons/Resolve.js +6 -8
  224. package/dist/icons/Resolve.js.map +1 -1
  225. package/dist/icons/Resolved.cjs +25 -0
  226. package/dist/icons/Resolved.cjs.map +1 -0
  227. package/dist/icons/Resolved.js +6 -8
  228. package/dist/icons/Resolved.js.map +1 -1
  229. package/dist/icons/Restore.cjs +21 -0
  230. package/dist/icons/Restore.cjs.map +1 -0
  231. package/dist/icons/Restore.js +6 -8
  232. package/dist/icons/Restore.js.map +1 -1
  233. package/dist/icons/Search.cjs +16 -0
  234. package/dist/icons/{Search.mjs.map → Search.cjs.map} +1 -1
  235. package/dist/icons/Search.js +5 -7
  236. package/dist/icons/Search.js.map +1 -1
  237. package/dist/icons/Send.cjs +16 -0
  238. package/dist/icons/Send.cjs.map +1 -0
  239. package/dist/icons/Send.js +5 -7
  240. package/dist/icons/Send.js.map +1 -1
  241. package/dist/icons/Shorten.cjs +16 -0
  242. package/dist/icons/{Shorten.mjs.map → Shorten.cjs.map} +1 -1
  243. package/dist/icons/Shorten.js +5 -7
  244. package/dist/icons/Shorten.js.map +1 -1
  245. package/dist/icons/{Sparkles.mjs → Sparkles.cjs} +8 -6
  246. package/dist/icons/{Sparkles.mjs.map → Sparkles.cjs.map} +1 -1
  247. package/dist/icons/Sparkles.js +5 -7
  248. package/dist/icons/Sparkles.js.map +1 -1
  249. package/dist/icons/SparklesText.cjs +21 -0
  250. package/dist/icons/{SparklesText.mjs.map → SparklesText.cjs.map} +1 -1
  251. package/dist/icons/SparklesText.js +6 -8
  252. package/dist/icons/SparklesText.js.map +1 -1
  253. package/dist/icons/Spinner.cjs +17 -0
  254. package/dist/icons/Spinner.cjs.map +1 -0
  255. package/dist/icons/Spinner.js +5 -7
  256. package/dist/icons/Spinner.js.map +1 -1
  257. package/dist/icons/Strikethrough.cjs +16 -0
  258. package/dist/icons/{Strikethrough.mjs.map → Strikethrough.cjs.map} +1 -1
  259. package/dist/icons/Strikethrough.js +5 -7
  260. package/dist/icons/Strikethrough.js.map +1 -1
  261. package/dist/icons/Text.cjs +16 -0
  262. package/dist/icons/{Text.mjs.map → Text.cjs.map} +1 -1
  263. package/dist/icons/Text.js +5 -7
  264. package/dist/icons/Text.js.map +1 -1
  265. package/dist/icons/Translate.cjs +21 -0
  266. package/dist/icons/{Translate.mjs.map → Translate.cjs.map} +1 -1
  267. package/dist/icons/Translate.js +6 -8
  268. package/dist/icons/Translate.js.map +1 -1
  269. package/dist/icons/Underline.cjs +16 -0
  270. package/dist/icons/Underline.cjs.map +1 -0
  271. package/dist/icons/Underline.js +5 -7
  272. package/dist/icons/Underline.js.map +1 -1
  273. package/dist/icons/Undo.cjs +21 -0
  274. package/dist/icons/Undo.cjs.map +1 -0
  275. package/dist/icons/Undo.js +6 -8
  276. package/dist/icons/Undo.js.map +1 -1
  277. package/dist/icons/Warning.cjs +23 -0
  278. package/dist/icons/Warning.cjs.map +1 -0
  279. package/dist/icons/Warning.js +6 -8
  280. package/dist/icons/Warning.js.map +1 -1
  281. package/dist/icons/index.cjs +96 -0
  282. package/dist/icons/index.cjs.map +1 -0
  283. package/dist/icons/index.js +45 -95
  284. package/dist/icons/index.js.map +1 -1
  285. package/dist/index.cjs +28 -0
  286. package/dist/{index.mjs.map → index.cjs.map} +1 -1
  287. package/dist/index.js +14 -26
  288. package/dist/index.js.map +1 -1
  289. package/dist/{overrides.mjs → overrides.cjs} +32 -27
  290. package/dist/{overrides.mjs.map → overrides.cjs.map} +1 -1
  291. package/dist/overrides.js +26 -31
  292. package/dist/overrides.js.map +1 -1
  293. package/dist/primitives/Comment/{index.mjs → index.cjs} +35 -31
  294. package/dist/primitives/Comment/{index.mjs.map → index.cjs.map} +1 -1
  295. package/dist/primitives/Comment/index.js +30 -34
  296. package/dist/primitives/Comment/index.js.map +1 -1
  297. package/dist/primitives/Comment/{utils.mjs → utils.cjs} +7 -2
  298. package/dist/primitives/Comment/{utils.mjs.map → utils.cjs.map} +1 -1
  299. package/dist/primitives/Comment/utils.js +1 -6
  300. package/dist/primitives/Comment/utils.js.map +1 -1
  301. package/dist/primitives/Composer/contexts.cjs +60 -0
  302. package/dist/primitives/Composer/{contexts.mjs.map → contexts.cjs.map} +1 -1
  303. package/dist/primitives/Composer/contexts.js +18 -30
  304. package/dist/primitives/Composer/contexts.js.map +1 -1
  305. package/dist/primitives/Composer/{index.mjs → index.cjs} +305 -273
  306. package/dist/primitives/Composer/{index.mjs.map → index.cjs.map} +1 -1
  307. package/dist/primitives/Composer/index.js +272 -304
  308. package/dist/primitives/Composer/index.js.map +1 -1
  309. package/dist/primitives/Composer/{utils.mjs → utils.cjs} +79 -64
  310. package/dist/primitives/Composer/{utils.mjs.map → utils.cjs.map} +1 -1
  311. package/dist/primitives/Composer/utils.js +63 -78
  312. package/dist/primitives/Composer/utils.js.map +1 -1
  313. package/dist/primitives/EmojiPicker/contexts.cjs +19 -0
  314. package/dist/primitives/EmojiPicker/{contexts.mjs.map → contexts.cjs.map} +1 -1
  315. package/dist/primitives/EmojiPicker/contexts.js +6 -9
  316. package/dist/primitives/EmojiPicker/contexts.js.map +1 -1
  317. package/dist/primitives/EmojiPicker/{index.mjs → index.cjs} +96 -92
  318. package/dist/primitives/EmojiPicker/{index.mjs.map → index.cjs.map} +1 -1
  319. package/dist/primitives/EmojiPicker/index.js +91 -95
  320. package/dist/primitives/EmojiPicker/index.js.map +1 -1
  321. package/dist/primitives/EmojiPicker/{utils.mjs → utils.cjs} +14 -10
  322. package/dist/primitives/EmojiPicker/{utils.mjs.map → utils.cjs.map} +1 -1
  323. package/dist/primitives/EmojiPicker/utils.js +9 -13
  324. package/dist/primitives/EmojiPicker/utils.js.map +1 -1
  325. package/dist/primitives/FileSize.cjs +36 -0
  326. package/dist/primitives/{FileSize.mjs.map → FileSize.cjs.map} +1 -1
  327. package/dist/primitives/FileSize.js +10 -12
  328. package/dist/primitives/FileSize.js.map +1 -1
  329. package/dist/primitives/{Timestamp.mjs → Timestamp.cjs} +27 -25
  330. package/dist/primitives/{Timestamp.mjs.map → Timestamp.cjs.map} +1 -1
  331. package/dist/primitives/Timestamp.js +24 -26
  332. package/dist/primitives/Timestamp.js.map +1 -1
  333. package/dist/primitives/index.cjs +20 -0
  334. package/dist/primitives/index.cjs.map +1 -0
  335. package/dist/primitives/index.js +10 -19
  336. package/dist/primitives/index.js.map +1 -1
  337. package/dist/primitives/internal/Emoji.cjs +32 -0
  338. package/dist/primitives/internal/{Emoji.mjs.map → Emoji.cjs.map} +1 -1
  339. package/dist/primitives/internal/Emoji.js +9 -11
  340. package/dist/primitives/internal/Emoji.js.map +1 -1
  341. package/dist/shared.cjs +13 -0
  342. package/dist/{shared.mjs.map → shared.cjs.map} +1 -1
  343. package/dist/shared.js +6 -8
  344. package/dist/shared.js.map +1 -1
  345. package/dist/slate/plugins/{auto-formatting.mjs → auto-formatting.cjs} +18 -16
  346. package/dist/slate/plugins/{auto-formatting.mjs.map → auto-formatting.cjs.map} +1 -1
  347. package/dist/slate/plugins/auto-formatting.js +15 -17
  348. package/dist/slate/plugins/auto-formatting.js.map +1 -1
  349. package/dist/slate/plugins/{auto-links.mjs → auto-links.cjs} +43 -40
  350. package/dist/slate/plugins/{auto-links.mjs.map → auto-links.cjs.map} +1 -1
  351. package/dist/slate/plugins/auto-links.js +39 -42
  352. package/dist/slate/plugins/auto-links.js.map +1 -1
  353. package/dist/slate/plugins/{custom-links.mjs → custom-links.cjs} +19 -16
  354. package/dist/slate/plugins/{custom-links.mjs.map → custom-links.cjs.map} +1 -1
  355. package/dist/slate/plugins/custom-links.js +15 -18
  356. package/dist/slate/plugins/custom-links.js.map +1 -1
  357. package/dist/slate/plugins/empty-clear-formatting.cjs +18 -0
  358. package/dist/slate/plugins/{empty-clear-formatting.mjs.map → empty-clear-formatting.cjs.map} +1 -1
  359. package/dist/slate/plugins/empty-clear-formatting.js +5 -7
  360. package/dist/slate/plugins/empty-clear-formatting.js.map +1 -1
  361. package/dist/slate/plugins/mentions.cjs +129 -0
  362. package/dist/slate/plugins/{mentions.mjs.map → mentions.cjs.map} +1 -1
  363. package/dist/slate/plugins/mentions.js +35 -42
  364. package/dist/slate/plugins/mentions.js.map +1 -1
  365. package/dist/slate/plugins/normalize.cjs +28 -0
  366. package/dist/slate/plugins/normalize.cjs.map +1 -0
  367. package/dist/slate/plugins/normalize.js +8 -10
  368. package/dist/slate/plugins/normalize.js.map +1 -1
  369. package/dist/slate/plugins/{paste.mjs → paste.cjs} +14 -12
  370. package/dist/slate/plugins/{paste.mjs.map → paste.cjs.map} +1 -1
  371. package/dist/slate/plugins/paste.js +11 -13
  372. package/dist/slate/plugins/paste.js.map +1 -1
  373. package/dist/slate/utils/get-character.cjs +50 -0
  374. package/dist/slate/utils/{get-character.mjs.map → get-character.cjs.map} +1 -1
  375. package/dist/slate/utils/get-character.js +10 -13
  376. package/dist/slate/utils/get-character.js.map +1 -1
  377. package/dist/slate/utils/get-dom-range.cjs +17 -0
  378. package/dist/slate/utils/{get-dom-range.mjs.map → get-dom-range.cjs.map} +1 -1
  379. package/dist/slate/utils/get-dom-range.js +3 -5
  380. package/dist/slate/utils/get-dom-range.js.map +1 -1
  381. package/dist/slate/utils/{get-match-range.mjs → get-match-range.cjs} +14 -12
  382. package/dist/slate/utils/{get-match-range.mjs.map → get-match-range.cjs.map} +1 -1
  383. package/dist/slate/utils/get-match-range.js +11 -13
  384. package/dist/slate/utils/get-match-range.js.map +1 -1
  385. package/dist/slate/utils/is-empty-string.cjs +8 -0
  386. package/dist/slate/utils/is-empty-string.cjs.map +1 -0
  387. package/dist/slate/utils/is-empty-string.js +1 -3
  388. package/dist/slate/utils/is-empty-string.js.map +1 -1
  389. package/dist/slate/utils/is-empty.cjs +27 -0
  390. package/dist/slate/utils/{is-empty.mjs.map → is-empty.cjs.map} +1 -1
  391. package/dist/slate/utils/is-empty.js +8 -10
  392. package/dist/slate/utils/is-empty.js.map +1 -1
  393. package/dist/slate/utils/{is-text.mjs → is-text.cjs} +5 -2
  394. package/dist/slate/utils/{is-text.mjs.map → is-text.cjs.map} +1 -1
  395. package/dist/slate/utils/is-text.js +1 -4
  396. package/dist/slate/utils/is-text.js.map +1 -1
  397. package/dist/slate/utils/{is-whitespace-character.mjs → is-whitespace-character.cjs} +4 -2
  398. package/dist/slate/utils/{is-whitespace-character.mjs.map → is-whitespace-character.cjs.map} +1 -1
  399. package/dist/slate/utils/is-whitespace-character.js +1 -3
  400. package/dist/slate/utils/is-whitespace-character.js.map +1 -1
  401. package/dist/slate/utils/marks.cjs +62 -0
  402. package/dist/slate/utils/{marks.mjs.map → marks.cjs.map} +1 -1
  403. package/dist/slate/utils/marks.js +12 -19
  404. package/dist/slate/utils/marks.js.map +1 -1
  405. package/dist/slate/utils/selection-contains-inlines.cjs +36 -0
  406. package/dist/slate/utils/selection-contains-inlines.cjs.map +1 -0
  407. package/dist/slate/utils/selection-contains-inlines.js +7 -9
  408. package/dist/slate/utils/selection-contains-inlines.js.map +1 -1
  409. package/dist/utils/{Persist.mjs → Persist.cjs} +26 -22
  410. package/dist/utils/{Persist.mjs.map → Persist.cjs.map} +1 -1
  411. package/dist/utils/Persist.js +21 -25
  412. package/dist/utils/Persist.js.map +1 -1
  413. package/dist/utils/Portal.cjs +29 -0
  414. package/dist/utils/{Portal.mjs.map → Portal.cjs.map} +1 -1
  415. package/dist/utils/Portal.js +9 -11
  416. package/dist/utils/Portal.js.map +1 -1
  417. package/dist/utils/{capitalize.mjs → capitalize.cjs} +4 -2
  418. package/dist/utils/capitalize.cjs.map +1 -0
  419. package/dist/utils/capitalize.js +1 -3
  420. package/dist/utils/capitalize.js.map +1 -1
  421. package/dist/utils/{clamp.mjs → clamp.cjs} +4 -2
  422. package/dist/utils/clamp.cjs.map +1 -0
  423. package/dist/utils/clamp.js +1 -3
  424. package/dist/utils/clamp.js.map +1 -1
  425. package/dist/utils/{class-names.mjs → class-names.cjs} +4 -2
  426. package/dist/utils/{class-names.mjs.map → class-names.cjs.map} +1 -1
  427. package/dist/utils/class-names.js +1 -3
  428. package/dist/utils/class-names.js.map +1 -1
  429. package/dist/utils/{data-transfer.mjs → data-transfer.cjs} +6 -4
  430. package/dist/utils/{data-transfer.mjs.map → data-transfer.cjs.map} +1 -1
  431. package/dist/utils/data-transfer.js +3 -5
  432. package/dist/utils/data-transfer.js.map +1 -1
  433. package/dist/utils/{download.mjs → download.cjs} +4 -2
  434. package/dist/utils/download.cjs.map +1 -0
  435. package/dist/utils/download.js +1 -3
  436. package/dist/utils/download.js.map +1 -1
  437. package/dist/utils/exists.cjs +8 -0
  438. package/dist/utils/exists.cjs.map +1 -0
  439. package/dist/utils/exists.js +1 -3
  440. package/dist/utils/exists.js.map +1 -1
  441. package/dist/utils/{find-last-index.mjs → find-last-index.cjs} +4 -2
  442. package/dist/utils/find-last-index.cjs.map +1 -0
  443. package/dist/utils/find-last-index.js +1 -3
  444. package/dist/utils/find-last-index.js.map +1 -1
  445. package/dist/utils/{format-file-size.mjs → format-file-size.cjs} +6 -4
  446. package/dist/utils/format-file-size.cjs.map +1 -0
  447. package/dist/utils/format-file-size.js +3 -5
  448. package/dist/utils/format-file-size.js.map +1 -1
  449. package/dist/utils/{get-initials.mjs → get-initials.cjs} +4 -2
  450. package/dist/utils/get-initials.cjs.map +1 -0
  451. package/dist/utils/get-initials.js +1 -3
  452. package/dist/utils/get-initials.js.map +1 -1
  453. package/dist/utils/intl.cjs +30 -0
  454. package/dist/utils/{intl.mjs.map → intl.cjs.map} +1 -1
  455. package/dist/utils/intl.js +6 -11
  456. package/dist/utils/intl.js.map +1 -1
  457. package/dist/utils/{is-apple.mjs → is-apple.cjs} +4 -2
  458. package/dist/utils/is-apple.cjs.map +1 -0
  459. package/dist/utils/is-apple.js +1 -3
  460. package/dist/utils/is-apple.js.map +1 -1
  461. package/dist/utils/{is-key.mjs → is-key.cjs} +6 -4
  462. package/dist/utils/{is-key.mjs.map → is-key.cjs.map} +1 -1
  463. package/dist/utils/is-key.js +3 -5
  464. package/dist/utils/is-key.js.map +1 -1
  465. package/dist/utils/{memoize.mjs → memoize.cjs} +6 -4
  466. package/dist/utils/memoize.cjs.map +1 -0
  467. package/dist/utils/memoize.js +3 -5
  468. package/dist/utils/memoize.js.map +1 -1
  469. package/dist/utils/{pluralize.mjs → pluralize.cjs} +4 -2
  470. package/dist/utils/pluralize.cjs.map +1 -0
  471. package/dist/utils/pluralize.js +1 -3
  472. package/dist/utils/pluralize.js.map +1 -1
  473. package/dist/utils/{request-idle-callback.mjs → request-idle-callback.cjs} +5 -2
  474. package/dist/utils/{request-idle-callback.mjs.map → request-idle-callback.cjs.map} +1 -1
  475. package/dist/utils/request-idle-callback.js +1 -4
  476. package/dist/utils/request-idle-callback.js.map +1 -1
  477. package/dist/utils/{request-submit.mjs → request-submit.cjs} +4 -2
  478. package/dist/utils/request-submit.cjs.map +1 -0
  479. package/dist/utils/request-submit.js +1 -3
  480. package/dist/utils/request-submit.js.map +1 -1
  481. package/dist/utils/{url.mjs → url.cjs} +4 -2
  482. package/dist/utils/url.cjs.map +1 -0
  483. package/dist/utils/url.js +1 -3
  484. package/dist/utils/url.js.map +1 -1
  485. package/dist/utils/{use-controllable-state.mjs → use-controllable-state.cjs} +11 -9
  486. package/dist/utils/{use-controllable-state.mjs.map → use-controllable-state.cjs.map} +1 -1
  487. package/dist/utils/use-controllable-state.js +8 -10
  488. package/dist/utils/use-controllable-state.js.map +1 -1
  489. package/dist/utils/use-index.cjs +32 -0
  490. package/dist/utils/{use-index.mjs.map → use-index.cjs.map} +1 -1
  491. package/dist/utils/use-index.js +11 -13
  492. package/dist/utils/use-index.js.map +1 -1
  493. package/dist/utils/use-initial.cjs +11 -0
  494. package/dist/utils/{use-initial.mjs.map → use-initial.cjs.map} +1 -1
  495. package/dist/utils/use-initial.js +3 -5
  496. package/dist/utils/use-initial.js.map +1 -1
  497. package/dist/utils/{use-interval.mjs → use-interval.cjs} +8 -6
  498. package/dist/utils/use-interval.cjs.map +1 -0
  499. package/dist/utils/use-interval.js +5 -7
  500. package/dist/utils/use-interval.js.map +1 -1
  501. package/dist/utils/use-latest.cjs +14 -0
  502. package/dist/utils/{use-latest.mjs.map → use-latest.cjs.map} +1 -1
  503. package/dist/utils/use-latest.js +4 -6
  504. package/dist/utils/use-latest.js.map +1 -1
  505. package/dist/utils/use-observable.cjs +15 -0
  506. package/dist/utils/{use-observable.mjs.map → use-observable.cjs.map} +1 -1
  507. package/dist/utils/use-observable.js +5 -7
  508. package/dist/utils/use-observable.js.map +1 -1
  509. package/dist/utils/{use-refs.mjs → use-refs.cjs} +6 -4
  510. package/dist/utils/{use-refs.mjs.map → use-refs.cjs.map} +1 -1
  511. package/dist/utils/use-refs.js +3 -5
  512. package/dist/utils/use-refs.js.map +1 -1
  513. package/dist/utils/use-rerender.cjs +14 -0
  514. package/dist/utils/{use-rerender.mjs.map → use-rerender.cjs.map} +1 -1
  515. package/dist/utils/use-rerender.js +3 -5
  516. package/dist/utils/use-rerender.js.map +1 -1
  517. package/dist/utils/{use-visible.mjs → use-visible.cjs} +11 -8
  518. package/dist/utils/{use-visible.mjs.map → use-visible.cjs.map} +1 -1
  519. package/dist/utils/use-visible.js +7 -10
  520. package/dist/utils/use-visible.js.map +1 -1
  521. package/dist/utils/{use-window-focus.mjs → use-window-focus.cjs} +6 -4
  522. package/dist/utils/use-window-focus.cjs.map +1 -0
  523. package/dist/utils/use-window-focus.js +3 -5
  524. package/dist/utils/use-window-focus.js.map +1 -1
  525. package/dist/utils/{visually-hidden.mjs → visually-hidden.cjs} +4 -2
  526. package/dist/utils/visually-hidden.cjs.map +1 -0
  527. package/dist/utils/visually-hidden.js +1 -3
  528. package/dist/utils/visually-hidden.js.map +1 -1
  529. package/dist/utils/{wrap.mjs → wrap.cjs} +4 -2
  530. package/dist/utils/wrap.cjs.map +1 -0
  531. package/dist/utils/wrap.js +1 -3
  532. package/dist/utils/wrap.js.map +1 -1
  533. package/dist/version.cjs +10 -0
  534. package/dist/{version.mjs.map → version.cjs.map} +1 -1
  535. package/dist/version.js +3 -7
  536. package/dist/version.js.map +1 -1
  537. package/package.json +28 -27
  538. package/styles/dark/attributes.css.d.cts +1 -0
  539. package/styles/dark/media-query.css.d.cts +1 -0
  540. package/styles.css.d.cts +1 -0
  541. package/dist/_private/index.mjs +0 -55
  542. package/dist/_private/index.mjs.map +0 -1
  543. package/dist/components/HistoryVersionSummary.mjs +0 -43
  544. package/dist/components/HistoryVersionSummaryList.mjs +0 -23
  545. package/dist/components/InboxNotificationList.mjs +0 -40
  546. package/dist/components/internal/Avatar.mjs +0 -46
  547. package/dist/components/internal/Button.mjs +0 -76
  548. package/dist/components/internal/Dropdown.mjs +0 -67
  549. package/dist/components/internal/Emoji.mjs +0 -17
  550. package/dist/components/internal/EmojiPicker.mjs +0 -184
  551. package/dist/components/internal/List.mjs +0 -34
  552. package/dist/components/internal/Room.mjs +0 -22
  553. package/dist/components/internal/Tooltip.mjs +0 -109
  554. package/dist/components/internal/User.mjs +0 -26
  555. package/dist/components.mjs +0 -43
  556. package/dist/config.mjs +0 -36
  557. package/dist/icon.mjs +0 -33
  558. package/dist/icon.mjs.map +0 -1
  559. package/dist/icons/ArrowCornerDownRight.mjs +0 -14
  560. package/dist/icons/ArrowCornerUpRight.mjs +0 -14
  561. package/dist/icons/ArrowCornerUpRight.mjs.map +0 -1
  562. package/dist/icons/ArrowDown.mjs +0 -14
  563. package/dist/icons/ArrowDown.mjs.map +0 -1
  564. package/dist/icons/ArrowUp.mjs +0 -14
  565. package/dist/icons/ArrowUp.mjs.map +0 -1
  566. package/dist/icons/Blockquote.mjs +0 -14
  567. package/dist/icons/Blockquote.mjs.map +0 -1
  568. package/dist/icons/Bold.mjs +0 -14
  569. package/dist/icons/Check.mjs +0 -14
  570. package/dist/icons/Check.mjs.map +0 -1
  571. package/dist/icons/ChevronDown.mjs +0 -14
  572. package/dist/icons/ChevronLeft.mjs +0 -14
  573. package/dist/icons/ChevronRight.mjs +0 -14
  574. package/dist/icons/ChevronUp.mjs +0 -14
  575. package/dist/icons/Code.mjs +0 -14
  576. package/dist/icons/Code.mjs.map +0 -1
  577. package/dist/icons/Comment.mjs +0 -14
  578. package/dist/icons/Cross.mjs +0 -19
  579. package/dist/icons/Cross.mjs.map +0 -1
  580. package/dist/icons/Delete.mjs +0 -14
  581. package/dist/icons/Edit.mjs +0 -14
  582. package/dist/icons/Ellipsis.mjs +0 -29
  583. package/dist/icons/Ellipsis.mjs.map +0 -1
  584. package/dist/icons/Emoji.mjs +0 -32
  585. package/dist/icons/Emoji.mjs.map +0 -1
  586. package/dist/icons/EmojiAdd.mjs +0 -35
  587. package/dist/icons/EmojiAdd.mjs.map +0 -1
  588. package/dist/icons/H1.mjs +0 -14
  589. package/dist/icons/H2.mjs +0 -14
  590. package/dist/icons/H2.mjs.map +0 -1
  591. package/dist/icons/H3.mjs +0 -14
  592. package/dist/icons/Italic.mjs +0 -14
  593. package/dist/icons/Lengthen.mjs +0 -14
  594. package/dist/icons/Lengthen.mjs.map +0 -1
  595. package/dist/icons/ListOrdered.mjs +0 -14
  596. package/dist/icons/ListUnordered.mjs +0 -37
  597. package/dist/icons/ListUnordered.mjs.map +0 -1
  598. package/dist/icons/Mention.mjs +0 -19
  599. package/dist/icons/Mention.mjs.map +0 -1
  600. package/dist/icons/QuestionMark.mjs +0 -24
  601. package/dist/icons/QuestionMark.mjs.map +0 -1
  602. package/dist/icons/Redo.mjs +0 -19
  603. package/dist/icons/Redo.mjs.map +0 -1
  604. package/dist/icons/Resolve.mjs +0 -21
  605. package/dist/icons/Resolve.mjs.map +0 -1
  606. package/dist/icons/Resolved.mjs +0 -23
  607. package/dist/icons/Resolved.mjs.map +0 -1
  608. package/dist/icons/Restore.mjs +0 -19
  609. package/dist/icons/Restore.mjs.map +0 -1
  610. package/dist/icons/Search.mjs +0 -14
  611. package/dist/icons/Send.mjs +0 -14
  612. package/dist/icons/Send.mjs.map +0 -1
  613. package/dist/icons/Shorten.mjs +0 -14
  614. package/dist/icons/SparklesText.mjs +0 -19
  615. package/dist/icons/Spinner.mjs +0 -15
  616. package/dist/icons/Spinner.mjs.map +0 -1
  617. package/dist/icons/Strikethrough.mjs +0 -14
  618. package/dist/icons/Text.mjs +0 -14
  619. package/dist/icons/Translate.mjs +0 -19
  620. package/dist/icons/Underline.mjs +0 -14
  621. package/dist/icons/Underline.mjs.map +0 -1
  622. package/dist/icons/Undo.mjs +0 -19
  623. package/dist/icons/Undo.mjs.map +0 -1
  624. package/dist/icons/Warning.mjs +0 -21
  625. package/dist/icons/Warning.mjs.map +0 -1
  626. package/dist/icons/index.mjs +0 -46
  627. package/dist/icons/index.mjs.map +0 -1
  628. package/dist/index.mjs +0 -16
  629. package/dist/primitives/Composer/contexts.mjs +0 -48
  630. package/dist/primitives/EmojiPicker/contexts.mjs +0 -16
  631. package/dist/primitives/FileSize.mjs +0 -34
  632. package/dist/primitives/index.mjs +0 -11
  633. package/dist/primitives/index.mjs.map +0 -1
  634. package/dist/primitives/internal/Emoji.mjs +0 -30
  635. package/dist/shared.mjs +0 -11
  636. package/dist/slate/plugins/empty-clear-formatting.mjs +0 -16
  637. package/dist/slate/plugins/mentions.mjs +0 -122
  638. package/dist/slate/plugins/normalize.mjs +0 -26
  639. package/dist/slate/plugins/normalize.mjs.map +0 -1
  640. package/dist/slate/utils/get-character.mjs +0 -47
  641. package/dist/slate/utils/get-dom-range.mjs +0 -15
  642. package/dist/slate/utils/is-empty-string.mjs +0 -6
  643. package/dist/slate/utils/is-empty-string.mjs.map +0 -1
  644. package/dist/slate/utils/is-empty.mjs +0 -25
  645. package/dist/slate/utils/marks.mjs +0 -55
  646. package/dist/slate/utils/selection-contains-inlines.mjs +0 -34
  647. package/dist/slate/utils/selection-contains-inlines.mjs.map +0 -1
  648. package/dist/utils/Portal.mjs +0 -27
  649. package/dist/utils/capitalize.mjs.map +0 -1
  650. package/dist/utils/clamp.mjs.map +0 -1
  651. package/dist/utils/download.mjs.map +0 -1
  652. package/dist/utils/exists.mjs +0 -6
  653. package/dist/utils/exists.mjs.map +0 -1
  654. package/dist/utils/find-last-index.mjs.map +0 -1
  655. package/dist/utils/format-file-size.mjs.map +0 -1
  656. package/dist/utils/get-initials.mjs.map +0 -1
  657. package/dist/utils/intl.mjs +0 -25
  658. package/dist/utils/is-apple.mjs.map +0 -1
  659. package/dist/utils/memoize.mjs.map +0 -1
  660. package/dist/utils/pluralize.mjs.map +0 -1
  661. package/dist/utils/request-submit.mjs.map +0 -1
  662. package/dist/utils/url.mjs.map +0 -1
  663. package/dist/utils/use-index.mjs +0 -30
  664. package/dist/utils/use-initial.mjs +0 -9
  665. package/dist/utils/use-interval.mjs.map +0 -1
  666. package/dist/utils/use-latest.mjs +0 -12
  667. package/dist/utils/use-observable.mjs +0 -13
  668. package/dist/utils/use-rerender.mjs +0 -12
  669. package/dist/utils/use-window-focus.mjs.map +0 -1
  670. package/dist/utils/visually-hidden.mjs.map +0 -1
  671. package/dist/utils/wrap.mjs.map +0 -1
  672. package/dist/version.mjs +0 -6
  673. /package/dist/_private/{index.d.mts → index.d.cts} +0 -0
  674. /package/dist/{index.d.mts → index.d.cts} +0 -0
  675. /package/dist/primitives/{index.d.mts → index.d.cts} +0 -0
@@ -0,0 +1,134 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var TooltipPrimitive = require('@radix-ui/react-tooltip');
6
+ var react = require('react');
7
+ var config = require('../../config.cjs');
8
+ var constants = require('../../constants.cjs');
9
+ var classNames = require('../../utils/class-names.cjs');
10
+ var isApple = require('../../utils/is-apple.cjs');
11
+
12
+ function _interopNamespaceDefault(e) {
13
+ var n = Object.create(null);
14
+ if (e) {
15
+ Object.keys(e).forEach(function (k) {
16
+ if (k !== 'default') {
17
+ var d = Object.getOwnPropertyDescriptor(e, k);
18
+ Object.defineProperty(n, k, d.get ? d : {
19
+ enumerable: true,
20
+ get: function () { return e[k]; }
21
+ });
22
+ }
23
+ });
24
+ }
25
+ n.default = e;
26
+ return Object.freeze(n);
27
+ }
28
+
29
+ var TooltipPrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(TooltipPrimitive);
30
+
31
+
32
+ const ALT_KEY = { title: "Alt", key: "\u2325" };
33
+ const COMMAND_KEY = { title: "Command", key: "\u2318" };
34
+ const CONTROL_KEY = { title: "Ctrl", key: "\u2303" };
35
+ const SHIFT_KEY = { title: "Shift", key: "\u21E7" };
36
+ const ENTER_KEY = { title: "Enter", key: "\u23CE" };
37
+ const SPACE_KEY = { title: "Space", key: "\u2423" };
38
+ const ESCAPE_KEY = { title: "Escape", key: "\u238B" };
39
+ const KEYS = {
40
+ alt: () => ALT_KEY,
41
+ mod: () => isApple.isApple() ? COMMAND_KEY : CONTROL_KEY,
42
+ control: () => CONTROL_KEY,
43
+ ctrl: () => CONTROL_KEY,
44
+ command: () => COMMAND_KEY,
45
+ cmd: () => COMMAND_KEY,
46
+ shift: () => SHIFT_KEY,
47
+ enter: () => ENTER_KEY,
48
+ " ": () => SPACE_KEY,
49
+ space: () => SPACE_KEY,
50
+ escape: () => ESCAPE_KEY,
51
+ esc: () => ESCAPE_KEY
52
+ };
53
+ function getShortcutKbdFromKeymap(keymap) {
54
+ const keys = keymap.split("-");
55
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {
56
+ children: keys.map((key, index) => {
57
+ const lowerKey = key.toLowerCase();
58
+ if (lowerKey in KEYS) {
59
+ return /* @__PURE__ */ jsxRuntime.jsx(ShortcutTooltipKey, {
60
+ name: lowerKey
61
+ }, index);
62
+ }
63
+ return /* @__PURE__ */ jsxRuntime.jsx("span", {
64
+ children: key
65
+ }, index);
66
+ })
67
+ });
68
+ }
69
+ const Tooltip = react.forwardRef(
70
+ ({ children, content, multiline, className, ...props }, forwardedRef) => {
71
+ const { portalContainer } = config.useLiveblocksUIConfig();
72
+ return /* @__PURE__ */ jsxRuntime.jsxs(TooltipPrimitive__namespace.Root, {
73
+ disableHoverableContent: true,
74
+ children: [
75
+ /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Trigger, {
76
+ asChild: true,
77
+ ref: forwardedRef,
78
+ children
79
+ }),
80
+ /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Portal, {
81
+ container: portalContainer,
82
+ children: /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Content, {
83
+ className: classNames.classNames(
84
+ "lb-root lb-portal lb-tooltip",
85
+ multiline && "lb-tooltip:multiline",
86
+ className
87
+ ),
88
+ side: "top",
89
+ align: "center",
90
+ sideOffset: constants.FLOATING_ELEMENT_SIDE_OFFSET,
91
+ collisionPadding: constants.FLOATING_ELEMENT_COLLISION_PADDING,
92
+ ...props,
93
+ children: content
94
+ })
95
+ })
96
+ ]
97
+ });
98
+ }
99
+ );
100
+ const ShortcutTooltip = react.forwardRef(({ children, content, shortcut, ...props }, forwardedRef) => {
101
+ const shortcutKbd = react.useMemo(() => {
102
+ return shortcut ? getShortcutKbdFromKeymap(shortcut) : null;
103
+ }, [shortcut]);
104
+ return /* @__PURE__ */ jsxRuntime.jsx(Tooltip, {
105
+ content: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
106
+ children: [
107
+ content,
108
+ shortcutKbd && /* @__PURE__ */ jsxRuntime.jsx("kbd", {
109
+ className: "lb-tooltip-shortcut",
110
+ children: shortcutKbd
111
+ })
112
+ ]
113
+ }),
114
+ ...props,
115
+ ref: forwardedRef,
116
+ children
117
+ });
118
+ });
119
+ function ShortcutTooltipKey({ name, ...props }) {
120
+ const { title, key } = react.useMemo(() => KEYS[name]?.(), [name]);
121
+ return /* @__PURE__ */ jsxRuntime.jsx("abbr", {
122
+ title,
123
+ ...props,
124
+ children: key
125
+ });
126
+ }
127
+
128
+ Object.defineProperty(exports, 'TooltipProvider', {
129
+ enumerable: true,
130
+ get: function () { return TooltipPrimitive.TooltipProvider; }
131
+ });
132
+ exports.ShortcutTooltip = ShortcutTooltip;
133
+ exports.Tooltip = Tooltip;
134
+ //# sourceMappingURL=Tooltip.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.mjs","sources":["../../../src/components/internal/Tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport type { ComponentProps, ReactNode } from \"react\";\nimport { forwardRef, useMemo } from \"react\";\n\nimport { useLiveblocksUIConfig } from \"../../config\";\nimport {\n FLOATING_ELEMENT_COLLISION_PADDING,\n FLOATING_ELEMENT_SIDE_OFFSET,\n} from \"../../constants\";\nimport { classNames } from \"../../utils/class-names\";\nimport { isApple } from \"../../utils/is-apple\";\n\nconst ALT_KEY = { title: \"Alt\", key: \"⌥\" };\nconst COMMAND_KEY = { title: \"Command\", key: \"⌘\" };\nconst CONTROL_KEY = { title: \"Ctrl\", key: \"⌃\" };\nconst SHIFT_KEY = { title: \"Shift\", key: \"⇧\" };\nconst ENTER_KEY = { title: \"Enter\", key: \"⏎\" };\nconst SPACE_KEY = { title: \"Space\", key: \"␣\" };\nconst ESCAPE_KEY = { title: \"Escape\", key: \"⎋\" };\n\nconst KEYS = {\n alt: () => ALT_KEY,\n mod: () => (isApple() ? COMMAND_KEY : CONTROL_KEY),\n control: () => CONTROL_KEY,\n ctrl: () => CONTROL_KEY,\n command: () => COMMAND_KEY,\n cmd: () => COMMAND_KEY,\n shift: () => SHIFT_KEY,\n enter: () => ENTER_KEY,\n \" \": () => SPACE_KEY,\n space: () => SPACE_KEY,\n escape: () => ESCAPE_KEY,\n esc: () => ESCAPE_KEY,\n} as const;\n\nexport interface TooltipProps\n extends Pick<TooltipPrimitive.TooltipTriggerProps, \"children\">,\n Omit<TooltipPrimitive.TooltipContentProps, \"content\"> {\n content: ReactNode;\n multiline?: boolean;\n}\n\nexport interface ShortcutTooltipProps extends TooltipProps {\n shortcut?: string;\n}\n\nexport interface ShortcutTooltipKeyProps extends ComponentProps<\"abbr\"> {\n name: keyof typeof KEYS;\n}\n\nfunction getShortcutKbdFromKeymap(keymap: string) {\n const keys = keymap.split(\"-\");\n\n return (\n <>\n {keys.map((key, index) => {\n const lowerKey = key.toLowerCase();\n\n if (lowerKey in KEYS) {\n return (\n <ShortcutTooltipKey\n key={index}\n name={lowerKey as keyof typeof KEYS}\n />\n );\n }\n\n return <span key={index}>{key}</span>;\n })}\n </>\n );\n}\n\nexport const Tooltip = forwardRef<HTMLButtonElement, TooltipProps>(\n ({ children, content, multiline, className, ...props }, forwardedRef) => {\n const { portalContainer } = useLiveblocksUIConfig();\n\n return (\n <TooltipPrimitive.Root disableHoverableContent>\n <TooltipPrimitive.Trigger asChild ref={forwardedRef}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Portal container={portalContainer}>\n <TooltipPrimitive.Content\n className={classNames(\n \"lb-root lb-portal lb-tooltip\",\n multiline && \"lb-tooltip:multiline\",\n className\n )}\n side=\"top\"\n align=\"center\"\n sideOffset={FLOATING_ELEMENT_SIDE_OFFSET}\n collisionPadding={FLOATING_ELEMENT_COLLISION_PADDING}\n {...props}\n >\n {content}\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n );\n }\n);\n\nexport const ShortcutTooltip = forwardRef<\n HTMLButtonElement,\n ShortcutTooltipProps\n>(({ children, content, shortcut, ...props }, forwardedRef) => {\n const shortcutKbd = useMemo(() => {\n return shortcut ? getShortcutKbdFromKeymap(shortcut) : null;\n }, [shortcut]);\n\n return (\n <Tooltip\n content={\n <>\n {content}\n {shortcutKbd && (\n <kbd className=\"lb-tooltip-shortcut\">{shortcutKbd}</kbd>\n )}\n </>\n }\n {...props}\n ref={forwardedRef}\n >\n {children}\n </Tooltip>\n );\n});\n\nfunction ShortcutTooltipKey({ name, ...props }: ShortcutTooltipKeyProps) {\n const { title, key } = useMemo(() => KEYS[name]?.(), [name]);\n\n return (\n <abbr title={title} {...props}>\n {key}\n </abbr>\n );\n}\n\nexport { TooltipProvider } from \"@radix-ui/react-tooltip\";\n"],"names":[],"mappings":";;;;;;;;;;AAAA;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAa;AACA;AAC2B;AACvB;AACH;AACG;AACJ;AACE;AACA;AACF;AACE;AACC;AAEhB;AAiBA;AACE;AAEA;AACE;AAEI;AAEA;AACE;AACG;AAEO;AACR;AAIJ;AAAQ;AAAkB;AAAI;AAC/B;AAGP;AAEO;AAAgB;AAEnB;AAEA;AACG;AAA6C;AAC5C;AAAC;AAAgC;AAAM;AACpC;AACH;AACC;AAAmC;AACjC;AACY;AACT;AACa;AACb;AACF;AACK;AACC;AACM;AACM;AACd;AAEH;AACH;AACF;AAAA;AACF;AAGN;AAEa;AAIX;AACE;AAAuD;AAGzD;AACG;AAEG;AACG;AAAA;AAEE;AAAc;AAAuB;AAAY;AAAA;AAEtD;AAEE;AACC;AAEJ;AAGP;AAEA;AACE;AAEA;AACG;AAAK;AAAkB;AACrB;AAGP;;"}
1
+ {"version":3,"file":"Tooltip.cjs","sources":["../../../src/components/internal/Tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport type { ComponentProps, ReactNode } from \"react\";\nimport { forwardRef, useMemo } from \"react\";\n\nimport { useLiveblocksUIConfig } from \"../../config\";\nimport {\n FLOATING_ELEMENT_COLLISION_PADDING,\n FLOATING_ELEMENT_SIDE_OFFSET,\n} from \"../../constants\";\nimport { classNames } from \"../../utils/class-names\";\nimport { isApple } from \"../../utils/is-apple\";\n\nconst ALT_KEY = { title: \"Alt\", key: \"⌥\" };\nconst COMMAND_KEY = { title: \"Command\", key: \"⌘\" };\nconst CONTROL_KEY = { title: \"Ctrl\", key: \"⌃\" };\nconst SHIFT_KEY = { title: \"Shift\", key: \"⇧\" };\nconst ENTER_KEY = { title: \"Enter\", key: \"⏎\" };\nconst SPACE_KEY = { title: \"Space\", key: \"␣\" };\nconst ESCAPE_KEY = { title: \"Escape\", key: \"⎋\" };\n\nconst KEYS = {\n alt: () => ALT_KEY,\n mod: () => (isApple() ? COMMAND_KEY : CONTROL_KEY),\n control: () => CONTROL_KEY,\n ctrl: () => CONTROL_KEY,\n command: () => COMMAND_KEY,\n cmd: () => COMMAND_KEY,\n shift: () => SHIFT_KEY,\n enter: () => ENTER_KEY,\n \" \": () => SPACE_KEY,\n space: () => SPACE_KEY,\n escape: () => ESCAPE_KEY,\n esc: () => ESCAPE_KEY,\n} as const;\n\nexport interface TooltipProps\n extends Pick<TooltipPrimitive.TooltipTriggerProps, \"children\">,\n Omit<TooltipPrimitive.TooltipContentProps, \"content\"> {\n content: ReactNode;\n multiline?: boolean;\n}\n\nexport interface ShortcutTooltipProps extends TooltipProps {\n shortcut?: string;\n}\n\nexport interface ShortcutTooltipKeyProps extends ComponentProps<\"abbr\"> {\n name: keyof typeof KEYS;\n}\n\nfunction getShortcutKbdFromKeymap(keymap: string) {\n const keys = keymap.split(\"-\");\n\n return (\n <>\n {keys.map((key, index) => {\n const lowerKey = key.toLowerCase();\n\n if (lowerKey in KEYS) {\n return (\n <ShortcutTooltipKey\n key={index}\n name={lowerKey as keyof typeof KEYS}\n />\n );\n }\n\n return <span key={index}>{key}</span>;\n })}\n </>\n );\n}\n\nexport const Tooltip = forwardRef<HTMLButtonElement, TooltipProps>(\n ({ children, content, multiline, className, ...props }, forwardedRef) => {\n const { portalContainer } = useLiveblocksUIConfig();\n\n return (\n <TooltipPrimitive.Root disableHoverableContent>\n <TooltipPrimitive.Trigger asChild ref={forwardedRef}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Portal container={portalContainer}>\n <TooltipPrimitive.Content\n className={classNames(\n \"lb-root lb-portal lb-tooltip\",\n multiline && \"lb-tooltip:multiline\",\n className\n )}\n side=\"top\"\n align=\"center\"\n sideOffset={FLOATING_ELEMENT_SIDE_OFFSET}\n collisionPadding={FLOATING_ELEMENT_COLLISION_PADDING}\n {...props}\n >\n {content}\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n );\n }\n);\n\nexport const ShortcutTooltip = forwardRef<\n HTMLButtonElement,\n ShortcutTooltipProps\n>(({ children, content, shortcut, ...props }, forwardedRef) => {\n const shortcutKbd = useMemo(() => {\n return shortcut ? getShortcutKbdFromKeymap(shortcut) : null;\n }, [shortcut]);\n\n return (\n <Tooltip\n content={\n <>\n {content}\n {shortcutKbd && (\n <kbd className=\"lb-tooltip-shortcut\">{shortcutKbd}</kbd>\n )}\n </>\n }\n {...props}\n ref={forwardedRef}\n >\n {children}\n </Tooltip>\n );\n});\n\nfunction ShortcutTooltipKey({ name, ...props }: ShortcutTooltipKeyProps) {\n const { title, key } = useMemo(() => KEYS[name]?.(), [name]);\n\n return (\n <abbr title={title} {...props}>\n {key}\n </abbr>\n );\n}\n\nexport { TooltipProvider } from \"@radix-ui/react-tooltip\";\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAa;AACA;AAC2B;AACvB;AACH;AACG;AACJ;AACE;AACA;AACF;AACE;AACC;AAEhB;AAiBA;AACE;AAEA;AACE;AAEI;AAEA;AACE;AACG;AAEO;AACR;AAIJ;AAAQ;AAAkB;AAAI;AAC/B;AAGP;AAEO;AAAgB;AAEnB;AAEA;AACG;AAA6C;AAC5C;AAAC;AAAgC;AAAM;AACpC;AACH;AACC;AAAmC;AACjC;AACY;AACT;AACa;AACb;AACF;AACK;AACC;AACM;AACM;AACd;AAEH;AACH;AACF;AAAA;AACF;AAGN;AAEa;AAIX;AACE;AAAuD;AAGzD;AACG;AAEG;AACG;AAAA;AAEE;AAAc;AAAuB;AAAY;AAAA;AAEtD;AAEE;AACC;AAEJ;AAGP;AAEA;AACE;AAEA;AACG;AAAK;AAAkB;AACrB;AAGP;;;;;;;"}
@@ -1,32 +1,12 @@
1
1
  "use client";
2
- 'use strict';
3
-
4
- var jsxRuntime = require('react/jsx-runtime');
5
- var TooltipPrimitive = require('@radix-ui/react-tooltip');
6
- var react = require('react');
7
- var config = require('../../config.js');
8
- var constants = require('../../constants.js');
9
- var classNames = require('../../utils/class-names.js');
10
- var isApple = require('../../utils/is-apple.js');
11
-
12
- function _interopNamespaceDefault(e) {
13
- var n = Object.create(null);
14
- if (e) {
15
- Object.keys(e).forEach(function (k) {
16
- if (k !== 'default') {
17
- var d = Object.getOwnPropertyDescriptor(e, k);
18
- Object.defineProperty(n, k, d.get ? d : {
19
- enumerable: true,
20
- get: function () { return e[k]; }
21
- });
22
- }
23
- });
24
- }
25
- n.default = e;
26
- return Object.freeze(n);
27
- }
28
-
29
- var TooltipPrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(TooltipPrimitive);
2
+ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
3
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
4
+ export { TooltipProvider } from '@radix-ui/react-tooltip';
5
+ import { forwardRef, useMemo } from 'react';
6
+ import { useLiveblocksUIConfig } from '../../config.js';
7
+ import { FLOATING_ELEMENT_SIDE_OFFSET, FLOATING_ELEMENT_COLLISION_PADDING } from '../../constants.js';
8
+ import { classNames } from '../../utils/class-names.js';
9
+ import { isApple } from '../../utils/is-apple.js';
30
10
 
31
11
 
32
12
  const ALT_KEY = { title: "Alt", key: "\u2325" };
@@ -38,7 +18,7 @@ const SPACE_KEY = { title: "Space", key: "\u2423" };
38
18
  const ESCAPE_KEY = { title: "Escape", key: "\u238B" };
39
19
  const KEYS = {
40
20
  alt: () => ALT_KEY,
41
- mod: () => isApple.isApple() ? COMMAND_KEY : CONTROL_KEY,
21
+ mod: () => isApple() ? COMMAND_KEY : CONTROL_KEY,
42
22
  control: () => CONTROL_KEY,
43
23
  ctrl: () => CONTROL_KEY,
44
24
  command: () => COMMAND_KEY,
@@ -52,43 +32,43 @@ const KEYS = {
52
32
  };
53
33
  function getShortcutKbdFromKeymap(keymap) {
54
34
  const keys = keymap.split("-");
55
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {
35
+ return /* @__PURE__ */ jsx(Fragment, {
56
36
  children: keys.map((key, index) => {
57
37
  const lowerKey = key.toLowerCase();
58
38
  if (lowerKey in KEYS) {
59
- return /* @__PURE__ */ jsxRuntime.jsx(ShortcutTooltipKey, {
39
+ return /* @__PURE__ */ jsx(ShortcutTooltipKey, {
60
40
  name: lowerKey
61
41
  }, index);
62
42
  }
63
- return /* @__PURE__ */ jsxRuntime.jsx("span", {
43
+ return /* @__PURE__ */ jsx("span", {
64
44
  children: key
65
45
  }, index);
66
46
  })
67
47
  });
68
48
  }
69
- const Tooltip = react.forwardRef(
49
+ const Tooltip = forwardRef(
70
50
  ({ children, content, multiline, className, ...props }, forwardedRef) => {
71
- const { portalContainer } = config.useLiveblocksUIConfig();
72
- return /* @__PURE__ */ jsxRuntime.jsxs(TooltipPrimitive__namespace.Root, {
51
+ const { portalContainer } = useLiveblocksUIConfig();
52
+ return /* @__PURE__ */ jsxs(TooltipPrimitive.Root, {
73
53
  disableHoverableContent: true,
74
54
  children: [
75
- /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Trigger, {
55
+ /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, {
76
56
  asChild: true,
77
57
  ref: forwardedRef,
78
58
  children
79
59
  }),
80
- /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Portal, {
60
+ /* @__PURE__ */ jsx(TooltipPrimitive.Portal, {
81
61
  container: portalContainer,
82
- children: /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Content, {
83
- className: classNames.classNames(
62
+ children: /* @__PURE__ */ jsx(TooltipPrimitive.Content, {
63
+ className: classNames(
84
64
  "lb-root lb-portal lb-tooltip",
85
65
  multiline && "lb-tooltip:multiline",
86
66
  className
87
67
  ),
88
68
  side: "top",
89
69
  align: "center",
90
- sideOffset: constants.FLOATING_ELEMENT_SIDE_OFFSET,
91
- collisionPadding: constants.FLOATING_ELEMENT_COLLISION_PADDING,
70
+ sideOffset: FLOATING_ELEMENT_SIDE_OFFSET,
71
+ collisionPadding: FLOATING_ELEMENT_COLLISION_PADDING,
92
72
  ...props,
93
73
  children: content
94
74
  })
@@ -97,15 +77,15 @@ const Tooltip = react.forwardRef(
97
77
  });
98
78
  }
99
79
  );
100
- const ShortcutTooltip = react.forwardRef(({ children, content, shortcut, ...props }, forwardedRef) => {
101
- const shortcutKbd = react.useMemo(() => {
80
+ const ShortcutTooltip = forwardRef(({ children, content, shortcut, ...props }, forwardedRef) => {
81
+ const shortcutKbd = useMemo(() => {
102
82
  return shortcut ? getShortcutKbdFromKeymap(shortcut) : null;
103
83
  }, [shortcut]);
104
- return /* @__PURE__ */ jsxRuntime.jsx(Tooltip, {
105
- content: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
84
+ return /* @__PURE__ */ jsx(Tooltip, {
85
+ content: /* @__PURE__ */ jsxs(Fragment, {
106
86
  children: [
107
87
  content,
108
- shortcutKbd && /* @__PURE__ */ jsxRuntime.jsx("kbd", {
88
+ shortcutKbd && /* @__PURE__ */ jsx("kbd", {
109
89
  className: "lb-tooltip-shortcut",
110
90
  children: shortcutKbd
111
91
  })
@@ -117,18 +97,13 @@ const ShortcutTooltip = react.forwardRef(({ children, content, shortcut, ...prop
117
97
  });
118
98
  });
119
99
  function ShortcutTooltipKey({ name, ...props }) {
120
- const { title, key } = react.useMemo(() => KEYS[name]?.(), [name]);
121
- return /* @__PURE__ */ jsxRuntime.jsx("abbr", {
100
+ const { title, key } = useMemo(() => KEYS[name]?.(), [name]);
101
+ return /* @__PURE__ */ jsx("abbr", {
122
102
  title,
123
103
  ...props,
124
104
  children: key
125
105
  });
126
106
  }
127
107
 
128
- Object.defineProperty(exports, 'TooltipProvider', {
129
- enumerable: true,
130
- get: function () { return TooltipPrimitive.TooltipProvider; }
131
- });
132
- exports.ShortcutTooltip = ShortcutTooltip;
133
- exports.Tooltip = Tooltip;
108
+ export { ShortcutTooltip, Tooltip };
134
109
  //# sourceMappingURL=Tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sources":["../../../src/components/internal/Tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport type { ComponentProps, ReactNode } from \"react\";\nimport { forwardRef, useMemo } from \"react\";\n\nimport { useLiveblocksUIConfig } from \"../../config\";\nimport {\n FLOATING_ELEMENT_COLLISION_PADDING,\n FLOATING_ELEMENT_SIDE_OFFSET,\n} from \"../../constants\";\nimport { classNames } from \"../../utils/class-names\";\nimport { isApple } from \"../../utils/is-apple\";\n\nconst ALT_KEY = { title: \"Alt\", key: \"⌥\" };\nconst COMMAND_KEY = { title: \"Command\", key: \"⌘\" };\nconst CONTROL_KEY = { title: \"Ctrl\", key: \"⌃\" };\nconst SHIFT_KEY = { title: \"Shift\", key: \"⇧\" };\nconst ENTER_KEY = { title: \"Enter\", key: \"⏎\" };\nconst SPACE_KEY = { title: \"Space\", key: \"␣\" };\nconst ESCAPE_KEY = { title: \"Escape\", key: \"⎋\" };\n\nconst KEYS = {\n alt: () => ALT_KEY,\n mod: () => (isApple() ? COMMAND_KEY : CONTROL_KEY),\n control: () => CONTROL_KEY,\n ctrl: () => CONTROL_KEY,\n command: () => COMMAND_KEY,\n cmd: () => COMMAND_KEY,\n shift: () => SHIFT_KEY,\n enter: () => ENTER_KEY,\n \" \": () => SPACE_KEY,\n space: () => SPACE_KEY,\n escape: () => ESCAPE_KEY,\n esc: () => ESCAPE_KEY,\n} as const;\n\nexport interface TooltipProps\n extends Pick<TooltipPrimitive.TooltipTriggerProps, \"children\">,\n Omit<TooltipPrimitive.TooltipContentProps, \"content\"> {\n content: ReactNode;\n multiline?: boolean;\n}\n\nexport interface ShortcutTooltipProps extends TooltipProps {\n shortcut?: string;\n}\n\nexport interface ShortcutTooltipKeyProps extends ComponentProps<\"abbr\"> {\n name: keyof typeof KEYS;\n}\n\nfunction getShortcutKbdFromKeymap(keymap: string) {\n const keys = keymap.split(\"-\");\n\n return (\n <>\n {keys.map((key, index) => {\n const lowerKey = key.toLowerCase();\n\n if (lowerKey in KEYS) {\n return (\n <ShortcutTooltipKey\n key={index}\n name={lowerKey as keyof typeof KEYS}\n />\n );\n }\n\n return <span key={index}>{key}</span>;\n })}\n </>\n );\n}\n\nexport const Tooltip = forwardRef<HTMLButtonElement, TooltipProps>(\n ({ children, content, multiline, className, ...props }, forwardedRef) => {\n const { portalContainer } = useLiveblocksUIConfig();\n\n return (\n <TooltipPrimitive.Root disableHoverableContent>\n <TooltipPrimitive.Trigger asChild ref={forwardedRef}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Portal container={portalContainer}>\n <TooltipPrimitive.Content\n className={classNames(\n \"lb-root lb-portal lb-tooltip\",\n multiline && \"lb-tooltip:multiline\",\n className\n )}\n side=\"top\"\n align=\"center\"\n sideOffset={FLOATING_ELEMENT_SIDE_OFFSET}\n collisionPadding={FLOATING_ELEMENT_COLLISION_PADDING}\n {...props}\n >\n {content}\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n );\n }\n);\n\nexport const ShortcutTooltip = forwardRef<\n HTMLButtonElement,\n ShortcutTooltipProps\n>(({ children, content, shortcut, ...props }, forwardedRef) => {\n const shortcutKbd = useMemo(() => {\n return shortcut ? getShortcutKbdFromKeymap(shortcut) : null;\n }, [shortcut]);\n\n return (\n <Tooltip\n content={\n <>\n {content}\n {shortcutKbd && (\n <kbd className=\"lb-tooltip-shortcut\">{shortcutKbd}</kbd>\n )}\n </>\n }\n {...props}\n ref={forwardedRef}\n >\n {children}\n </Tooltip>\n );\n});\n\nfunction ShortcutTooltipKey({ name, ...props }: ShortcutTooltipKeyProps) {\n const { title, key } = useMemo(() => KEYS[name]?.(), [name]);\n\n return (\n <abbr title={title} {...props}>\n {key}\n </abbr>\n );\n}\n\nexport { TooltipProvider } from \"@radix-ui/react-tooltip\";\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAa;AACA;AAC2B;AACvB;AACH;AACG;AACJ;AACE;AACA;AACF;AACE;AACC;AAEhB;AAiBA;AACE;AAEA;AACE;AAEI;AAEA;AACE;AACG;AAEO;AACR;AAIJ;AAAQ;AAAkB;AAAI;AAC/B;AAGP;AAEO;AAAgB;AAEnB;AAEA;AACG;AAA6C;AAC5C;AAAC;AAAgC;AAAM;AACpC;AACH;AACC;AAAmC;AACjC;AACY;AACT;AACa;AACb;AACF;AACK;AACC;AACM;AACM;AACd;AAEH;AACH;AACF;AAAA;AACF;AAGN;AAEa;AAIX;AACE;AAAuD;AAGzD;AACG;AAEG;AACG;AAAA;AAEE;AAAc;AAAuB;AAAY;AAAA;AAEtD;AAEE;AACC;AAEJ;AAGP;AAEA;AACE;AAEA;AACG;AAAK;AAAkB;AACrB;AAGP;;;;;;;"}
1
+ {"version":3,"file":"Tooltip.js","sources":["../../../src/components/internal/Tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport type { ComponentProps, ReactNode } from \"react\";\nimport { forwardRef, useMemo } from \"react\";\n\nimport { useLiveblocksUIConfig } from \"../../config\";\nimport {\n FLOATING_ELEMENT_COLLISION_PADDING,\n FLOATING_ELEMENT_SIDE_OFFSET,\n} from \"../../constants\";\nimport { classNames } from \"../../utils/class-names\";\nimport { isApple } from \"../../utils/is-apple\";\n\nconst ALT_KEY = { title: \"Alt\", key: \"⌥\" };\nconst COMMAND_KEY = { title: \"Command\", key: \"⌘\" };\nconst CONTROL_KEY = { title: \"Ctrl\", key: \"⌃\" };\nconst SHIFT_KEY = { title: \"Shift\", key: \"⇧\" };\nconst ENTER_KEY = { title: \"Enter\", key: \"⏎\" };\nconst SPACE_KEY = { title: \"Space\", key: \"␣\" };\nconst ESCAPE_KEY = { title: \"Escape\", key: \"⎋\" };\n\nconst KEYS = {\n alt: () => ALT_KEY,\n mod: () => (isApple() ? COMMAND_KEY : CONTROL_KEY),\n control: () => CONTROL_KEY,\n ctrl: () => CONTROL_KEY,\n command: () => COMMAND_KEY,\n cmd: () => COMMAND_KEY,\n shift: () => SHIFT_KEY,\n enter: () => ENTER_KEY,\n \" \": () => SPACE_KEY,\n space: () => SPACE_KEY,\n escape: () => ESCAPE_KEY,\n esc: () => ESCAPE_KEY,\n} as const;\n\nexport interface TooltipProps\n extends Pick<TooltipPrimitive.TooltipTriggerProps, \"children\">,\n Omit<TooltipPrimitive.TooltipContentProps, \"content\"> {\n content: ReactNode;\n multiline?: boolean;\n}\n\nexport interface ShortcutTooltipProps extends TooltipProps {\n shortcut?: string;\n}\n\nexport interface ShortcutTooltipKeyProps extends ComponentProps<\"abbr\"> {\n name: keyof typeof KEYS;\n}\n\nfunction getShortcutKbdFromKeymap(keymap: string) {\n const keys = keymap.split(\"-\");\n\n return (\n <>\n {keys.map((key, index) => {\n const lowerKey = key.toLowerCase();\n\n if (lowerKey in KEYS) {\n return (\n <ShortcutTooltipKey\n key={index}\n name={lowerKey as keyof typeof KEYS}\n />\n );\n }\n\n return <span key={index}>{key}</span>;\n })}\n </>\n );\n}\n\nexport const Tooltip = forwardRef<HTMLButtonElement, TooltipProps>(\n ({ children, content, multiline, className, ...props }, forwardedRef) => {\n const { portalContainer } = useLiveblocksUIConfig();\n\n return (\n <TooltipPrimitive.Root disableHoverableContent>\n <TooltipPrimitive.Trigger asChild ref={forwardedRef}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Portal container={portalContainer}>\n <TooltipPrimitive.Content\n className={classNames(\n \"lb-root lb-portal lb-tooltip\",\n multiline && \"lb-tooltip:multiline\",\n className\n )}\n side=\"top\"\n align=\"center\"\n sideOffset={FLOATING_ELEMENT_SIDE_OFFSET}\n collisionPadding={FLOATING_ELEMENT_COLLISION_PADDING}\n {...props}\n >\n {content}\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n );\n }\n);\n\nexport const ShortcutTooltip = forwardRef<\n HTMLButtonElement,\n ShortcutTooltipProps\n>(({ children, content, shortcut, ...props }, forwardedRef) => {\n const shortcutKbd = useMemo(() => {\n return shortcut ? getShortcutKbdFromKeymap(shortcut) : null;\n }, [shortcut]);\n\n return (\n <Tooltip\n content={\n <>\n {content}\n {shortcutKbd && (\n <kbd className=\"lb-tooltip-shortcut\">{shortcutKbd}</kbd>\n )}\n </>\n }\n {...props}\n ref={forwardedRef}\n >\n {children}\n </Tooltip>\n );\n});\n\nfunction ShortcutTooltipKey({ name, ...props }: ShortcutTooltipKeyProps) {\n const { title, key } = useMemo(() => KEYS[name]?.(), [name]);\n\n return (\n <abbr title={title} {...props}>\n {key}\n </abbr>\n );\n}\n\nexport { TooltipProvider } from \"@radix-ui/react-tooltip\";\n"],"names":[],"mappings":";;;;;;;;;;AAAA;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAa;AACA;AAC2B;AACvB;AACH;AACG;AACJ;AACE;AACA;AACF;AACE;AACC;AAEhB;AAiBA;AACE;AAEA;AACE;AAEI;AAEA;AACE;AACG;AAEO;AACR;AAIJ;AAAQ;AAAkB;AAAI;AAC/B;AAGP;AAEO;AAAgB;AAEnB;AAEA;AACG;AAA6C;AAC5C;AAAC;AAAgC;AAAM;AACpC;AACH;AACC;AAAmC;AACjC;AACY;AACT;AACa;AACb;AACF;AACK;AACC;AACM;AACM;AACd;AAEH;AACH;AACF;AAAA;AACF;AAGN;AAEa;AAIX;AACE;AAAuD;AAGzD;AACG;AAEG;AACG;AAAA;AAEE;AAAc;AAAuB;AAAY;AAAA;AAEtD;AAEE;AACC;AAEJ;AAGP;AAEA;AACE;AAEA;AACG;AAAK;AAAkB;AACrB;AAGP;;"}
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var react = require('@liveblocks/react');
6
+ var react$1 = require('react');
7
+ var overrides = require('../../overrides.cjs');
8
+ var shared = require('../../shared.cjs');
9
+ var classNames = require('../../utils/class-names.cjs');
10
+
11
+
12
+ function User({ userId, replaceSelf, className, ...props }) {
13
+ const currentId = shared.useCurrentUserId();
14
+ const { user, isLoading } = react.useUser(userId);
15
+ const $ = overrides.useOverrides();
16
+ const resolvedUserName = react$1.useMemo(() => {
17
+ return replaceSelf && currentId === userId ? $.USER_SELF : user?.name ?? $.USER_UNKNOWN;
18
+ }, [replaceSelf, currentId, userId, $.USER_SELF, $.USER_UNKNOWN, user?.name]);
19
+ return /* @__PURE__ */ jsxRuntime.jsx("span", {
20
+ className: classNames.classNames("lb-name lb-user", className),
21
+ "data-loading": isLoading ? "" : void 0,
22
+ ...props,
23
+ children: isLoading ? null : resolvedUserName
24
+ });
25
+ }
26
+
27
+ exports.User = User;
28
+ //# sourceMappingURL=User.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"User.mjs","sources":["../../../src/components/internal/User.tsx"],"sourcesContent":["\"use client\";\n\nimport { useUser } from \"@liveblocks/react\";\nimport type { ComponentProps } from \"react\";\nimport { useMemo } from \"react\";\n\nimport { useOverrides } from \"../../overrides\";\nimport { useCurrentUserId } from \"../../shared\";\nimport { classNames } from \"../../utils/class-names\";\n\nexport interface UserProps extends ComponentProps<\"span\"> {\n /**\n * The user ID to display the user name for.\n */\n userId: string;\n\n /**\n * Whether to replace the user name with \"you\" ($.USER_SELF) for the current user.\n */\n replaceSelf?: boolean;\n}\n\nexport function User({ userId, replaceSelf, className, ...props }: UserProps) {\n const currentId = useCurrentUserId();\n const { user, isLoading } = useUser(userId);\n const $ = useOverrides();\n const resolvedUserName = useMemo(() => {\n return replaceSelf && currentId === userId\n ? $.USER_SELF\n : user?.name ?? $.USER_UNKNOWN;\n }, [replaceSelf, currentId, userId, $.USER_SELF, $.USER_UNKNOWN, user?.name]);\n\n return (\n <span\n className={classNames(\"lb-name lb-user\", className)}\n data-loading={isLoading ? \"\" : undefined}\n {...props}\n >\n {isLoading ? null : resolvedUserName}\n </span>\n );\n}\n"],"names":[],"mappings":";;;;;;;;AAAA;AAsBO;AACL;AACA;AACA;AACA;AACE;AAEoB;AAGtB;AACG;AACmD;AACnB;AAC3B;AAEgB;AAG1B;;"}
1
+ {"version":3,"file":"User.cjs","sources":["../../../src/components/internal/User.tsx"],"sourcesContent":["\"use client\";\n\nimport { useUser } from \"@liveblocks/react\";\nimport type { ComponentProps } from \"react\";\nimport { useMemo } from \"react\";\n\nimport { useOverrides } from \"../../overrides\";\nimport { useCurrentUserId } from \"../../shared\";\nimport { classNames } from \"../../utils/class-names\";\n\nexport interface UserProps extends ComponentProps<\"span\"> {\n /**\n * The user ID to display the user name for.\n */\n userId: string;\n\n /**\n * Whether to replace the user name with \"you\" ($.USER_SELF) for the current user.\n */\n replaceSelf?: boolean;\n}\n\nexport function User({ userId, replaceSelf, className, ...props }: UserProps) {\n const currentId = useCurrentUserId();\n const { user, isLoading } = useUser(userId);\n const $ = useOverrides();\n const resolvedUserName = useMemo(() => {\n return replaceSelf && currentId === userId\n ? $.USER_SELF\n : (user?.name ?? $.USER_UNKNOWN);\n }, [replaceSelf, currentId, userId, $.USER_SELF, $.USER_UNKNOWN, user?.name]);\n\n return (\n <span\n className={classNames(\"lb-name lb-user\", className)}\n data-loading={isLoading ? \"\" : undefined}\n {...props}\n >\n {isLoading ? null : resolvedUserName}\n </span>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;AAAA;AAsBO;AACL;AACA;AACA;AACA;AACE;AAEqB;AAGvB;AACG;AACmD;AACnB;AAC3B;AAEgB;AAG1B;;"}
@@ -1,28 +1,26 @@
1
1
  "use client";
2
- 'use strict';
3
-
4
- var jsxRuntime = require('react/jsx-runtime');
5
- var react = require('@liveblocks/react');
6
- var react$1 = require('react');
7
- var overrides = require('../../overrides.js');
8
- var shared = require('../../shared.js');
9
- var classNames = require('../../utils/class-names.js');
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { useUser } from '@liveblocks/react';
4
+ import { useMemo } from 'react';
5
+ import { useOverrides } from '../../overrides.js';
6
+ import { useCurrentUserId } from '../../shared.js';
7
+ import { classNames } from '../../utils/class-names.js';
10
8
 
11
9
 
12
10
  function User({ userId, replaceSelf, className, ...props }) {
13
- const currentId = shared.useCurrentUserId();
14
- const { user, isLoading } = react.useUser(userId);
15
- const $ = overrides.useOverrides();
16
- const resolvedUserName = react$1.useMemo(() => {
11
+ const currentId = useCurrentUserId();
12
+ const { user, isLoading } = useUser(userId);
13
+ const $ = useOverrides();
14
+ const resolvedUserName = useMemo(() => {
17
15
  return replaceSelf && currentId === userId ? $.USER_SELF : user?.name ?? $.USER_UNKNOWN;
18
16
  }, [replaceSelf, currentId, userId, $.USER_SELF, $.USER_UNKNOWN, user?.name]);
19
- return /* @__PURE__ */ jsxRuntime.jsx("span", {
20
- className: classNames.classNames("lb-name lb-user", className),
17
+ return /* @__PURE__ */ jsx("span", {
18
+ className: classNames("lb-name lb-user", className),
21
19
  "data-loading": isLoading ? "" : void 0,
22
20
  ...props,
23
21
  children: isLoading ? null : resolvedUserName
24
22
  });
25
23
  }
26
24
 
27
- exports.User = User;
25
+ export { User };
28
26
  //# sourceMappingURL=User.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"User.js","sources":["../../../src/components/internal/User.tsx"],"sourcesContent":["\"use client\";\n\nimport { useUser } from \"@liveblocks/react\";\nimport type { ComponentProps } from \"react\";\nimport { useMemo } from \"react\";\n\nimport { useOverrides } from \"../../overrides\";\nimport { useCurrentUserId } from \"../../shared\";\nimport { classNames } from \"../../utils/class-names\";\n\nexport interface UserProps extends ComponentProps<\"span\"> {\n /**\n * The user ID to display the user name for.\n */\n userId: string;\n\n /**\n * Whether to replace the user name with \"you\" ($.USER_SELF) for the current user.\n */\n replaceSelf?: boolean;\n}\n\nexport function User({ userId, replaceSelf, className, ...props }: UserProps) {\n const currentId = useCurrentUserId();\n const { user, isLoading } = useUser(userId);\n const $ = useOverrides();\n const resolvedUserName = useMemo(() => {\n return replaceSelf && currentId === userId\n ? $.USER_SELF\n : user?.name ?? $.USER_UNKNOWN;\n }, [replaceSelf, currentId, userId, $.USER_SELF, $.USER_UNKNOWN, user?.name]);\n\n return (\n <span\n className={classNames(\"lb-name lb-user\", className)}\n data-loading={isLoading ? \"\" : undefined}\n {...props}\n >\n {isLoading ? null : resolvedUserName}\n </span>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;AAAA;AAsBO;AACL;AACA;AACA;AACA;AACE;AAEoB;AAGtB;AACG;AACmD;AACnB;AAC3B;AAEgB;AAG1B;;"}
1
+ {"version":3,"file":"User.js","sources":["../../../src/components/internal/User.tsx"],"sourcesContent":["\"use client\";\n\nimport { useUser } from \"@liveblocks/react\";\nimport type { ComponentProps } from \"react\";\nimport { useMemo } from \"react\";\n\nimport { useOverrides } from \"../../overrides\";\nimport { useCurrentUserId } from \"../../shared\";\nimport { classNames } from \"../../utils/class-names\";\n\nexport interface UserProps extends ComponentProps<\"span\"> {\n /**\n * The user ID to display the user name for.\n */\n userId: string;\n\n /**\n * Whether to replace the user name with \"you\" ($.USER_SELF) for the current user.\n */\n replaceSelf?: boolean;\n}\n\nexport function User({ userId, replaceSelf, className, ...props }: UserProps) {\n const currentId = useCurrentUserId();\n const { user, isLoading } = useUser(userId);\n const $ = useOverrides();\n const resolvedUserName = useMemo(() => {\n return replaceSelf && currentId === userId\n ? $.USER_SELF\n : (user?.name ?? $.USER_UNKNOWN);\n }, [replaceSelf, currentId, userId, $.USER_SELF, $.USER_UNKNOWN, user?.name]);\n\n return (\n <span\n className={classNames(\"lb-name lb-user\", className)}\n data-loading={isLoading ? \"\" : undefined}\n {...props}\n >\n {isLoading ? null : resolvedUserName}\n </span>\n );\n}\n"],"names":[],"mappings":";;;;;;;;AAAA;AAsBO;AACL;AACA;AACA;AACA;AACE;AAEqB;AAGvB;AACG;AACmD;AACnB;AAC3B;AAEgB;AAG1B;;"}
@@ -0,0 +1,48 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var react = require('react');
6
+
7
+
8
+ const defaultComponents = {
9
+ Anchor: "a"
10
+ };
11
+ const ComponentsContext = react.createContext(
12
+ void 0
13
+ );
14
+ function useComponents(components) {
15
+ const contextComponents = react.useContext(ComponentsContext);
16
+ return react.useMemo(
17
+ () => ({
18
+ ...defaultComponents,
19
+ ...contextComponents,
20
+ ...components
21
+ }),
22
+ [contextComponents, components]
23
+ );
24
+ }
25
+ function ComponentsProvider({
26
+ children,
27
+ components: providerComponents
28
+ }) {
29
+ const contextComponents = react.useContext(ComponentsContext);
30
+ const components = react.useMemo(
31
+ () => ({
32
+ ...defaultComponents,
33
+ ...contextComponents,
34
+ ...providerComponents
35
+ }),
36
+ [contextComponents, providerComponents]
37
+ );
38
+ return /* @__PURE__ */ jsxRuntime.jsx(ComponentsContext.Provider, {
39
+ value: components,
40
+ children
41
+ });
42
+ }
43
+
44
+ exports.ComponentsContext = ComponentsContext;
45
+ exports.ComponentsProvider = ComponentsProvider;
46
+ exports.defaultComponents = defaultComponents;
47
+ exports.useComponents = useComponents;
48
+ //# sourceMappingURL=components.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.mjs","sources":["../src/components.tsx"],"sourcesContent":["\"use client\";\n\nimport type {\n ComponentPropsWithoutRef,\n ComponentType,\n PropsWithChildren,\n} from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\n\nexport interface GlobalComponents {\n Anchor: ComponentType<ComponentPropsWithoutRef<\"a\">> | \"a\";\n}\n\nexport type Components = GlobalComponents;\n\ntype ComponentsProviderProps = PropsWithChildren<{\n components?: Partial<Components>;\n}>;\n\nexport const defaultComponents: Components = {\n Anchor: \"a\",\n};\n\nexport const ComponentsContext = createContext<Components | undefined>(\n undefined\n);\n\nexport function useComponents(components?: Partial<Components>): Components {\n const contextComponents = useContext(ComponentsContext);\n\n return useMemo(\n () => ({\n ...defaultComponents,\n ...contextComponents,\n ...components,\n }),\n [contextComponents, components]\n );\n}\n\nexport function ComponentsProvider({\n children,\n components: providerComponents,\n}: ComponentsProviderProps) {\n const contextComponents = useContext(ComponentsContext);\n const components = useMemo(\n () => ({\n ...defaultComponents,\n ...contextComponents,\n ...providerComponents,\n }),\n [contextComponents, providerComponents]\n );\n\n return (\n <ComponentsContext.Provider value={components}>\n {children}\n </ComponentsContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;;AAAA;AAmBO;AAAsC;AAE7C;AAEO;AAA0B;AAEjC;AAEO;AACL;AAEA;AAAO;AACE;AACF;AACA;AACA;AACL;AAC8B;AAElC;AAEO;AAA4B;AACjC;AAEF;AACE;AACA;AAAmB;AACV;AACF;AACA;AACA;AACL;AACsC;AAGxC;AACG;AAAkC;AAChC;AAGP;;"}
1
+ {"version":3,"file":"components.cjs","sources":["../src/components.tsx"],"sourcesContent":["\"use client\";\n\nimport type {\n ComponentPropsWithoutRef,\n ComponentType,\n PropsWithChildren,\n} from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\n\nexport interface GlobalComponents {\n Anchor: ComponentType<ComponentPropsWithoutRef<\"a\">> | \"a\";\n}\n\nexport type Components = GlobalComponents;\n\ntype ComponentsProviderProps = PropsWithChildren<{\n components?: Partial<Components>;\n}>;\n\nexport const defaultComponents: Components = {\n Anchor: \"a\",\n};\n\nexport const ComponentsContext = createContext<Components | undefined>(\n undefined\n);\n\nexport function useComponents(components?: Partial<Components>): Components {\n const contextComponents = useContext(ComponentsContext);\n\n return useMemo(\n () => ({\n ...defaultComponents,\n ...contextComponents,\n ...components,\n }),\n [contextComponents, components]\n );\n}\n\nexport function ComponentsProvider({\n children,\n components: providerComponents,\n}: ComponentsProviderProps) {\n const contextComponents = useContext(ComponentsContext);\n const components = useMemo(\n () => ({\n ...defaultComponents,\n ...contextComponents,\n ...providerComponents,\n }),\n [contextComponents, providerComponents]\n );\n\n return (\n <ComponentsContext.Provider value={components}>\n {children}\n </ComponentsContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;;;;AAAA;AAmBO;AAAsC;AAE7C;AAEO;AAA0B;AAEjC;AAEO;AACL;AAEA;AAAO;AACE;AACF;AACA;AACA;AACL;AAC8B;AAElC;AAEO;AAA4B;AACjC;AAEF;AACE;AACA;AAAmB;AACV;AACF;AACA;AACA;AACL;AACsC;AAGxC;AACG;AAAkC;AAChC;AAGP;;;;;"}
@@ -1,19 +1,17 @@
1
1
  "use client";
2
- 'use strict';
3
-
4
- var jsxRuntime = require('react/jsx-runtime');
5
- var react = require('react');
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { createContext, useContext, useMemo } from 'react';
6
4
 
7
5
 
8
6
  const defaultComponents = {
9
7
  Anchor: "a"
10
8
  };
11
- const ComponentsContext = react.createContext(
9
+ const ComponentsContext = createContext(
12
10
  void 0
13
11
  );
14
12
  function useComponents(components) {
15
- const contextComponents = react.useContext(ComponentsContext);
16
- return react.useMemo(
13
+ const contextComponents = useContext(ComponentsContext);
14
+ return useMemo(
17
15
  () => ({
18
16
  ...defaultComponents,
19
17
  ...contextComponents,
@@ -26,8 +24,8 @@ function ComponentsProvider({
26
24
  children,
27
25
  components: providerComponents
28
26
  }) {
29
- const contextComponents = react.useContext(ComponentsContext);
30
- const components = react.useMemo(
27
+ const contextComponents = useContext(ComponentsContext);
28
+ const components = useMemo(
31
29
  () => ({
32
30
  ...defaultComponents,
33
31
  ...contextComponents,
@@ -35,14 +33,11 @@ function ComponentsProvider({
35
33
  }),
36
34
  [contextComponents, providerComponents]
37
35
  );
38
- return /* @__PURE__ */ jsxRuntime.jsx(ComponentsContext.Provider, {
36
+ return /* @__PURE__ */ jsx(ComponentsContext.Provider, {
39
37
  value: components,
40
38
  children
41
39
  });
42
40
  }
43
41
 
44
- exports.ComponentsContext = ComponentsContext;
45
- exports.ComponentsProvider = ComponentsProvider;
46
- exports.defaultComponents = defaultComponents;
47
- exports.useComponents = useComponents;
42
+ export { ComponentsContext, ComponentsProvider, defaultComponents, useComponents };
48
43
  //# sourceMappingURL=components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sources":["../src/components.tsx"],"sourcesContent":["\"use client\";\n\nimport type {\n ComponentPropsWithoutRef,\n ComponentType,\n PropsWithChildren,\n} from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\n\nexport interface GlobalComponents {\n Anchor: ComponentType<ComponentPropsWithoutRef<\"a\">> | \"a\";\n}\n\nexport type Components = GlobalComponents;\n\ntype ComponentsProviderProps = PropsWithChildren<{\n components?: Partial<Components>;\n}>;\n\nexport const defaultComponents: Components = {\n Anchor: \"a\",\n};\n\nexport const ComponentsContext = createContext<Components | undefined>(\n undefined\n);\n\nexport function useComponents(components?: Partial<Components>): Components {\n const contextComponents = useContext(ComponentsContext);\n\n return useMemo(\n () => ({\n ...defaultComponents,\n ...contextComponents,\n ...components,\n }),\n [contextComponents, components]\n );\n}\n\nexport function ComponentsProvider({\n children,\n components: providerComponents,\n}: ComponentsProviderProps) {\n const contextComponents = useContext(ComponentsContext);\n const components = useMemo(\n () => ({\n ...defaultComponents,\n ...contextComponents,\n ...providerComponents,\n }),\n [contextComponents, providerComponents]\n );\n\n return (\n <ComponentsContext.Provider value={components}>\n {children}\n </ComponentsContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;;;;AAAA;AAmBO;AAAsC;AAE7C;AAEO;AAA0B;AAEjC;AAEO;AACL;AAEA;AAAO;AACE;AACF;AACA;AACA;AACL;AAC8B;AAElC;AAEO;AAA4B;AACjC;AAEF;AACE;AACA;AAAmB;AACV;AACF;AACA;AACA;AACL;AACsC;AAGxC;AACG;AAAkC;AAChC;AAGP;;;;;"}
1
+ {"version":3,"file":"components.js","sources":["../src/components.tsx"],"sourcesContent":["\"use client\";\n\nimport type {\n ComponentPropsWithoutRef,\n ComponentType,\n PropsWithChildren,\n} from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\n\nexport interface GlobalComponents {\n Anchor: ComponentType<ComponentPropsWithoutRef<\"a\">> | \"a\";\n}\n\nexport type Components = GlobalComponents;\n\ntype ComponentsProviderProps = PropsWithChildren<{\n components?: Partial<Components>;\n}>;\n\nexport const defaultComponents: Components = {\n Anchor: \"a\",\n};\n\nexport const ComponentsContext = createContext<Components | undefined>(\n undefined\n);\n\nexport function useComponents(components?: Partial<Components>): Components {\n const contextComponents = useContext(ComponentsContext);\n\n return useMemo(\n () => ({\n ...defaultComponents,\n ...contextComponents,\n ...components,\n }),\n [contextComponents, components]\n );\n}\n\nexport function ComponentsProvider({\n children,\n components: providerComponents,\n}: ComponentsProviderProps) {\n const contextComponents = useContext(ComponentsContext);\n const components = useMemo(\n () => ({\n ...defaultComponents,\n ...contextComponents,\n ...providerComponents,\n }),\n [contextComponents, providerComponents]\n );\n\n return (\n <ComponentsContext.Provider value={components}>\n {children}\n </ComponentsContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;;AAAA;AAmBO;AAAsC;AAE7C;AAEO;AAA0B;AAEjC;AAEO;AACL;AAEA;AAAO;AACE;AACF;AACA;AACA;AACL;AAC8B;AAElC;AAEO;AAA4B;AACjC;AAEF;AACE;AACA;AAAmB;AACV;AACF;AACA;AACA;AACL;AACsC;AAGxC;AACG;AAAkC;AAChC;AAGP;;"}
@@ -0,0 +1,39 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var react = require('react');
6
+ var components = require('./components.cjs');
7
+ var overrides = require('./overrides.cjs');
8
+
9
+
10
+ const LiveblocksUIConfigContext = react.createContext({});
11
+ function useLiveblocksUIConfig() {
12
+ return react.useContext(LiveblocksUIConfigContext);
13
+ }
14
+ function LiveblocksUIConfig({
15
+ overrides: overrides$1,
16
+ components: components$1,
17
+ portalContainer,
18
+ preventUnsavedComposerChanges = true,
19
+ children
20
+ }) {
21
+ const liveblocksUIConfig = react.useMemo(
22
+ () => ({ portalContainer, preventUnsavedComposerChanges }),
23
+ [portalContainer, preventUnsavedComposerChanges]
24
+ );
25
+ return /* @__PURE__ */ jsxRuntime.jsx(LiveblocksUIConfigContext.Provider, {
26
+ value: liveblocksUIConfig,
27
+ children: /* @__PURE__ */ jsxRuntime.jsx(overrides.OverridesProvider, {
28
+ overrides: overrides$1,
29
+ children: /* @__PURE__ */ jsxRuntime.jsx(components.ComponentsProvider, {
30
+ components: components$1,
31
+ children
32
+ })
33
+ })
34
+ });
35
+ }
36
+
37
+ exports.LiveblocksUIConfig = LiveblocksUIConfig;
38
+ exports.useLiveblocksUIConfig = useLiveblocksUIConfig;
39
+ //# sourceMappingURL=config.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.mjs","sources":["../src/config.tsx"],"sourcesContent":["\"use client\";\n\nimport type { PropsWithChildren } from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\n\nimport { type Components, ComponentsProvider } from \"./components\";\nimport type { Overrides } from \"./overrides\";\nimport { OverridesProvider } from \"./overrides\";\n\ntype LiveblocksUIConfigProps = PropsWithChildren<{\n /**\n * Override the components' strings.\n */\n overrides?: Partial<Overrides>;\n\n /**\n * Override the components' components.\n */\n components?: Partial<Components>;\n\n /**\n * The container to render the portal into.\n */\n portalContainer?: HTMLElement;\n\n /**\n * When `preventUnsavedChanges` is set on your Liveblocks client (or set on\n * <LiveblocksProvider>), then closing a browser tab will be prevented when\n * there are unsaved changes.\n *\n * By default, that will include draft texts or attachments that are (being)\n * uploaded via comments/threads composers, but not submitted yet.\n *\n * If you want to prevent unsaved changes with Liveblocks, but not for\n * composers, you can opt-out by setting this option to `false`.\n */\n preventUnsavedComposerChanges?: boolean;\n}>;\n\ninterface LiveblocksUIConfigContext {\n portalContainer?: HTMLElement;\n preventUnsavedComposerChanges?: boolean;\n}\n\nconst LiveblocksUIConfigContext = createContext<LiveblocksUIConfigContext>({});\n\nexport function useLiveblocksUIConfig() {\n return useContext(LiveblocksUIConfigContext);\n}\n\n/**\n * Set configuration options for all components.\n *\n * @example\n * <LiveblocksUIConfig overrides={{ locale: \"fr\", USER_UNKNOWN: \"Anonyme\", ... }}>\n * <App />\n * </LiveblocksUIConfig>\n */\nexport function LiveblocksUIConfig({\n overrides,\n components,\n portalContainer,\n preventUnsavedComposerChanges = true,\n children,\n}: LiveblocksUIConfigProps) {\n const liveblocksUIConfig = useMemo(\n () => ({ portalContainer, preventUnsavedComposerChanges }),\n [portalContainer, preventUnsavedComposerChanges]\n );\n\n return (\n <LiveblocksUIConfigContext.Provider value={liveblocksUIConfig}>\n <OverridesProvider overrides={overrides}>\n <ComponentsProvider components={components}>\n {children}\n </ComponentsProvider>\n </OverridesProvider>\n </LiveblocksUIConfigContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;;;;AAAA;AA4CA;AAEO;AACL;AACF;AAUO;AAA4B;AACjC;AACA;AACA;AACgC;AAElC;AACE;AAA2B;AAC+B;AACT;AAGjD;AACG;AAA0C;AACxC;AAAkB;AAChB;AAAmB;AACjB;AACH;AACF;AAGN;;"}
1
+ {"version":3,"file":"config.cjs","sources":["../src/config.tsx"],"sourcesContent":["\"use client\";\n\nimport type { PropsWithChildren } from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\n\nimport { type Components, ComponentsProvider } from \"./components\";\nimport type { Overrides } from \"./overrides\";\nimport { OverridesProvider } from \"./overrides\";\n\ntype LiveblocksUIConfigProps = PropsWithChildren<{\n /**\n * Override the components' strings.\n */\n overrides?: Partial<Overrides>;\n\n /**\n * Override the components' components.\n */\n components?: Partial<Components>;\n\n /**\n * The container to render the portal into.\n */\n portalContainer?: HTMLElement;\n\n /**\n * When `preventUnsavedChanges` is set on your Liveblocks client (or set on\n * <LiveblocksProvider>), then closing a browser tab will be prevented when\n * there are unsaved changes.\n *\n * By default, that will include draft texts or attachments that are (being)\n * uploaded via comments/threads composers, but not submitted yet.\n *\n * If you want to prevent unsaved changes with Liveblocks, but not for\n * composers, you can opt-out by setting this option to `false`.\n */\n preventUnsavedComposerChanges?: boolean;\n}>;\n\ninterface LiveblocksUIConfigContext {\n portalContainer?: HTMLElement;\n preventUnsavedComposerChanges?: boolean;\n}\n\nconst LiveblocksUIConfigContext = createContext<LiveblocksUIConfigContext>({});\n\nexport function useLiveblocksUIConfig() {\n return useContext(LiveblocksUIConfigContext);\n}\n\n/**\n * Set configuration options for all components.\n *\n * @example\n * <LiveblocksUIConfig overrides={{ locale: \"fr\", USER_UNKNOWN: \"Anonyme\", ... }}>\n * <App />\n * </LiveblocksUIConfig>\n */\nexport function LiveblocksUIConfig({\n overrides,\n components,\n portalContainer,\n preventUnsavedComposerChanges = true,\n children,\n}: LiveblocksUIConfigProps) {\n const liveblocksUIConfig = useMemo(\n () => ({ portalContainer, preventUnsavedComposerChanges }),\n [portalContainer, preventUnsavedComposerChanges]\n );\n\n return (\n <LiveblocksUIConfigContext.Provider value={liveblocksUIConfig}>\n <OverridesProvider overrides={overrides}>\n <ComponentsProvider components={components}>\n {children}\n </ComponentsProvider>\n </OverridesProvider>\n </LiveblocksUIConfigContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;;;;;;AAAA;AA4CA;AAEO;AACL;AACF;AAUO;AAA4B;AACjC;AACA;AACA;AACgC;AAElC;AACE;AAA2B;AAC+B;AACT;AAGjD;AACG;AAA0C;AACxC;AAAkB;AAChB;AAAmB;AACjB;AACH;AACF;AAGN;;;"}