@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
@@ -1 +1 @@
1
- {"version":3,"file":"use-controllable-state.mjs","sources":["../../src/utils/use-controllable-state.ts"],"sourcesContent":["import { console } from \"@liveblocks/core\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\nexport function useControllableState<T>(\n value?: T,\n onChange?: (value: T) => void,\n defaultValue?: T\n) {\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\n const isControlled = value !== undefined;\n const wasControlled = useRef(isControlled);\n\n useEffect(() => {\n if (\n process.env.NODE_ENV !== \"production\" &&\n wasControlled.current !== isControlled\n ) {\n console.warn(\n `A component is changing from ${\n wasControlled ? \"controlled\" : \"uncontrolled\"\n } to ${isControlled ? \"controlled\" : \"uncontrolled\"}.`\n );\n }\n\n wasControlled.current = isControlled;\n }, [isControlled]);\n\n const currentValue = isControlled ? value : uncontrolledValue;\n\n const setValue = useCallback(\n (value: T) => {\n if (isControlled) {\n return onChange?.(value);\n } else {\n setUncontrolledValue(value);\n\n return onChange?.(value);\n }\n },\n [isControlled, onChange]\n );\n\n return [currentValue, setValue] as const;\n}\n"],"names":["value"],"mappings":";;;AAGgB,SAAA,oBAAA,CACd,KACA,EAAA,QAAA,EACA,YACA,EAAA;AACA,EAAA,MAAM,CAAC,iBAAA,EAAmB,oBAAoB,CAAA,GAAI,SAAS,YAAY,CAAA,CAAA;AACvE,EAAA,MAAM,eAAe,KAAU,KAAA,KAAA,CAAA,CAAA;AAC/B,EAAM,MAAA,aAAA,GAAgB,OAAO,YAAY,CAAA,CAAA;AAEzC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IACE,QAAQ,GAAI,CAAA,QAAA,KAAa,YACzB,IAAA,aAAA,CAAc,YAAY,YAC1B,EAAA;AACA,MAAQ,OAAA,CAAA,IAAA;AAAA,QACN,CACE,6BAAA,EAAA,aAAA,GAAgB,YAAe,GAAA,cAAA,CAAA,IAAA,EAC1B,eAAe,YAAe,GAAA,cAAA,CAAA,CAAA,CAAA;AAAA,OACvC,CAAA;AAAA,KACF;AAEA,IAAA,aAAA,CAAc,OAAU,GAAA,YAAA,CAAA;AAAA,GAC1B,EAAG,CAAC,YAAY,CAAC,CAAA,CAAA;AAEjB,EAAM,MAAA,YAAA,GAAe,eAAe,KAAQ,GAAA,iBAAA,CAAA;AAE5C,EAAA,MAAM,QAAW,GAAA,WAAA;AAAA,IACf,CAACA,MAAa,KAAA;AACZ,MAAA,IAAI,YAAc,EAAA;AAChB,QAAA,OAAO,WAAWA,MAAK,CAAA,CAAA;AAAA,OAClB,MAAA;AACL,QAAA,oBAAA,CAAqBA,MAAK,CAAA,CAAA;AAE1B,QAAA,OAAO,WAAWA,MAAK,CAAA,CAAA;AAAA,OACzB;AAAA,KACF;AAAA,IACA,CAAC,cAAc,QAAQ,CAAA;AAAA,GACzB,CAAA;AAEA,EAAO,OAAA,CAAC,cAAc,QAAQ,CAAA,CAAA;AAChC;;;;"}
1
+ {"version":3,"file":"use-controllable-state.cjs","sources":["../../src/utils/use-controllable-state.ts"],"sourcesContent":["import { console } from \"@liveblocks/core\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\nexport function useControllableState<T>(\n value?: T,\n onChange?: (value: T) => void,\n defaultValue?: T\n) {\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\n const isControlled = value !== undefined;\n const wasControlled = useRef(isControlled);\n\n useEffect(() => {\n if (\n process.env.NODE_ENV !== \"production\" &&\n wasControlled.current !== isControlled\n ) {\n console.warn(\n `A component is changing from ${\n wasControlled ? \"controlled\" : \"uncontrolled\"\n } to ${isControlled ? \"controlled\" : \"uncontrolled\"}.`\n );\n }\n\n wasControlled.current = isControlled;\n }, [isControlled]);\n\n const currentValue = isControlled ? value : uncontrolledValue;\n\n const setValue = useCallback(\n (value: T) => {\n if (isControlled) {\n return onChange?.(value);\n } else {\n setUncontrolledValue(value);\n\n return onChange?.(value);\n }\n },\n [isControlled, onChange]\n );\n\n return [currentValue, setValue] as const;\n}\n"],"names":["useState","useRef","useEffect","console","useCallback","value"],"mappings":";;;;;AAGgB,SAAA,oBAAA,CACd,KACA,EAAA,QAAA,EACA,YACA,EAAA;AACA,EAAA,MAAM,CAAC,iBAAA,EAAmB,oBAAoB,CAAA,GAAIA,eAAS,YAAY,CAAA,CAAA;AACvE,EAAA,MAAM,eAAe,KAAU,KAAA,KAAA,CAAA,CAAA;AAC/B,EAAM,MAAA,aAAA,GAAgBC,aAAO,YAAY,CAAA,CAAA;AAEzC,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IACE,QAAQ,GAAI,CAAA,QAAA,KAAa,YACzB,IAAA,aAAA,CAAc,YAAY,YAC1B,EAAA;AACA,MAAQC,YAAA,CAAA,IAAA;AAAA,QACN,CACE,6BAAA,EAAA,aAAA,GAAgB,YAAe,GAAA,cAAA,CAAA,IAAA,EAC1B,eAAe,YAAe,GAAA,cAAA,CAAA,CAAA,CAAA;AAAA,OACvC,CAAA;AAAA,KACF;AAEA,IAAA,aAAA,CAAc,OAAU,GAAA,YAAA,CAAA;AAAA,GAC1B,EAAG,CAAC,YAAY,CAAC,CAAA,CAAA;AAEjB,EAAM,MAAA,YAAA,GAAe,eAAe,KAAQ,GAAA,iBAAA,CAAA;AAE5C,EAAA,MAAM,QAAW,GAAAC,iBAAA;AAAA,IACf,CAACC,MAAa,KAAA;AACZ,MAAA,IAAI,YAAc,EAAA;AAChB,QAAA,OAAO,WAAWA,MAAK,CAAA,CAAA;AAAA,OAClB,MAAA;AACL,QAAA,oBAAA,CAAqBA,MAAK,CAAA,CAAA;AAE1B,QAAA,OAAO,WAAWA,MAAK,CAAA,CAAA;AAAA,OACzB;AAAA,KACF;AAAA,IACA,CAAC,cAAc,QAAQ,CAAA;AAAA,GACzB,CAAA;AAEA,EAAO,OAAA,CAAC,cAAc,QAAQ,CAAA,CAAA;AAChC;;;;"}
@@ -1,22 +1,20 @@
1
- 'use strict';
2
-
3
- var core = require('@liveblocks/core');
4
- var react = require('react');
1
+ import { console } from '@liveblocks/core';
2
+ import { useState, useRef, useEffect, useCallback } from 'react';
5
3
 
6
4
  function useControllableState(value, onChange, defaultValue) {
7
- const [uncontrolledValue, setUncontrolledValue] = react.useState(defaultValue);
5
+ const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);
8
6
  const isControlled = value !== void 0;
