@apple-pie/slice 0.1.44 → 0.1.46

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 (286) hide show
  1. package/dist/cjs/chunks/{AudioBubble-DGXJI6fl.js → AudioBubble-D7A6YNKq.js} +4 -3
  2. package/dist/cjs/chunks/{Avatar-C2REB8vr.js → Avatar-NhXEz-E5.js} +1 -1
  3. package/dist/cjs/chunks/{AvatarGroup-Dsqnnepg.js → AvatarGroup-BiY5kR8U.js} +1 -1
  4. package/dist/cjs/chunks/{Badge-xReCD3qV.js → Badge-DjXygkSp.js} +1 -1
  5. package/dist/cjs/chunks/{Button-7vW7Ut0n.js → Button-C-omYiMd.js} +1 -1
  6. package/dist/cjs/chunks/{ButtonBar-r8xaXQOT.js → ButtonBar-BeJEeGL_.js} +1 -1
  7. package/dist/cjs/chunks/{Camera-BbWi-vvW.js → Camera-D9EEGKDj.js} +5 -4
  8. package/dist/cjs/chunks/{CheckBox-BCR1qSIr.js → CheckBox-B30zlOIJ.js} +1 -1
  9. package/dist/cjs/chunks/{Chip-C6AbxC9I.js → Chip-DHX-Qu95.js} +1 -1
  10. package/dist/cjs/chunks/{DivInput-D78kLm9s.js → DivInput-Br6pOhYv.js} +1 -1
  11. package/dist/cjs/chunks/{Dot-DlLlV88_.js → Dot-BLu3iqa7.js} +1 -1
  12. package/dist/cjs/chunks/{DrggablePanel-De4lmb_e.js → DrggablePanel-9eU1y3zx.js} +4 -3
  13. package/dist/cjs/chunks/{DropDown-Bp9MRUsG.js → DropDown-CLZSy99h.js} +1 -1
  14. package/dist/cjs/chunks/{ErrorSummary-ChPbmIQ0.js → ErrorSummary-B5lPVdED.js} +4 -3
  15. package/dist/cjs/chunks/{FileIcon-Dv3uu2DC.js → FileIcon-CESqm-fD.js} +5 -3
  16. package/dist/cjs/chunks/{FileList-IgK1yREW.js → FileList-DbjNz28-.js} +1 -1
  17. package/dist/cjs/chunks/{FlexDiv-B5gf7V09.js → FlexDiv-KmadT8yF.js} +1 -1
  18. package/dist/cjs/chunks/{Grouper-DGLV96Yg.js → Grouper-CACMpHGp.js} +4 -3
  19. package/dist/cjs/chunks/{Icon-Bmow374B.js → Icon-B36rVqFs.js} +4 -3
  20. package/dist/cjs/chunks/{IconButton-BZttH51z.js → IconButton-Dn424Wsw.js} +1 -1
  21. package/dist/cjs/chunks/{IndexedDB-BtHDgAwP.js → IndexedDB-BRw-IxEC.js} +1 -1
  22. package/dist/cjs/chunks/{Label-CLiXfLhU.js → Label-CsEg5AQ2.js} +1 -1
  23. package/dist/cjs/chunks/{Level-DM-3l-Bh.js → Level-BuiDjBcq.js} +1 -1
  24. package/dist/cjs/chunks/{Modal-D8OyooX8.js → Modal-Cf9RR9Es.js} +1 -1
  25. package/dist/cjs/chunks/{ModalController-BkREg0KG.js → ModalController-tDrizTHZ.js} +6 -1
  26. package/dist/cjs/chunks/{Overlay-CH2p-6HE.js → Overlay-Ci1FxGZk.js} +1 -1
  27. package/dist/cjs/chunks/{Pager-VWt-iYND.js → Pager-C3WzCySK.js} +1 -1
  28. package/dist/cjs/chunks/{ProgressIndicator-BBe5EJJB.js → ProgressIndicator-DSquSJwP.js} +4 -3
  29. package/dist/cjs/chunks/{PromptInput-BaO3pCTO.js → PromptInput-BbXZGAWe.js} +5 -4
  30. package/dist/cjs/chunks/{RadioButton-DP12R15W.js → RadioButton-VMEcd_W1.js} +1 -1
  31. package/dist/cjs/chunks/{RadioButtonList-D3aoXPWZ.js → RadioButtonList-Dqy7lYxE.js} +1 -1
  32. package/dist/cjs/chunks/{Slider-C_iix5E1.js → Slider-BqzYObVj.js} +4 -3
  33. package/dist/cjs/chunks/{Spacer-CT8DAL00.js → Spacer-C56PON7K.js} +1 -1
  34. package/dist/cjs/chunks/{Switch-CeMNFko_.js → Switch-CHr2xPQL.js} +1 -1
  35. package/dist/cjs/chunks/{TabBar-C_qyZQub.js → TabBar-Co-CXGfB.js} +5 -4
  36. package/dist/cjs/chunks/{TextArea-0opB2WAt.js → TextArea-BHdYXzBg.js} +1 -1
  37. package/dist/cjs/chunks/{TextField-NU7k_acK.js → TextField-DlYNng8e.js} +5 -4
  38. package/dist/cjs/chunks/{Tip-DrY3JwFE.js → Tip-DEOw8HJ6.js} +1 -1
  39. package/dist/cjs/chunks/{Toast-DF8qXdPO.js → Toast-DawqmWWR.js} +5 -4
  40. package/dist/cjs/chunks/{ToggleButton-cntUrPlb.js → ToggleButton-mIzDlM7o.js} +1 -1
  41. package/dist/cjs/chunks/{UploadArea-BxBisAJS.js → UploadArea-WT5XsyU_.js} +1 -1
  42. package/dist/cjs/chunks/{Video-qiH56WvN.js → Video-Pjf89fZt.js} +1 -1
  43. package/dist/cjs/chunks/{VideoController-D4_El3jm.js → VideoController-CkZ4EmHb.js} +6 -1
  44. package/dist/cjs/chunks/{WSConnection-DbdxZFOV.js → WSConnection-ByeRqZeT.js} +1 -1
  45. package/dist/cjs/chunks/{WebRTCConnection-B9dd6VVp.js → WebRTCConnection-BIFUOK1m.js} +1 -1
  46. package/dist/cjs/chunks/{localDBStore-BjxalVAJ.js → localDBStore-Bp9sZnnB.js} +1 -1
  47. package/dist/cjs/chunks/{microphoneStore-DpUL8kt8.js → microphoneStore-CvE6xePs.js} +1 -1
  48. package/dist/cjs/chunks/{misc-Gs698ODr.js → misc-eL5ZLV74.js} +1 -1
  49. package/dist/cjs/chunks/rafThrottle-s6AR2mx7.js +22 -0
  50. package/dist/cjs/chunks/{sseStore-BNAfwXap.js → sseStore-DnyhZyHc.js} +2 -2
  51. package/dist/cjs/chunks/{uploads-worker-fWbmHWKp.js → uploads-worker--rEBDgqq.js} +1 -1
  52. package/dist/cjs/chunks/{uploadsStore-C-sGeJo9.js → uploadsStore-CHIqdTcL.js} +2 -2
  53. package/dist/cjs/chunks/{viewState-X7EbUCin.js → viewState-BM1U3FFI.js} +119 -38
  54. package/dist/cjs/chunks/{volumeStore--l8gb-3a.js → volumeStore-U2OlJf6Y.js} +1 -1
  55. package/dist/cjs/chunks/{webRTCStore-DJjyW39y.js → webRTCStore-t11G9lB7.js} +1 -1
  56. package/dist/cjs/chunks/{windowStore-nNT7HJqA.js → windowStore-D1mTGGvA.js} +1 -1
  57. package/dist/cjs/components/AudioBubble/index.js +6 -4
  58. package/dist/cjs/components/Avatar/index.js +3 -3
  59. package/dist/cjs/components/AvatarGroup/index.js +3 -3
  60. package/dist/cjs/components/Badge/index.js +2 -2
  61. package/dist/cjs/components/Button/index.js +9 -7
  62. package/dist/cjs/components/ButtonBar/index.js +6 -4
  63. package/dist/cjs/components/Camera/index.js +7 -5
  64. package/dist/cjs/components/CheckBox/index.js +6 -4
  65. package/dist/cjs/components/Chip/index.js +7 -5
  66. package/dist/cjs/components/DataTable/index.js +7 -4
  67. package/dist/cjs/components/DivInput/index.js +3 -3
  68. package/dist/cjs/components/Dot/index.js +2 -2
  69. package/dist/cjs/components/DraggablePanel/index.js +5 -3
  70. package/dist/cjs/components/DropDown/index.js +6 -4
  71. package/dist/cjs/components/ErrorSummary/index.js +5 -3
  72. package/dist/cjs/components/FileIcon/index.js +5 -3
  73. package/dist/cjs/components/FileList/index.js +7 -5
  74. package/dist/cjs/components/FlexDiv/index.js +2 -2
  75. package/dist/cjs/components/Grouper/index.js +7 -5
  76. package/dist/cjs/components/Icon/index.js +5 -3
  77. package/dist/cjs/components/IconButton/index.js +8 -6
  78. package/dist/cjs/components/Label/index.js +3 -3
  79. package/dist/cjs/components/Level/index.js +3 -3
  80. package/dist/cjs/components/Modal/index.js +10 -8
  81. package/dist/cjs/components/ModalController/index.js +6 -4
  82. package/dist/cjs/components/Overlay/index.js +2 -2
  83. package/dist/cjs/components/Pager/index.js +3 -3
  84. package/dist/cjs/components/Progress/index.js +5 -3
  85. package/dist/cjs/components/PromptInput/index.js +10 -7
  86. package/dist/cjs/components/RadioButton/index.js +6 -4
  87. package/dist/cjs/components/RadioButtonList/index.js +7 -5
  88. package/dist/cjs/components/Slider/index.js +5 -3
  89. package/dist/cjs/components/Spacer/index.js +2 -2
  90. package/dist/cjs/components/Switch/index.js +2 -2
  91. package/dist/cjs/components/TabBar/index.js +8 -6
  92. package/dist/cjs/components/TextArea/index.js +9 -7
  93. package/dist/cjs/components/Textfield/index.js +9 -7
  94. package/dist/cjs/components/Tip/index.js +3 -3
  95. package/dist/cjs/components/Toast/index.js +6 -4
  96. package/dist/cjs/components/ToggleButton/index.js +9 -7
  97. package/dist/cjs/components/UploadArea/index.js +8 -6
  98. package/dist/cjs/components/Video/index.js +11 -9
  99. package/dist/cjs/components/VideoController/index.js +10 -7
  100. package/dist/cjs/hooks/useAudioRecorder.js +1 -1
  101. package/dist/cjs/hooks/useBindWebRTC.js +2 -2
  102. package/dist/cjs/hooks/useClipboard.js +125 -0
  103. package/dist/cjs/hooks/useMdStreamBuffer.js +1 -1
  104. package/dist/cjs/hooks/useMicrophone.js +1 -1
  105. package/dist/cjs/hooks/useTrackRenders.js +2 -2
  106. package/dist/cjs/hooks.js +9 -8
  107. package/dist/cjs/index.js +13 -12
  108. package/dist/cjs/stores/LocalDB.js +3 -3
  109. package/dist/cjs/stores/SSE.js +2 -2
  110. package/dist/cjs/stores/WS.js +2 -2
  111. package/dist/cjs/stores/WebRTC.js +2 -2
  112. package/dist/cjs/stores/microphone.js +2 -2
  113. package/dist/cjs/stores/modal.js +1 -1
  114. package/dist/cjs/stores/tip.js +1 -1
  115. package/dist/cjs/stores/toast.js +1 -1
  116. package/dist/cjs/stores/uploads.js +2 -2
  117. package/dist/cjs/stores/video.js +1 -1
  118. package/dist/cjs/stores/volume.js +2 -2
  119. package/dist/cjs/stores/window.js +2 -2
  120. package/dist/cjs/stores.js +30 -31
  121. package/dist/cjs/utils/index.js +7 -7
  122. package/dist/cjs/utils/objects/index.js +2 -2
  123. package/dist/cjs/workers/uploads/uploads.js +2 -2
  124. package/dist/esm/chunks/{AudioBubble-RS8y7dsg.mjs → AudioBubble-DzYODlDD.mjs} +9 -3
  125. package/dist/esm/chunks/{Avatar-aAJORBJw.mjs → Avatar-CLj2yi7I.mjs} +2 -2
  126. package/dist/esm/chunks/{AvatarGroup-De2PfopD.mjs → AvatarGroup-BsBGeeDX.mjs} +2 -2
  127. package/dist/esm/chunks/{Badge--3RVYqU8.mjs → Badge-CxuIh-Xz.mjs} +1 -1
  128. package/dist/esm/chunks/{Button-BdZR6DjE.mjs → Button-Bz9ypmSl.mjs} +6 -6
  129. package/dist/esm/chunks/{ButtonBar-aXeHOw1R.mjs → ButtonBar-DgHGxtm7.mjs} +3 -3
  130. package/dist/esm/chunks/{Camera-1ccvR8X_.mjs → Camera-CQenDpVd.mjs} +11 -5
  131. package/dist/esm/chunks/{CheckBox-Dqzf1PRK.mjs → CheckBox-Bg1tGyjG.mjs} +3 -3
  132. package/dist/esm/chunks/{Chip-Czj1STPd.mjs → Chip-BuIMZul1.mjs} +4 -4
  133. package/dist/esm/chunks/{DivInput-jUEneium.mjs → DivInput-YeMKT7Mv.mjs} +2 -2
  134. package/dist/esm/chunks/{Dot-B4fdZ-qc.mjs → Dot-BlmxajCk.mjs} +1 -1
  135. package/dist/esm/chunks/{DrggablePanel-Db0KZhaF.mjs → DrggablePanel-B-4Wnapx.mjs} +8 -2
  136. package/dist/esm/chunks/{DropDown-B_CJwDGS.mjs → DropDown-FW_C2G4q.mjs} +3 -3
  137. package/dist/esm/chunks/{ErrorSummary-D6kTokzc.mjs → ErrorSummary-_8Rk-Wsr.mjs} +8 -2
  138. package/dist/esm/chunks/{FileIcon-dId2Wu-m.mjs → FileIcon-BSt6hm2F.mjs} +8 -2
  139. package/dist/esm/chunks/{FileList-rMjli1tu.mjs → FileList-D0HPgRL-.mjs} +5 -5
  140. package/dist/esm/chunks/{FlexDiv-DqZwxOvB.mjs → FlexDiv-DsrFpwch.mjs} +1 -1
  141. package/dist/esm/chunks/{Grouper-C648B8m9.mjs → Grouper-DnpGsdiB.mjs} +9 -3
  142. package/dist/esm/chunks/{Icon-BfSLuS2u.mjs → Icon-CptxAEva.mjs} +8 -2
  143. package/dist/esm/chunks/{IconButton-4YlfRQap.mjs → IconButton-XkOW_lnr.mjs} +5 -5
  144. package/dist/esm/chunks/{IndexedDB-DrgyB0PG.mjs → IndexedDB-C57PCioP.mjs} +1 -1
  145. package/dist/esm/chunks/{Label-oVWJfERc.mjs → Label-BjL3V2bm.mjs} +2 -2
  146. package/dist/esm/chunks/{Level-B_tkn_tn.mjs → Level-CciHNq5z.mjs} +3 -3
  147. package/dist/esm/chunks/{Modal-BVg29B5N.mjs → Modal-45bTlzdT.mjs} +5 -5
  148. package/dist/esm/chunks/{ModalController-CCRe0HlG.mjs → ModalController-BfuINJfH.mjs} +8 -2
  149. package/dist/esm/chunks/{Overlay-DuGDfhI3.mjs → Overlay-Dho1XXV_.mjs} +1 -1
  150. package/dist/esm/chunks/{Pager-DyaWNJMq.mjs → Pager-Brhn9W2p.mjs} +2 -2
  151. package/dist/esm/chunks/{ProgressIndicator-Bv7actNC.mjs → ProgressIndicator-H1AokmcU.mjs} +8 -2
  152. package/dist/esm/chunks/{PromptInput-C9eDiw2i.mjs → PromptInput-dxlaGMAZ.mjs} +10 -4
  153. package/dist/esm/chunks/{RadioButton-Bob5MqKC.mjs → RadioButton-DtxbUP1m.mjs} +3 -3
  154. package/dist/esm/chunks/{RadioButtonList-BfCE3UGK.mjs → RadioButtonList-BU7AmRaJ.mjs} +3 -3
  155. package/dist/esm/chunks/{Slider-IqjVgxEE.mjs → Slider-Ci-Syo6r.mjs} +9 -3
  156. package/dist/esm/chunks/{Spacer-BA15uw0_.mjs → Spacer-DLe6P6sl.mjs} +1 -1
  157. package/dist/esm/chunks/{Switch-Cns1adcy.mjs → Switch-tmuC_vFz.mjs} +1 -1
  158. package/dist/esm/chunks/{TabBar-Dd4U3BPU.mjs → TabBar-DqT8ukGt.mjs} +12 -6
  159. package/dist/esm/chunks/{TextArea-CFUXAGYz.mjs → TextArea-BwKbadO9.mjs} +2 -2
  160. package/dist/esm/chunks/{TextField-BFDmFyx7.mjs → TextField-CbSORtHS.mjs} +11 -5
  161. package/dist/esm/chunks/{Tip-BcStWxJN.mjs → Tip-CoyRu-o-.mjs} +2 -2
  162. package/dist/esm/chunks/{Toast-DQG2mzvy.mjs → Toast-CfJSmVvm.mjs} +10 -4
  163. package/dist/esm/chunks/{ToggleButton-Cp2K772X.mjs → ToggleButton-Cq7fm59Y.mjs} +2 -2
  164. package/dist/esm/chunks/{UploadArea-DEf5hbbR.mjs → UploadArea-DUpwYakK.mjs} +4 -4
  165. package/dist/esm/chunks/{Video-CHmn9myN.mjs → Video-DzClo3wr.mjs} +5 -5
  166. package/dist/esm/chunks/{VideoController-BvWVGSY-.mjs → VideoController-ipcig4rq.mjs} +11 -5
  167. package/dist/esm/chunks/{WSConnection-gFHF2tW7.mjs → WSConnection-B_YnWXbU.mjs} +1 -1
  168. package/dist/esm/chunks/{WebRTCConnection-C_MYSUKv.mjs → WebRTCConnection-DWRLYmZt.mjs} +1 -1
  169. package/dist/esm/chunks/{localDBStore-CeqAEGXO.mjs → localDBStore-DNswekRn.mjs} +2 -2
  170. package/dist/esm/chunks/{microphoneStore-DGfGaTKO.mjs → microphoneStore-BVbwClpG.mjs} +1 -1
  171. package/dist/esm/chunks/{misc-B9d7ECMP.mjs → misc-BehJA8xr.mjs} +1 -1
  172. package/dist/esm/chunks/rafThrottle-BGq3oR1J.mjs +23 -0
  173. package/dist/esm/chunks/{sseStore-PGCxQBZ-.mjs → sseStore-pAJ2IGAZ.mjs} +2 -2
  174. package/dist/esm/chunks/{uploads-worker-SXS-_T5t.mjs → uploads-worker-BliiKZBP.mjs} +1 -1
  175. package/dist/esm/chunks/{uploadsStore-CZQGe1-z.mjs → uploadsStore-Twdke-kc.mjs} +1 -1
  176. package/dist/esm/chunks/{viewState-po_PH0Tv.mjs → viewState-DsPZr861.mjs} +127 -39
  177. package/dist/esm/chunks/{volumeStore-BSE--DBm.mjs → volumeStore-B1cNRiOA.mjs} +1 -1
  178. package/dist/esm/chunks/{webRTCStore-rzdk9ao2.mjs → webRTCStore-Dbm8asHn.mjs} +2 -2
  179. package/dist/esm/chunks/{windowStore-CMPgwtfm.mjs → windowStore-CBzgTFW5.mjs} +1 -1
  180. package/dist/esm/components/AudioBubble/index.mjs +14 -4
  181. package/dist/esm/components/Avatar/index.mjs +3 -3
  182. package/dist/esm/components/AvatarGroup/index.mjs +4 -4
  183. package/dist/esm/components/Badge/index.mjs +2 -2
  184. package/dist/esm/components/Button/index.mjs +18 -8
  185. package/dist/esm/components/ButtonBar/index.mjs +14 -4
  186. package/dist/esm/components/Camera/index.mjs +16 -6
  187. package/dist/esm/components/CheckBox/index.mjs +14 -4
  188. package/dist/esm/components/Chip/index.mjs +15 -5
  189. package/dist/esm/components/DataTable/index.mjs +18 -4
  190. package/dist/esm/components/DivInput/index.mjs +3 -3
  191. package/dist/esm/components/Dot/index.mjs +2 -2
  192. package/dist/esm/components/DraggablePanel/index.mjs +13 -3
  193. package/dist/esm/components/DropDown/index.mjs +14 -4
  194. package/dist/esm/components/ErrorSummary/index.mjs +13 -3
  195. package/dist/esm/components/FileIcon/index.mjs +13 -3
  196. package/dist/esm/components/FileList/index.mjs +16 -6
  197. package/dist/esm/components/FlexDiv/index.mjs +2 -2
  198. package/dist/esm/components/Grouper/index.mjs +15 -5
  199. package/dist/esm/components/Icon/index.mjs +14 -4
  200. package/dist/esm/components/IconButton/index.mjs +17 -7
  201. package/dist/esm/components/Label/index.mjs +3 -3
  202. package/dist/esm/components/Level/index.mjs +4 -4
  203. package/dist/esm/components/Modal/index.mjs +20 -10
  204. package/dist/esm/components/ModalController/index.mjs +13 -5
  205. package/dist/esm/components/Overlay/index.mjs +2 -2
  206. package/dist/esm/components/Pager/index.mjs +3 -3
  207. package/dist/esm/components/Progress/index.mjs +14 -4
  208. package/dist/esm/components/PromptInput/index.mjs +21 -11
  209. package/dist/esm/components/RadioButton/index.mjs +14 -4
  210. package/dist/esm/components/RadioButtonList/index.mjs +15 -5
  211. package/dist/esm/components/Slider/index.mjs +14 -4
  212. package/dist/esm/components/Spacer/index.mjs +2 -2
  213. package/dist/esm/components/Switch/index.mjs +2 -2
  214. package/dist/esm/components/TabBar/index.mjs +18 -8
  215. package/dist/esm/components/TextArea/index.mjs +19 -9
  216. package/dist/esm/components/Textfield/index.mjs +20 -10
  217. package/dist/esm/components/Tip/index.mjs +3 -3
  218. package/dist/esm/components/Toast/index.mjs +15 -5
  219. package/dist/esm/components/ToggleButton/index.mjs +19 -9
  220. package/dist/esm/components/UploadArea/index.mjs +17 -7
  221. package/dist/esm/components/Video/index.mjs +22 -12
  222. package/dist/esm/components/VideoController/index.mjs +20 -12
  223. package/dist/esm/hooks/useAudioRecorder.mjs +1 -1
  224. package/dist/esm/hooks/useBindWebRTC.mjs +5 -5
  225. package/dist/esm/hooks/useClipboard.mjs +129 -0
  226. package/dist/esm/hooks/useMdStreamBuffer.mjs +2 -2
  227. package/dist/esm/hooks/useMicrophone.mjs +1 -1
  228. package/dist/esm/hooks/useTrackRenders.mjs +2 -2
  229. package/dist/esm/hooks.mjs +10 -6
  230. package/dist/esm/index.mjs +62 -58
  231. package/dist/esm/stores/LocalDB.mjs +3 -3
  232. package/dist/esm/stores/SSE.mjs +3 -3
  233. package/dist/esm/stores/WS.mjs +2 -2
  234. package/dist/esm/stores/WebRTC.mjs +3 -3
  235. package/dist/esm/stores/microphone.mjs +2 -2
  236. package/dist/esm/stores/modal.mjs +1 -1
  237. package/dist/esm/stores/tip.mjs +1 -1
  238. package/dist/esm/stores/toast.mjs +1 -1
  239. package/dist/esm/stores/uploads.mjs +3 -3
  240. package/dist/esm/stores/video.mjs +1 -1
  241. package/dist/esm/stores/volume.mjs +2 -2
  242. package/dist/esm/stores/window.mjs +2 -2
  243. package/dist/esm/stores.mjs +18 -18
  244. package/dist/esm/utils/index.mjs +12 -10
  245. package/dist/esm/utils/objects/index.mjs +7 -7
  246. package/dist/esm/workers/uploads/uploads.mjs +2 -2
  247. package/dist/styles.css +2219 -2219
  248. package/dist/types/components/DataTable/_data.d.ts +1 -0
  249. package/dist/types/components/DataTable/_resolveVirtualizeRows.d.ts +1 -0
  250. package/dist/types/components/DataTable/_resolveVirtualizeRows.test.d.ts +1 -0
  251. package/dist/types/components/DataTable/_types.d.ts +4 -0
  252. package/dist/types/components/DataTable/_useRowWindow.d.ts +15 -0
  253. package/dist/types/components/DataTable/_useRowWindow.test.d.ts +1 -0
  254. package/dist/types/hooks/index.d.ts +1 -0
  255. package/dist/types/hooks/useClipboard/useClipboard.d.ts +40 -0
  256. package/dist/types/hooks/useClipboard/useClipboard.test.d.ts +1 -0
  257. package/dist/types/index.d.ts +1 -1
  258. package/dist/types/stores/toast/_types.d.ts +1 -0
  259. package/dist/types/utils/functions/rafThrottle.d.ts +13 -0
  260. package/dist/types/utils/functions/rafThrottle.test.d.ts +1 -0
  261. package/dist/types/utils/index.d.ts +1 -0
  262. package/package.json +1 -1
  263. /package/dist/cjs/chunks/{MdStreamBuffer-Bb8KtdxB.js → MdStreamBuffer-D6TMHeW6.js} +0 -0
  264. /package/dist/cjs/chunks/{SSEConnection-Z24RvA6i.js → SSEConnection-C6CaqgKt.js} +0 -0
  265. /package/dist/cjs/chunks/{_types-BUF4XqUe.js → _types-B00qXMsk.js} +0 -0
  266. /package/dist/cjs/chunks/{audioVisualizer-Rueu5ZHV.js → audioVisualizer-DyXEzz5B.js} +0 -0
  267. /package/dist/cjs/chunks/{colors-RoRQ4v1O.js → colors-D4KqwENo.js} +0 -0
  268. /package/dist/cjs/chunks/{debounce-DQsYw8xJ.js → debounce-Dwcudcja.js} +0 -0
  269. /package/dist/cjs/chunks/{modalStore-B3Dph5oQ.js → modalStore-BgSGFbsR.js} +0 -0
  270. /package/dist/cjs/chunks/{sharedTypes-CHfVI1zE.js → sharedTypes-BGj2TuEP.js} +0 -0
  271. /package/dist/cjs/chunks/{tipStore-70nY_RIN.js → tipStore-nssDFmCg.js} +0 -0
  272. /package/dist/cjs/chunks/{toastStore-DN9EkaEV.js → toastStore-BZfCxYNa.js} +0 -0
  273. /package/dist/cjs/chunks/{tslib.es6-DfmUmGCa.js → tslib.es6-hvdVpg9n.js} +0 -0
  274. /package/dist/cjs/chunks/{videoStore-sYfx70eD.js → videoStore-D1GUKQuQ.js} +0 -0
  275. /package/dist/esm/chunks/{MdStreamBuffer-9noAAJDG.mjs → MdStreamBuffer-CVQOlAQI.mjs} +0 -0
  276. /package/dist/esm/chunks/{SSEConnection-BzSx2MVL.mjs → SSEConnection-B51Za2e1.mjs} +0 -0
  277. /package/dist/esm/chunks/{_types-8oqMW7QN.mjs → _types-DLEuRVFo.mjs} +0 -0
  278. /package/dist/esm/chunks/{audioVisualizer-CKobQkae.mjs → audioVisualizer-BE5XzPMo.mjs} +0 -0
  279. /package/dist/esm/chunks/{colors-DcRJdJ4W.mjs → colors-DrwCjncz.mjs} +0 -0
  280. /package/dist/esm/chunks/{debounce-BAwoZhDR.mjs → debounce-DNEyxGlg.mjs} +0 -0
  281. /package/dist/esm/chunks/{modalStore-h4dkwTzK.mjs → modalStore-ENLMmYBo.mjs} +0 -0
  282. /package/dist/esm/chunks/{sharedTypes-DikFhWJ8.mjs → sharedTypes-D8p2SubQ.mjs} +0 -0
  283. /package/dist/esm/chunks/{tipStore-CVuWvjq9.mjs → tipStore-Cq54idgj.mjs} +0 -0
  284. /package/dist/esm/chunks/{toastStore-DvBK8Lra.mjs → toastStore-B_t3rRa8.mjs} +0 -0
  285. /package/dist/esm/chunks/{tslib.es6-C0yUTS6p.mjs → tslib.es6-DDvIwyzx.mjs} +0 -0
  286. /package/dist/esm/chunks/{videoStore-CmUM9swM.mjs → videoStore-3qSk7xdi.mjs} +0 -0
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { a as __rest } from "./tslib.es6-C0yUTS6p.mjs";
2
+ import { a as __rest } from "./tslib.es6-DDvIwyzx.mjs";
3
3
 
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
 
