@liveblocks/react-ui 1.12.0-initial1

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 (391) hide show
  1. package/README.md +65 -0
  2. package/dist/components/Comment.js +473 -0
  3. package/dist/components/Comment.js.map +1 -0
  4. package/dist/components/Comment.mjs +447 -0
  5. package/dist/components/Comment.mjs.map +1 -0
  6. package/dist/components/Composer.js +299 -0
  7. package/dist/components/Composer.js.map +1 -0
  8. package/dist/components/Composer.mjs +297 -0
  9. package/dist/components/Composer.mjs.map +1 -0
  10. package/dist/components/InboxNotification.js +374 -0
  11. package/dist/components/InboxNotification.js.map +1 -0
  12. package/dist/components/InboxNotification.mjs +372 -0
  13. package/dist/components/InboxNotification.mjs.map +1 -0
  14. package/dist/components/InboxNotificationList.js +19 -0
  15. package/dist/components/InboxNotificationList.js.map +1 -0
  16. package/dist/components/InboxNotificationList.mjs +17 -0
  17. package/dist/components/InboxNotificationList.mjs.map +1 -0
  18. package/dist/components/Thread.js +188 -0
  19. package/dist/components/Thread.js.map +1 -0
  20. package/dist/components/Thread.mjs +167 -0
  21. package/dist/components/Thread.mjs.map +1 -0
  22. package/dist/components/internal/Attribution.js +26 -0
  23. package/dist/components/internal/Attribution.js.map +1 -0
  24. package/dist/components/internal/Attribution.mjs +24 -0
  25. package/dist/components/internal/Attribution.mjs.map +1 -0
  26. package/dist/components/internal/Avatar.js +40 -0
  27. package/dist/components/internal/Avatar.js.map +1 -0
  28. package/dist/components/internal/Avatar.mjs +38 -0
  29. package/dist/components/internal/Avatar.mjs.map +1 -0
  30. package/dist/components/internal/Button.js +24 -0
  31. package/dist/components/internal/Button.js.map +1 -0
  32. package/dist/components/internal/Button.mjs +22 -0
  33. package/dist/components/internal/Button.mjs.map +1 -0
  34. package/dist/components/internal/Dropdown.js +72 -0
  35. package/dist/components/internal/Dropdown.js.map +1 -0
  36. package/dist/components/internal/Dropdown.mjs +47 -0
  37. package/dist/components/internal/Dropdown.mjs.map +1 -0
  38. package/dist/components/internal/Emoji.js +18 -0
  39. package/dist/components/internal/Emoji.js.map +1 -0
  40. package/dist/components/internal/Emoji.mjs +16 -0
  41. package/dist/components/internal/Emoji.mjs.map +1 -0
  42. package/dist/components/internal/EmojiPicker.js +186 -0
  43. package/dist/components/internal/EmojiPicker.js.map +1 -0
  44. package/dist/components/internal/EmojiPicker.mjs +162 -0
  45. package/dist/components/internal/EmojiPicker.mjs.map +1 -0
  46. package/dist/components/internal/Icon.js +28 -0
  47. package/dist/components/internal/Icon.js.map +1 -0
  48. package/dist/components/internal/Icon.mjs +24 -0
  49. package/dist/components/internal/Icon.mjs.map +1 -0
  50. package/dist/components/internal/InboxNotificationThread.js +116 -0
  51. package/dist/components/internal/InboxNotificationThread.js.map +1 -0
  52. package/dist/components/internal/InboxNotificationThread.mjs +112 -0
  53. package/dist/components/internal/InboxNotificationThread.mjs.map +1 -0
  54. package/dist/components/internal/List.js +34 -0
  55. package/dist/components/internal/List.js.map +1 -0
  56. package/dist/components/internal/List.mjs +32 -0
  57. package/dist/components/internal/List.mjs.map +1 -0
  58. package/dist/components/internal/Room.js +22 -0
  59. package/dist/components/internal/Room.js.map +1 -0
  60. package/dist/components/internal/Room.mjs +20 -0
  61. package/dist/components/internal/Room.mjs.map +1 -0
  62. package/dist/components/internal/Tooltip.js +91 -0
  63. package/dist/components/internal/Tooltip.js.map +1 -0
  64. package/dist/components/internal/Tooltip.mjs +65 -0
  65. package/dist/components/internal/Tooltip.mjs.map +1 -0
  66. package/dist/components/internal/User.js +41 -0
  67. package/dist/components/internal/User.js.map +1 -0
  68. package/dist/components/internal/User.mjs +39 -0
  69. package/dist/components/internal/User.mjs.map +1 -0
  70. package/dist/components.js +64 -0
  71. package/dist/components.js.map +1 -0
  72. package/dist/components.mjs +41 -0
  73. package/dist/components.mjs.map +1 -0
  74. package/dist/config.js +33 -0
  75. package/dist/config.js.map +1 -0
  76. package/dist/config.mjs +30 -0
  77. package/dist/config.mjs.map +1 -0
  78. package/dist/constants.js +10 -0
  79. package/dist/constants.js.map +1 -0
  80. package/dist/constants.mjs +6 -0
  81. package/dist/constants.mjs.map +1 -0
  82. package/dist/icons/ArrowDown.js +15 -0
  83. package/dist/icons/ArrowDown.js.map +1 -0
  84. package/dist/icons/ArrowDown.mjs +13 -0
  85. package/dist/icons/ArrowDown.mjs.map +1 -0
  86. package/dist/icons/Check.js +15 -0
  87. package/dist/icons/Check.js.map +1 -0
  88. package/dist/icons/Check.mjs +13 -0
  89. package/dist/icons/Check.mjs.map +1 -0
  90. package/dist/icons/Cross.js +17 -0
  91. package/dist/icons/Cross.js.map +1 -0
  92. package/dist/icons/Cross.mjs +15 -0
  93. package/dist/icons/Cross.mjs.map +1 -0
  94. package/dist/icons/Delete.js +15 -0
  95. package/dist/icons/Delete.js.map +1 -0
  96. package/dist/icons/Delete.mjs +13 -0
  97. package/dist/icons/Delete.mjs.map +1 -0
  98. package/dist/icons/Edit.js +15 -0
  99. package/dist/icons/Edit.js.map +1 -0
  100. package/dist/icons/Edit.mjs +13 -0
  101. package/dist/icons/Edit.mjs.map +1 -0
  102. package/dist/icons/Ellipsis.js +26 -0
  103. package/dist/icons/Ellipsis.js.map +1 -0
  104. package/dist/icons/Ellipsis.mjs +24 -0
  105. package/dist/icons/Ellipsis.mjs.map +1 -0
  106. package/dist/icons/Emoji.js +27 -0
  107. package/dist/icons/Emoji.js.map +1 -0
  108. package/dist/icons/Emoji.mjs +25 -0
  109. package/dist/icons/Emoji.mjs.map +1 -0
  110. package/dist/icons/EmojiAdd.js +29 -0
  111. package/dist/icons/EmojiAdd.js.map +1 -0
  112. package/dist/icons/EmojiAdd.mjs +27 -0
  113. package/dist/icons/EmojiAdd.mjs.map +1 -0
  114. package/dist/icons/Mention.js +17 -0
  115. package/dist/icons/Mention.js.map +1 -0
  116. package/dist/icons/Mention.mjs +15 -0
  117. package/dist/icons/Mention.mjs.map +1 -0
  118. package/dist/icons/Missing.js +19 -0
  119. package/dist/icons/Missing.js.map +1 -0
  120. package/dist/icons/Missing.mjs +17 -0
  121. package/dist/icons/Missing.mjs.map +1 -0
  122. package/dist/icons/Resolve.js +19 -0
  123. package/dist/icons/Resolve.js.map +1 -0
  124. package/dist/icons/Resolve.mjs +17 -0
  125. package/dist/icons/Resolve.mjs.map +1 -0
  126. package/dist/icons/Resolved.js +21 -0
  127. package/dist/icons/Resolved.js.map +1 -0
  128. package/dist/icons/Resolved.mjs +19 -0
  129. package/dist/icons/Resolved.mjs.map +1 -0
  130. package/dist/icons/Search.js +15 -0
  131. package/dist/icons/Search.js.map +1 -0
  132. package/dist/icons/Search.mjs +13 -0
  133. package/dist/icons/Search.mjs.map +1 -0
  134. package/dist/icons/Send.js +15 -0
  135. package/dist/icons/Send.js.map +1 -0
  136. package/dist/icons/Send.mjs +13 -0
  137. package/dist/icons/Send.mjs.map +1 -0
  138. package/dist/icons/Spinner.js +22 -0
  139. package/dist/icons/Spinner.js.map +1 -0
  140. package/dist/icons/Spinner.mjs +20 -0
  141. package/dist/icons/Spinner.mjs.map +1 -0
  142. package/dist/index.d.mts +476 -0
  143. package/dist/index.d.ts +476 -0
  144. package/dist/index.js +20 -0
  145. package/dist/index.js.map +1 -0
  146. package/dist/index.mjs +11 -0
  147. package/dist/index.mjs.map +1 -0
  148. package/dist/overrides.js +100 -0
  149. package/dist/overrides.js.map +1 -0
  150. package/dist/overrides.mjs +77 -0
  151. package/dist/overrides.mjs.map +1 -0
  152. package/dist/primitives/Comment/index.js +113 -0
  153. package/dist/primitives/Comment/index.js.map +1 -0
  154. package/dist/primitives/Comment/index.mjs +109 -0
  155. package/dist/primitives/Comment/index.mjs.map +1 -0
  156. package/dist/primitives/Comment/utils.js +25 -0
  157. package/dist/primitives/Comment/utils.js.map +1 -0
  158. package/dist/primitives/Comment/utils.mjs +20 -0
  159. package/dist/primitives/Comment/utils.mjs.map +1 -0
  160. package/dist/primitives/Composer/contexts.js +34 -0
  161. package/dist/primitives/Composer/contexts.js.map +1 -0
  162. package/dist/primitives/Composer/contexts.mjs +27 -0
  163. package/dist/primitives/Composer/contexts.mjs.map +1 -0
  164. package/dist/primitives/Composer/index.js +771 -0
  165. package/dist/primitives/Composer/index.js.map +1 -0
  166. package/dist/primitives/Composer/index.mjs +762 -0
  167. package/dist/primitives/Composer/index.mjs.map +1 -0
  168. package/dist/primitives/Composer/utils.js +102 -0
  169. package/dist/primitives/Composer/utils.js.map +1 -0
  170. package/dist/primitives/Composer/utils.mjs +93 -0
  171. package/dist/primitives/Composer/utils.mjs.map +1 -0
  172. package/dist/primitives/EmojiPicker/contexts.js +19 -0
  173. package/dist/primitives/EmojiPicker/contexts.js.map +1 -0
  174. package/dist/primitives/EmojiPicker/contexts.mjs +16 -0
  175. package/dist/primitives/EmojiPicker/contexts.mjs.map +1 -0
  176. package/dist/primitives/EmojiPicker/index.js +434 -0
  177. package/dist/primitives/EmojiPicker/index.js.map +1 -0
  178. package/dist/primitives/EmojiPicker/index.mjs +430 -0
  179. package/dist/primitives/EmojiPicker/index.mjs.map +1 -0
  180. package/dist/primitives/EmojiPicker/utils.js +329 -0
  181. package/dist/primitives/EmojiPicker/utils.js.map +1 -0
  182. package/dist/primitives/EmojiPicker/utils.mjs +325 -0
  183. package/dist/primitives/EmojiPicker/utils.mjs.map +1 -0
  184. package/dist/primitives/Timestamp.js +121 -0
  185. package/dist/primitives/Timestamp.js.map +1 -0
  186. package/dist/primitives/Timestamp.mjs +119 -0
  187. package/dist/primitives/Timestamp.mjs.map +1 -0
  188. package/dist/primitives/index.d.mts +502 -0
  189. package/dist/primitives/index.d.ts +502 -0
  190. package/dist/primitives/index.js +16 -0
  191. package/dist/primitives/index.js.map +1 -0
  192. package/dist/primitives/index.mjs +9 -0
  193. package/dist/primitives/index.mjs.map +1 -0
  194. package/dist/primitives/internal/Emoji.js +30 -0
  195. package/dist/primitives/internal/Emoji.js.map +1 -0
  196. package/dist/primitives/internal/Emoji.mjs +28 -0
  197. package/dist/primitives/internal/Emoji.mjs.map +1 -0
  198. package/dist/shared.js +21 -0
  199. package/dist/shared.js.map +1 -0
  200. package/dist/shared.mjs +19 -0
  201. package/dist/shared.mjs.map +1 -0
  202. package/dist/slate/plugins/auto-formatting.js +83 -0
  203. package/dist/slate/plugins/auto-formatting.js.map +1 -0
  204. package/dist/slate/plugins/auto-formatting.mjs +81 -0
  205. package/dist/slate/plugins/auto-formatting.mjs.map +1 -0
  206. package/dist/slate/plugins/auto-links.js +175 -0
  207. package/dist/slate/plugins/auto-links.js.map +1 -0
  208. package/dist/slate/plugins/auto-links.mjs +172 -0
  209. package/dist/slate/plugins/auto-links.mjs.map +1 -0
  210. package/dist/slate/plugins/empty-clear-formatting.js +18 -0
  211. package/dist/slate/plugins/empty-clear-formatting.js.map +1 -0
  212. package/dist/slate/plugins/empty-clear-formatting.mjs +16 -0
  213. package/dist/slate/plugins/empty-clear-formatting.mjs.map +1 -0
  214. package/dist/slate/plugins/mentions.js +112 -0
  215. package/dist/slate/plugins/mentions.js.map +1 -0
  216. package/dist/slate/plugins/mentions.mjs +105 -0
  217. package/dist/slate/plugins/mentions.mjs.map +1 -0
  218. package/dist/slate/utils/get-character.js +50 -0
  219. package/dist/slate/utils/get-character.js.map +1 -0
  220. package/dist/slate/utils/get-character.mjs +47 -0
  221. package/dist/slate/utils/get-character.mjs.map +1 -0
  222. package/dist/slate/utils/get-dom-range.js +17 -0
  223. package/dist/slate/utils/get-dom-range.js.map +1 -0
  224. package/dist/slate/utils/get-dom-range.mjs +15 -0
  225. package/dist/slate/utils/get-dom-range.mjs.map +1 -0
  226. package/dist/slate/utils/get-match-range.js +53 -0
  227. package/dist/slate/utils/get-match-range.js.map +1 -0
  228. package/dist/slate/utils/get-match-range.mjs +51 -0
  229. package/dist/slate/utils/get-match-range.mjs.map +1 -0
  230. package/dist/slate/utils/is-empty-string.js +8 -0
  231. package/dist/slate/utils/is-empty-string.js.map +1 -0
  232. package/dist/slate/utils/is-empty-string.mjs +6 -0
  233. package/dist/slate/utils/is-empty-string.mjs.map +1 -0
  234. package/dist/slate/utils/is-empty.js +10 -0
  235. package/dist/slate/utils/is-empty.js.map +1 -0
  236. package/dist/slate/utils/is-empty.mjs +8 -0
  237. package/dist/slate/utils/is-empty.mjs.map +1 -0
  238. package/dist/slate/utils/is-selection-collapsed.js +10 -0
  239. package/dist/slate/utils/is-selection-collapsed.js.map +1 -0
  240. package/dist/slate/utils/is-selection-collapsed.mjs +8 -0
  241. package/dist/slate/utils/is-selection-collapsed.mjs.map +1 -0
  242. package/dist/slate/utils/marks.js +43 -0
  243. package/dist/slate/utils/marks.js.map +1 -0
  244. package/dist/slate/utils/marks.mjs +38 -0
  245. package/dist/slate/utils/marks.mjs.map +1 -0
  246. package/dist/utils/Persist.js +85 -0
  247. package/dist/utils/Persist.js.map +1 -0
  248. package/dist/utils/Persist.mjs +81 -0
  249. package/dist/utils/Persist.mjs.map +1 -0
  250. package/dist/utils/Portal.js +27 -0
  251. package/dist/utils/Portal.js.map +1 -0
  252. package/dist/utils/Portal.mjs +25 -0
  253. package/dist/utils/Portal.mjs.map +1 -0
  254. package/dist/utils/capitalize.js +8 -0
  255. package/dist/utils/capitalize.js.map +1 -0
  256. package/dist/utils/capitalize.mjs +6 -0
  257. package/dist/utils/capitalize.mjs.map +1 -0
  258. package/dist/utils/chunk.js +12 -0
  259. package/dist/utils/chunk.js.map +1 -0
  260. package/dist/utils/chunk.mjs +10 -0
  261. package/dist/utils/chunk.mjs.map +1 -0
  262. package/dist/utils/clamp.js +8 -0
  263. package/dist/utils/clamp.js.map +1 -0
  264. package/dist/utils/clamp.mjs +6 -0
  265. package/dist/utils/clamp.mjs.map +1 -0
  266. package/dist/utils/class-names.js +8 -0
  267. package/dist/utils/class-names.js.map +1 -0
  268. package/dist/utils/class-names.mjs +6 -0
  269. package/dist/utils/class-names.mjs.map +1 -0
  270. package/dist/utils/exists.js +8 -0
  271. package/dist/utils/exists.js.map +1 -0
  272. package/dist/utils/exists.mjs +6 -0
  273. package/dist/utils/exists.mjs.map +1 -0
  274. package/dist/utils/find-last-index.js +15 -0
  275. package/dist/utils/find-last-index.js.map +1 -0
  276. package/dist/utils/find-last-index.mjs +13 -0
  277. package/dist/utils/find-last-index.mjs.map +1 -0
  278. package/dist/utils/flush-sync.js +12 -0
  279. package/dist/utils/flush-sync.js.map +1 -0
  280. package/dist/utils/flush-sync.mjs +10 -0
  281. package/dist/utils/flush-sync.mjs.map +1 -0
  282. package/dist/utils/get-initials.js +13 -0
  283. package/dist/utils/get-initials.js.map +1 -0
  284. package/dist/utils/get-initials.mjs +11 -0
  285. package/dist/utils/get-initials.mjs.map +1 -0
  286. package/dist/utils/intl.js +24 -0
  287. package/dist/utils/intl.js.map +1 -0
  288. package/dist/utils/intl.mjs +20 -0
  289. package/dist/utils/intl.mjs.map +1 -0
  290. package/dist/utils/is-apple.js +9 -0
  291. package/dist/utils/is-apple.js.map +1 -0
  292. package/dist/utils/is-apple.mjs +7 -0
  293. package/dist/utils/is-apple.mjs.map +1 -0
  294. package/dist/utils/is-key.js +26 -0
  295. package/dist/utils/is-key.js.map +1 -0
  296. package/dist/utils/is-key.mjs +24 -0
  297. package/dist/utils/is-key.mjs.map +1 -0
  298. package/dist/utils/memoize.js +19 -0
  299. package/dist/utils/memoize.js.map +1 -0
  300. package/dist/utils/memoize.mjs +17 -0
  301. package/dist/utils/memoize.mjs.map +1 -0
  302. package/dist/utils/pluralize.js +8 -0
  303. package/dist/utils/pluralize.js.map +1 -0
  304. package/dist/utils/pluralize.mjs +6 -0
  305. package/dist/utils/pluralize.mjs.map +1 -0
  306. package/dist/utils/request-idle-callback.js +15 -0
  307. package/dist/utils/request-idle-callback.js.map +1 -0
  308. package/dist/utils/request-idle-callback.mjs +12 -0
  309. package/dist/utils/request-idle-callback.mjs.map +1 -0
  310. package/dist/utils/request-submit.js +20 -0
  311. package/dist/utils/request-submit.js.map +1 -0
  312. package/dist/utils/request-submit.mjs +18 -0
  313. package/dist/utils/request-submit.mjs.map +1 -0
  314. package/dist/utils/url.js +22 -0
  315. package/dist/utils/url.js.map +1 -0
  316. package/dist/utils/url.mjs +20 -0
  317. package/dist/utils/url.mjs.map +1 -0
  318. package/dist/utils/use-controllable-state.js +34 -0
  319. package/dist/utils/use-controllable-state.js.map +1 -0
  320. package/dist/utils/use-controllable-state.mjs +32 -0
  321. package/dist/utils/use-controllable-state.mjs.map +1 -0
  322. package/dist/utils/use-id.js +29 -0
  323. package/dist/utils/use-id.js.map +1 -0
  324. package/dist/utils/use-id.mjs +27 -0
  325. package/dist/utils/use-id.mjs.map +1 -0
  326. package/dist/utils/use-index.js +32 -0
  327. package/dist/utils/use-index.js.map +1 -0
  328. package/dist/utils/use-index.mjs +30 -0
  329. package/dist/utils/use-index.mjs.map +1 -0
  330. package/dist/utils/use-initial.js +10 -0
  331. package/dist/utils/use-initial.js.map +1 -0
  332. package/dist/utils/use-initial.mjs +8 -0
  333. package/dist/utils/use-initial.mjs.map +1 -0
  334. package/dist/utils/use-interval.js +24 -0
  335. package/dist/utils/use-interval.js.map +1 -0
  336. package/dist/utils/use-interval.mjs +22 -0
  337. package/dist/utils/use-interval.mjs.map +1 -0
  338. package/dist/utils/use-latest.js +14 -0
  339. package/dist/utils/use-latest.js.map +1 -0
  340. package/dist/utils/use-latest.mjs +12 -0
  341. package/dist/utils/use-latest.mjs.map +1 -0
  342. package/dist/utils/use-layout-effect.js +8 -0
  343. package/dist/utils/use-layout-effect.js.map +1 -0
  344. package/dist/utils/use-layout-effect.mjs +6 -0
  345. package/dist/utils/use-layout-effect.mjs.map +1 -0
  346. package/dist/utils/use-refs.js +24 -0
  347. package/dist/utils/use-refs.js.map +1 -0
  348. package/dist/utils/use-refs.mjs +22 -0
  349. package/dist/utils/use-refs.mjs.map +1 -0
  350. package/dist/utils/use-rerender.js +14 -0
  351. package/dist/utils/use-rerender.js.map +1 -0
  352. package/dist/utils/use-rerender.mjs +12 -0
  353. package/dist/utils/use-rerender.mjs.map +1 -0
  354. package/dist/utils/use-transition.js +12 -0
  355. package/dist/utils/use-transition.js.map +1 -0
  356. package/dist/utils/use-transition.mjs +10 -0
  357. package/dist/utils/use-transition.mjs.map +1 -0
  358. package/dist/utils/use-visible.js +48 -0
  359. package/dist/utils/use-visible.js.map +1 -0
  360. package/dist/utils/use-visible.mjs +46 -0
  361. package/dist/utils/use-visible.mjs.map +1 -0
  362. package/dist/utils/visually-hidden.js +17 -0
  363. package/dist/utils/visually-hidden.js.map +1 -0
  364. package/dist/utils/visually-hidden.mjs +15 -0
  365. package/dist/utils/visually-hidden.mjs.map +1 -0
  366. package/dist/utils/wrap.js +9 -0
  367. package/dist/utils/wrap.js.map +1 -0
  368. package/dist/utils/wrap.mjs +7 -0
  369. package/dist/utils/wrap.mjs.map +1 -0
  370. package/dist/version.js +10 -0
  371. package/dist/version.js.map +1 -0
  372. package/dist/version.mjs +6 -0
  373. package/dist/version.mjs.map +1 -0
  374. package/package.json +142 -0
  375. package/primitives/README.md +5 -0
  376. package/primitives/package.json +4 -0
  377. package/src/styles/constants.css +17 -0
  378. package/src/styles/dark/attributes.css +8 -0
  379. package/src/styles/dark/index.css +29 -0
  380. package/src/styles/dark/media-query.css +7 -0
  381. package/src/styles/index.css +1437 -0
  382. package/src/styles/utils.css +36 -0
  383. package/styles/dark/attributes.css +1 -0
  384. package/styles/dark/attributes.css.d.ts +1 -0
  385. package/styles/dark/attributes.css.map +1 -0
  386. package/styles/dark/media-query.css +1 -0
  387. package/styles/dark/media-query.css.d.ts +1 -0
  388. package/styles/dark/media-query.css.map +1 -0
  389. package/styles.css +1 -0
  390. package/styles.css.d.ts +1 -0
  391. package/styles.css.map +1 -0