9
- const wasControlled = react.useRef(isControlled);
10
- react.useEffect(() => {
7
+ const wasControlled = useRef(isControlled);
8
+ useEffect(() => {
11
9
  if (process.env.NODE_ENV !== "production" && wasControlled.current !== isControlled) {
12
- core.console.warn(
10
+ console.warn(
13
11
  `A component is changing from ${wasControlled ? "controlled" : "uncontrolled"} to ${isControlled ? "controlled" : "uncontrolled"}.`
14
12
  );
15
13
  }
16
14
  wasControlled.current = isControlled;
17
15
  }, [isControlled]);
18
16
  const currentValue = isControlled ? value : uncontrolledValue;
19
- const setValue = react.useCallback(
17
+ const setValue = useCallback(
20
18
  (value2) => {
21
19
  if (isControlled) {
22
20
  return onChange?.(value2);
@@ -30,5 +28,5 @@ function useControllableState(value, onChange, defaultValue) {
30
28
  return [currentValue, setValue];
31
29
  }
32
30
 
33
- exports.useControllableState = useControllableState;
31
+ export { useControllableState };
34
32
  //# sourceMappingURL=use-controllable-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-controllable-state.js","sources":["../../src/utils/use-controllable-state.ts"],"sourcesContent":["import { console } from \"@liveblocks/core\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\nexport function useControllableState<T>(\n value?: T,\n onChange?: (value: T) => void,\n defaultValue?: T\n) {\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\n const isControlled = value !== undefined;\n const wasControlled = useRef(isControlled);\n\n useEffect(() => {\n if (\n process.env.NODE_ENV !== \"production\" &&\n wasControlled.current !== isControlled\n ) {\n console.warn(\n `A component is changing from ${\n wasControlled ? \"controlled\" : \"uncontrolled\"\n } to ${isControlled ? \"controlled\" : \"uncontrolled\"}.`\n );\n }\n\n wasControlled.current = isControlled;\n }, [isControlled]);\n\n const currentValue = isControlled ? value : uncontrolledValue;\n\n const setValue = useCallback(\n (value: T) => {\n if (isControlled) {\n return onChange?.(value);\n } else {\n setUncontrolledValue(value);\n\n return onChange?.(value);\n }\n },\n [isControlled, onChange]\n );\n\n return [currentValue, setValue] as const;\n}\n"],"names":["useState","useRef","useEffect","console","useCallback","value"],"mappings":";;;;;AAGgB,SAAA,oBAAA,CACd,KACA,EAAA,QAAA,EACA,YACA,EAAA;AACA,EAAA,MAAM,CAAC,iBAAA,EAAmB,oBAAoB,CAAA,GAAIA,eAAS,YAAY,CAAA,CAAA;AACvE,EAAA,MAAM,eAAe,KAAU,KAAA,KAAA,CAAA,CAAA;AAC/B,EAAM,MAAA,aAAA,GAAgBC,aAAO,YAAY,CAAA,CAAA;AAEzC,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IACE,QAAQ,GAAI,CAAA,QAAA,KAAa,YACzB,IAAA,aAAA,CAAc,YAAY,YAC1B,EAAA;AACA,MAAQC,YAAA,CAAA,IAAA;AAAA,QACN,CACE,6BAAA,EAAA,aAAA,GAAgB,YAAe,GAAA,cAAA,CAAA,IAAA,EAC1B,eAAe,YAAe,GAAA,cAAA,CAAA,CAAA,CAAA;AAAA,OACvC,CAAA;AAAA,KACF;AAEA,IAAA,aAAA,CAAc,OAAU,GAAA,YAAA,CAAA;AAAA,GAC1B,EAAG,CAAC,YAAY,CAAC,CAAA,CAAA;AAEjB,EAAM,MAAA,YAAA,GAAe,eAAe,KAAQ,GAAA,iBAAA,CAAA;AAE5C,EAAA,MAAM,QAAW,GAAAC,iBAAA;AAAA,IACf,CAACC,MAAa,KAAA;AACZ,MAAA,IAAI,YAAc,EAAA;AAChB,QAAA,OAAO,WAAWA,MAAK,CAAA,CAAA;AAAA,OAClB,MAAA;AACL,QAAA,oBAAA,CAAqBA,MAAK,CAAA,CAAA;AAE1B,QAAA,OAAO,WAAWA,MAAK,CAAA,CAAA;AAAA,OACzB;AAAA,KACF;AAAA,IACA,CAAC,cAAc,QAAQ,CAAA;AAAA,GACzB,CAAA;AAEA,EAAO,OAAA,CAAC,cAAc,QAAQ,CAAA,CAAA;AAChC;;;;"}
1
+ {"version":3,"file":"use-controllable-state.js","sources":["../../src/utils/use-controllable-state.ts"],"sourcesContent":["import { console } from \"@liveblocks/core\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\nexport function useControllableState<T>(\n value?: T,\n onChange?: (value: T) => void,\n defaultValue?: T\n) {\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\n const isControlled = value !== undefined;\n const wasControlled = useRef(isControlled);\n\n useEffect(() => {\n if (\n process.env.NODE_ENV !== \"production\" &&\n wasControlled.current !== isControlled\n ) {\n console.warn(\n `A component is changing from ${\n wasControlled ? \"controlled\" : \"uncontrolled\"\n } to ${isControlled ? \"controlled\" : \"uncontrolled\"}.`\n );\n }\n\n wasControlled.current = isControlled;\n }, [isControlled]);\n\n const currentValue = isControlled ? value : uncontrolledValue;\n\n const setValue = useCallback(\n (value: T) => {\n if (isControlled) {\n return onChange?.(value);\n } else {\n setUncontrolledValue(value);\n\n return onChange?.(value);\n }\n },\n [isControlled, onChange]\n );\n\n return [currentValue, setValue] as const;\n}\n"],"names":["value"],"mappings":";;;AAGgB,SAAA,oBAAA,CACd,KACA,EAAA,QAAA,EACA,YACA,EAAA;AACA,EAAA,MAAM,CAAC,iBAAA,EAAmB,oBAAoB,CAAA,GAAI,SAAS,YAAY,CAAA,CAAA;AACvE,EAAA,MAAM,eAAe,KAAU,KAAA,KAAA,CAAA,CAAA;AAC/B,EAAM,MAAA,aAAA,GAAgB,OAAO,YAAY,CAAA,CAAA;AAEzC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IACE,QAAQ,GAAI,CAAA,QAAA,KAAa,YACzB,IAAA,aAAA,CAAc,YAAY,YAC1B,EAAA;AACA,MAAQ,OAAA,CAAA,IAAA;AAAA,QACN,CACE,6BAAA,EAAA,aAAA,GAAgB,YAAe,GAAA,cAAA,CAAA,IAAA,EAC1B,eAAe,YAAe,GAAA,cAAA,CAAA,CAAA,CAAA;AAAA,OACvC,CAAA;AAAA,KACF;AAEA,IAAA,aAAA,CAAc,OAAU,GAAA,YAAA,CAAA;AAAA,GAC1B,EAAG,CAAC,YAAY,CAAC,CAAA,CAAA;AAEjB,EAAM,MAAA,YAAA,GAAe,eAAe,KAAQ,GAAA,iBAAA,CAAA;AAE5C,EAAA,MAAM,QAAW,GAAA,WAAA;AAAA,IACf,CAACA,MAAa,KAAA;AACZ,MAAA,IAAI,YAAc,EAAA;AAChB,QAAA,OAAO,WAAWA,MAAK,CAAA,CAAA;AAAA,OAClB,MAAA;AACL,QAAA,oBAAA,CAAqBA,MAAK,CAAA,CAAA;AAE1B,QAAA,OAAO,WAAWA,MAAK,CAAA,CAAA;AAAA,OACzB;AAAA,KACF;AAAA,IACA,CAAC,cAAc,QAAQ,CAAA;AAAA,GACzB,CAAA;AAEA,EAAO,OAAA,CAAC,cAAc,QAAQ,CAAA,CAAA;AAChC;;;;"}
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var clamp = require('./clamp.cjs');
5
+ var wrap = require('./wrap.cjs');
6
+
7
+ const defaultOptions = {
8
+ wrap: true
9
+ };
10
+ function useIndex(initial, length, options) {
11
+ const { wrap: shouldWrap } = react.useMemo(() => {
12
+ return {
13
+ ...defaultOptions,
14
+ ...options
15
+ };
16
+ }, [options]);
17
+ const transform = react.useMemo(() => shouldWrap ? wrap.wrap : clamp.clamp, [shouldWrap]);
18
+ const [index, setIndex] = react.useState(initial);
19
+ react.useEffect(() => {
20
+ setIndex((index2) => clamp.clamp(index2, 0, Math.max(length - 1, 0)));
21
+ }, [length]);
22
+ const previousIndex = react.useCallback(() => {
23
+ setIndex((index2) => transform(index2 - 1, 0, Math.max(length, 0)));
24
+ }, [length, transform]);
25
+ const nextIndex = react.useCallback(() => {
26
+ setIndex((index2) => transform(index2 + 1, 0, Math.max(length, 0)));
27
+ }, [length, transform]);
28
+ return [index, previousIndex, nextIndex, setIndex];
29
+ }
30
+
31
+ exports.useIndex = useIndex;
32
+ //# sourceMappingURL=use-index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-index.mjs","sources":["../../src/utils/use-index.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from \"react\";\n\nimport { clamp } from \"./clamp\";\nimport { wrap } from \"./wrap\";\n\ntype Options = {\n wrap: boolean;\n};\n\nconst defaultOptions: Options = {\n wrap: true,\n};\n\nexport function useIndex(\n initial: number,\n length: number,\n options?: Partial<Options>\n) {\n const { wrap: shouldWrap } = useMemo(() => {\n return {\n ...defaultOptions,\n ...options,\n };\n }, [options]);\n const transform = useMemo(() => (shouldWrap ? wrap : clamp), [shouldWrap]);\n const [index, setIndex] = useState(initial);\n\n useEffect(() => {\n setIndex((index) => clamp(index, 0, Math.max(length - 1, 0)));\n }, [length]);\n\n const previousIndex = useCallback(() => {\n setIndex((index) => transform(index - 1, 0, Math.max(length, 0)));\n }, [length, transform]);\n\n const nextIndex = useCallback(() => {\n setIndex((index) => transform(index + 1, 0, Math.max(length, 0)));\n }, [length, transform]);\n\n return [index, previousIndex, nextIndex, setIndex] as const;\n}\n"],"names":["index"],"mappings":";;;;AASA,MAAM,cAA0B,GAAA;AAAA,EAC9B,IAAM,EAAA,IAAA;AACR,CAAA,CAAA;AAEgB,SAAA,QAAA,CACd,OACA,EAAA,MAAA,EACA,OACA,EAAA;AACA,EAAA,MAAM,EAAE,IAAA,EAAM,UAAW,EAAA,GAAI,QAAQ,MAAM;AACzC,IAAO,OAAA;AAAA,MACL,GAAG,cAAA;AAAA,MACH,GAAG,OAAA;AAAA,KACL,CAAA;AAAA,GACF,EAAG,CAAC,OAAO,CAAC,CAAA,CAAA;AACZ,EAAM,MAAA,SAAA,GAAY,QAAQ,MAAO,UAAA,GAAa,OAAO,KAAQ,EAAA,CAAC,UAAU,CAAC,CAAA,CAAA;AACzE,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,OAAO,CAAA,CAAA;AAE1C,EAAA,SAAA,CAAU,MAAM;AACd,IAAS,QAAA,CAAA,CAACA,MAAU,KAAA,KAAA,CAAMA,MAAO,EAAA,CAAA,EAAG,IAAK,CAAA,GAAA,CAAI,MAAS,GAAA,CAAA,EAAG,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,GAC9D,EAAG,CAAC,MAAM,CAAC,CAAA,CAAA;AAEX,EAAM,MAAA,aAAA,GAAgB,YAAY,MAAM;AACtC,IAAS,QAAA,CAAA,CAACA,MAAU,KAAA,SAAA,CAAUA,MAAQ,GAAA,CAAA,EAAG,CAAG,EAAA,IAAA,CAAK,GAAI,CAAA,MAAA,EAAQ,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,GAC/D,EAAA,CAAC,MAAQ,EAAA,SAAS,CAAC,CAAA,CAAA;AAEtB,EAAM,MAAA,SAAA,GAAY,YAAY,MAAM;AAClC,IAAS,QAAA,CAAA,CAACA,MAAU,KAAA,SAAA,CAAUA,MAAQ,GAAA,CAAA,EAAG,CAAG,EAAA,IAAA,CAAK,GAAI,CAAA,MAAA,EAAQ,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,GAC/D,EAAA,CAAC,MAAQ,EAAA,SAAS,CAAC,CAAA,CAAA;AAEtB,EAAA,OAAO,CAAC,KAAA,EAAO,aAAe,EAAA,SAAA,EAAW,QAAQ,CAAA,CAAA;AACnD;;;;"}
1
+ {"version":3,"file":"use-index.cjs","sources":["../../src/utils/use-index.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from \"react\";\n\nimport { clamp } from \"./clamp\";\nimport { wrap } from \"./wrap\";\n\ntype Options = {\n wrap: boolean;\n};\n\nconst defaultOptions: Options = {\n wrap: true,\n};\n\nexport function useIndex(\n initial: number,\n length: number,\n options?: Partial<Options>\n) {\n const { wrap: shouldWrap } = useMemo(() => {\n return {\n ...defaultOptions,\n ...options,\n };\n }, [options]);\n const transform = useMemo(() => (shouldWrap ? wrap : clamp), [shouldWrap]);\n const [index, setIndex] = useState(initial);\n\n useEffect(() => {\n setIndex((index) => clamp(index, 0, Math.max(length - 1, 0)));\n }, [length]);\n\n const previousIndex = useCallback(() => {\n setIndex((index) => transform(index - 1, 0, Math.max(length, 0)));\n }, [length, transform]);\n\n const nextIndex = useCallback(() => {\n setIndex((index) => transform(index + 1, 0, Math.max(length, 0)));\n }, [length, transform]);\n\n return [index, previousIndex, nextIndex, setIndex] as const;\n}\n"],"names":["useMemo","wrap","clamp","useState","useEffect","index","useCallback"],"mappings":";;;;;;AASA,MAAM,cAA0B,GAAA;AAAA,EAC9B,IAAM,EAAA,IAAA;AACR,CAAA,CAAA;AAEgB,SAAA,QAAA,CACd,OACA,EAAA,MAAA,EACA,OACA,EAAA;AACA,EAAA,MAAM,EAAE,IAAA,EAAM,UAAW,EAAA,GAAIA,cAAQ,MAAM;AACzC,IAAO,OAAA;AAAA,MACL,GAAG,cAAA;AAAA,MACH,GAAG,OAAA;AAAA,KACL,CAAA;AAAA,GACF,EAAG,CAAC,OAAO,CAAC,CAAA,CAAA;AACZ,EAAM,MAAA,SAAA,GAAYA,cAAQ,MAAO,UAAA,GAAaC,YAAOC,WAAQ,EAAA,CAAC,UAAU,CAAC,CAAA,CAAA;AACzE,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIC,eAAS,OAAO,CAAA,CAAA;AAE1C,EAAAC,eAAA,CAAU,MAAM;AACd,IAAS,QAAA,CAAA,CAACC,MAAU,KAAAH,WAAA,CAAMG,MAAO,EAAA,CAAA,EAAG,IAAK,CAAA,GAAA,CAAI,MAAS,GAAA,CAAA,EAAG,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,GAC9D,EAAG,CAAC,MAAM,CAAC,CAAA,CAAA;AAEX,EAAM,MAAA,aAAA,GAAgBC,kBAAY,MAAM;AACtC,IAAS,QAAA,CAAA,CAACD,MAAU,KAAA,SAAA,CAAUA,MAAQ,GAAA,CAAA,EAAG,CAAG,EAAA,IAAA,CAAK,GAAI,CAAA,MAAA,EAAQ,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,GAC/D,EAAA,CAAC,MAAQ,EAAA,SAAS,CAAC,CAAA,CAAA;AAEtB,EAAM,MAAA,SAAA,GAAYC,kBAAY,MAAM;AAClC,IAAS,QAAA,CAAA,CAACD,MAAU,KAAA,SAAA,CAAUA,MAAQ,GAAA,CAAA,EAAG,CAAG,EAAA,IAAA,CAAK,GAAI,CAAA,MAAA,EAAQ,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,GAC/D,EAAA,CAAC,MAAQ,EAAA,SAAS,CAAC,CAAA,CAAA;AAEtB,EAAA,OAAO,CAAC,KAAA,EAAO,aAAe,EAAA,SAAA,EAAW,QAAQ,CAAA,CAAA;AACnD;;;;"}
@@ -1,32 +1,30 @@
1
- 'use strict';
2
-
3
- var react = require('react');
4
- var clamp = require('./clamp.js');
5
- var wrap = require('./wrap.js');
1
+ import { useMemo, useState, useEffect, useCallback } from 'react';
2
+ import { clamp } from './clamp.js';
3
+ import { wrap } from './wrap.js';
6
4
 
7
5
  const defaultOptions = {
8
6
  wrap: true
9
7
  };
10
8
  function useIndex(initial, length, options) {
11
- const { wrap: shouldWrap } = react.useMemo(() => {
9
+ const { wrap: shouldWrap } = useMemo(() => {
12
10
  return {
13
11
  ...defaultOptions,
14
12
  ...options
15
13
  };
16
14
  }, [options]);
17
- const transform = react.useMemo(() => shouldWrap ? wrap.wrap : clamp.clamp, [shouldWrap]);
18
- const [index, setIndex] = react.useState(initial);
19
- react.useEffect(() => {
20
- setIndex((index2) => clamp.clamp(index2, 0, Math.max(length - 1, 0)));
15
+ const transform = useMemo(() => shouldWrap ? wrap : clamp, [shouldWrap]);
16
+ const [index, setIndex] = useState(initial);
17
+ useEffect(() => {
18
+ setIndex((index2) => clamp(index2, 0, Math.max(length - 1, 0)));
21
19
  }, [length]);
22
- const previousIndex = react.useCallback(() => {
20
+ const previousIndex = useCallback(() => {
23
21
  setIndex((index2) => transform(index2 - 1, 0, Math.max(length, 0)));
24
22
  }, [length, transform]);
25
- const nextIndex = react.useCallback(() => {
23
+ const nextIndex = useCallback(() => {
26
24
  setIndex((index2) => transform(index2 + 1, 0, Math.max(length, 0)));
27
25
  }, [length, transform]);
28
26
  return [index, previousIndex, nextIndex, setIndex];
29
27
  }
30
28
 
31
- exports.useIndex = useIndex;
29
+ export { useIndex };
32
30
  //# sourceMappingURL=use-index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-index.js","sources":["../../src/utils/use-index.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from \"react\";\n\nimport { clamp } from \"./clamp\";\nimport { wrap } from \"./wrap\";\n\ntype Options = {\n wrap: boolean;\n};\n\nconst defaultOptions: Options = {\n wrap: true,\n};\n\nexport function useIndex(\n initial: number,\n length: number,\n options?: Partial<Options>\n) {\n const { wrap: shouldWrap } = useMemo(() => {\n return {\n ...defaultOptions,\n ...options,\n };\n }, [options]);\n const transform = useMemo(() => (shouldWrap ? wrap : clamp), [shouldWrap]);\n const [index, setIndex] = useState(initial);\n\n useEffect(() => {\n setIndex((index) => clamp(index, 0, Math.max(length - 1, 0)));\n }, [length]);\n\n const previousIndex = useCallback(() => {\n setIndex((index) => transform(index - 1, 0, Math.max(length, 0)));\n }, [length, transform]);\n\n const nextIndex = useCallback(() => {\n setIndex((index) => transform(index + 1, 0, Math.max(length, 0)));\n }, [length, transform]);\n\n return [index, previousIndex, nextIndex, setIndex] as const;\n}\n"],"names":["useMemo","wrap","clamp","useState","useEffect","index","useCallback"],"mappings":";;;;;;AASA,MAAM,cAA0B,GAAA;AAAA,EAC9B,IAAM,EAAA,IAAA;AACR,CAAA,CAAA;AAEgB,SAAA,QAAA,CACd,OACA,EAAA,MAAA,EACA,OACA,EAAA;AACA,EAAA,MAAM,EAAE,IAAA,EAAM,UAAW,EAAA,GAAIA,cAAQ,MAAM;AACzC,IAAO,OAAA;AAAA,MACL,GAAG,cAAA;AAAA,MACH,GAAG,OAAA;AAAA,KACL,CAAA;AAAA,GACF,EAAG,CAAC,OAAO,CAAC,CAAA,CAAA;AACZ,EAAM,MAAA,SAAA,GAAYA,cAAQ,MAAO,UAAA,GAAaC,YAAOC,WAAQ,EAAA,CAAC,UAAU,CAAC,CAAA,CAAA;AACzE,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIC,eAAS,OAAO,CAAA,CAAA;AAE1C,EAAAC,eAAA,CAAU,MAAM;AACd,IAAS,QAAA,CAAA,CAACC,MAAU,KAAAH,WAAA,CAAMG,MAAO,EAAA,CAAA,EAAG,IAAK,CAAA,GAAA,CAAI,MAAS,GAAA,CAAA,EAAG,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,GAC9D,EAAG,CAAC,MAAM,CAAC,CAAA,CAAA;AAEX,EAAM,MAAA,aAAA,GAAgBC,kBAAY,MAAM;AACtC,IAAS,QAAA,CAAA,CAACD,MAAU,KAAA,SAAA,CAAUA,MAAQ,GAAA,CAAA,EAAG,CAAG,EAAA,IAAA,CAAK,GAAI,CAAA,MAAA,EAAQ,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,GAC/D,EAAA,CAAC,MAAQ,EAAA,SAAS,CAAC,CAAA,CAAA;AAEtB,EAAM,MAAA,SAAA,GAAYC,kBAAY,MAAM;AAClC,IAAS,QAAA,CAAA,CAACD,MAAU,KAAA,SAAA,CAAUA,MAAQ,GAAA,CAAA,EAAG,CAAG,EAAA,IAAA,CAAK,GAAI,CAAA,MAAA,EAAQ,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,GAC/D,EAAA,CAAC,MAAQ,EAAA,SAAS,CAAC,CAAA,CAAA;AAEtB,EAAA,OAAO,CAAC,KAAA,EAAO,aAAe,EAAA,SAAA,EAAW,QAAQ,CAAA,CAAA;AACnD;;;;"}
1
+ {"version":3,"file":"use-index.js","sources":["../../src/utils/use-index.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from \"react\";\n\nimport { clamp } from \"./clamp\";\nimport { wrap } from \"./wrap\";\n\ntype Options = {\n wrap: boolean;\n};\n\nconst defaultOptions: Options = {\n wrap: true,\n};\n\nexport function useIndex(\n initial: number,\n length: number,\n options?: Partial<Options>\n) {\n const { wrap: shouldWrap } = useMemo(() => {\n return {\n ...defaultOptions,\n ...options,\n };\n }, [options]);\n const transform = useMemo(() => (shouldWrap ? wrap : clamp), [shouldWrap]);\n const [index, setIndex] = useState(initial);\n\n useEffect(() => {\n setIndex((index) => clamp(index, 0, Math.max(length - 1, 0)));\n }, [length]);\n\n const previousIndex = useCallback(() => {\n setIndex((index) => transform(index - 1, 0, Math.max(length, 0)));\n }, [length, transform]);\n\n const nextIndex = useCallback(() => {\n setIndex((index) => transform(index + 1, 0, Math.max(length, 0)));\n }, [length, transform]);\n\n return [index, previousIndex, nextIndex, setIndex] as const;\n}\n"],"names":["index"],"mappings":";;;;AASA,MAAM,cAA0B,GAAA;AAAA,EAC9B,IAAM,EAAA,IAAA;AACR,CAAA,CAAA;AAEgB,SAAA,QAAA,CACd,OACA,EAAA,MAAA,EACA,OACA,EAAA;AACA,EAAA,MAAM,EAAE,IAAA,EAAM,UAAW,EAAA,GAAI,QAAQ,MAAM;AACzC,IAAO,OAAA;AAAA,MACL,GAAG,cAAA;AAAA,MACH,GAAG,OAAA;AAAA,KACL,CAAA;AAAA,GACF,EAAG,CAAC,OAAO,CAAC,CAAA,CAAA;AACZ,EAAM,MAAA,SAAA,GAAY,QAAQ,MAAO,UAAA,GAAa,OAAO,KAAQ,EAAA,CAAC,UAAU,CAAC,CAAA,CAAA;AACzE,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,OAAO,CAAA,CAAA;AAE1C,EAAA,SAAA,CAAU,MAAM;AACd,IAAS,QAAA,CAAA,CAACA,MAAU,KAAA,KAAA,CAAMA,MAAO,EAAA,CAAA,EAAG,IAAK,CAAA,GAAA,CAAI,MAAS,GAAA,CAAA,EAAG,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,GAC9D,EAAG,CAAC,MAAM,CAAC,CAAA,CAAA;AAEX,EAAM,MAAA,aAAA,GAAgB,YAAY,MAAM;AACtC,IAAS,QAAA,CAAA,CAACA,MAAU,KAAA,SAAA,CAAUA,MAAQ,GAAA,CAAA,EAAG,CAAG,EAAA,IAAA,CAAK,GAAI,CAAA,MAAA,EAAQ,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,GAC/D,EAAA,CAAC,MAAQ,EAAA,SAAS,CAAC,CAAA,CAAA;AAEtB,EAAM,MAAA,SAAA,GAAY,YAAY,MAAM;AAClC,IAAS,QAAA,CAAA,CAACA,MAAU,KAAA,SAAA,CAAUA,MAAQ,GAAA,CAAA,EAAG,CAAG,EAAA,IAAA,CAAK,GAAI,CAAA,MAAA,EAAQ,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,GAC/D,EAAA,CAAC,MAAQ,EAAA,SAAS,CAAC,CAAA,CAAA;AAEtB,EAAA,OAAO,CAAC,KAAA,EAAO,aAAe,EAAA,SAAA,EAAW,QAAQ,CAAA,CAAA;AACnD;;;;"}
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+
5
+ function useInitial(value) {
6
+ const [initialValue] = react.useState(value);
7
+ return initialValue;
8
+ }
9
+
10
+ exports.useInitial = useInitial;
11
+ //# sourceMappingURL=use-initial.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-initial.mjs","sources":["../../src/utils/use-initial.ts"],"sourcesContent":["import { useState } from \"react\";\n\n/**\n * \"Freezes\" a given value, so that it will return the same value/instance on\n * each subsequent render. This can be used to freeze \"initial\" values for\n * custom hooks, much like how `useState(initialState)` or\n * `useRef(initialValue)` works.\n */\nexport function useInitial<T>(value: T | (() => T)): T {\n const [initialValue] = useState(value);\n\n return initialValue;\n}\n"],"names":[],"mappings":";;AAQO,SAAS,WAAc,KAAyB,EAAA;AACrD,EAAA,MAAM,CAAC,YAAY,CAAI,GAAA,QAAA,CAAS,KAAK,CAAA,CAAA;AAErC,EAAO,OAAA,YAAA,CAAA;AACT;;;;"}
1
+ {"version":3,"file":"use-initial.cjs","sources":["../../src/utils/use-initial.ts"],"sourcesContent":["import { useState } from \"react\";\n\n/**\n * \"Freezes\" a given value, so that it will return the same value/instance on\n * each subsequent render. This can be used to freeze \"initial\" values for\n * custom hooks, much like how `useState(initialState)` or\n * `useRef(initialValue)` works.\n */\nexport function useInitial<T>(value: T | (() => T)): T {\n const [initialValue] = useState(value);\n\n return initialValue;\n}\n"],"names":["useState"],"mappings":";;;;AAQO,SAAS,WAAc,KAAyB,EAAA;AACrD,EAAA,MAAM,CAAC,YAAY,CAAI,GAAAA,cAAA,CAAS,KAAK,CAAA,CAAA;AAErC,EAAO,OAAA,YAAA,CAAA;AACT;;;;"}
@@ -1,11 +1,9 @@
1
- 'use strict';
2
-
3
- var react = require('react');
1
+ import { useState } from 'react';
4
2
 
5
3
  function useInitial(value) {
6
- const [initialValue] = react.useState(value);
4
+ const [initialValue] = useState(value);
7
5
  return initialValue;
8
6
  }
9
7
 
10
- exports.useInitial = useInitial;
8
+ export { useInitial };
11
9
  //# sourceMappingURL=use-initial.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-initial.js","sources":["../../src/utils/use-initial.ts"],"sourcesContent":["import { useState } from \"react\";\n\n/**\n * \"Freezes\" a given value, so that it will return the same value/instance on\n * each subsequent render. This can be used to freeze \"initial\" values for\n * custom hooks, much like how `useState(initialState)` or\n * `useRef(initialValue)` works.\n */\nexport function useInitial<T>(value: T | (() => T)): T {\n const [initialValue] = useState(value);\n\n return initialValue;\n}\n"],"names":["useState"],"mappings":";;;;AAQO,SAAS,WAAc,KAAyB,EAAA;AACrD,EAAA,MAAM,CAAC,YAAY,CAAI,GAAAA,cAAA,CAAS,KAAK,CAAA,CAAA;AAErC,EAAO,OAAA,YAAA,CAAA;AACT;;;;"}
1
+ {"version":3,"file":"use-initial.js","sources":["../../src/utils/use-initial.ts"],"sourcesContent":["import { useState } from \"react\";\n\n/**\n * \"Freezes\" a given value, so that it will return the same value/instance on\n * each subsequent render. This can be used to freeze \"initial\" values for\n * custom hooks, much like how `useState(initialState)` or\n * `useRef(initialValue)` works.\n */\nexport function useInitial<T>(value: T | (() => T)): T {\n const [initialValue] = useState(value);\n\n return initialValue;\n}\n"],"names":[],"mappings":";;AAQO,SAAS,WAAc,KAAyB,EAAA;AACrD,EAAA,MAAM,CAAC,YAAY,CAAI,GAAA,QAAA,CAAS,KAAK,CAAA,CAAA;AAErC,EAAO,OAAA,YAAA,CAAA;AACT;;;;"}
@@ -1,11 +1,13 @@
1
- import { useRef, useEffect } from 'react';
1
+ 'use strict';
2
+
3
+ var react = require('react');
2
4
 
3
5
  function useInterval(callback, delay) {
4
- const latestCallback = useRef(callback);
5
- useEffect(() => {
6
+ const latestCallback = react.useRef(callback);
7
+ react.useEffect(() => {
6
8
  latestCallback.current = callback;
7
9
  }, [callback]);
8
- useEffect(() => {
10
+ react.useEffect(() => {
9
11
  if (!delay && delay !== 0) {
10
12
  return;
11
13
  }
@@ -18,5 +20,5 @@ function useInterval(callback, delay) {
18
20
  }, [delay]);
19
21
  }
20
22
 
21
- export { useInterval };
22
- //# sourceMappingURL=use-interval.mjs.map
23
+ exports.useInterval = useInterval;
24
+ //# sourceMappingURL=use-interval.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-interval.cjs","sources":["../../src/utils/use-interval.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\n/**\n * Run a function at a given time interval.\n */\nexport function useInterval(\n callback: () => void | false,\n delay?: number | false\n) {\n const latestCallback = useRef(callback);\n\n useEffect(() => {\n latestCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n if (!delay && delay !== 0) {\n return;\n }\n\n const id = setInterval(() => {\n if (latestCallback.current() === false) {\n clearInterval(id);\n }\n }, delay);\n\n return () => clearInterval(id);\n }, [delay]);\n}\n"],"names":["useRef","useEffect"],"mappings":";;;;AAKgB,SAAA,WAAA,CACd,UACA,KACA,EAAA;AACA,EAAM,MAAA,cAAA,GAAiBA,aAAO,QAAQ,CAAA,CAAA;AAEtC,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,cAAA,CAAe,OAAU,GAAA,QAAA,CAAA;AAAA,GAC3B,EAAG,CAAC,QAAQ,CAAC,CAAA,CAAA;AAEb,EAAAA,eAAA,CAAU,MAAM;AACd,IAAI,IAAA,CAAC,KAAS,IAAA,KAAA,KAAU,CAAG,EAAA;AACzB,MAAA,OAAA;AAAA,KACF;AAEA,IAAM,MAAA,EAAA,GAAK,YAAY,MAAM;AAC3B,MAAI,IAAA,cAAA,CAAe,OAAQ,EAAA,KAAM,KAAO,EAAA;AACtC,QAAA,aAAA,CAAc,EAAE,CAAA,CAAA;AAAA,OAClB;AAAA,OACC,KAAK,CAAA,CAAA;AAER,IAAO,OAAA,MAAM,cAAc,EAAE,CAAA,CAAA;AAAA,GAC/B,EAAG,CAAC,KAAK,CAAC,CAAA,CAAA;AACZ;;;;"}
@@ -1,13 +1,11 @@
1
- 'use strict';
2
-
3
- var react = require('react');
1
+ import { useRef, useEffect } from 'react';
4
2
 
5
3
  function useInterval(callback, delay) {
6
- const latestCallback = react.useRef(callback);
7
- react.useEffect(() => {
4
+ const latestCallback = useRef(callback);
5
+ useEffect(() => {
8
6
  latestCallback.current = callback;
9
7
  }, [callback]);
10
- react.useEffect(() => {
8
+ useEffect(() => {
11
9
  if (!delay && delay !== 0) {
12
10
  return;
13
11
  }
@@ -20,5 +18,5 @@ function useInterval(callback, delay) {
20
18
  }, [delay]);
21
19
  }
22
20
 
23
- exports.useInterval = useInterval;
21
+ export { useInterval };
24
22
  //# sourceMappingURL=use-interval.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-interval.js","sources":["../../src/utils/use-interval.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\n/**\n * Run a function at a given time interval.\n */\nexport function useInterval(\n callback: () => void | false,\n delay?: number | false\n) {\n const latestCallback = useRef(callback);\n\n useEffect(() => {\n latestCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n if (!delay && delay !== 0) {\n return;\n }\n\n const id = setInterval(() => {\n if (latestCallback.current() === false) {\n clearInterval(id);\n }\n }, delay);\n\n return () => clearInterval(id);\n }, [delay]);\n}\n"],"names":["useRef","useEffect"],"mappings":";;;;AAKgB,SAAA,WAAA,CACd,UACA,KACA,EAAA;AACA,EAAM,MAAA,cAAA,GAAiBA,aAAO,QAAQ,CAAA,CAAA;AAEtC,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,cAAA,CAAe,OAAU,GAAA,QAAA,CAAA;AAAA,GAC3B,EAAG,CAAC,QAAQ,CAAC,CAAA,CAAA;AAEb,EAAAA,eAAA,CAAU,MAAM;AACd,IAAI,IAAA,CAAC,KAAS,IAAA,KAAA,KAAU,CAAG,EAAA;AACzB,MAAA,OAAA;AAAA,KACF;AAEA,IAAM,MAAA,EAAA,GAAK,YAAY,MAAM;AAC3B,MAAI,IAAA,cAAA,CAAe,OAAQ,EAAA,KAAM,KAAO,EAAA;AACtC,QAAA,aAAA,CAAc,EAAE,CAAA,CAAA;AAAA,OAClB;AAAA,OACC,KAAK,CAAA,CAAA;AAER,IAAO,OAAA,MAAM,cAAc,EAAE,CAAA,CAAA;AAAA,GAC/B,EAAG,CAAC,KAAK,CAAC,CAAA,CAAA;AACZ;;;;"}
1
+ {"version":3,"file":"use-interval.js","sources":["../../src/utils/use-interval.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\n/**\n * Run a function at a given time interval.\n */\nexport function useInterval(\n callback: () => void | false,\n delay?: number | false\n) {\n const latestCallback = useRef(callback);\n\n useEffect(() => {\n latestCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n if (!delay && delay !== 0) {\n return;\n }\n\n const id = setInterval(() => {\n if (latestCallback.current() === false) {\n clearInterval(id);\n }\n }, delay);\n\n return () => clearInterval(id);\n }, [delay]);\n}\n"],"names":[],"mappings":";;AAKgB,SAAA,WAAA,CACd,UACA,KACA,EAAA;AACA,EAAM,MAAA,cAAA,GAAiB,OAAO,QAAQ,CAAA,CAAA;AAEtC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,cAAA,CAAe,OAAU,GAAA,QAAA,CAAA;AAAA,GAC3B,EAAG,CAAC,QAAQ,CAAC,CAAA,CAAA;AAEb,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,IAAA,CAAC,KAAS,IAAA,KAAA,KAAU,CAAG,EAAA;AACzB,MAAA,OAAA;AAAA,KACF;AAEA,IAAM,MAAA,EAAA,GAAK,YAAY,MAAM;AAC3B,MAAI,IAAA,cAAA,CAAe,OAAQ,EAAA,KAAM,KAAO,EAAA;AACtC,QAAA,aAAA,CAAc,EAAE,CAAA,CAAA;AAAA,OAClB;AAAA,OACC,KAAK,CAAA,CAAA;AAER,IAAO,OAAA,MAAM,cAAc,EAAE,CAAA,CAAA;AAAA,GAC/B,EAAG,CAAC,KAAK,CAAC,CAAA,CAAA;AACZ;;;;"}
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+
5
+ function useLatest(value) {
6
+ const ref = react.useRef(value);
7
+ react.useEffect(() => {
8
+ ref.current = value;
9
+ }, [value]);
10
+ return ref;
11
+ }
12
+
13
+ exports.useLatest = useLatest;
14
+ //# sourceMappingURL=use-latest.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-latest.mjs","sources":["../../src/utils/use-latest.ts"],"sourcesContent":["import type { MutableRefObject } from \"react\";\nimport { useEffect, useRef } from \"react\";\n\n/**\n * Keeps a ref in sync with a given value that may or may not change on\n * every render.\n *\n * The purpose of this hook is to return a stable ref that can be passed\n * to a callback function so the callback can be registered but still can\n * access the latest value at a later point in time.\n */\nexport function useLatest<T>(value: T): MutableRefObject<T> {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n}\n"],"names":[],"mappings":";;AAWO,SAAS,UAAa,KAA+B,EAAA;AAC1D,EAAM,MAAA,GAAA,GAAM,OAAO,KAAK,CAAA,CAAA;AACxB,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,GAAA,CAAI,OAAU,GAAA,KAAA,CAAA;AAAA,GAChB,EAAG,CAAC,KAAK,CAAC,CAAA,CAAA;AACV,EAAO,OAAA,GAAA,CAAA;AACT;;;;"}
1
+ {"version":3,"file":"use-latest.cjs","sources":["../../src/utils/use-latest.ts"],"sourcesContent":["import type { MutableRefObject } from \"react\";\nimport { useEffect, useRef } from \"react\";\n\n/**\n * Keeps a ref in sync with a given value that may or may not change on\n * every render.\n *\n * The purpose of this hook is to return a stable ref that can be passed\n * to a callback function so the callback can be registered but still can\n * access the latest value at a later point in time.\n */\nexport function useLatest<T>(value: T): MutableRefObject<T> {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n}\n"],"names":["useRef","useEffect"],"mappings":";;;;AAWO,SAAS,UAAa,KAA+B,EAAA;AAC1D,EAAM,MAAA,GAAA,GAAMA,aAAO,KAAK,CAAA,CAAA;AACxB,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,GAAA,CAAI,OAAU,GAAA,KAAA,CAAA;AAAA,GAChB,EAAG,CAAC,KAAK,CAAC,CAAA,CAAA;AACV,EAAO,OAAA,GAAA,CAAA;AACT;;;;"}
@@ -1,14 +1,12 @@
1
- 'use strict';
2
-
3
- var react = require('react');
1
+ import { useRef, useEffect } from 'react';
4
2
 
5
3
  function useLatest(value) {
6
- const ref = react.useRef(value);
7
- react.useEffect(() => {
4
+ const ref = useRef(value);
5
+ useEffect(() => {
8
6
  ref.current = value;
9
7
  }, [value]);
10
8
  return ref;
11
9
  }
12
10
 
13
- exports.useLatest = useLatest;
11
+ export { useLatest };
14
12
  //# sourceMappingURL=use-latest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-latest.js","sources":["../../src/utils/use-latest.ts"],"sourcesContent":["import type { MutableRefObject } from \"react\";\nimport { useEffect, useRef } from \"react\";\n\n/**\n * Keeps a ref in sync with a given value that may or may not change on\n * every render.\n *\n * The purpose of this hook is to return a stable ref that can be passed\n * to a callback function so the callback can be registered but still can\n * access the latest value at a later point in time.\n */\nexport function useLatest<T>(value: T): MutableRefObject<T> {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n}\n"],"names":["useRef","useEffect"],"mappings":";;;;AAWO,SAAS,UAAa,KAA+B,EAAA;AAC1D,EAAM,MAAA,GAAA,GAAMA,aAAO,KAAK,CAAA,CAAA;AACxB,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,GAAA,CAAI,OAAU,GAAA,KAAA,CAAA;AAAA,GAChB,EAAG,CAAC,KAAK,CAAC,CAAA,CAAA;AACV,EAAO,OAAA,GAAA,CAAA;AACT;;;;"}
1
+ {"version":3,"file":"use-latest.js","sources":["../../src/utils/use-latest.ts"],"sourcesContent":["import type { MutableRefObject } from \"react\";\nimport { useEffect, useRef } from \"react\";\n\n/**\n * Keeps a ref in sync with a given value that may or may not change on\n * every render.\n *\n * The purpose of this hook is to return a stable ref that can be passed\n * to a callback function so the callback can be registered but still can\n * access the latest value at a later point in time.\n */\nexport function useLatest<T>(value: T): MutableRefObject<T> {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n}\n"],"names":[],"mappings":";;AAWO,SAAS,UAAa,KAA+B,EAAA;AAC1D,EAAM,MAAA,GAAA,GAAM,OAAO,KAAK,CAAA,CAAA;AACxB,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,GAAA,CAAI,OAAU,GAAA,KAAA,CAAA;AAAA,GAChB,EAAG,CAAC,KAAK,CAAC,CAAA,CAAA;AACV,EAAO,OAAA,GAAA,CAAA;AACT;;;;"}
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var useLatest = require('./use-latest.cjs');
5
+
6
+ function useObservable(observable, callback) {
7
+ const latestCallback = useLatest.useLatest(callback);
8
+ react.useEffect(() => {
9
+ const unsubscribe = observable.subscribe(() => latestCallback.current());
10
+ return unsubscribe;
11
+ }, [observable, latestCallback]);
12
+ }
13
+
14
+ exports.useObservable = useObservable;
15
+ //# sourceMappingURL=use-observable.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-observable.mjs","sources":["../../src/utils/use-observable.ts"],"sourcesContent":["import type { Observable } from \"@liveblocks/core\";\nimport { useEffect } from \"react\";\n\nimport { useLatest } from \"./use-latest\";\n\nexport function useObservable<T>(\n observable: Observable<T>,\n callback: () => void\n) {\n const latestCallback = useLatest(callback);\n\n useEffect(() => {\n const unsubscribe = observable.subscribe(() => latestCallback.current());\n\n return unsubscribe;\n }, [observable, latestCallback]);\n}\n"],"names":[],"mappings":";;;AAKgB,SAAA,aAAA,CACd,YACA,QACA,EAAA;AACA,EAAM,MAAA,cAAA,GAAiB,UAAU,QAAQ,CAAA,CAAA;AAEzC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,cAAc,UAAW,CAAA,SAAA,CAAU,MAAM,cAAA,CAAe,SAAS,CAAA,CAAA;AAEvE,IAAO,OAAA,WAAA,CAAA;AAAA,GACN,EAAA,CAAC,UAAY,EAAA,cAAc,CAAC,CAAA,CAAA;AACjC;;;;"}
1
+ {"version":3,"file":"use-observable.cjs","sources":["../../src/utils/use-observable.ts"],"sourcesContent":["import type { Observable } from \"@liveblocks/core\";\nimport { useEffect } from \"react\";\n\nimport { useLatest } from \"./use-latest\";\n\nexport function useObservable<T>(\n observable: Observable<T>,\n callback: () => void\n) {\n const latestCallback = useLatest(callback);\n\n useEffect(() => {\n const unsubscribe = observable.subscribe(() => latestCallback.current());\n\n return unsubscribe;\n }, [observable, latestCallback]);\n}\n"],"names":["useLatest","useEffect"],"mappings":";;;;;AAKgB,SAAA,aAAA,CACd,YACA,QACA,EAAA;AACA,EAAM,MAAA,cAAA,GAAiBA,oBAAU,QAAQ,CAAA,CAAA;AAEzC,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,MAAM,cAAc,UAAW,CAAA,SAAA,CAAU,MAAM,cAAA,CAAe,SAAS,CAAA,CAAA;AAEvE,IAAO,OAAA,WAAA,CAAA;AAAA,GACN,EAAA,CAAC,UAAY,EAAA,cAAc,CAAC,CAAA,CAAA;AACjC;;;;"}
@@ -1,15 +1,13 @@
1
- 'use strict';
2
-
3
- var react = require('react');
4
- var useLatest = require('./use-latest.js');
1
+ import { useEffect } from 'react';
2
+ import { useLatest } from './use-latest.js';
5
3
 
6
4
  function useObservable(observable, callback) {
7
- const latestCallback = useLatest.useLatest(callback);
8
- react.useEffect(() => {
5
+ const latestCallback = useLatest(callback);
6
+ useEffect(() => {
9
7
  const unsubscribe = observable.subscribe(() => latestCallback.current());
10
8
  return unsubscribe;
11
9
  }, [observable, latestCallback]);
12
10
  }
13
11
 
14
- exports.useObservable = useObservable;
12
+ export { useObservable };
15
13
  //# sourceMappingURL=use-observable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-observable.js","sources":["../../src/utils/use-observable.ts"],"sourcesContent":["import type { Observable } from \"@liveblocks/core\";\nimport { useEffect } from \"react\";\n\nimport { useLatest } from \"./use-latest\";\n\nexport function useObservable<T>(\n observable: Observable<T>,\n callback: () => void\n) {\n const latestCallback = useLatest(callback);\n\n useEffect(() => {\n const unsubscribe = observable.subscribe(() => latestCallback.current());\n\n return unsubscribe;\n }, [observable, latestCallback]);\n}\n"],"names":["useLatest","useEffect"],"mappings":";;;;;AAKgB,SAAA,aAAA,CACd,YACA,QACA,EAAA;AACA,EAAM,MAAA,cAAA,GAAiBA,oBAAU,QAAQ,CAAA,CAAA;AAEzC,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,MAAM,cAAc,UAAW,CAAA,SAAA,CAAU,MAAM,cAAA,CAAe,SAAS,CAAA,CAAA;AAEvE,IAAO,OAAA,WAAA,CAAA;AAAA,GACN,EAAA,CAAC,UAAY,EAAA,cAAc,CAAC,CAAA,CAAA;AACjC;;;;"}
1
+ {"version":3,"file":"use-observable.js","sources":["../../src/utils/use-observable.ts"],"sourcesContent":["import type { Observable } from \"@liveblocks/core\";\nimport { useEffect } from \"react\";\n\nimport { useLatest } from \"./use-latest\";\n\nexport function useObservable<T>(\n observable: Observable<T>,\n callback: () => void\n) {\n const latestCallback = useLatest(callback);\n\n useEffect(() => {\n const unsubscribe = observable.subscribe(() => latestCallback.current());\n\n return unsubscribe;\n }, [observable, latestCallback]);\n}\n"],"names":[],"mappings":";;;AAKgB,SAAA,aAAA,CACd,YACA,QACA,EAAA;AACA,EAAM,MAAA,cAAA,GAAiB,UAAU,QAAQ,CAAA,CAAA;AAEzC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,cAAc,UAAW,CAAA,SAAA,CAAU,MAAM,cAAA,CAAe,SAAS,CAAA,CAAA;AAEvE,IAAO,OAAA,WAAA,CAAA;AAAA,GACN,EAAA,CAAC,UAAY,EAAA,cAAc,CAAC,CAAA,CAAA;AACjC;;;;"}
@@ -1,4 +1,6 @@
1
- import { useCallback } from 'react';
1
+ 'use strict';
2
+
3
+ var react = require('react');
2
4
 
3
5
  function applyRef(ref, value) {
4
6
  if (value) {
@@ -15,8 +17,8 @@ function mergeRefs(value, ...refs) {
15
17
  }
16
18
  }
17
19
  function useRefs(...refs) {
18
- return useCallback((value) => mergeRefs(value, ...refs), refs);
20
+ return react.useCallback((value) => mergeRefs(value, ...refs), refs);
19
21
  }
20
22
 
21
- export { useRefs };
22
- //# sourceMappingURL=use-refs.mjs.map
23
+ exports.useRefs = useRefs;
24
+ //# sourceMappingURL=use-refs.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-refs.mjs","sources":["../../src/utils/use-refs.ts"],"sourcesContent":["import type { MutableRefObject, Ref, RefCallback } from \"react\";\nimport { useCallback } from \"react\";\n\nfunction applyRef<T>(ref: Ref<T>, value: T) {\n if (value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref && \"current\" in ref) {\n (ref as MutableRefObject<T>).current = value;\n }\n }\n}\n\nfunction mergeRefs<T>(value: T, ...refs: Ref<T>[]) {\n for (const ref of refs) {\n applyRef(ref, value);\n }\n}\n\nexport function useRefs<T>(...refs: Ref<T>[]): RefCallback<T> {\n // We want to compare the individual refs themselves, not the surrounding array\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useCallback((value: T) => mergeRefs(value, ...refs), refs);\n}\n"],"names":[],"mappings":";;AAGA,SAAS,QAAA,CAAY,KAAa,KAAU,EAAA;AAC1C,EAAA,IAAI,KAAO,EAAA;AACT,IAAI,IAAA,OAAO,QAAQ,UAAY,EAAA;AAC7B,MAAA,GAAA,CAAI,KAAK,CAAA,CAAA;AAAA,KACX,MAAA,IAAW,GAAO,IAAA,SAAA,IAAa,GAAK,EAAA;AAClC,MAAC,IAA4B,OAAU,GAAA,KAAA,CAAA;AAAA,KACzC;AAAA,GACF;AACF,CAAA;AAEA,SAAS,SAAA,CAAa,UAAa,IAAgB,EAAA;AACjD,EAAA,KAAA,MAAW,OAAO,IAAM,EAAA;AACtB,IAAA,QAAA,CAAS,KAAK,KAAK,CAAA,CAAA;AAAA,GACrB;AACF,CAAA;AAEO,SAAS,WAAc,IAAgC,EAAA;AAG5D,EAAO,OAAA,WAAA,CAAY,CAAC,KAAa,KAAA,SAAA,CAAU,OAAO,GAAG,IAAI,GAAG,IAAI,CAAA,CAAA;AAClE;;;;"}
1
+ {"version":3,"file":"use-refs.cjs","sources":["../../src/utils/use-refs.ts"],"sourcesContent":["import type { MutableRefObject, Ref, RefCallback } from \"react\";\nimport { useCallback } from \"react\";\n\nfunction applyRef<T>(ref: Ref<T>, value: T) {\n if (value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref && \"current\" in ref) {\n (ref as MutableRefObject<T>).current = value;\n }\n }\n}\n\nfunction mergeRefs<T>(value: T, ...refs: Ref<T>[]) {\n for (const ref of refs) {\n applyRef(ref, value);\n }\n}\n\nexport function useRefs<T>(...refs: Ref<T>[]): RefCallback<T> {\n // We want to compare the individual refs themselves, not the surrounding array\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useCallback((value: T) => mergeRefs(value, ...refs), refs);\n}\n"],"names":["useCallback"],"mappings":";;;;AAGA,SAAS,QAAA,CAAY,KAAa,KAAU,EAAA;AAC1C,EAAA,IAAI,KAAO,EAAA;AACT,IAAI,IAAA,OAAO,QAAQ,UAAY,EAAA;AAC7B,MAAA,GAAA,CAAI,KAAK,CAAA,CAAA;AAAA,KACX,MAAA,IAAW,GAAO,IAAA,SAAA,IAAa,GAAK,EAAA;AAClC,MAAC,IAA4B,OAAU,GAAA,KAAA,CAAA;AAAA,KACzC;AAAA,GACF;AACF,CAAA;AAEA,SAAS,SAAA,CAAa,UAAa,IAAgB,EAAA;AACjD,EAAA,KAAA,MAAW,OAAO,IAAM,EAAA;AACtB,IAAA,QAAA,CAAS,KAAK,KAAK,CAAA,CAAA;AAAA,GACrB;AACF,CAAA;AAEO,SAAS,WAAc,IAAgC,EAAA;AAG5D,EAAO,OAAAA,iBAAA,CAAY,CAAC,KAAa,KAAA,SAAA,CAAU,OAAO,GAAG,IAAI,GAAG,IAAI,CAAA,CAAA;AAClE;;;;"}
@@ -1,6 +1,4 @@
1
- 'use strict';
2
-
3
- var react = require('react');
1
+ import { useCallback } from 'react';
4
2
 
5
3
  function applyRef(ref, value) {
6
4
  if (value) {
@@ -17,8 +15,8 @@ function mergeRefs(value, ...refs) {
17
15
  }
18
16
  }
19
17
  function useRefs(...refs) {
20
- return react.useCallback((value) => mergeRefs(value, ...refs), refs);
18
+ return useCallback((value) => mergeRefs(value, ...refs), refs);
21
19
  }
22
20
 
23
- exports.useRefs = useRefs;
21
+ export { useRefs };
24
22
  //# sourceMappingURL=use-refs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-refs.js","sources":["../../src/utils/use-refs.ts"],"sourcesContent":["import type { MutableRefObject, Ref, RefCallback } from \"react\";\nimport { useCallback } from \"react\";\n\nfunction applyRef<T>(ref: Ref<T>, value: T) {\n if (value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref && \"current\" in ref) {\n (ref as MutableRefObject<T>).current = value;\n }\n }\n}\n\nfunction mergeRefs<T>(value: T, ...refs: Ref<T>[]) {\n for (const ref of refs) {\n applyRef(ref, value);\n }\n}\n\nexport function useRefs<T>(...refs: Ref<T>[]): RefCallback<T> {\n // We want to compare the individual refs themselves, not the surrounding array\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useCallback((value: T) => mergeRefs(value, ...refs), refs);\n}\n"],"names":["useCallback"],"mappings":";;;;AAGA,SAAS,QAAA,CAAY,KAAa,KAAU,EAAA;AAC1C,EAAA,IAAI,KAAO,EAAA;AACT,IAAI,IAAA,OAAO,QAAQ,UAAY,EAAA;AAC7B,MAAA,GAAA,CAAI,KAAK,CAAA,CAAA;AAAA,KACX,MAAA,IAAW,GAAO,IAAA,SAAA,IAAa,GAAK,EAAA;AAClC,MAAC,IAA4B,OAAU,GAAA,KAAA,CAAA;AAAA,KACzC;AAAA,GACF;AACF,CAAA;AAEA,SAAS,SAAA,CAAa,UAAa,IAAgB,EAAA;AACjD,EAAA,KAAA,MAAW,OAAO,IAAM,EAAA;AACtB,IAAA,QAAA,CAAS,KAAK,KAAK,CAAA,CAAA;AAAA,GACrB;AACF,CAAA;AAEO,SAAS,WAAc,IAAgC,EAAA;AAG5D,EAAO,OAAAA,iBAAA,CAAY,CAAC,KAAa,KAAA,SAAA,CAAU,OAAO,GAAG,IAAI,GAAG,IAAI,CAAA,CAAA;AAClE;;;;"}
1
+ {"version":3,"file":"use-refs.js","sources":["../../src/utils/use-refs.ts"],"sourcesContent":["import type { MutableRefObject, Ref, RefCallback } from \"react\";\nimport { useCallback } from \"react\";\n\nfunction applyRef<T>(ref: Ref<T>, value: T) {\n if (value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref && \"current\" in ref) {\n (ref as MutableRefObject<T>).current = value;\n }\n }\n}\n\nfunction mergeRefs<T>(value: T, ...refs: Ref<T>[]) {\n for (const ref of refs) {\n applyRef(ref, value);\n }\n}\n\nexport function useRefs<T>(...refs: Ref<T>[]): RefCallback<T> {\n // We want to compare the individual refs themselves, not the surrounding array\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useCallback((value: T) => mergeRefs(value, ...refs), refs);\n}\n"],"names":[],"mappings":";;AAGA,SAAS,QAAA,CAAY,KAAa,KAAU,EAAA;AAC1C,EAAA,IAAI,KAAO,EAAA;AACT,IAAI,IAAA,OAAO,QAAQ,UAAY,EAAA;AAC7B,MAAA,GAAA,CAAI,KAAK,CAAA,CAAA;AAAA,KACX,MAAA,IAAW,GAAO,IAAA,SAAA,IAAa,GAAK,EAAA;AAClC,MAAC,IAA4B,OAAU,GAAA,KAAA,CAAA;AAAA,KACzC;AAAA,GACF;AACF,CAAA;AAEA,SAAS,SAAA,CAAa,UAAa,IAAgB,EAAA;AACjD,EAAA,KAAA,MAAW,OAAO,IAAM,EAAA;AACtB,IAAA,QAAA,CAAS,KAAK,KAAK,CAAA,CAAA;AAAA,GACrB;AACF,CAAA;AAEO,SAAS,WAAc,IAAgC,EAAA;AAG5D,EAAO,OAAA,WAAA,CAAY,CAAC,KAAa,KAAA,SAAA,CAAU,OAAO,GAAG,IAAI,GAAG,IAAI,CAAA,CAAA;AAClE;;;;"}
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+
5
+ function useRerender() {
6
+ const [key, update] = react.useReducer(
7
+ (key2) => key2 + 1,
8
+ 0
9
+ );
10
+ return [update, key];
11
+ }
12
+
13
+ exports.useRerender = useRerender;
14
+ //# sourceMappingURL=use-rerender.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-rerender.mjs","sources":["../../src/utils/use-rerender.ts"],"sourcesContent":["import { useReducer } from \"react\";\n\n/**\n * Trigger a re-render programmatically, without changing the component's\n * state.\n *\n * @example\n * const rerender = useRerender();\n *\n * return (\n * <button onClick={rerender}>\n * {Math.random()}\n * </button>\n * )\n */\nexport function useRerender(): [() => void, number] {\n const [key, update] = useReducer(\n // This implementation works by incrementing a hidden counter value that is\n // never consumed. Simply incrementing the counter changes the component's\n // state and, thus, trigger a re-render.\n (key: number): number => key + 1,\n 0\n );\n return [update, key];\n}\n"],"names":["key"],"mappings":";;AAeO,SAAS,WAAoC,GAAA;AAClD,EAAM,MAAA,CAAC,GAAK,EAAA,MAAM,CAAI,GAAA,UAAA;AAAA,IAIpB,CAACA,SAAwBA,IAAM,GAAA,CAAA;AAAA,IAC/B,CAAA;AAAA,GACF,CAAA;AACA,EAAO,OAAA,CAAC,QAAQ,GAAG,CAAA,CAAA;AACrB;;;;"}
1
+ {"version":3,"file":"use-rerender.cjs","sources":["../../src/utils/use-rerender.ts"],"sourcesContent":["import { useReducer } from \"react\";\n\n/**\n * Trigger a re-render programmatically, without changing the component's\n * state.\n *\n * @example\n * const rerender = useRerender();\n *\n * return (\n * <button onClick={rerender}>\n * {Math.random()}\n * </button>\n * )\n */\nexport function useRerender(): [() => void, number] {\n const [key, update] = useReducer(\n // This implementation works by incrementing a hidden counter value that is\n // never consumed. Simply incrementing the counter changes the component's\n // state and, thus, trigger a re-render.\n (key: number): number => key + 1,\n 0\n );\n return [update, key];\n}\n"],"names":["useReducer","key"],"mappings":";;;;AAeO,SAAS,WAAoC,GAAA;AAClD,EAAM,MAAA,CAAC,GAAK,EAAA,MAAM,CAAI,GAAAA,gBAAA;AAAA,IAIpB,CAACC,SAAwBA,IAAM,GAAA,CAAA;AAAA,IAC/B,CAAA;AAAA,GACF,CAAA;AACA,EAAO,OAAA,CAAC,QAAQ,GAAG,CAAA,CAAA;AACrB;;;;"}
@@ -1,14 +1,12 @@
1
- 'use strict';
2
-
3
- var react = require('react');
1
+ import { useReducer } from 'react';
4
2
 
5
3
  function useRerender() {
6
- const [key, update] = react.useReducer(
4
+ const [key, update] = useReducer(
7
5
  (key2) => key2 + 1,
8
6
  0
9
7
  );
10
8
  return [update, key];
11
9
  }
12
10
 
13
- exports.useRerender = useRerender;
11
+ export { useRerender };
14
12
  //# sourceMappingURL=use-rerender.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-rerender.js","sources":["../../src/utils/use-rerender.ts"],"sourcesContent":["import { useReducer } from \"react\";\n\n/**\n * Trigger a re-render programmatically, without changing the component's\n * state.\n *\n * @example\n * const rerender = useRerender();\n *\n * return (\n * <button onClick={rerender}>\n * {Math.random()}\n * </button>\n * )\n */\nexport function useRerender(): [() => void, number] {\n const [key, update] = useReducer(\n // This implementation works by incrementing a hidden counter value that is\n // never consumed. Simply incrementing the counter changes the component's\n // state and, thus, trigger a re-render.\n (key: number): number => key + 1,\n 0\n );\n return [update, key];\n}\n"],"names":["useReducer","key"],"mappings":";;;;AAeO,SAAS,WAAoC,GAAA;AAClD,EAAM,MAAA,CAAC,GAAK,EAAA,MAAM,CAAI,GAAAA,gBAAA;AAAA,IAIpB,CAACC,SAAwBA,IAAM,GAAA,CAAA;AAAA,IAC/B,CAAA;AAAA,GACF,CAAA;AACA,EAAO,OAAA,CAAC,QAAQ,GAAG,CAAA,CAAA;AACrB;;;;"}
1
+ {"version":3,"file":"use-rerender.js","sources":["../../src/utils/use-rerender.ts"],"sourcesContent":["import { useReducer } from \"react\";\n\n/**\n * Trigger a re-render programmatically, without changing the component's\n * state.\n *\n * @example\n * const rerender = useRerender();\n *\n * return (\n * <button onClick={rerender}>\n * {Math.random()}\n * </button>\n * )\n */\nexport function useRerender(): [() => void, number] {\n const [key, update] = useReducer(\n // This implementation works by incrementing a hidden counter value that is\n // never consumed. Simply incrementing the counter changes the component's\n // state and, thus, trigger a re-render.\n (key: number): number => key + 1,\n 0\n );\n return [update, key];\n}\n"],"names":["key"],"mappings":";;AAeO,SAAS,WAAoC,GAAA;AAClD,EAAM,MAAA,CAAC,GAAK,EAAA,MAAM,CAAI,GAAA,UAAA;AAAA,IAIpB,CAACA,SAAwBA,IAAM,GAAA,CAAA;AAAA,IAC/B,CAAA;AAAA,GACF,CAAA;AACA,EAAO,OAAA,CAAC,QAAQ,GAAG,CAAA,CAAA;AACrB;;;;"}
@@ -1,5 +1,7 @@
1
- import { useState, useEffect } from 'react';
2
- import { useLatest } from './use-latest.mjs';
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var useLatest = require('./use-latest.cjs');
3
5
 
4
6
  let intersectionObserver;
5
7
  const intersectionCallbacks = /* @__PURE__ */ new WeakMap();
@@ -20,9 +22,9 @@ function unobserve(element) {
20
22
  intersectionObserver?.unobserve(element);
21
23
  }
22
24
  function useVisible(ref, options) {
23
- const [isVisible, setVisible] = useState(false);
25
+ const [isVisible, setVisible] = react.useState(false);
24
26
  const enabled = options?.enabled ?? true;
25
- useEffect(() => {
27
+ react.useEffect(() => {
26
28
  const element = ref.current;
27
29
  if (!element) {
28
30
  return;
@@ -42,8 +44,8 @@ function useVisible(ref, options) {
42
44
  }
43
45
  function useVisibleCallback(ref, callback, options) {
44
46
  const enabled = options?.enabled ?? true;
45
- const latestCallback = useLatest(callback);
46
- useEffect(() => {
47
+ const latestCallback = useLatest.useLatest(callback);
48
+ react.useEffect(() => {
47
49
  const element = ref.current;
48
50
  if (!element) {
49
51
  return;
@@ -63,5 +65,6 @@ function useVisibleCallback(ref, callback, options) {
63
65
  }, [enabled]);
64
66
  }
65
67
 
66
- export { useVisible, useVisibleCallback };
67
- //# sourceMappingURL=use-visible.mjs.map
68
+ exports.useVisible = useVisible;
69
+ exports.useVisibleCallback = useVisibleCallback;
70
+ //# sourceMappingURL=use-visible.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-visible.mjs","sources":["../../src/utils/use-visible.ts"],"sourcesContent":["import { type RefObject, useEffect, useState } from \"react\";\n\nimport { useLatest } from \"./use-latest\";\n\ntype Options = { enabled?: boolean };\n\ntype IntersectionObserverSingleCallback = (\n entry: IntersectionObserverEntry\n) => void;\n\nlet intersectionObserver: IntersectionObserver | undefined;\nconst intersectionCallbacks = new WeakMap<\n Element,\n IntersectionObserverSingleCallback\n>();\n\nfunction observe(\n element: Element,\n callback: IntersectionObserverSingleCallback\n) {\n if (!intersectionObserver) {\n intersectionObserver = new IntersectionObserver((entries) => {\n for (const entry of entries) {\n const callback = intersectionCallbacks.get(entry.target);\n\n callback?.(entry);\n }\n });\n }\n\n intersectionCallbacks.set(element, callback);\n intersectionObserver.observe(element);\n}\n\nfunction unobserve(element: Element) {\n intersectionCallbacks.delete(element);\n intersectionObserver?.unobserve(element);\n}\n\n/**\n * Observe whether an element is currently visible or not.\n */\nexport function useVisible(ref: RefObject<Element>, options?: Options) {\n const [isVisible, setVisible] = useState(false);\n const enabled = options?.enabled ?? true;\n\n useEffect(() => {\n const element = ref.current;\n\n if (!element) {\n return;\n }\n\n if (enabled) {\n observe(element, (entry) => {\n setVisible(entry.isIntersecting);\n });\n } else {\n unobserve(element);\n }\n\n return () => {\n unobserve(element);\n };\n }, [enabled]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return isVisible;\n}\n\nexport function useVisibleCallback<T extends (...args: any[]) => void>(\n ref: RefObject<Element>,\n callback: T,\n options?: Options\n) {\n const enabled = options?.enabled ?? true;\n const latestCallback = useLatest(callback);\n\n useEffect(() => {\n const element = ref.current;\n\n if (!element) {\n return;\n }\n\n if (enabled) {\n observe(element, (entry) => {\n if (entry.isIntersecting) {\n latestCallback.current();\n }\n });\n } else {\n unobserve(element);\n }\n\n return () => {\n unobserve(element);\n };\n }, [enabled]); // eslint-disable-line react-hooks/exhaustive-deps\n}\n"],"names":["callback"],"mappings":";;;AAUA,IAAI,oBAAA,CAAA;AACJ,MAAM,qBAAA,uBAA4B,OAGhC,EAAA,CAAA;AAEF,SAAS,OAAA,CACP,SACA,QACA,EAAA;AACA,EAAA,IAAI,CAAC,oBAAsB,EAAA;AACzB,IAAuB,oBAAA,GAAA,IAAI,oBAAqB,CAAA,CAAC,OAAY,KAAA;AAC3D,MAAA,KAAA,MAAW,SAAS,OAAS,EAAA;AAC3B,QAAA,MAAMA,SAAW,GAAA,qBAAA,CAAsB,GAAI,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA;AAEvD,QAAAA,YAAW,KAAK,CAAA,CAAA;AAAA,OAClB;AAAA,KACD,CAAA,CAAA;AAAA,GACH;AAEA,EAAsB,qBAAA,CAAA,GAAA,CAAI,SAAS,QAAQ,CAAA,CAAA;AAC3C,EAAA,oBAAA,CAAqB,QAAQ,OAAO,CAAA,CAAA;AACtC,CAAA;AAEA,SAAS,UAAU,OAAkB,EAAA;AACnC,EAAA,qBAAA,CAAsB,OAAO,OAAO,CAAA,CAAA;AACpC,EAAA,oBAAA,EAAsB,UAAU,OAAO,CAAA,CAAA;AACzC,CAAA;AAKgB,SAAA,UAAA,CAAW,KAAyB,OAAmB,EAAA;AACrE,EAAA,MAAM,CAAC,SAAA,EAAW,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAC9C,EAAM,MAAA,OAAA,GAAU,SAAS,OAAW,IAAA,IAAA,CAAA;AAEpC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,UAAU,GAAI,CAAA,OAAA,CAAA;AAEpB,IAAA,IAAI,CAAC,OAAS,EAAA;AACZ,MAAA,OAAA;AAAA,KACF;AAEA,IAAA,IAAI,OAAS,EAAA;AACX,MAAQ,OAAA,CAAA,OAAA,EAAS,CAAC,KAAU,KAAA;AAC1B,QAAA,UAAA,CAAW,MAAM,cAAc,CAAA,CAAA;AAAA,OAChC,CAAA,CAAA;AAAA,KACI,MAAA;AACL,MAAA,SAAA,CAAU,OAAO,CAAA,CAAA;AAAA,KACnB;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,SAAA,CAAU,OAAO,CAAA,CAAA;AAAA,KACnB,CAAA;AAAA,GACF,EAAG,CAAC,OAAO,CAAC,CAAA,CAAA;AAEZ,EAAO,OAAA,SAAA,CAAA;AACT,CAAA;AAEgB,SAAA,kBAAA,CACd,GACA,EAAA,QAAA,EACA,OACA,EAAA;AACA,EAAM,MAAA,OAAA,GAAU,SAAS,OAAW,IAAA,IAAA,CAAA;AACpC,EAAM,MAAA,cAAA,GAAiB,UAAU,QAAQ,CAAA,CAAA;AAEzC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,UAAU,GAAI,CAAA,OAAA,CAAA;AAEpB,IAAA,IAAI,CAAC,OAAS,EAAA;AACZ,MAAA,OAAA;AAAA,KACF;AAEA,IAAA,IAAI,OAAS,EAAA;AACX,MAAQ,OAAA,CAAA,OAAA,EAAS,CAAC,KAAU,KAAA;AAC1B,QAAA,IAAI,MAAM,cAAgB,EAAA;AACxB,UAAA,cAAA,CAAe,OAAQ,EAAA,CAAA;AAAA,SACzB;AAAA,OACD,CAAA,CAAA;AAAA,KACI,MAAA;AACL,MAAA,SAAA,CAAU,OAAO,CAAA,CAAA;AAAA,KACnB;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,SAAA,CAAU,OAAO,CAAA,CAAA;AAAA,KACnB,CAAA;AAAA,GACF,EAAG,CAAC,OAAO,CAAC,CAAA,CAAA;AACd;;;;"}
1
+ {"version":3,"file":"use-visible.cjs","sources":["../../src/utils/use-visible.ts"],"sourcesContent":["import { type RefObject, useEffect, useState } from \"react\";\n\nimport { useLatest } from \"./use-latest\";\n\ntype Options = { enabled?: boolean };\n\ntype IntersectionObserverSingleCallback = (\n entry: IntersectionObserverEntry\n) => void;\n\nlet intersectionObserver: IntersectionObserver | undefined;\nconst intersectionCallbacks = new WeakMap<\n Element,\n IntersectionObserverSingleCallback\n>();\n\nfunction observe(\n element: Element,\n callback: IntersectionObserverSingleCallback\n) {\n if (!intersectionObserver) {\n intersectionObserver = new IntersectionObserver((entries) => {\n for (const entry of entries) {\n const callback = intersectionCallbacks.get(entry.target);\n\n callback?.(entry);\n }\n });\n }\n\n intersectionCallbacks.set(element, callback);\n intersectionObserver.observe(element);\n}\n\nfunction unobserve(element: Element) {\n intersectionCallbacks.delete(element);\n intersectionObserver?.unobserve(element);\n}\n\n/**\n * Observe whether an element is currently visible or not.\n */\nexport function useVisible(ref: RefObject<Element>, options?: Options) {\n const [isVisible, setVisible] = useState(false);\n const enabled = options?.enabled ?? true;\n\n useEffect(() => {\n const element = ref.current;\n\n if (!element) {\n return;\n }\n\n if (enabled) {\n observe(element, (entry) => {\n setVisible(entry.isIntersecting);\n });\n } else {\n unobserve(element);\n }\n\n return () => {\n unobserve(element);\n };\n }, [enabled]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return isVisible;\n}\n\nexport function useVisibleCallback<T extends (...args: any[]) => void>(\n ref: RefObject<Element>,\n callback: T,\n options?: Options\n) {\n const enabled = options?.enabled ?? true;\n const latestCallback = useLatest(callback);\n\n useEffect(() => {\n const element = ref.current;\n\n if (!element) {\n return;\n }\n\n if (enabled) {\n observe(element, (entry) => {\n if (entry.isIntersecting) {\n latestCallback.current();\n }\n });\n } else {\n unobserve(element);\n }\n\n return () => {\n unobserve(element);\n };\n }, [enabled]); // eslint-disable-line react-hooks/exhaustive-deps\n}\n"],"names":["callback","useState","useEffect","useLatest"],"mappings":";;;;;AAUA,IAAI,oBAAA,CAAA;AACJ,MAAM,qBAAA,uBAA4B,OAGhC,EAAA,CAAA;AAEF,SAAS,OAAA,CACP,SACA,QACA,EAAA;AACA,EAAA,IAAI,CAAC,oBAAsB,EAAA;AACzB,IAAuB,oBAAA,GAAA,IAAI,oBAAqB,CAAA,CAAC,OAAY,KAAA;AAC3D,MAAA,KAAA,MAAW,SAAS,OAAS,EAAA;AAC3B,QAAA,MAAMA,SAAW,GAAA,qBAAA,CAAsB,GAAI,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA;AAEvD,QAAAA,YAAW,KAAK,CAAA,CAAA;AAAA,OAClB;AAAA,KACD,CAAA,CAAA;AAAA,GACH;AAEA,EAAsB,qBAAA,CAAA,GAAA,CAAI,SAAS,QAAQ,CAAA,CAAA;AAC3C,EAAA,oBAAA,CAAqB,QAAQ,OAAO,CAAA,CAAA;AACtC,CAAA;AAEA,SAAS,UAAU,OAAkB,EAAA;AACnC,EAAA,qBAAA,CAAsB,OAAO,OAAO,CAAA,CAAA;AACpC,EAAA,oBAAA,EAAsB,UAAU,OAAO,CAAA,CAAA;AACzC,CAAA;AAKgB,SAAA,UAAA,CAAW,KAAyB,OAAmB,EAAA;AACrE,EAAA,MAAM,CAAC,SAAA,EAAW,UAAU,CAAA,GAAIC,eAAS,KAAK,CAAA,CAAA;AAC9C,EAAM,MAAA,OAAA,GAAU,SAAS,OAAW,IAAA,IAAA,CAAA;AAEpC,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,MAAM,UAAU,GAAI,CAAA,OAAA,CAAA;AAEpB,IAAA,IAAI,CAAC,OAAS,EAAA;AACZ,MAAA,OAAA;AAAA,KACF;AAEA,IAAA,IAAI,OAAS,EAAA;AACX,MAAQ,OAAA,CAAA,OAAA,EAAS,CAAC,KAAU,KAAA;AAC1B,QAAA,UAAA,CAAW,MAAM,cAAc,CAAA,CAAA;AAAA,OAChC,CAAA,CAAA;AAAA,KACI,MAAA;AACL,MAAA,SAAA,CAAU,OAAO,CAAA,CAAA;AAAA,KACnB;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,SAAA,CAAU,OAAO,CAAA,CAAA;AAAA,KACnB,CAAA;AAAA,GACF,EAAG,CAAC,OAAO,CAAC,CAAA,CAAA;AAEZ,EAAO,OAAA,SAAA,CAAA;AACT,CAAA;AAEgB,SAAA,kBAAA,CACd,GACA,EAAA,QAAA,EACA,OACA,EAAA;AACA,EAAM,MAAA,OAAA,GAAU,SAAS,OAAW,IAAA,IAAA,CAAA;AACpC,EAAM,MAAA,cAAA,GAAiBC,oBAAU,QAAQ,CAAA,CAAA;AAEzC,EAAAD,eAAA,CAAU,MAAM;AACd,IAAA,MAAM,UAAU,GAAI,CAAA,OAAA,CAAA;AAEpB,IAAA,IAAI,CAAC,OAAS,EAAA;AACZ,MAAA,OAAA;AAAA,KACF;AAEA,IAAA,IAAI,OAAS,EAAA;AACX,MAAQ,OAAA,CAAA,OAAA,EAAS,CAAC,KAAU,KAAA;AAC1B,QAAA,IAAI,MAAM,cAAgB,EAAA;AACxB,UAAA,cAAA,CAAe,OAAQ,EAAA,CAAA;AAAA,SACzB;AAAA,OACD,CAAA,CAAA;AAAA,KACI,MAAA;AACL,MAAA,SAAA,CAAU,OAAO,CAAA,CAAA;AAAA,KACnB;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,SAAA,CAAU,OAAO,CAAA,CAAA;AAAA,KACnB,CAAA;AAAA,GACF,EAAG,CAAC,OAAO,CAAC,CAAA,CAAA;AACd;;;;;"}
@@ -1,7 +1,5 @@
1
- 'use strict';
2
-
3
- var react = require('react');
4
- var useLatest = require('./use-latest.js');
1
+ import { useState, useEffect } from 'react';
2
+ import { useLatest } from './use-latest.js';
5
3
 
6
4
  let intersectionObserver;
7
5
  const intersectionCallbacks = /* @__PURE__ */ new WeakMap();
@@ -22,9 +20,9 @@ function unobserve(element) {
22
20
  intersectionObserver?.unobserve(element);
23
21
  }
24
22
  function useVisible(ref, options) {
25
- const [isVisible, setVisible] = react.useState(false);
23
+ const [isVisible, setVisible] = useState(false);
26
24
  const enabled = options?.enabled ?? true;
27
- react.useEffect(() => {
25
+ useEffect(() => {
28
26
  const element = ref.current;
29
27
  if (!element) {
30
28
  return;
@@ -44,8 +42,8 @@ function useVisible(ref, options) {
44
42
  }
45
43
  function useVisibleCallback(ref, callback, options) {
46
44
  const enabled = options?.enabled ?? true;
47
- const latestCallback = useLatest.useLatest(callback);
48
- react.useEffect(() => {
45
+ const latestCallback = useLatest(callback);
46
+ useEffect(() => {
49
47
  const element = ref.current;
50
48
  if (!element) {
51
49
  return;
@@ -65,6 +63,5 @@ function useVisibleCallback(ref, callback, options) {
65
63
  }, [enabled]);
66
64
  }
67
65
 
68
- exports.useVisible = useVisible;
69
- exports.useVisibleCallback = useVisibleCallback;
66
+ export { useVisible, useVisibleCallback };
70
67
  //# sourceMappingURL=use-visible.js.map