@@ -7,9 +7,15 @@ import React, { useRef, useState, useMemo, useCallback, useEffect } from "react"
7
7
 
8
8
  import "../theme/colors.mjs";
9
9
 
10
- import { p as pointerPosition } from "./misc-B9d7ECMP.mjs";
10
+ import { p as pointerPosition } from "./misc-BehJA8xr.mjs";
11
11
 
12
- import { d as debounce } from "./debounce-BAwoZhDR.mjs";
12
+ import { d as debounce } from "./debounce-DNEyxGlg.mjs";
13
+
14
+ import "./webRTCStore-Dbm8asHn.mjs";
15
+
16
+ import "./microphoneStore-BVbwClpG.mjs";
17
+
18
+ import "./volumeStore-B1cNRiOA.mjs";
13
19
 
14
20
  import "../hooks/useWindow.mjs";
15
21
 
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { a as __rest } from "./tslib.es6-C0yUTS6p.mjs";
2
+ import { a as __rest } from "./tslib.es6-DDvIwyzx.mjs";
3
3
 
4
4
  import { jsx } from "react/jsx-runtime";
5
5
 
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { a as __rest } from "./tslib.es6-C0yUTS6p.mjs";
2
+ import { a as __rest } from "./tslib.es6-DDvIwyzx.mjs";
3
3
 