@@ -0,0 +1,502 @@
1
+ import * as React from 'react';
2
+ import React__default, { ElementType, ComponentPropsWithoutRef, ReactNode, ComponentType, FormEvent, PropsWithChildren } from 'react';
3
+ import { CommentBody as CommentBody$1 } from '@liveblocks/core';
4
+
5
+ declare type Direction = "ltr" | "rtl";
6
+ declare type SlotProp = {
7
+ /**
8
+ * Replace the rendered element by the one passed as a child.
9
+ */
10
+ asChild?: boolean;
11
+ };
12
+ declare type ComponentPropsWithSlot<TElement extends ElementType<any>> = ComponentPropsWithoutRef<TElement> & SlotProp;
13
+
14
+ declare type CommentMentionProps = ComponentPropsWithSlot<"span">;
15
+ declare type CommentBodyMentionProps = {
16
+ /**
17
+ * The mention's user ID.
18
+ */
19
+ userId: string;
20
+ };
21
+ declare type CommentLinkProps = ComponentPropsWithSlot<"a">;
22
+ interface CommentBodyLinkProps {
23
+ /**
24
+ * The link's absolute URL.
25
+ *
26
+ * @example "https://example.com"
27
+ */
28
+ href: string;
29
+ /**
30
+ * The link's content.
31
+ *
32
+ * @example "www.example.com", "a link", etc.
33
+ */
34
+ children: ReactNode;
35
+ }
36
+ interface CommentBodyComponents {
37
+ /**
38
+ * The component used to display mentions.
39
+ */
40
+ Mention: ComponentType<CommentBodyMentionProps>;
41
+ /**
42
+ * The component used to display links.
43
+ */
44
+ Link: ComponentType<CommentBodyLinkProps>;
45
+ }
46
+ interface CommentBodyProps extends Omit<ComponentPropsWithSlot<"div">, "children"> {
47
+ /**
48
+ * The comment body to display.
49
+ * If not defined, the component will render `null`.
50
+ */
51
+ body?: CommentBody$1;
52
+ /**
53
+ * The components displayed within the comment body.
54
+ */
55
+ components?: Partial<CommentBodyComponents>;
56
+ }
57
+
58
+ /**
59
+ * Displays mentions within `Comment.Body`.
60
+ *
61
+ * @example
62
+ * <Comment.Mention>@{userId}</Comment.Mention>
63
+ */
64
+ declare const CommentMention: React__default.ForwardRefExoticComponent<Omit<React__default.DetailedHTMLProps<React__default.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & SlotProp & React__default.RefAttributes<HTMLSpanElement>>;
65
+ /**
66
+ * Displays links within `Comment.Body`.
67
+ *
68
+ * @example
69
+ * <Comment.Link href={href}>{children}</Comment.Link>
70
+ */
71
+ declare const CommentLink: React__default.ForwardRefExoticComponent<Omit<React__default.DetailedHTMLProps<React__default.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref"> & SlotProp & React__default.RefAttributes<HTMLAnchorElement>>;
72
+ /**
73
+ * Displays a comment body.
74
+ *
75
+ * @example
76
+ * <Comment.Body body={comment.body} />
77
+ */
78
+ declare const CommentBody: React__default.ForwardRefExoticComponent<CommentBodyProps & React__default.RefAttributes<HTMLDivElement>>;
79
+
80
+ declare namespace index$2 {
81
+ export {
82
+ CommentBody as Body,
83
+ CommentLink as Link,
84
+ CommentMention as Mention,
85
+ };
86
+ }
87
+
88
+ interface ComposerEditorMentionProps {
89
+ /**
90
+ * Whether the mention is selected.
91
+ */
92
+ isSelected: boolean;
93
+ /**
94
+ * The mention's user ID.
95
+ */
96
+ userId: string;
97
+ }
98
+ interface ComposerEditorLinkProps {
99
+ /**
100
+ * The link's absolute URL.
101
+ *
102
+ * @example "https://example.com"
103
+ */
104
+ href: string;
105
+ /**
106
+ * The link's content.
107
+ *
108
+ * @example "www.example.com", "a link", etc.
109
+ */
110
+ children: ReactNode;
111
+ }
112
+ declare type ComposerEditorMentionSuggestionsProps = {
113
+ /**
114
+ * The list of suggested user IDs.
115
+ */
116
+ userIds: string[];
117
+ /**
118
+ * The currently selected user ID.
119
+ */
120
+ selectedUserId?: string;
121
+ };
122
+ declare type ComposerMentionProps = ComponentPropsWithSlot<"span">;
123
+ declare type ComposerLinkProps = ComponentPropsWithSlot<"a">;
124
+ declare type ComposerSuggestionsListProps = ComponentPropsWithSlot<"ul">;
125
+ interface ComposerSuggestionsListItemProps extends ComponentPropsWithSlot<"li"> {
126
+ /**
127
+ * The suggestion's value.
128
+ */
129
+ value: string;
130
+ }
131
+ interface ComposerEditorComponents {
132
+ /**
133
+ * The component used to display mentions.
134
+ */
135
+ Mention: ComponentType<ComposerEditorMentionProps>;
136
+ /**
137
+ * The component used to display mention suggestions.
138
+ */
139
+ MentionSuggestions: ComponentType<ComposerEditorMentionSuggestionsProps>;
140
+ /**
141
+ * The component used to display links.
142
+ */
143
+ Link: ComponentType<ComposerEditorLinkProps>;
144
+ }
145
+ interface ComposerEditorProps extends Omit<ComponentPropsWithoutRef<"div">, "defaultValue"> {
146
+ /**
147
+ * The reading direction of the editor and related elements.
148
+ */
149
+ dir?: Direction;
150
+ /**
151
+ * The editor's initial value.
152
+ */
153
+ defaultValue?: CommentBody$1;
154
+ /**
155
+ * The text to display when the editor is empty.
156
+ */
157
+ placeholder?: string;
158
+ /**
159
+ * Whether the editor is disabled.
160
+ */
161
+ disabled?: boolean;
162
+ /**
163
+ * Whether to focus the editor on mount.
164
+ */
165
+ autoFocus?: boolean;
166
+ /**
167
+ * The components displayed within the editor.
168
+ */
169
+ components?: Partial<ComposerEditorComponents>;
170
+ }
171
+ interface ComposerFormProps extends ComponentPropsWithSlot<"form"> {
172
+ /**
173
+ * The event handler called when the form is submitted.
174
+ */
175
+ onComposerSubmit?: (comment: ComposerSubmitComment, event: FormEvent<HTMLFormElement>) => Promise<void> | void;
176
+ }
177
+ declare type ComposerSubmitProps = ComponentPropsWithSlot<"button">;
178
+ interface ComposerSubmitComment {
179
+ /**
180
+ * The submitted comment's body.
181
+ */
182
+ body: CommentBody$1;
183
+ }
184
+
185
+ /**
186
+ * Displays mentions within `Composer.Editor`.
187
+ *
188
+ * @example
189
+ * <Composer.Mention>@{userId}</Composer.Mention>
190
+ */
191
+ declare const ComposerMention: React__default.ForwardRefExoticComponent<Omit<React__default.DetailedHTMLProps<React__default.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & SlotProp & React__default.RefAttributes<HTMLSpanElement>>;
192
+ /**
193
+ * Displays links within `Composer.Editor`.
194
+ *
195
+ * @example
196
+ * <Composer.Link href={href}>{children}</Composer.Link>
197
+ */
198
+ declare const ComposerLink: React__default.ForwardRefExoticComponent<Omit<React__default.DetailedHTMLProps<React__default.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref"> & SlotProp & React__default.RefAttributes<HTMLAnchorElement>>;
199
+ /**
200
+ * Contains suggestions within `Composer.Editor`.
201
+ */
202
+ declare const ComposerSuggestions: React__default.ForwardRefExoticComponent<Omit<React__default.DetailedHTMLProps<React__default.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & SlotProp & React__default.RefAttributes<HTMLDivElement>>;
203
+ /**
204
+ * Displays a list of suggestions within `Composer.Editor`.
205
+ *
206
+ * @example
207
+ * <Composer.SuggestionsList>
208
+ * {userIds.map((userId) => (
209
+ * <Composer.SuggestionsListItem key={userId} value={userId}>
210
+ * @{userId}
211
+ * </Composer.SuggestionsListItem>
212
+ * ))}
213
+ * </Composer.SuggestionsList>
214
+ */
215
+ declare const ComposerSuggestionsList: React__default.ForwardRefExoticComponent<Omit<React__default.DetailedHTMLProps<React__default.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & SlotProp & React__default.RefAttributes<HTMLUListElement>>;
216
+ /**
217
+ * Displays a suggestion within `Composer.SuggestionsList`.
218
+ *
219
+ * @example
220
+ * <Composer.SuggestionsListItem key={userId} value={userId}>
221
+ * @{userId}
222
+ * </Composer.SuggestionsListItem>
223
+ */
224
+ declare const ComposerSuggestionsListItem: React__default.ForwardRefExoticComponent<ComposerSuggestionsListItemProps & React__default.RefAttributes<HTMLLIElement>>;
225
+ /**
226
+ * Displays the composer's editor.
227
+ *
228
+ * @example
229
+ * <Composer.Editor placeholder="Write a comment…" />
230
+ */
231
+ declare const ComposerEditor: React__default.ForwardRefExoticComponent<ComposerEditorProps & React__default.RefAttributes<HTMLDivElement>>;
232
+ /**
233
+ * Surrounds the composer's content and handles submissions.
234
+ *
235
+ * @example
236
+ * <Composer.Form onComposerSubmit={({ body }) => {}}>
237
+ * <Composer.Editor />
238
+ * <Composer.Submit />
239
+ * </Composer.Form>
240
+ */
241
+ declare const ComposerForm: React__default.ForwardRefExoticComponent<ComposerFormProps & React__default.RefAttributes<HTMLFormElement>>;
242
+ /**
243
+ * A button to submit the composer.
244
+ *
245
+ * @example
246
+ * <Composer.Submit>Send</Composer.Submit>
247
+ */
248
+ declare const ComposerSubmit: React__default.ForwardRefExoticComponent<Omit<React__default.DetailedHTMLProps<React__default.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & SlotProp & React__default.RefAttributes<HTMLButtonElement>>;
249
+
250
+ declare namespace index$1 {
251
+ export {
252
+ ComposerEditor as Editor,
253
+ ComposerForm as Form,
254
+ ComposerLink as Link,
255
+ ComposerMention as Mention,
256
+ ComposerSubmit as Submit,
257
+ ComposerSuggestions as Suggestions,
258
+ ComposerSuggestionsList as SuggestionsList,
259
+ ComposerSuggestionsListItem as SuggestionsListItem,
260
+ };
261
+ }
262
+
263
+ declare type ComposerContext = {
264
+ /**
265
+ * Whether the editor is currently focused.
266
+ */
267
+ isFocused: boolean;
268
+ /**
269
+ * Whether the editor is currently empty.
270
+ */
271
+ isEmpty: boolean;
272
+ /**
273
+ * Submit the composer programmatically.
274
+ */
275
+ submit: () => void;
276
+ /**
277
+ * Clear the editor programmatically.
278
+ */
279
+ clear: () => void;
280
+ /**
281
+ * Select the editor programmatically.
282
+ */
283
+ select: () => void;
284
+ /**
285
+ * Focus the editor programmatically.
286
+ */
287
+ focus: () => void;
288
+ /**
289
+ * Blur the editor programmatically.
290
+ */
291
+ blur: () => void;
292
+ /**
293
+ * Start creating a mention at the current selection.
294
+ */
295
+ createMention: () => void;
296
+ /**
297
+ * Insert text at the current selection.
298
+ */
299
+ insertText: (text: string) => void;
300
+ };
301
+ declare const ComposerContext: React.Context<ComposerContext | null>;
302
+ declare function useComposer(): ComposerContext;
303
+
304
+ declare type EmojiPickerContentLoadingProps = ComponentPropsWithoutRef<"div">;
305
+ declare type EmojiPickerContentEmptyProps = ComponentPropsWithoutRef<"div">;
306
+ declare type EmojiPickerContentGridProps = ComponentPropsWithoutRef<"div">;
307
+ interface EmojiPickerContentErrorProps extends ComponentPropsWithoutRef<"div"> {
308
+ /**
309
+ * The error.
310
+ */
311
+ error: Error;
312
+ }
313
+ interface EmojiPickerContentCategoryHeaderProps extends ComponentPropsWithoutRef<"div"> {
314
+ /**
315
+ * The category's name.
316
+ */
317
+ category: string;
318
+ }
319
+ declare type EmojiPickerContentEmojiRowAttributes = {
320
+ /**
321
+ * The current row's index.
322
+ */
323
+ rowIndex: number;
324
+ /**
325
+ * The current row's index within the current category.
326
+ */
327
+ categoryRowIndex: number;
328
+ /**
329
+ * The number of rows within the current category.
330
+ */
331
+ categoryRowsCount: number;
332
+ };
333
+ interface EmojiPickerContentRowProps extends ComponentPropsWithoutRef<"div"> {
334
+ /**
335
+ * Attributes related to the current row.
336
+ */
337
+ attributes: EmojiPickerContentEmojiRowAttributes;
338
+ }
339
+ interface EmojiPickerContentEmojiProps extends ComponentPropsWithoutRef<"button"> {
340
+ /**
341
+ * The emoji to be displayed.
342
+ */
343
+ emoji: string;
344
+ }
345
+ interface EmojiPickerRootProps extends PropsWithChildren {
346
+ /**
347
+ * The number of emojis per row.
348
+ */
349
+ columns?: number;
350
+ /**
351
+ * The event handler called when an emoji is selected.
352
+ */
353
+ onEmojiSelect?: (emoji: string) => void;
354
+ /**
355
+ * The locale used when getting emoji data.
356
+ */
357
+ locale?: string;
358
+ }
359
+ interface EmojiPickerContentComponents {
360
+ /**
361
+ * The component displayed when the emoji data is loading.
362
+ */
363
+ Loading: ComponentType<EmojiPickerContentLoadingProps>;
364
+ /**
365
+ * The component displayed when there are no results.
366
+ */
367
+ Empty: ComponentType<EmojiPickerContentEmptyProps>;
368
+ /**
369
+ * The component displayed when there was an error while getting the emoji data.
370
+ */
371
+ Error: ComponentType<EmojiPickerContentErrorProps>;
372
+ /**
373
+ * The component used to display category headers.
374
+ */
375
+ CategoryHeader: ComponentType<EmojiPickerContentCategoryHeaderProps>;
376
+ /**
377
+ * The component displayed when there are emojis to display.
378
+ */
379
+ Grid: ComponentType<EmojiPickerContentGridProps>;
380
+ /**
381
+ * The component used to display rows of emojis.
382
+ */
383
+ Row: ComponentType<EmojiPickerContentRowProps>;
384
+ /**
385
+ * The component used to display emojis.
386
+ */
387
+ Emoji: ComponentType<EmojiPickerContentEmojiProps>;
388
+ }
389
+ interface EmojiPickerContentProps extends ComponentPropsWithSlot<"div"> {
390
+ /**
391
+ * The components displayed within the content.
392
+ */
393
+ components?: Partial<EmojiPickerContentComponents>;
394
+ }
395
+ declare type EmojiPickerSearchProps = ComponentPropsWithSlot<"input">;
396
+
397
+ /**
398
+ * @private
399
+ * The EmojiPicker primitive is undocumented for now and subject to change,
400
+ * use at your own risk. If you have any feedback on it, please let us know!
401
+ * See how we use it in the default components to learn how to use it:
402
+ * https://github.com/liveblocks/liveblocks/blob/main/packages/liveblocks-react-ui/src/components/internal/EmojiPicker.tsx.
403
+ *
404
+ * Surrounds the emoji picker, it handles emoji data and coordinates
405
+ * `EmojiPicker.Search` and `EmojiPicker.Content`.
406
+ *
407
+ * @example
408
+ * <EmojiPicker.Root>
409
+ * <EmojiPicker.Search />
410
+ * <EmojiPicker.Content />
411
+ * </EmojiPicker.Root>
412
+ */
413
+ declare function EmojiPickerRoot({ columns, locale, onEmojiSelect, children, }: EmojiPickerRootProps): React__default.JSX.Element;
414
+ declare namespace EmojiPickerRoot {
415
+ var displayName: string;
416
+ }
417
+ /**
418
+ * @private
419
+ * The EmojiPicker primitive is undocumented for now and subject to change,
420
+ * use at your own risk. If you have any feedback on it, please let us know!
421
+ * See how we use it in the default components to learn how to use it:
422
+ * https://github.com/liveblocks/liveblocks/blob/main/packages/liveblocks-react-ui/src/components/internal/EmojiPicker.tsx.
423
+ *
424
+ * The search input of the emoji picker. It also affects the focus and selection
425
+ * within `EmojiPicker.Content`.
426
+ *
427
+ * @example
428
+ * <EmojiPicker.Search />
429
+ */
430
+ declare const EmojiPickerSearch: React__default.ForwardRefExoticComponent<Omit<React__default.DetailedHTMLProps<React__default.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & SlotProp & React__default.RefAttributes<HTMLInputElement>>;
431
+ /**
432
+ * @private
433
+ * The EmojiPicker primitive is undocumented for now and subject to change,
434
+ * use at your own risk. If you have any feedback on it, please let us know!
435
+ * See how we use it in the default components to learn how to use it:
436
+ * https://github.com/liveblocks/liveblocks/blob/main/packages/liveblocks-react-ui/src/components/internal/EmojiPicker.tsx.
437
+ *
438
+ * The main content of the emoji picker, either displaying the emoji grid or various
439
+ * alternative states (loading, empty, and error).
440
+ *
441
+ * @example
442
+ * <EmojiPicker.Content
443
+ * components={{
444
+ * Loading: EmojiPickerLoading,
445
+ * Empty: EmojiPickerEmpty,
446
+ * Error: EmojiPickerError,
447
+ * CategoryHeader: EmojiPickerCategoryHeader,
448
+ * Grid: EmojiPickerGrid,
449
+ * Row: EmojiPickerRow,
450
+ * Emoji: EmojiPickerEmoji,
451
+ * }}
452
+ * />
453
+ */
454
+ declare const EmojiPickerContent: React__default.ForwardRefExoticComponent<EmojiPickerContentProps & React__default.RefAttributes<HTMLDivElement>>;
455
+
456
+ declare namespace index {
457
+ export {
458
+ EmojiPickerContent as Content,
459
+ EmojiPickerRoot as Root,
460
+ EmojiPickerSearch as Search,
461
+ };
462
+ }
463
+
464
+ interface TimestampProps extends Omit<ComponentPropsWithSlot<"time">, "children" | "title"> {
465
+ /**
466
+ * The date to display.
467
+ */
468
+ date: Date | string | number;
469
+ /**
470
+ * A function to format the displayed date.
471
+ */
472
+ children?: (date: Date, locale?: string) => ReactNode;
473
+ /**
474
+ * The `title` attribute's value or a function to format it.
475
+ */
476
+ title?: string | ((date: Date, locale?: string) => string);
477
+ /**
478
+ * The interval in milliseconds at which the component will re-render.
479
+ * Can be set to `false` to disable re-rendering.
480
+ */
481
+ interval?: number | false;
482
+ /**
483
+ * The locale used when formatting the date.
484
+ */
485
+ locale?: string;
486
+ }
487
+ /**
488
+ * Displays a formatted date, and automatically re-renders to support relative
489
+ * formatting. Defaults to relative formatting for recent dates and a short
490
+ * absolute formatting for older ones.
491
+ *
492
+ * @example
493
+ * <Timestamp date={new Date()} />
494
+ *
495
+ * @example
496
+ * <Timestamp date={new Date()} title={(date) => date.toISOString()} interval={false}>
497
+ * {(date) => date.toLocaleDateString()}
498
+ * </Timestamp>
499
+ */
500
+ declare const Timestamp: React__default.ForwardRefExoticComponent<TimestampProps & React__default.RefAttributes<HTMLTimeElement>>;
501
+
502
+ export { index$2 as Comment, CommentBodyComponents, CommentBodyLinkProps, CommentBodyMentionProps, CommentBodyProps, CommentLinkProps, CommentMentionProps, index$1 as Composer, ComposerContext, ComposerEditorComponents, ComposerEditorLinkProps, ComposerEditorMentionProps, ComposerEditorMentionSuggestionsProps, ComposerEditorProps, ComposerFormProps, ComposerLinkProps, ComposerMentionProps, ComposerSubmitComment, ComposerSubmitProps, ComposerSuggestionsListItemProps, ComposerSuggestionsListProps, index as EmojiPicker, EmojiPickerContentCategoryHeaderProps, EmojiPickerContentComponents, EmojiPickerContentEmojiProps, EmojiPickerContentEmptyProps, EmojiPickerContentErrorProps, EmojiPickerContentGridProps, EmojiPickerContentLoadingProps, EmojiPickerContentProps, EmojiPickerContentRowProps, EmojiPickerRootProps, EmojiPickerSearchProps, Timestamp, TimestampProps, useComposer };
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var index = require('./Comment/index.js');
4
+ var index$1 = require('./Composer/index.js');
5
+ var contexts = require('./Composer/contexts.js');
6
+ var index$2 = require('./EmojiPicker/index.js');
7
+ var Timestamp = require('./Timestamp.js');
8
+
9
+
10
+
11
+ exports.Comment = index;
12
+ exports.Composer = index$1;
13
+ exports.useComposer = contexts.useComposer;
14
+ exports.EmojiPicker = index$2;
15
+ exports.Timestamp = Timestamp.Timestamp;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -0,0 +1,9 @@
1
+ import * as index from './Comment/index.mjs';
2
+ export { index as Comment };
3
+ import * as index$1 from './Composer/index.mjs';
4
+ export { index$1 as Composer };
5
+ export { useComposer } from './Composer/contexts.mjs';
6
+ import * as index$2 from './EmojiPicker/index.mjs';
7
+ export { index$2 as EmojiPicker };
8
+ export { Timestamp } from './Timestamp.mjs';
9
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ var reactSlot = require('@radix-ui/react-slot');
4
+ var React = require('react');
5
+ var constants = require('../../constants.js');
6
+
7
+ const Emoji = React.forwardRef(
8
+ ({ emoji, style, asChild, ...props }, forwardedRef) => {
9
+ const Component = asChild ? reactSlot.Slot : "span";
10
+ return /* @__PURE__ */ React.createElement(Component, {
11
+ role: "img",
12
+ "aria-label": emoji,
13
+ "data-emoji": emoji,
14
+ style: {
15
+ ...style,
16
+ fontFamily: constants.EMOJI_FONT_FAMILY,
17
+ display: "inline-flex",
18
+ alignItems: "center",
19
+ justifyContent: "center",
20
+ width: "1em",
21
+ whiteSpace: "nowrap"
22
+ },
23
+ ...props,
24
+ ref: forwardedRef
25
+ }, emoji);
26
+ }
27
+ );
28
+
29
+ exports.Emoji = Emoji;
30
+ //# sourceMappingURL=Emoji.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Emoji.js","sources":["../../../src/primitives/internal/Emoji.tsx"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport React, { forwardRef } from \"react\";\n\nimport { EMOJI_FONT_FAMILY } from \"../../constants\";\nimport type { ComponentPropsWithSlot } from \"../../types\";\n\nexport interface EmojiProps extends ComponentPropsWithSlot<\"span\"> {\n emoji: string;\n}\n\nexport const Emoji = forwardRef<HTMLSpanElement, EmojiProps>(\n ({ emoji, style, asChild, ...props }, forwardedRef) => {\n const Component = asChild ? Slot : \"span\";\n\n return (\n <Component\n role=\"img\"\n aria-label={emoji}\n data-emoji={emoji}\n style={{\n ...style,\n fontFamily: EMOJI_FONT_FAMILY,\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"1em\",\n whiteSpace: \"nowrap\",\n }}\n {...props}\n ref={forwardedRef}\n >\n {emoji}\n </Component>\n );\n }\n);\n"],"names":["forwardRef","Slot","EMOJI_FONT_FAMILY"],"mappings":";;;;;;AAUO,MAAM,KAAQ,GAAAA,gBAAA;AAAA,EACnB,CAAC,EAAE,KAAA,EAAO,OAAO,OAAY,EAAA,GAAA,KAAA,IAAS,YAAiB,KAAA;AACrD,IAAM,MAAA,SAAA,GAAY,UAAUC,cAAO,GAAA,MAAA,CAAA;AAEnC,IAAA,uBACG,KAAA,CAAA,aAAA,CAAA,SAAA,EAAA;AAAA,MACC,IAAK,EAAA,KAAA;AAAA,MACL,YAAY,EAAA,KAAA;AAAA,MACZ,YAAY,EAAA,KAAA;AAAA,MACZ,KAAO,EAAA;AAAA,QACL,GAAG,KAAA;AAAA,QACH,UAAY,EAAAC,2BAAA;AAAA,QACZ,OAAS,EAAA,aAAA;AAAA,QACT,UAAY,EAAA,QAAA;AAAA,QACZ,cAAgB,EAAA,QAAA;AAAA,QAChB,KAAO,EAAA,KAAA;AAAA,QACP,UAAY,EAAA,QAAA;AAAA,OACd;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,GAAK,EAAA,YAAA;AAAA,KAAA,EAEJ,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -0,0 +1,28 @@
1
+ import { Slot } from '@radix-ui/react-slot';
2
+ import React__default, { forwardRef } from 'react';
3
+ import { EMOJI_FONT_FAMILY } from '../../constants.mjs';
4
+
5
+ const Emoji = forwardRef(
6
+ ({ emoji, style, asChild, ...props }, forwardedRef) => {
7
+ const Component = asChild ? Slot : "span";
8
+ return /* @__PURE__ */ React__default.createElement(Component, {
9
+ role: "img",
10
+ "aria-label": emoji,
11
+ "data-emoji": emoji,
12
+ style: {
13
+ ...style,
14
+ fontFamily: EMOJI_FONT_FAMILY,
15
+ display: "inline-flex",
16
+ alignItems: "center",
17
+ justifyContent: "center",
18
+ width: "1em",
19
+ whiteSpace: "nowrap"
20
+ },
21
+ ...props,
22
+ ref: forwardedRef
23
+ }, emoji);
24
+ }
25
+ );
26
+
27
+ export { Emoji };
28
+ //# sourceMappingURL=Emoji.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Emoji.mjs","sources":["../../../src/primitives/internal/Emoji.tsx"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport React, { forwardRef } from \"react\";\n\nimport { EMOJI_FONT_FAMILY } from \"../../constants\";\nimport type { ComponentPropsWithSlot } from \"../../types\";\n\nexport interface EmojiProps extends ComponentPropsWithSlot<\"span\"> {\n emoji: string;\n}\n\nexport const Emoji = forwardRef<HTMLSpanElement, EmojiProps>(\n ({ emoji, style, asChild, ...props }, forwardedRef) => {\n const Component = asChild ? Slot : \"span\";\n\n return (\n <Component\n role=\"img\"\n aria-label={emoji}\n data-emoji={emoji}\n style={{\n ...style,\n fontFamily: EMOJI_FONT_FAMILY,\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"1em\",\n whiteSpace: \"nowrap\",\n }}\n {...props}\n ref={forwardedRef}\n >\n {emoji}\n </Component>\n );\n }\n);\n"],"names":["React"],"mappings":";;;;AAUO,MAAM,KAAQ,GAAA,UAAA;AAAA,EACnB,CAAC,EAAE,KAAA,EAAO,OAAO,OAAY,EAAA,GAAA,KAAA,IAAS,YAAiB,KAAA;AACrD,IAAM,MAAA,SAAA,GAAY,UAAU,IAAO,GAAA,MAAA,CAAA;AAEnC,IAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,SAAA,EAAA;AAAA,MACC,IAAK,EAAA,KAAA;AAAA,MACL,YAAY,EAAA,KAAA;AAAA,MACZ,YAAY,EAAA,KAAA;AAAA,MACZ,KAAO,EAAA;AAAA,QACL,GAAG,KAAA;AAAA,QACH,UAAY,EAAA,iBAAA;AAAA,QACZ,OAAS,EAAA,aAAA;AAAA,QACT,UAAY,EAAA,QAAA;AAAA,QACZ,cAAgB,EAAA,QAAA;AAAA,QAChB,KAAO,EAAA,KAAA;AAAA,QACP,UAAY,EAAA,QAAA;AAAA,OACd;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,GAAK,EAAA,YAAA;AAAA,KAAA,EAEJ,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
package/dist/shared.js ADDED
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ var core = require('@liveblocks/core');
4
+ var react = require('@liveblocks/react');
5
+
6
+ function useCurrentUserId() {
7
+ const roomContextBundle = react.useRoomContextBundleOrNull__();
8
+ const liveblocksContextBundle = react.useLiveblocksContextBundleOrNull__();
9
+ if (roomContextBundle !== null) {
10
+ return roomContextBundle[core.kInternal].useCurrentUserIdFromRoom();
11
+ } else if (liveblocksContextBundle !== null) {
12
+ return liveblocksContextBundle[core.kInternal].useCurrentUserIdFromClient();
13
+ } else {
14
+ core.raise(
15
+ "LiveblocksProvider or RoomProvider are missing from the React tree."
16
+ );
17
+ }
18
+ }
19
+
20
+ exports.useCurrentUserId = useCurrentUserId;
21
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sources":["../src/shared.ts"],"sourcesContent":["import { kInternal, raise } from \"@liveblocks/core\";\nimport {\n useLiveblocksContextBundleOrNull__,\n useRoomContextBundleOrNull__,\n} from \"@liveblocks/react\";\n\nexport function useCurrentUserId(): string | null {\n const roomContextBundle = useRoomContextBundleOrNull__();\n const liveblocksContextBundle = useLiveblocksContextBundleOrNull__();\n\n if (roomContextBundle !== null) {\n return roomContextBundle[kInternal].useCurrentUserIdFromRoom();\n } else if (liveblocksContextBundle !== null) {\n return liveblocksContextBundle[kInternal].useCurrentUserIdFromClient();\n } else {\n raise(\n \"LiveblocksProvider or RoomProvider are missing from the React tree.\"\n );\n }\n}\n"],"names":["useRoomContextBundleOrNull__","useLiveblocksContextBundleOrNull__","kInternal","raise"],"mappings":";;;;;AAMO,SAAS,gBAAkC,GAAA;AAChD,EAAA,MAAM,oBAAoBA,kCAA6B,EAAA,CAAA;AACvD,EAAA,MAAM,0BAA0BC,wCAAmC,EAAA,CAAA;AAEnE,EAAA,IAAI,sBAAsB,IAAM,EAAA;AAC9B,IAAO,OAAA,iBAAA,CAAkBC,gBAAW,wBAAyB,EAAA,CAAA;AAAA,GAC/D,MAAA,IAAW,4BAA4B,IAAM,EAAA;AAC3C,IAAO,OAAA,uBAAA,CAAwBA,gBAAW,0BAA2B,EAAA,CAAA;AAAA,GAChE,MAAA;AACL,IAAAC,UAAA;AAAA,MACE,qEAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF;;;;"}
@@ -0,0 +1,19 @@
1
+ import { kInternal, raise } from '@liveblocks/core';
2
+ import { useRoomContextBundleOrNull__, useLiveblocksContextBundleOrNull__ } from '@liveblocks/react';
3
+
4
+ function useCurrentUserId() {
5
+ const roomContextBundle = useRoomContextBundleOrNull__();
6
+ const liveblocksContextBundle = useLiveblocksContextBundleOrNull__();
7
+ if (roomContextBundle !== null) {
8
+ return roomContextBundle[kInternal].useCurrentUserIdFromRoom();
9
+ } else if (liveblocksContextBundle !== null) {
10
+ return liveblocksContextBundle[kInternal].useCurrentUserIdFromClient();
11
+ } else {
12
+ raise(
13
+ "LiveblocksProvider or RoomProvider are missing from the React tree."
14
+ );
15
+ }
16
+ }
17
+
18
+ export { useCurrentUserId };
19
+ //# sourceMappingURL=shared.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.mjs","sources":["../src/shared.ts"],"sourcesContent":["import { kInternal, raise } from \"@liveblocks/core\";\nimport {\n useLiveblocksContextBundleOrNull__,\n useRoomContextBundleOrNull__,\n} from \"@liveblocks/react\";\n\nexport function useCurrentUserId(): string | null {\n const roomContextBundle = useRoomContextBundleOrNull__();\n const liveblocksContextBundle = useLiveblocksContextBundleOrNull__();\n\n if (roomContextBundle !== null) {\n return roomContextBundle[kInternal].useCurrentUserIdFromRoom();\n } else if (liveblocksContextBundle !== null) {\n return liveblocksContextBundle[kInternal].useCurrentUserIdFromClient();\n } else {\n raise(\n \"LiveblocksProvider or RoomProvider are missing from the React tree.\"\n );\n }\n}\n"],"names":[],"mappings":";;;AAMO,SAAS,gBAAkC,GAAA;AAChD,EAAA,MAAM,oBAAoB,4BAA6B,EAAA,CAAA;AACvD,EAAA,MAAM,0BAA0B,kCAAmC,EAAA,CAAA;AAEnE,EAAA,IAAI,sBAAsB,IAAM,EAAA;AAC9B,IAAO,OAAA,iBAAA,CAAkB,WAAW,wBAAyB,EAAA,CAAA;AAAA,GAC/D,MAAA,IAAW,4BAA4B,IAAM,EAAA;AAC3C,IAAO,OAAA,uBAAA,CAAwB,WAAW,0BAA2B,EAAA,CAAA;AAAA,GAChE,MAAA;AACL,IAAA,KAAA;AAAA,MACE,qEAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF;;;;"}