4
4
  import { jsx } from "react/jsx-runtime";
5
5
 
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { a as __rest } from "./tslib.es6-C0yUTS6p.mjs";
2
+ import { a as __rest } from "./tslib.es6-DDvIwyzx.mjs";
3
3
 
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
 
@@ -9,17 +9,23 @@ import { useTheme } from "../hooks/useTheme.mjs";
9
9
 
10
10
  import "../theme/colors.mjs";
11
11
 
12
- import { s as setStyle } from "./misc-B9d7ECMP.mjs";
12
+ import { s as setStyle } from "./misc-BehJA8xr.mjs";
13
+
14
+ import "./webRTCStore-Dbm8asHn.mjs";
15
+
16
+ import "./microphoneStore-BVbwClpG.mjs";
17
+
18
+ import "./volumeStore-B1cNRiOA.mjs";
13
19
 
14
20
  import "../hooks/useWindow.mjs";
15
21
 
16
- import { B as Badge } from "./Badge--3RVYqU8.mjs";
22
+ import { B as Badge } from "./Badge-CxuIh-Xz.mjs";
17
23
 
18
- import { I as Icon } from "./Icon-BfSLuS2u.mjs";
24
+ import { I as Icon } from "./Icon-CptxAEva.mjs";
19
25
 
20
- import { I as IconButton } from "./IconButton-4YlfRQap.mjs";
26
+ import { I as IconButton } from "./IconButton-XkOW_lnr.mjs";
21
27
 
22
- import { T as ToolTipType } from "./sharedTypes-DikFhWJ8.mjs";
28
+ import { T as ToolTipType } from "./sharedTypes-D8p2SubQ.mjs";
23
29
 
24
30
  var css = {
25
31
  wrapper: "TabBar-module_wrapper__cyOR1 flexBox-module_rowStart__4tcxS",
@@ -1,11 +1,11 @@
1
1
  'use client';
2
- import { a as __rest } from "./tslib.es6-C0yUTS6p.mjs";
2
+ import { a as __rest } from "./tslib.es6-DDvIwyzx.mjs";
3
3
 
4
4
  import { jsxs, jsx } from "react/jsx-runtime";
5
5
 
6
6
  import React, { useState, useRef, useCallback, useEffect, useMemo } from "react";
7
7
 
8
- import { B as Button } from "./Button-BdZR6DjE.mjs";
8
+ import { B as Button } from "./Button-Bz9ypmSl.mjs";
9
9
 
10
10
  var css_wrapper = "TextArea-module_wrapper__O0sWP flexBox-module_columnStart__C7P44", css_textarea = "TextArea-module_textarea__-R2n0 scrollBars-module_scrollbars__c-ZPl", css_send = "TextArea-module_send__Cub13", css_xs = "TextArea-module_xs__5e748 type-module_body-xs-regular__ZAFft", css_s = "TextArea-module_s__Ac-fq type-module_body-s-regular__vRHSP", css_m = "TextArea-module_m__dod4R type-module_body-m-regular__LuQBA", css_l = "TextArea-module_l__-uLCG type-module_body-l-regular__lOYbg";
11
11
 
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { a as __rest } from "./tslib.es6-C0yUTS6p.mjs";
2
+ import { a as __rest } from "./tslib.es6-DDvIwyzx.mjs";
3
3
 
4
4
  import { jsxs, jsx } from "react/jsx-runtime";
5
5
 
@@ -11,15 +11,21 @@ import { useTheme } from "../hooks/useTheme.mjs";
11
11
 
12
12
  import "../theme/colors.mjs";
13
13
 
14
- import { s as setStyle } from "./misc-B9d7ECMP.mjs";
14
+ import { s as setStyle } from "./misc-BehJA8xr.mjs";
15
+
16
+ import "./webRTCStore-Dbm8asHn.mjs";
17
+
18
+ import "./microphoneStore-BVbwClpG.mjs";
19
+
20
+ import "./volumeStore-B1cNRiOA.mjs";
15
21
 
16
22
  import "../hooks/useWindow.mjs";
17
23
 
18
- import { B as Button } from "./Button-BdZR6DjE.mjs";
24
+ import { B as Button } from "./Button-Bz9ypmSl.mjs";
19
25
 
20
- import { I as Icon } from "./Icon-BfSLuS2u.mjs";
26
+ import { I as Icon } from "./Icon-CptxAEva.mjs";
21
27
 
22
- import { I as IconButton } from "./IconButton-4YlfRQap.mjs";
28
+ import { I as IconButton } from "./IconButton-XkOW_lnr.mjs";
23
29
 
24
30
  var css = {
25
31
  wrapper: "TextField-module_wrapper__qZ-p- flexBox-module_rowStart__4tcxS",
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { a as __rest } from "./tslib.es6-C0yUTS6p.mjs";
2
+ import { a as __rest } from "./tslib.es6-DDvIwyzx.mjs";
3
3
 
4
4
  import { jsx } from "react/jsx-runtime";
5
5
 
@@ -7,7 +7,7 @@ import { motion } from "motion/react";
7
7
 
8
8
  import React, { useState, useRef, useEffect, useMemo } from "react";
9
9
 
10
- import { f as filterClasses } from "./misc-B9d7ECMP.mjs";
10
+ import { f as filterClasses } from "./misc-BehJA8xr.mjs";
11
11
 
12
12
  var css = {
13
13
  wrapper: "Tip-module_wrapper__D7ACT flexBox-module_rowStart__4tcxS",
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { a as __rest } from "./tslib.es6-C0yUTS6p.mjs";
2
+ import { a as __rest } from "./tslib.es6-DDvIwyzx.mjs";
3
3
 
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
 
@@ -11,13 +11,19 @@ import { useTheme } from "../hooks/useTheme.mjs";
11
11
 
12
12
  import "../theme/colors.mjs";
13
13
 
14
- import { s as setStyle, f as filterClasses, a as accessibleKeyDown } from "./misc-B9d7ECMP.mjs";
14
+ import { s as setStyle, f as filterClasses, a as accessibleKeyDown } from "./misc-BehJA8xr.mjs";
15
+
16
+ import "./webRTCStore-Dbm8asHn.mjs";
17
+
18
+ import "./microphoneStore-BVbwClpG.mjs";
19
+
20
+ import "./volumeStore-B1cNRiOA.mjs";
15
21
 
16
22
  import "../hooks/useWindow.mjs";
17
23
 
18
- import { I as Icon } from "./Icon-BfSLuS2u.mjs";
24
+ import { I as Icon } from "./Icon-CptxAEva.mjs";
19
25
 
20
- import { P as ProgressIndicator } from "./ProgressIndicator-Bv7actNC.mjs";
26
+ import { P as ProgressIndicator } from "./ProgressIndicator-H1AokmcU.mjs";
21
27
 
22
28
  var ToastType, css = {
23
29
  wrapper: "Toast-module_wrapper__1uj9O flexBox-module_rowBetween__5FEvi",
@@ -3,9 +3,9 @@ import { jsxs, jsx } from "react/jsx-runtime";
3
3
 
4
4
  import { useMemo } from "react";
5
5
 
6
- import { I as IconButton } from "./IconButton-4YlfRQap.mjs";
6
+ import { I as IconButton } from "./IconButton-XkOW_lnr.mjs";
7
7
 
8
- import { L as Label } from "./Label-oVWJfERc.mjs";
8
+ import { L as Label } from "./Label-BjL3V2bm.mjs";
9
9
 
10
10
  var css_toggleButton = "ToggleButton-module_toggleButton__H7KgI flexBox-module_rowStart__4tcxS";
11
11
 
@@ -3,13 +3,13 @@ import { jsxs, jsx } from "react/jsx-runtime";
3
3
 
4
4
  import React, { useState, useRef, useId, useCallback, useMemo } from "react";
5
5
 
6
- import { s as setStyle, a as accessibleKeyDown } from "./misc-B9d7ECMP.mjs";
6
+ import { s as setStyle, a as accessibleKeyDown } from "./misc-BehJA8xr.mjs";
7
7
 
8
- import { I as Icon } from "./Icon-BfSLuS2u.mjs";
8
+ import { I as Icon } from "./Icon-CptxAEva.mjs";
9
9
 
10
- import { P as ProgressIndicator } from "./ProgressIndicator-Bv7actNC.mjs";
10
+ import { P as ProgressIndicator } from "./ProgressIndicator-H1AokmcU.mjs";
11
11
 
12
- import { F as FileList } from "./FileList-rMjli1tu.mjs";
12
+ import { F as FileList } from "./FileList-D0HPgRL-.mjs";
13
13
 
14
14
  var css = {
15
15
  wrapper: "UploadArea-module_wrapper__aircC flexBox-module_column__ezvMq",
@@ -1,17 +1,17 @@
1
1
  'use client';
2
- import { a as __rest, _ as __awaiter } from "./tslib.es6-C0yUTS6p.mjs";
2
+ import { a as __rest, _ as __awaiter } from "./tslib.es6-DDvIwyzx.mjs";
3
3
 
4
4
  import { jsxs, jsx } from "react/jsx-runtime";
5
5
 
6
6
  import React, { useRef, useState, useCallback, useMemo, useEffect } from "react";
7
7
 
8
- import { s as setStyle } from "./misc-B9d7ECMP.mjs";
8
+ import { s as setStyle } from "./misc-BehJA8xr.mjs";
9
9
 
10
- import { I as IconButton } from "./IconButton-4YlfRQap.mjs";
10
+ import { I as IconButton } from "./IconButton-XkOW_lnr.mjs";
11
11
 
12
- import { S as Slider } from "./Slider-IqjVgxEE.mjs";
12
+ import { S as Slider } from "./Slider-Ci-Syo6r.mjs";
13
13
 
14
- import { T as ToggleButton } from "./ToggleButton-Cp2K772X.mjs";
14
+ import { T as ToggleButton } from "./ToggleButton-Cq7fm59Y.mjs";
15
15
 
16
16
  var PlayState, css_wrapper = "Video-module_wrapper__a9iH8", css_video = "Video-module_video__hxKME", css_controls = "Video-module_controls__X4yt6", css_controlsHeader = "Video-module_controlsHeader__dD64-", css_controlsFooter = "Video-module_controlsFooter__qJNTa", css_controlsBody = "Video-module_controlsBody__2GbQz", css_right = "Video-module_right__UMhfW", css_left = "Video-module_left__XC33m", css_progress = "Video-module_progress__UTWtq";
17
17
 
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { a as __rest } from "./tslib.es6-C0yUTS6p.mjs";
2
+ import { a as __rest } from "./tslib.es6-DDvIwyzx.mjs";
3
3
 
4
4
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
5
5
 
@@ -7,13 +7,19 @@ import { useDragControls, AnimatePresence, motion } from "motion/react";
7
7
 
8
8
  import { useRef, useState, useEffect, useMemo } from "react";
9
9
 
10
- import { s as setStyle } from "./misc-B9d7ECMP.mjs";
10
+ import "./microphoneStore-BVbwClpG.mjs";
11
11
 
12
- import { I as IconButton } from "./IconButton-4YlfRQap.mjs";
12
+ import "./volumeStore-B1cNRiOA.mjs";
13
13
 
14
- import { O as Overlay } from "./Overlay-DuGDfhI3.mjs";
14
+ import "./webRTCStore-Dbm8asHn.mjs";
15
15
 
16
- import { u as useVideo, a as useVideoActions } from "./videoStore-CmUM9swM.mjs";
16
+ import { s as setStyle } from "./misc-BehJA8xr.mjs";
17
+
18
+ import { I as IconButton } from "./IconButton-XkOW_lnr.mjs";
19
+
20
+ import { O as Overlay } from "./Overlay-Dho1XXV_.mjs";
21
+
22
+ import { u as useVideo, a as useVideoActions } from "./videoStore-3qSk7xdi.mjs";
17
23
 
18
24
  var css_container = "VideoController-module_container__wNiGy", css_box = "VideoController-module_box__a0PRD", css_wrapper = "VideoController-module_wrapper__RhpUo", css_video = "VideoController-module_video__9bS2L";
19
25
 
@@ -1,4 +1,4 @@
1
- import { _ as __awaiter } from "./tslib.es6-C0yUTS6p.mjs";
1
+ import { _ as __awaiter } from "./tslib.es6-DDvIwyzx.mjs";
2
2
 
3
3
  /**
4
4
  * Manage a WebSocket connection with optional unified events, retries, and keep-alive pings.
@@ -1,4 +1,4 @@
1
- import { _ as __awaiter } from "./tslib.es6-C0yUTS6p.mjs";
1
+ import { _ as __awaiter } from "./tslib.es6-DDvIwyzx.mjs";
2
2
 
3
3
  class WebRTCConnection {
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { _ as __awaiter, a as __rest } from "./tslib.es6-C0yUTS6p.mjs";
1
+ import { _ as __awaiter, a as __rest } from "./tslib.es6-DDvIwyzx.mjs";
2
2
 
3
3
  import { useMemo } from "react";
4
4
 
@@ -6,7 +6,7 @@ import { create } from "zustand";
6
6
 
7
7
  import { useShallow } from "zustand/react/shallow";
8
8
 
9
- import { I as IndexedDB } from "./IndexedDB-DrgyB0PG.mjs";
9
+ import { I as IndexedDB } from "./IndexedDB-C57PCioP.mjs";
10
10
 
11
11
  function isValidIDBKey(key) {
12
12
  return "string" == typeof key || "number" == typeof key || key instanceof Date || key instanceof ArrayBuffer || (Array.isArray(key) ? key.every(entry => isValidIDBKey(entry)) : ArrayBuffer.isView(key));
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { _ as __awaiter } from "./tslib.es6-C0yUTS6p.mjs";
2
+ import { _ as __awaiter } from "./tslib.es6-DDvIwyzx.mjs";
3
3
 
4
4
  import { useEffect } from "react";
5
5
 
@@ -1,4 +1,4 @@
1
- import { _ as __awaiter } from "./tslib.es6-C0yUTS6p.mjs";
1
+ import { _ as __awaiter } from "./tslib.es6-DDvIwyzx.mjs";
2
2
 
3
3
  /**
4
4
  * Remove scripts, invisible characters, and optional HTML tags from a string.
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Coalesce rapid calls (scroll, pointermove, resize) down to at most one
3
+ * invocation per animation frame, always using the most recently passed
4
+ * arguments. Unlike `debounce`, this never waits for activity to stop - the
5
+ * first call in a frame schedules the frame, every call after that until the
6
+ * frame fires just updates the pending args, and dropped intermediate calls
7
+ * never run at all.
8
+ */
9
+ function rafThrottle(func) {
10
+ let frameId = null, lastArgs = null;
11
+ const throttled = function(...args) {
12
+ lastArgs = args, null === frameId && (frameId = requestAnimationFrame(() => {
13
+ frameId = null;
14
+ const argsToApply = lastArgs;
15
+ lastArgs = null, argsToApply && func.apply(this, argsToApply);
16
+ }));
17
+ };
18
+ return throttled.cancel = () => {
19
+ null !== frameId && (cancelAnimationFrame(frameId), frameId = null), lastArgs = null;
20
+ }, throttled;
21
+ }
22
+
23
+ export { rafThrottle as r };
@@ -1,8 +1,8 @@
1
1
  import { create } from "zustand";
2
2
 
3
- import "./tslib.es6-C0yUTS6p.mjs";
3
+ import "./tslib.es6-DDvIwyzx.mjs";
4
4
 
5
- import { S as SSEConnection } from "./SSEConnection-BzSx2MVL.mjs";
5
+ import { S as SSEConnection } from "./SSEConnection-B51Za2e1.mjs";
6
6
 
7
7
  const useSSEStore = create((set, get) => ({
8
8
  connections: [],
@@ -1,4 +1,4 @@
1
- import { _ as __awaiter } from "./tslib.es6-C0yUTS6p.mjs";
1
+ import { _ as __awaiter } from "./tslib.es6-DDvIwyzx.mjs";
2
2
 
3
3
  var FileUploadStatus, UploadError, WorkerStatus;
4
4
 
@@ -1,6 +1,6 @@
1
1
  import { create } from "zustand";
2
2
 
3
- import { W as WorkerStatus } from "./uploads-worker-SXS-_T5t.mjs";
3
+ import { W as WorkerStatus } from "./uploads-worker-BliiKZBP.mjs";
4
4
 
5
5
  let uploadsWorker = null;
6
6
 
@@ -2,9 +2,25 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
 
3
3
  import React, { useCallback, useEffect, useState, useRef, useMemo } from "react";
4
4
 
5
- import { s as setStyle, a as accessibleKeyDown } from "./misc-B9d7ECMP.mjs";
5
+ import { s as setStyle, a as accessibleKeyDown } from "./misc-BehJA8xr.mjs";
6
6
 
7
- import { I as Icon } from "./Icon-BfSLuS2u.mjs";
7
+ import { I as Icon } from "./Icon-CptxAEva.mjs";
8
+
9
+ import "../theme/colors.mjs";
10
+
11
+ import "./tslib.es6-DDvIwyzx.mjs";
12
+
13
+ import { r as rafThrottle } from "./rafThrottle-BGq3oR1J.mjs";
14
+
15
+ import "./webRTCStore-Dbm8asHn.mjs";
16
+
17
+ import "./microphoneStore-BVbwClpG.mjs";
18
+
19
+ import "./volumeStore-B1cNRiOA.mjs";
20
+
21
+ import "../hooks/useWindow.mjs";
22
+
23
+ import { useObserveResize } from "../hooks/useObserveResize.mjs";
8
24
 
9
25
  var styles = {
10
26
  tableWrapper: "DataTable-module_tableWrapper__BzoJE",
@@ -49,8 +65,10 @@ const resolveAlignValue = value => {
49
65
  handle.style.left = "right" === position ? `${x + width}px` : `${x}px`;
50
66
  };
51
67
 
68
+ const DEFAULT_OVERSCAN = 25;
69
+
52
70
  function DataTable(props) {
53
- const {backgroundColor: backgroundColor = "var(--core-surface-primary)", headerBackgroundColor: headerBackgroundColor = "var(--core-surface-secondary)", candyStripeBackgroundColor: candyStripeBackgroundColor = "var(--core-surface-primary-tint)", backgroundColorHoverRow: backgroundColorHoverRow = "var(--core-surface-primary-tint)", handleHoverColor: handleHoverColor = "var(--core-outline-special)", freezeColumn: freezeColumn = !1, headerSticky: headerSticky = !0, height: height = "auto", width: width = "100%", colResize: colResize = !0, borderColor: borderColor = "var(--core-outline-primary)", borderStyle: borderStyle = "box", columnDefinitions: columnDefinitions = [], tableData: tableData = [], getRowId: getRowId, filter: filter, caption: caption = "Data Table", onDoubleClick: onDoubleClick, onClick: onClick, onMouseOut: onMouseOut, onMouseOver: onMouseOver, sort: sort, onSortChange: onSortChange, onColumnResize: onColumnResize, onColumnReorder: onColumnReorder, borderRadius: borderRadius = 8} = props, [hScroll, setHScroll] = useState(!1), [vScroll, setVScroll] = useState(!1), [hoveredRow, setHoveredRow] = useState(null), [sortKey, setSortKey] = useState(sort), [columnWidths, setColumnWidths] = useState({}), [columnOrder, setColumnOrder] = useState(null), [draggedColId, setDraggedColId] = useState(null), wrapperRef = React.useRef(null), resizeBarRef = React.useRef(null), colRefs = React.useRef({}), elements = {
71
+ const {backgroundColor: backgroundColor = "var(--core-surface-primary)", headerBackgroundColor: headerBackgroundColor = "var(--core-surface-secondary)", candyStripeBackgroundColor: candyStripeBackgroundColor = "var(--core-surface-primary-tint)", backgroundColorHoverRow: backgroundColorHoverRow = "var(--core-surface-primary-tint)", handleHoverColor: handleHoverColor = "var(--core-outline-special)", freezeColumn: freezeColumn = !1, headerSticky: headerSticky = !0, height: height = "auto", width: width = "100%", colResize: colResize = !0, borderColor: borderColor = "var(--core-outline-primary)", borderStyle: borderStyle = "box", columnDefinitions: columnDefinitions = [], tableData: tableData = [], getRowId: getRowId, filter: filter, caption: caption = "Data Table", onDoubleClick: onDoubleClick, onClick: onClick, onMouseOut: onMouseOut, onMouseOver: onMouseOver, sort: sort, onSortChange: onSortChange, onColumnResize: onColumnResize, onColumnReorder: onColumnReorder, borderRadius: borderRadius = 8, virtualizeRows: virtualizeRows, virtualizeRowThreshold: virtualizeRowThreshold = 200, rowHeight: rowHeight = 44, overscanRows: overscanRows} = props, [hScroll, setHScroll] = useState(!1), [vScroll, setVScroll] = useState(!1), [hoveredRow, setHoveredRow] = useState(null), [sortKey, setSortKey] = useState(sort), [columnWidths, setColumnWidths] = useState({}), [columnOrder, setColumnOrder] = useState(null), [draggedColId, setDraggedColId] = useState(null), wrapperRef = React.useRef(null), resizeBarRef = React.useRef(null), colRefs = React.useRef({}), elements = {
54
72
  handle: resizeBarRef,
55
73
  parent: wrapperRef
56
74
  }, cornerBoxShadow = useMemo(() => {
@@ -204,16 +222,60 @@ function DataTable(props) {
204
222
  dragOver: dragOver,
205
223
  dragDrop: dragDrop
206
224
  };
207
- }(columnDefinitions, setColumnOrder, setDraggedColId, onColumnReorder, freezeColumn), handleScroll = useCallback(() => {
208
- var _a, _b, _c, _d;
209
- const hScrollAmount = null !== (_b = null === (_a = wrapperRef.current) || void 0 === _a ? void 0 : _a.scrollLeft) && void 0 !== _b ? _b : 0, vScrollAmount = null !== (_d = null === (_c = wrapperRef.current) || void 0 === _c ? void 0 : _c.scrollTop) && void 0 !== _d ? _d : 0;
210
- setHScroll(hScrollAmount > 0), setVScroll(vScrollAmount > 0);
211
- }, []), rows = useMemo(() => [ ...filter ? tableData.filter((row, index, array) => filter(row, index, array)) : tableData ].sort((a, b) => {
225
+ }(columnDefinitions, setColumnOrder, setDraggedColId, onColumnReorder, freezeColumn), rows = useMemo(() => [ ...filter ? tableData.filter((row, index, array) => filter(row, index, array)) : tableData ].sort((a, b) => {
212
226
  if (!(null == sortKey ? void 0 : sortKey.key)) return 0;
213
227
  const {key: key, dir: dir} = sortKey;
214
228
  if (a[key] === b[key]) return 0;
215
229
  return (a[key] > b[key] ? 1 : -1) * ("desc" === dir ? -1 : 1);
216
- }), [ tableData, filter, sortKey ]), handleCellHover = useCallback((col, colId, row, rowId, over) => {
230
+ }), [ tableData, filter, sortKey ]), shouldVirtualize = (explicit = virtualizeRows,
231
+ rowCount = rows.length, threshold = virtualizeRowThreshold, null != explicit ? explicit : rowCount > threshold);
232
+ var explicit, rowCount, threshold;
233
+ const rowWindow = function(wrapperRef, rowCount, options) {
234
+ const {enabled: enabled, rowHeight: rowHeight, overscan: overscan = DEFAULT_OVERSCAN} = options, viewport = useObserveResize(enabled ? wrapperRef : void 0, {
235
+ ignore: "width"
236
+ }), [scrollTop, setScrollTop] = useState(0), throttledSetScrollTop = useMemo(() => rafThrottle(value => setScrollTop(value)), []);
237
+ useEffect(() => () => throttledSetScrollTop.cancel(), [ throttledSetScrollTop ]);
238
+ const handleScroll = useCallback(nextScrollTop => {
239
+ enabled && throttledSetScrollTop(nextScrollTop);
240
+ }, [ enabled, throttledSetScrollTop ]);
241
+ return useEffect(() => {
242
+ if (!enabled) return;
243
+ const maxScrollTop = Math.max(0, rowCount * rowHeight - (viewport.height || 0));
244
+ setScrollTop(prev => prev <= maxScrollTop ? prev : (wrapperRef.current && (wrapperRef.current.scrollTop = 0),
245
+ 0));
246
+ }, [ enabled, rowCount, rowHeight, viewport.height, wrapperRef ]), useMemo(() => {
247
+ if (!enabled || rowHeight <= 0) return {
248
+ enabled: !1,
249
+ startIndex: 0,
250
+ endIndex: rowCount,
251
+ topSpacerHeight: 0,
252
+ bottomSpacerHeight: 0,
253
+ handleScroll: handleScroll
254
+ };
255
+ const viewportHeight = viewport.height || 0, visibleCount = Math.ceil(viewportHeight / rowHeight), firstVisible = Math.floor(scrollTop / rowHeight), startIndex = Math.max(0, firstVisible - overscan), endIndex = Math.min(rowCount, firstVisible + visibleCount + overscan);
256
+ return {
257
+ enabled: !0,
258
+ startIndex: startIndex,
259
+ endIndex: endIndex,
260
+ topSpacerHeight: startIndex * rowHeight,
261
+ bottomSpacerHeight: Math.max(0, rowCount - endIndex) * rowHeight,
262
+ handleScroll: handleScroll
263
+ };
264
+ }, [ enabled, rowHeight, overscan, rowCount, viewport.height, scrollTop, handleScroll ]);
265
+ }(wrapperRef, rows.length, {
266
+ enabled: shouldVirtualize,
267
+ rowHeight: rowHeight,
268
+ overscan: overscanRows
269
+ });
270
+ useEffect(() => {
271
+ "production" !== process.env.NODE_ENV && (shouldVirtualize && "auto" === height && console.warn('[DataTable] `virtualizeRows` needs a bounded `height` (e.g. a fixed px or vh value) to create a scrollable viewport smaller than the full row count - with height="auto" the wrapper grows to fit every row and there\'s nothing to trim.'),
272
+ shouldVirtualize && !getRowId && console.warn("[DataTable] `virtualizeRows` is on without `getRowId`. Rows fall back to index-based keys, which can misattach hover/focus state to the wrong row as the window scrolls - pass `getRowId` for stable identity."));
273
+ }, [ shouldVirtualize, height, getRowId ]);
274
+ const handleScroll = useCallback(() => {
275
+ var _a, _b, _c, _d;
276
+ const hScrollAmount = null !== (_b = null === (_a = wrapperRef.current) || void 0 === _a ? void 0 : _a.scrollLeft) && void 0 !== _b ? _b : 0, vScrollAmount = null !== (_d = null === (_c = wrapperRef.current) || void 0 === _c ? void 0 : _c.scrollTop) && void 0 !== _d ? _d : 0;
277
+ setHScroll(hScrollAmount > 0), setVScroll(vScrollAmount > 0), rowWindow.handleScroll(vScrollAmount);
278
+ }, [ rowWindow.handleScroll ]), handleCellHover = useCallback((col, colId, row, rowId, over) => {
217
279
  over ? (setHoveredRow(rowId), onMouseOver && onMouseOver(col, colId, row, rowId)) : (setHoveredRow(prev => prev === rowId ? null : prev),
218
280
  onMouseOut && onMouseOut(col, colId, row, rowId));
219
281
  }, [ onMouseOut, onMouseOver ]), handleClick = useCallback((col, colId, row, rowId, dbl) => {
@@ -275,6 +337,7 @@ function DataTable(props) {
275
337
  onScroll: handleScroll,
276
338
  children: [ jsxs("table", {
277
339
  className: styles.table,
340
+ "aria-rowcount": rowWindow.enabled ? rows.length + 1 : void 0,
278
341
  children: [ jsx("caption", {
279
342
  children: caption
280
343
  }), jsx("colgroup", {
@@ -290,7 +353,7 @@ function DataTable(props) {
290
353
  }), jsx("thead", {
291
354
  children: jsx("tr", {
292
355
  children: orderedColumns.map((col, colIndex) => {
293
- const padding = setStyle(col.padding, 16), sortable = void 0 !== col.sort, cursor = sortable ? "pointer" : "default", last = colIndex === orderedColumns.length - 1, opacity = draggedColId === col.id ? .2 : 1;
356
+ const padding = setStyle(col.padding, 16), sortable = void 0 !== col.sort, cursor = sortable ? "pointer" : "default", last = colIndex === orderedColumns.length - 1, background = draggedColId === col.id ? backgroundColor : headerBackgroundColor;
294
357
  return jsxs("th", {
295
358
  "data-column-id": col.id,
296
359
  className: `${styles.baseCell} ${styles.headerCell} ${styles.m}`,
@@ -298,7 +361,7 @@ function DataTable(props) {
298
361
  onKeyDown: e => accessibleKeyDown(e, () => handleSort(col.sort)),
299
362
  style: {
300
363
  cursor: cursor,
301
- opacity: opacity
364
+ background: background
302
365
  },
303
366
  tabIndex: sortable ? 0 : void 0,
304
367
  role: sortable ? "columnheader" : void 0,
@@ -318,37 +381,62 @@ function DataTable(props) {
318
381
  }, col.id);
319
382
  })
320
383
  })
321
- }), jsx("tbody", {
322
- children: rows.map((row, rowIndex) => jsx("tr", {
323
- children: orderedColumns.map((col, colIndex) => {
324
- const justifyContent = resolveAlignValue(col.justify), alignItems = resolveAlignValue(col.align), padding = setStyle(col.padding, 16), whiteSpace = col.nowrap ? "nowrap" : "", background = resolveCellBG(rowIndex), last = colIndex === orderedColumns.length - 1, opacity = draggedColId === col.id ? .2 : 1;
325
- return jsxs("td", {
326
- "data-column-id": `${colIndex}.${rowIndex}`,
327
- className: `${styles.baseCell} ${styles.m}`,
328
- onClick: () => handleClick(col, colIndex, row, rowIndex, !1),
329
- onDoubleClick: () => handleClick(col, colIndex, row, rowIndex, !0),
330
- onKeyDown: e => accessibleKeyDown(e, () => handleClick(col, colIndex, row, rowIndex, !1)),
331
- onMouseOver: () => handleCellHover(col, colIndex, row, rowIndex, !0),
332
- onFocus: () => handleCellHover(col, colIndex, row, rowIndex, !0),
333
- onMouseOut: () => handleCellHover(col, colIndex, row, rowIndex, !1),
334
- onBlur: () => handleCellHover(col, colIndex, row, rowIndex, !1),
335
- style: {
336
- background: background,
337
- opacity: opacity
338
- },
339
- children: [ renderCellResizeHandle(last, col), jsx("div", {
340
- className: styles.baseCellWrapper,
384
+ }), jsxs("tbody", {
385
+ children: [ rowWindow.enabled && rowWindow.topSpacerHeight > 0 && jsx("tr", {
386
+ children: jsx("td", {
387
+ colSpan: orderedColumns.length,
388
+ style: {
389
+ height: rowWindow.topSpacerHeight,
390
+ padding: 0,
391
+ border: 0,
392
+ background: backgroundColor
393
+ }
394
+ })
395
+ }), (rowWindow.enabled ? rows.slice(rowWindow.startIndex, rowWindow.endIndex) : rows).map((row, localIndex) => {
396
+ const rowIndex = rowWindow.enabled ? rowWindow.startIndex + localIndex : localIndex, isLastRow = rowIndex === rows.length - 1;
397
+ return jsx("tr", {
398
+ "aria-rowindex": rowWindow.enabled ? rowIndex + 2 : void 0,
399
+ children: orderedColumns.map((col, colIndex) => {
400
+ const justifyContent = resolveAlignValue(col.justify), alignItems = resolveAlignValue(col.align), padding = setStyle(col.padding, 16), whiteSpace = col.nowrap ? "nowrap" : "", background = resolveCellBG(rowIndex), last = colIndex === orderedColumns.length - 1, opacity = draggedColId === col.id ? .2 : 1, borderBottom = rowWindow.enabled && isLastRow && rowWindow.bottomSpacerHeight > 0 ? 0 : void 0;
401
+ return jsxs("td", {
402
+ "data-column-id": `${colIndex}.${rowIndex}`,
403
+ className: `${styles.baseCell} ${styles.m}`,
404
+ onClick: () => handleClick(col, colIndex, row, rowIndex, !1),
405
+ onDoubleClick: () => handleClick(col, colIndex, row, rowIndex, !0),
406
+ onKeyDown: e => accessibleKeyDown(e, () => handleClick(col, colIndex, row, rowIndex, !1)),
407
+ onMouseOver: () => handleCellHover(col, colIndex, row, rowIndex, !0),
408
+ onFocus: () => handleCellHover(col, colIndex, row, rowIndex, !0),
409
+ onMouseOut: () => handleCellHover(col, colIndex, row, rowIndex, !1),
410
+ onBlur: () => handleCellHover(col, colIndex, row, rowIndex, !1),
341
411
  style: {
342
- justifyContent: justifyContent,
343
- alignItems: alignItems,
344
- padding: padding,
345
- whiteSpace: whiteSpace
412
+ background: background,
413
+ opacity: opacity,
414
+ borderBottom: borderBottom
346
415
  },
347
- children: renderBodyCell(col, row, rowIndex)
348
- }) ]
349
- }, col.id);
416
+ children: [ renderCellResizeHandle(last, col), jsx("div", {
417
+ className: styles.baseCellWrapper,
418
+ style: {
419
+ justifyContent: justifyContent,
420
+ alignItems: alignItems,
421
+ padding: padding,
422
+ whiteSpace: whiteSpace
423
+ },
424
+ children: renderBodyCell(col, row, rowIndex)
425
+ }) ]
426
+ }, col.id);
427
+ })
428
+ }, getRowId ? getRowId(row, rowIndex) : rowIndex);
429
+ }), rowWindow.enabled && rowWindow.bottomSpacerHeight > 0 && jsx("tr", {
430
+ children: jsx("td", {
431
+ colSpan: orderedColumns.length,
432
+ style: {
433
+ height: rowWindow.bottomSpacerHeight,
434
+ padding: 0,
435
+ border: 0,
436
+ background: backgroundColor
437
+ }
350
438
  })
351
- }, getRowId ? getRowId(row, rowIndex) : rowIndex))
439
+ }) ]
352
440
  }) ]
353
441
  }), jsx("div", {
354
442
  className: styles.resizeBar,
@@ -1,4 +1,4 @@
1
- import { _ as __awaiter } from "./tslib.es6-C0yUTS6p.mjs";
1
+ import { _ as __awaiter } from "./tslib.es6-DDvIwyzx.mjs";
2
2
 
3
3
  import { create } from "zustand";
4
4
 
@@ -1,8 +1,8 @@
1
- import { _ as __awaiter } from "./tslib.es6-C0yUTS6p.mjs";
1
+ import { _ as __awaiter } from "./tslib.es6-DDvIwyzx.mjs";
2
2
 
3
3
  import { create } from "zustand";
4
4
 
5
- import { W as WebRTCConnection } from "./WebRTCConnection-C_MYSUKv.mjs";
5
+ import { W as WebRTCConnection } from "./WebRTCConnection-DWRLYmZt.mjs";
6
6
 
7
7
  const useWebRTCStore = create((set, get) => ({
8
8
  connections: [],
@@ -1,4 +1,4 @@
1
- import { _ as __awaiter } from "./tslib.es6-C0yUTS6p.mjs";
1
+ import { _ as __awaiter } from "./tslib.es6-DDvIwyzx.mjs";
2
2
 
3
3
  import { create } from "zustand";
4
4