@apple-pie/slice 0.1.44 → 0.1.45

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 (279) hide show
  1. package/dist/cjs/chunks/{AudioBubble-DGXJI6fl.js → AudioBubble-DSKLRflw.js} +3 -3
  2. package/dist/cjs/chunks/{Avatar-C2REB8vr.js → Avatar-CFcsdTuN.js} +1 -1
  3. package/dist/cjs/chunks/{AvatarGroup-Dsqnnepg.js → AvatarGroup-CMd6AE9B.js} +1 -1
  4. package/dist/cjs/chunks/{Badge-xReCD3qV.js → Badge-C__w6y3X.js} +1 -1
  5. package/dist/cjs/chunks/{Button-7vW7Ut0n.js → Button-BLdW3YU9.js} +1 -1
  6. package/dist/cjs/chunks/{ButtonBar-r8xaXQOT.js → ButtonBar-CL4kiqgc.js} +1 -1
  7. package/dist/cjs/chunks/{Camera-BbWi-vvW.js → Camera-BmLMOBRg.js} +4 -4
  8. package/dist/cjs/chunks/{CheckBox-BCR1qSIr.js → CheckBox-Cihl0IrF.js} +1 -1
  9. package/dist/cjs/chunks/{Chip-C6AbxC9I.js → Chip-BfD_0Cig.js} +1 -1
  10. package/dist/cjs/chunks/{DivInput-D78kLm9s.js → DivInput-LIJ7zv8H.js} +1 -1
  11. package/dist/cjs/chunks/{Dot-DlLlV88_.js → Dot-Bj2a76Ta.js} +1 -1
  12. package/dist/cjs/chunks/{DrggablePanel-De4lmb_e.js → DrggablePanel-CqzMpyGs.js} +3 -3
  13. package/dist/cjs/chunks/{DropDown-Bp9MRUsG.js → DropDown-pWYMxruM.js} +1 -1
  14. package/dist/cjs/chunks/{ErrorSummary-ChPbmIQ0.js → ErrorSummary-ClLL68U3.js} +3 -3
  15. package/dist/cjs/chunks/{FileIcon-Dv3uu2DC.js → FileIcon-z21zrEc2.js} +4 -3
  16. package/dist/cjs/chunks/{FileList-IgK1yREW.js → FileList-qY-irjP-.js} +1 -1
  17. package/dist/cjs/chunks/{FlexDiv-B5gf7V09.js → FlexDiv-DgR6u9Jv.js} +1 -1
  18. package/dist/cjs/chunks/{Grouper-DGLV96Yg.js → Grouper-DeYMKA1T.js} +4 -3
  19. package/dist/cjs/chunks/{Icon-Bmow374B.js → Icon-tc6LQovS.js} +3 -3
  20. package/dist/cjs/chunks/{IconButton-BZttH51z.js → IconButton-LoaWO9zY.js} +1 -1
  21. package/dist/cjs/chunks/{IndexedDB-BtHDgAwP.js → IndexedDB-CYqvMLuZ.js} +1 -1
  22. package/dist/cjs/chunks/{Label-CLiXfLhU.js → Label-T84i3rWo.js} +1 -1
  23. package/dist/cjs/chunks/{Level-DM-3l-Bh.js → Level-OEsy5yT2.js} +1 -1
  24. package/dist/cjs/chunks/{Modal-D8OyooX8.js → Modal-DqXuXPge.js} +1 -1
  25. package/dist/cjs/chunks/{ModalController-BkREg0KG.js → ModalController-C91kCSxO.js} +5 -1
  26. package/dist/cjs/chunks/{Overlay-CH2p-6HE.js → Overlay-D3QPWT8O.js} +1 -1
  27. package/dist/cjs/chunks/{Pager-VWt-iYND.js → Pager-CLtuO3Sv.js} +1 -1
  28. package/dist/cjs/chunks/{ProgressIndicator-BBe5EJJB.js → ProgressIndicator-DI1fY8vp.js} +3 -3
  29. package/dist/cjs/chunks/{PromptInput-BaO3pCTO.js → PromptInput-BMnpfTXt.js} +4 -4
  30. package/dist/cjs/chunks/{RadioButton-DP12R15W.js → RadioButton-CzkQTfqG.js} +1 -1
  31. package/dist/cjs/chunks/{RadioButtonList-D3aoXPWZ.js → RadioButtonList-CVkww1_P.js} +1 -1
  32. package/dist/cjs/chunks/{Slider-C_iix5E1.js → Slider-9ze6h-KZ.js} +3 -3
  33. package/dist/cjs/chunks/{Spacer-CT8DAL00.js → Spacer-DuipTdw1.js} +1 -1
  34. package/dist/cjs/chunks/{Switch-CeMNFko_.js → Switch-Bug1jQu4.js} +1 -1
  35. package/dist/cjs/chunks/{TabBar-C_qyZQub.js → TabBar-CLDId1LR.js} +4 -4
  36. package/dist/cjs/chunks/{TextArea-0opB2WAt.js → TextArea-DyQZBTPs.js} +1 -1
  37. package/dist/cjs/chunks/{TextField-NU7k_acK.js → TextField-BR-pQK87.js} +4 -4
  38. package/dist/cjs/chunks/{Tip-DrY3JwFE.js → Tip-BvGX_YgV.js} +1 -1
  39. package/dist/cjs/chunks/{Toast-DF8qXdPO.js → Toast-D7pGWE3h.js} +4 -4
  40. package/dist/cjs/chunks/{ToggleButton-cntUrPlb.js → ToggleButton-8NaB4UUl.js} +1 -1
  41. package/dist/cjs/chunks/{UploadArea-BxBisAJS.js → UploadArea-G-mBqjb7.js} +1 -1
  42. package/dist/cjs/chunks/{Video-qiH56WvN.js → Video-Ba3wg6jb.js} +1 -1
  43. package/dist/cjs/chunks/{VideoController-D4_El3jm.js → VideoController-BKzIJmMa.js} +5 -1
  44. package/dist/cjs/chunks/{WSConnection-DbdxZFOV.js → WSConnection-DMrqNo3k.js} +1 -1
  45. package/dist/cjs/chunks/{WebRTCConnection-B9dd6VVp.js → WebRTCConnection-DNnDh6-M.js} +1 -1
  46. package/dist/cjs/chunks/{localDBStore-BjxalVAJ.js → localDBStore-BTA4H5xb.js} +1 -1
  47. package/dist/cjs/chunks/{microphoneStore-DpUL8kt8.js → microphoneStore-Gd9Pi7xk.js} +1 -1
  48. package/dist/cjs/chunks/{misc-Gs698ODr.js → misc-DwqTFwbJ.js} +1 -1
  49. package/dist/cjs/chunks/rafThrottle-CUFIaObP.js +22 -0
  50. package/dist/cjs/chunks/{sseStore-BNAfwXap.js → sseStore-BLzihLI9.js} +2 -2
  51. package/dist/cjs/chunks/{uploads-worker-fWbmHWKp.js → uploads-worker-b6jenaeT.js} +1 -1
  52. package/dist/cjs/chunks/{uploadsStore-C-sGeJo9.js → uploadsStore-BdD0blGO.js} +2 -2
  53. package/dist/cjs/chunks/{viewState-X7EbUCin.js → viewState-DgJIoERG.js} +118 -38
  54. package/dist/cjs/chunks/{volumeStore--l8gb-3a.js → volumeStore-BU9B-kDV.js} +1 -1
  55. package/dist/cjs/chunks/{webRTCStore-DJjyW39y.js → webRTCStore-U1mlk90q.js} +1 -1
  56. package/dist/cjs/chunks/{windowStore-nNT7HJqA.js → windowStore-qDiDW4v-.js} +1 -1
  57. package/dist/cjs/components/AudioBubble/index.js +6 -5
  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 -5
  63. package/dist/cjs/components/Camera/index.js +7 -6
  64. package/dist/cjs/components/CheckBox/index.js +6 -5
  65. package/dist/cjs/components/Chip/index.js +7 -5
  66. package/dist/cjs/components/DataTable/index.js +10 -7
  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 +6 -5
  70. package/dist/cjs/components/DropDown/index.js +6 -5
  71. package/dist/cjs/components/ErrorSummary/index.js +6 -4
  72. package/dist/cjs/components/FileIcon/index.js +6 -4
  73. package/dist/cjs/components/FileList/index.js +6 -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 +6 -4
  77. package/dist/cjs/components/IconButton/index.js +8 -7
  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 +5 -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 +9 -7
  86. package/dist/cjs/components/RadioButton/index.js +6 -5
  87. package/dist/cjs/components/RadioButtonList/index.js +7 -6
  88. package/dist/cjs/components/Slider/index.js +6 -5
  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 -7
  92. package/dist/cjs/components/TextArea/index.js +9 -7
  93. package/dist/cjs/components/Textfield/index.js +9 -8
  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 +7 -6
  98. package/dist/cjs/components/Video/index.js +11 -10
  99. package/dist/cjs/components/VideoController/index.js +9 -7
  100. package/dist/cjs/hooks/useAudioRecorder.js +1 -1
  101. package/dist/cjs/hooks/useBindWebRTC.js +2 -2
  102. package/dist/cjs/hooks/useMdStreamBuffer.js +1 -1
  103. package/dist/cjs/hooks/useMicrophone.js +1 -1
  104. package/dist/cjs/hooks/useTrackRenders.js +2 -2
  105. package/dist/cjs/hooks.js +3 -3
  106. package/dist/cjs/index.js +10 -10
  107. package/dist/cjs/stores/LocalDB.js +3 -3
  108. package/dist/cjs/stores/SSE.js +2 -2
  109. package/dist/cjs/stores/WS.js +2 -2
  110. package/dist/cjs/stores/WebRTC.js +2 -2
  111. package/dist/cjs/stores/microphone.js +2 -2
  112. package/dist/cjs/stores/modal.js +1 -1
  113. package/dist/cjs/stores/tip.js +1 -1
  114. package/dist/cjs/stores/toast.js +1 -1
  115. package/dist/cjs/stores/uploads.js +2 -2
  116. package/dist/cjs/stores/video.js +1 -1
  117. package/dist/cjs/stores/volume.js +2 -2
  118. package/dist/cjs/stores/window.js +2 -2
  119. package/dist/cjs/stores.js +33 -33
  120. package/dist/cjs/utils/index.js +7 -7
  121. package/dist/cjs/utils/objects/index.js +2 -2
  122. package/dist/cjs/workers/uploads/uploads.js +2 -2
  123. package/dist/esm/chunks/{AudioBubble-RS8y7dsg.mjs → AudioBubble-C8RHNRZ_.mjs} +7 -3
  124. package/dist/esm/chunks/{Avatar-aAJORBJw.mjs → Avatar-B5dBNLzt.mjs} +2 -2
  125. package/dist/esm/chunks/{AvatarGroup-De2PfopD.mjs → AvatarGroup-CXIojYDR.mjs} +2 -2
  126. package/dist/esm/chunks/{Badge--3RVYqU8.mjs → Badge-CMEuRMVe.mjs} +1 -1
  127. package/dist/esm/chunks/{Button-BdZR6DjE.mjs → Button-DvW5z2Fy.mjs} +6 -6
  128. package/dist/esm/chunks/{ButtonBar-aXeHOw1R.mjs → ButtonBar-CFxfVpe3.mjs} +3 -3
  129. package/dist/esm/chunks/{Camera-1ccvR8X_.mjs → Camera-BV_CFREh.mjs} +9 -5
  130. package/dist/esm/chunks/{CheckBox-Dqzf1PRK.mjs → CheckBox-DHFFL-Jq.mjs} +3 -3
  131. package/dist/esm/chunks/{Chip-Czj1STPd.mjs → Chip-Cuh20guW.mjs} +4 -4
  132. package/dist/esm/chunks/{DivInput-jUEneium.mjs → DivInput-BxW5ri5Q.mjs} +2 -2
  133. package/dist/esm/chunks/{Dot-B4fdZ-qc.mjs → Dot-zriuPgn8.mjs} +1 -1
  134. package/dist/esm/chunks/{DrggablePanel-Db0KZhaF.mjs → DrggablePanel-hAxQGwCH.mjs} +6 -2
  135. package/dist/esm/chunks/{DropDown-B_CJwDGS.mjs → DropDown-B0CYM8o5.mjs} +3 -3
  136. package/dist/esm/chunks/{ErrorSummary-D6kTokzc.mjs → ErrorSummary-I17C5u75.mjs} +6 -2
  137. package/dist/esm/chunks/{FileIcon-dId2Wu-m.mjs → FileIcon-CuIzwDJs.mjs} +6 -2
  138. package/dist/esm/chunks/{FileList-rMjli1tu.mjs → FileList-DhitNTMJ.mjs} +5 -5
  139. package/dist/esm/chunks/{FlexDiv-DqZwxOvB.mjs → FlexDiv-DMXeGSEr.mjs} +1 -1
  140. package/dist/esm/chunks/{Grouper-C648B8m9.mjs → Grouper-BfkNOB5K.mjs} +7 -3
  141. package/dist/esm/chunks/{Icon-BfSLuS2u.mjs → Icon-QUVzyYBt.mjs} +6 -2
  142. package/dist/esm/chunks/{IconButton-4YlfRQap.mjs → IconButton-DIodt9r2.mjs} +5 -5
  143. package/dist/esm/chunks/{IndexedDB-DrgyB0PG.mjs → IndexedDB-DHk5y9UO.mjs} +1 -1
  144. package/dist/esm/chunks/{Label-oVWJfERc.mjs → Label-DlYEhytS.mjs} +2 -2
  145. package/dist/esm/chunks/{Level-B_tkn_tn.mjs → Level-BpxVLm1m.mjs} +3 -3
  146. package/dist/esm/chunks/{Modal-BVg29B5N.mjs → Modal-Dg3jWsON.mjs} +5 -5
  147. package/dist/esm/chunks/{ModalController-CCRe0HlG.mjs → ModalController-CDaKXxq3.mjs} +6 -2
  148. package/dist/esm/chunks/{Overlay-DuGDfhI3.mjs → Overlay-DfkhMYtD.mjs} +1 -1
  149. package/dist/esm/chunks/{Pager-DyaWNJMq.mjs → Pager-C4aHLVBY.mjs} +2 -2
  150. package/dist/esm/chunks/{ProgressIndicator-Bv7actNC.mjs → ProgressIndicator-BrLB_HEn.mjs} +6 -2
  151. package/dist/esm/chunks/{PromptInput-C9eDiw2i.mjs → PromptInput-BLs3B_Um.mjs} +8 -4
  152. package/dist/esm/chunks/{RadioButton-Bob5MqKC.mjs → RadioButton-lGkQ2BjR.mjs} +3 -3
  153. package/dist/esm/chunks/{RadioButtonList-BfCE3UGK.mjs → RadioButtonList-Dwdbj7oq.mjs} +3 -3
  154. package/dist/esm/chunks/{Slider-IqjVgxEE.mjs → Slider-C5FcSmsD.mjs} +7 -3
  155. package/dist/esm/chunks/{Spacer-BA15uw0_.mjs → Spacer-CUub-zd9.mjs} +1 -1
  156. package/dist/esm/chunks/{Switch-Cns1adcy.mjs → Switch-BZx31_TC.mjs} +1 -1
  157. package/dist/esm/chunks/{TabBar-Dd4U3BPU.mjs → TabBar-BUlSi-mM.mjs} +10 -6
  158. package/dist/esm/chunks/{TextArea-CFUXAGYz.mjs → TextArea-CrTPPqPj.mjs} +2 -2
  159. package/dist/esm/chunks/{TextField-BFDmFyx7.mjs → TextField-DJqLzBpE.mjs} +9 -5
  160. package/dist/esm/chunks/{Tip-BcStWxJN.mjs → Tip-6Frqfzpi.mjs} +2 -2
  161. package/dist/esm/chunks/{Toast-DQG2mzvy.mjs → Toast-CphE3OkY.mjs} +8 -4
  162. package/dist/esm/chunks/{ToggleButton-Cp2K772X.mjs → ToggleButton-BXB_VtB3.mjs} +2 -2
  163. package/dist/esm/chunks/{UploadArea-DEf5hbbR.mjs → UploadArea-B4jM32ER.mjs} +4 -4
  164. package/dist/esm/chunks/{Video-CHmn9myN.mjs → Video-DgkfQgi8.mjs} +5 -5
  165. package/dist/esm/chunks/{VideoController-BvWVGSY-.mjs → VideoController-M3g4Pwtc.mjs} +9 -5
  166. package/dist/esm/chunks/{WSConnection-gFHF2tW7.mjs → WSConnection-M552mwWy.mjs} +1 -1
  167. package/dist/esm/chunks/{WebRTCConnection-C_MYSUKv.mjs → WebRTCConnection-BZNdtUKO.mjs} +1 -1
  168. package/dist/esm/chunks/{localDBStore-CeqAEGXO.mjs → localDBStore-GmKJfODp.mjs} +2 -2
  169. package/dist/esm/chunks/{microphoneStore-DGfGaTKO.mjs → microphoneStore-CvhusEyi.mjs} +1 -1
  170. package/dist/esm/chunks/{misc-B9d7ECMP.mjs → misc-CWSDLgrI.mjs} +1 -1
  171. package/dist/esm/chunks/rafThrottle-BX_UbPqi.mjs +23 -0
  172. package/dist/esm/chunks/{sseStore-PGCxQBZ-.mjs → sseStore-CBd7nxYG.mjs} +2 -2
  173. package/dist/esm/chunks/{uploads-worker-SXS-_T5t.mjs → uploads-worker-Dg7tuCe8.mjs} +1 -1
  174. package/dist/esm/chunks/{uploadsStore-CZQGe1-z.mjs → uploadsStore-bAoNL5My.mjs} +1 -1
  175. package/dist/esm/chunks/{viewState-po_PH0Tv.mjs → viewState-C-AmMZQr.mjs} +125 -39
  176. package/dist/esm/chunks/{volumeStore-BSE--DBm.mjs → volumeStore-BnfcWvWI.mjs} +1 -1
  177. package/dist/esm/chunks/{webRTCStore-rzdk9ao2.mjs → webRTCStore-BUW-j3A9.mjs} +2 -2
  178. package/dist/esm/chunks/{windowStore-CMPgwtfm.mjs → windowStore-CW_UBAZc.mjs} +1 -1
  179. package/dist/esm/components/AudioBubble/index.mjs +12 -4
  180. package/dist/esm/components/Avatar/index.mjs +3 -3
  181. package/dist/esm/components/AvatarGroup/index.mjs +4 -4
  182. package/dist/esm/components/Badge/index.mjs +2 -2
  183. package/dist/esm/components/Button/index.mjs +16 -8
  184. package/dist/esm/components/ButtonBar/index.mjs +12 -4
  185. package/dist/esm/components/Camera/index.mjs +14 -6
  186. package/dist/esm/components/CheckBox/index.mjs +12 -4
  187. package/dist/esm/components/Chip/index.mjs +13 -5
  188. package/dist/esm/components/DataTable/index.mjs +16 -4
  189. package/dist/esm/components/DivInput/index.mjs +3 -3
  190. package/dist/esm/components/Dot/index.mjs +2 -2
  191. package/dist/esm/components/DraggablePanel/index.mjs +11 -3
  192. package/dist/esm/components/DropDown/index.mjs +12 -4
  193. package/dist/esm/components/ErrorSummary/index.mjs +11 -3
  194. package/dist/esm/components/FileIcon/index.mjs +11 -3
  195. package/dist/esm/components/FileList/index.mjs +14 -6
  196. package/dist/esm/components/FlexDiv/index.mjs +2 -2
  197. package/dist/esm/components/Grouper/index.mjs +13 -5
  198. package/dist/esm/components/Icon/index.mjs +12 -4
  199. package/dist/esm/components/IconButton/index.mjs +15 -7
  200. package/dist/esm/components/Label/index.mjs +3 -3
  201. package/dist/esm/components/Level/index.mjs +4 -4
  202. package/dist/esm/components/Modal/index.mjs +18 -10
  203. package/dist/esm/components/ModalController/index.mjs +11 -5
  204. package/dist/esm/components/Overlay/index.mjs +2 -2
  205. package/dist/esm/components/Pager/index.mjs +3 -3
  206. package/dist/esm/components/Progress/index.mjs +12 -4
  207. package/dist/esm/components/PromptInput/index.mjs +19 -11
  208. package/dist/esm/components/RadioButton/index.mjs +12 -4
  209. package/dist/esm/components/RadioButtonList/index.mjs +13 -5
  210. package/dist/esm/components/Slider/index.mjs +12 -4
  211. package/dist/esm/components/Spacer/index.mjs +2 -2
  212. package/dist/esm/components/Switch/index.mjs +2 -2
  213. package/dist/esm/components/TabBar/index.mjs +16 -8
  214. package/dist/esm/components/TextArea/index.mjs +17 -9
  215. package/dist/esm/components/Textfield/index.mjs +18 -10
  216. package/dist/esm/components/Tip/index.mjs +3 -3
  217. package/dist/esm/components/Toast/index.mjs +13 -5
  218. package/dist/esm/components/ToggleButton/index.mjs +17 -9
  219. package/dist/esm/components/UploadArea/index.mjs +15 -7
  220. package/dist/esm/components/Video/index.mjs +20 -12
  221. package/dist/esm/components/VideoController/index.mjs +18 -12
  222. package/dist/esm/hooks/useAudioRecorder.mjs +1 -1
  223. package/dist/esm/hooks/useBindWebRTC.mjs +5 -5
  224. package/dist/esm/hooks/useMdStreamBuffer.mjs +2 -2
  225. package/dist/esm/hooks/useMicrophone.mjs +1 -1
  226. package/dist/esm/hooks/useTrackRenders.mjs +2 -2
  227. package/dist/esm/hooks.mjs +6 -6
  228. package/dist/esm/index.mjs +59 -57
  229. package/dist/esm/stores/LocalDB.mjs +3 -3
  230. package/dist/esm/stores/SSE.mjs +3 -3
  231. package/dist/esm/stores/WS.mjs +2 -2
  232. package/dist/esm/stores/WebRTC.mjs +3 -3
  233. package/dist/esm/stores/microphone.mjs +2 -2
  234. package/dist/esm/stores/modal.mjs +1 -1
  235. package/dist/esm/stores/tip.mjs +1 -1
  236. package/dist/esm/stores/toast.mjs +1 -1
  237. package/dist/esm/stores/uploads.mjs +3 -3
  238. package/dist/esm/stores/video.mjs +1 -1
  239. package/dist/esm/stores/volume.mjs +2 -2
  240. package/dist/esm/stores/window.mjs +2 -2
  241. package/dist/esm/stores.mjs +17 -17
  242. package/dist/esm/utils/index.mjs +12 -10
  243. package/dist/esm/utils/objects/index.mjs +7 -7
  244. package/dist/esm/workers/uploads/uploads.mjs +2 -2
  245. package/dist/styles.css +2404 -2404
  246. package/dist/types/components/DataTable/_data.d.ts +1 -0
  247. package/dist/types/components/DataTable/_resolveVirtualizeRows.d.ts +1 -0
  248. package/dist/types/components/DataTable/_resolveVirtualizeRows.test.d.ts +1 -0
  249. package/dist/types/components/DataTable/_types.d.ts +4 -0
  250. package/dist/types/components/DataTable/_useRowWindow.d.ts +15 -0
  251. package/dist/types/components/DataTable/_useRowWindow.test.d.ts +1 -0
  252. package/dist/types/utils/functions/rafThrottle.d.ts +13 -0
  253. package/dist/types/utils/functions/rafThrottle.test.d.ts +1 -0
  254. package/dist/types/utils/index.d.ts +1 -0
  255. package/package.json +1 -1
  256. /package/dist/cjs/chunks/{MdStreamBuffer-Bb8KtdxB.js → MdStreamBuffer-CGJnTgCw.js} +0 -0
  257. /package/dist/cjs/chunks/{SSEConnection-Z24RvA6i.js → SSEConnection-BMf8pqRz.js} +0 -0
  258. /package/dist/cjs/chunks/{_types-BUF4XqUe.js → _types-CrX297Zz.js} +0 -0
  259. /package/dist/cjs/chunks/{audioVisualizer-Rueu5ZHV.js → audioVisualizer-C-2yYuy_.js} +0 -0
  260. /package/dist/cjs/chunks/{colors-RoRQ4v1O.js → colors-BXuIv_3Q.js} +0 -0
  261. /package/dist/cjs/chunks/{debounce-DQsYw8xJ.js → debounce-COjctjMe.js} +0 -0
  262. /package/dist/cjs/chunks/{modalStore-B3Dph5oQ.js → modalStore-dUsnPsMX.js} +0 -0
  263. /package/dist/cjs/chunks/{sharedTypes-CHfVI1zE.js → sharedTypes-gCKfLc_F.js} +0 -0
  264. /package/dist/cjs/chunks/{tipStore-70nY_RIN.js → tipStore-D8rVy17f.js} +0 -0
  265. /package/dist/cjs/chunks/{toastStore-DN9EkaEV.js → toastStore-B-KcGjfs.js} +0 -0
  266. /package/dist/cjs/chunks/{tslib.es6-DfmUmGCa.js → tslib.es6-1b_WVOSx.js} +0 -0
  267. /package/dist/cjs/chunks/{videoStore-sYfx70eD.js → videoStore-CEvD64Je.js} +0 -0
  268. /package/dist/esm/chunks/{MdStreamBuffer-9noAAJDG.mjs → MdStreamBuffer-D5RvMu84.mjs} +0 -0
  269. /package/dist/esm/chunks/{SSEConnection-BzSx2MVL.mjs → SSEConnection-CgipQWUg.mjs} +0 -0
  270. /package/dist/esm/chunks/{_types-8oqMW7QN.mjs → _types-DJdJTzFY.mjs} +0 -0
  271. /package/dist/esm/chunks/{audioVisualizer-CKobQkae.mjs → audioVisualizer-PV2YALCi.mjs} +0 -0
  272. /package/dist/esm/chunks/{colors-DcRJdJ4W.mjs → colors-BuApx_ML.mjs} +0 -0
  273. /package/dist/esm/chunks/{debounce-BAwoZhDR.mjs → debounce-DcUXZUBL.mjs} +0 -0
  274. /package/dist/esm/chunks/{modalStore-h4dkwTzK.mjs → modalStore-CxNd2bGs.mjs} +0 -0
  275. /package/dist/esm/chunks/{sharedTypes-DikFhWJ8.mjs → sharedTypes-BPqmyLRY.mjs} +0 -0
  276. /package/dist/esm/chunks/{tipStore-CVuWvjq9.mjs → tipStore-kz1SU1W0.mjs} +0 -0
  277. /package/dist/esm/chunks/{toastStore-DvBK8Lra.mjs → toastStore-gM8d8pIo.mjs} +0 -0
  278. /package/dist/esm/chunks/{tslib.es6-C0yUTS6p.mjs → tslib.es6-ChkYAtDK.mjs} +0 -0
  279. /package/dist/esm/chunks/{videoStore-CmUM9swM.mjs → videoStore-Tv0qujkr.mjs} +0 -0
@@ -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-DIodt9r2.mjs";
7
7
 
8
- import { L as Label } from "./Label-oVWJfERc.mjs";
8
+ import { L as Label } from "./Label-DlYEhytS.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-CWSDLgrI.mjs";
7
7
 
8
- import { I as Icon } from "./Icon-BfSLuS2u.mjs";
8
+ import { I as Icon } from "./Icon-QUVzyYBt.mjs";
9
9
 
10
- import { P as ProgressIndicator } from "./ProgressIndicator-Bv7actNC.mjs";
10
+ import { P as ProgressIndicator } from "./ProgressIndicator-BrLB_HEn.mjs";
11
11
 
12
- import { F as FileList } from "./FileList-rMjli1tu.mjs";
12
+ import { F as FileList } from "./FileList-DhitNTMJ.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-ChkYAtDK.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-CWSDLgrI.mjs";
9
9
 
10
- import { I as IconButton } from "./IconButton-4YlfRQap.mjs";
10
+ import { I as IconButton } from "./IconButton-DIodt9r2.mjs";
11
11
 
12
- import { S as Slider } from "./Slider-IqjVgxEE.mjs";
12
+ import { S as Slider } from "./Slider-C5FcSmsD.mjs";
13
13
 
14
- import { T as ToggleButton } from "./ToggleButton-Cp2K772X.mjs";
14
+ import { T as ToggleButton } from "./ToggleButton-BXB_VtB3.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-ChkYAtDK.mjs";
3
3
 
4
4
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
5
5
 
@@ -7,13 +7,17 @@ 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 "./volumeStore-BnfcWvWI.mjs";
11
11
 
12
- import { I as IconButton } from "./IconButton-4YlfRQap.mjs";
12
+ import "./webRTCStore-BUW-j3A9.mjs";
13
13
 
14
- import { O as Overlay } from "./Overlay-DuGDfhI3.mjs";
14
+ import { s as setStyle } from "./misc-CWSDLgrI.mjs";
15
15
 
16
- import { u as useVideo, a as useVideoActions } from "./videoStore-CmUM9swM.mjs";
16
+ import { I as IconButton } from "./IconButton-DIodt9r2.mjs";
17
+
18
+ import { O as Overlay } from "./Overlay-DfkhMYtD.mjs";
19
+
20
+ import { u as useVideo, a as useVideoActions } from "./videoStore-Tv0qujkr.mjs";
17
21
 
18
22
  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
23
 
@@ -1,4 +1,4 @@
1
- import { _ as __awaiter } from "./tslib.es6-C0yUTS6p.mjs";
1
+ import { _ as __awaiter } from "./tslib.es6-ChkYAtDK.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-ChkYAtDK.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-ChkYAtDK.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-DHk5y9UO.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-ChkYAtDK.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-ChkYAtDK.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-ChkYAtDK.mjs";
4
4
 
5
- import { S as SSEConnection } from "./SSEConnection-BzSx2MVL.mjs";
5
+ import { S as SSEConnection } from "./SSEConnection-CgipQWUg.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-ChkYAtDK.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-Dg7tuCe8.mjs";
4
4
 
5
5
  let uploadsWorker = null;
6
6
 
@@ -2,9 +2,23 @@ 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-CWSDLgrI.mjs";
6
6
 
7
- import { I as Icon } from "./Icon-BfSLuS2u.mjs";
7
+ import { I as Icon } from "./Icon-QUVzyYBt.mjs";
8
+
9
+ import "../theme/colors.mjs";
10
+
11
+ import "./tslib.es6-ChkYAtDK.mjs";
12
+
13
+ import { r as rafThrottle } from "./rafThrottle-BX_UbPqi.mjs";
14
+
15
+ import "./webRTCStore-BUW-j3A9.mjs";
16
+
17
+ import "./volumeStore-BnfcWvWI.mjs";
18
+
19
+ import "../hooks/useWindow.mjs";
20
+
21
+ import { useObserveResize } from "../hooks/useObserveResize.mjs";
8
22
 
9
23
  var styles = {
10
24
  tableWrapper: "DataTable-module_tableWrapper__BzoJE",
@@ -49,8 +63,10 @@ const resolveAlignValue = value => {
49
63
  handle.style.left = "right" === position ? `${x + width}px` : `${x}px`;
50
64
  };
51
65
 
66
+ const DEFAULT_OVERSCAN = 25;
67
+
52
68
  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 = {
69
+ 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
70
  handle: resizeBarRef,
55
71
  parent: wrapperRef
56
72
  }, cornerBoxShadow = useMemo(() => {
@@ -204,16 +220,60 @@ function DataTable(props) {
204
220
  dragOver: dragOver,
205
221
  dragDrop: dragDrop
206
222
  };
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) => {
223
+ }(columnDefinitions, setColumnOrder, setDraggedColId, onColumnReorder, freezeColumn), rows = useMemo(() => [ ...filter ? tableData.filter((row, index, array) => filter(row, index, array)) : tableData ].sort((a, b) => {
212
224
  if (!(null == sortKey ? void 0 : sortKey.key)) return 0;
213
225
  const {key: key, dir: dir} = sortKey;
214
226
  if (a[key] === b[key]) return 0;
215
227
  return (a[key] > b[key] ? 1 : -1) * ("desc" === dir ? -1 : 1);
216
- }), [ tableData, filter, sortKey ]), handleCellHover = useCallback((col, colId, row, rowId, over) => {
228
+ }), [ tableData, filter, sortKey ]), shouldVirtualize = (explicit = virtualizeRows,
229
+ rowCount = rows.length, threshold = virtualizeRowThreshold, null != explicit ? explicit : rowCount > threshold);
230
+ var explicit, rowCount, threshold;
231
+ const rowWindow = function(wrapperRef, rowCount, options) {
232
+ const {enabled: enabled, rowHeight: rowHeight, overscan: overscan = DEFAULT_OVERSCAN} = options, viewport = useObserveResize(enabled ? wrapperRef : void 0, {
233
+ ignore: "width"
234
+ }), [scrollTop, setScrollTop] = useState(0), throttledSetScrollTop = useMemo(() => rafThrottle(value => setScrollTop(value)), []);
235
+ useEffect(() => () => throttledSetScrollTop.cancel(), [ throttledSetScrollTop ]);
236
+ const handleScroll = useCallback(nextScrollTop => {
237
+ enabled && throttledSetScrollTop(nextScrollTop);
238
+ }, [ enabled, throttledSetScrollTop ]);
239
+ return useEffect(() => {
240
+ if (!enabled) return;
241
+ const maxScrollTop = Math.max(0, rowCount * rowHeight - (viewport.height || 0));
242
+ setScrollTop(prev => prev <= maxScrollTop ? prev : (wrapperRef.current && (wrapperRef.current.scrollTop = 0),
243
+ 0));
244
+ }, [ enabled, rowCount, rowHeight, viewport.height, wrapperRef ]), useMemo(() => {
245
+ if (!enabled || rowHeight <= 0) return {
246
+ enabled: !1,
247
+ startIndex: 0,
248
+ endIndex: rowCount,
249
+ topSpacerHeight: 0,
250
+ bottomSpacerHeight: 0,
251
+ handleScroll: handleScroll
252
+ };
253
+ 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);
254
+ return {
255
+ enabled: !0,
256
+ startIndex: startIndex,
257
+ endIndex: endIndex,
258
+ topSpacerHeight: startIndex * rowHeight,
259
+ bottomSpacerHeight: Math.max(0, rowCount - endIndex) * rowHeight,
260
+ handleScroll: handleScroll
261
+ };
262
+ }, [ enabled, rowHeight, overscan, rowCount, viewport.height, scrollTop, handleScroll ]);
263
+ }(wrapperRef, rows.length, {
264
+ enabled: shouldVirtualize,
265
+ rowHeight: rowHeight,
266
+ overscan: overscanRows
267
+ });
268
+ useEffect(() => {
269
+ "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.'),
270
+ 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."));
271
+ }, [ shouldVirtualize, height, getRowId ]);
272
+ const handleScroll = useCallback(() => {
273
+ var _a, _b, _c, _d;
274
+ 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;
275
+ setHScroll(hScrollAmount > 0), setVScroll(vScrollAmount > 0), rowWindow.handleScroll(vScrollAmount);
276
+ }, [ rowWindow.handleScroll ]), handleCellHover = useCallback((col, colId, row, rowId, over) => {
217
277
  over ? (setHoveredRow(rowId), onMouseOver && onMouseOver(col, colId, row, rowId)) : (setHoveredRow(prev => prev === rowId ? null : prev),
218
278
  onMouseOut && onMouseOut(col, colId, row, rowId));
219
279
  }, [ onMouseOut, onMouseOver ]), handleClick = useCallback((col, colId, row, rowId, dbl) => {
@@ -275,6 +335,7 @@ function DataTable(props) {
275
335
  onScroll: handleScroll,
276
336
  children: [ jsxs("table", {
277
337
  className: styles.table,
338
+ "aria-rowcount": rowWindow.enabled ? rows.length + 1 : void 0,
278
339
  children: [ jsx("caption", {
279
340
  children: caption
280
341
  }), jsx("colgroup", {
@@ -290,7 +351,7 @@ function DataTable(props) {
290
351
  }), jsx("thead", {
291
352
  children: jsx("tr", {
292
353
  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;
354
+ 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
355
  return jsxs("th", {
295
356
  "data-column-id": col.id,
296
357
  className: `${styles.baseCell} ${styles.headerCell} ${styles.m}`,
@@ -298,7 +359,7 @@ function DataTable(props) {
298
359
  onKeyDown: e => accessibleKeyDown(e, () => handleSort(col.sort)),
299
360
  style: {
300
361
  cursor: cursor,
301
- opacity: opacity
362
+ background: background
302
363
  },
303
364
  tabIndex: sortable ? 0 : void 0,
304
365
  role: sortable ? "columnheader" : void 0,
@@ -318,37 +379,62 @@ function DataTable(props) {
318
379
  }, col.id);
319
380
  })
320
381
  })
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,
382
+ }), jsxs("tbody", {
383
+ children: [ rowWindow.enabled && rowWindow.topSpacerHeight > 0 && jsx("tr", {
384
+ children: jsx("td", {
385
+ colSpan: orderedColumns.length,
386
+ style: {
387
+ height: rowWindow.topSpacerHeight,
388
+ padding: 0,
389
+ border: 0,
390
+ background: backgroundColor
391
+ }
392
+ })
393
+ }), (rowWindow.enabled ? rows.slice(rowWindow.startIndex, rowWindow.endIndex) : rows).map((row, localIndex) => {
394
+ const rowIndex = rowWindow.enabled ? rowWindow.startIndex + localIndex : localIndex, isLastRow = rowIndex === rows.length - 1;
395
+ return jsx("tr", {
396
+ "aria-rowindex": rowWindow.enabled ? rowIndex + 2 : void 0,
397
+ children: orderedColumns.map((col, colIndex) => {
398
+ 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;
399
+ return jsxs("td", {
400
+ "data-column-id": `${colIndex}.${rowIndex}`,
401
+ className: `${styles.baseCell} ${styles.m}`,
402
+ onClick: () => handleClick(col, colIndex, row, rowIndex, !1),
403
+ onDoubleClick: () => handleClick(col, colIndex, row, rowIndex, !0),
404
+ onKeyDown: e => accessibleKeyDown(e, () => handleClick(col, colIndex, row, rowIndex, !1)),
405
+ onMouseOver: () => handleCellHover(col, colIndex, row, rowIndex, !0),
406
+ onFocus: () => handleCellHover(col, colIndex, row, rowIndex, !0),
407
+ onMouseOut: () => handleCellHover(col, colIndex, row, rowIndex, !1),
408
+ onBlur: () => handleCellHover(col, colIndex, row, rowIndex, !1),
341
409
  style: {
342
- justifyContent: justifyContent,
343
- alignItems: alignItems,
344
- padding: padding,
345
- whiteSpace: whiteSpace
410
+ background: background,
411
+ opacity: opacity,
412
+ borderBottom: borderBottom
346
413
  },
347
- children: renderBodyCell(col, row, rowIndex)
348
- }) ]
349
- }, col.id);
414
+ children: [ renderCellResizeHandle(last, col), jsx("div", {
415
+ className: styles.baseCellWrapper,
416
+ style: {
417
+ justifyContent: justifyContent,
418
+ alignItems: alignItems,
419
+ padding: padding,
420
+ whiteSpace: whiteSpace
421
+ },
422
+ children: renderBodyCell(col, row, rowIndex)
423
+ }) ]
424
+ }, col.id);
425
+ })
426
+ }, getRowId ? getRowId(row, rowIndex) : rowIndex);
427
+ }), rowWindow.enabled && rowWindow.bottomSpacerHeight > 0 && jsx("tr", {
428
+ children: jsx("td", {
429
+ colSpan: orderedColumns.length,
430
+ style: {
431
+ height: rowWindow.bottomSpacerHeight,
432
+ padding: 0,
433
+ border: 0,
434
+ background: backgroundColor
435
+ }
350
436
  })
351
- }, getRowId ? getRowId(row, rowIndex) : rowIndex))
437
+ }) ]
352
438
  }) ]
353
439
  }), jsx("div", {
354
440
  className: styles.resizeBar,
@@ -1,4 +1,4 @@
1
- import { _ as __awaiter } from "./tslib.es6-C0yUTS6p.mjs";
1
+ import { _ as __awaiter } from "./tslib.es6-ChkYAtDK.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-ChkYAtDK.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-BZNdtUKO.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-ChkYAtDK.mjs";
2
2
 
3
3
  import { create } from "zustand";
4
4
 
@@ -1,6 +1,6 @@
1
- export { A as AudioBubble } from "../../chunks/AudioBubble-RS8y7dsg.mjs";
1
+ export { A as AudioBubble } from "../../chunks/AudioBubble-C8RHNRZ_.mjs";
2
2
 
3
- import "../../chunks/tslib.es6-C0yUTS6p.mjs";
3
+ import "../../chunks/tslib.es6-ChkYAtDK.mjs";
4
4
 
5
5
  import "react/jsx-runtime";
6
6
 
@@ -24,8 +24,16 @@ import "../../theme/type.mjs";
24
24
 
25
25
  import "../../hooks/useObserveTheme.mjs";
26
26
 
27
- import "../../chunks/colors-DcRJdJ4W.mjs";
27
+ import "../../chunks/colors-BuApx_ML.mjs";
28
28
 
29
- import "../../chunks/audioVisualizer-CKobQkae.mjs";
29
+ import "../../chunks/audioVisualizer-PV2YALCi.mjs";
30
+
31
+ import "../../chunks/webRTCStore-BUW-j3A9.mjs";
32
+
33
+ import "zustand";
34
+
35
+ import "../../chunks/WebRTCConnection-BZNdtUKO.mjs";
36
+
37
+ import "../../chunks/volumeStore-BnfcWvWI.mjs";
30
38
 
31
39
  import "../../hooks/useWindow.mjs";
@@ -1,9 +1,9 @@
1
- export { A as Avatar } from "../../chunks/Avatar-aAJORBJw.mjs";
1
+ export { A as Avatar } from "../../chunks/Avatar-B5dBNLzt.mjs";
2
2
 
3
- import "../../chunks/tslib.es6-C0yUTS6p.mjs";
3
+ import "../../chunks/tslib.es6-ChkYAtDK.mjs";
4
4
 
5
5
  import "react/jsx-runtime";
6
6
 
7
7
  import "react";
8
8
 
9
- import "../../chunks/misc-B9d7ECMP.mjs";
9
+ import "../../chunks/misc-CWSDLgrI.mjs";
@@ -1,11 +1,11 @@
1
- export { A as AvatarGroup } from "../../chunks/AvatarGroup-De2PfopD.mjs";
1
+ export { A as AvatarGroup } from "../../chunks/AvatarGroup-CXIojYDR.mjs";
2
2
 
3
- import "../../chunks/tslib.es6-C0yUTS6p.mjs";
3
+ import "../../chunks/tslib.es6-ChkYAtDK.mjs";
4
4
 
5
5
  import "react/jsx-runtime";
6
6
 
7
7
  import "react";
8
8
 
9
- import "../../chunks/Avatar-aAJORBJw.mjs";
9
+ import "../../chunks/Avatar-B5dBNLzt.mjs";
10
10
 
11
- import "../../chunks/misc-B9d7ECMP.mjs";
11
+ import "../../chunks/misc-CWSDLgrI.mjs";
@@ -1,6 +1,6 @@
1
- export { B as Badge } from "../../chunks/Badge--3RVYqU8.mjs";
1
+ export { B as Badge } from "../../chunks/Badge-CMEuRMVe.mjs";
2
2
 
3
- import "../../chunks/tslib.es6-C0yUTS6p.mjs";
3
+ import "../../chunks/tslib.es6-ChkYAtDK.mjs";
4
4
 
5
5
  import "react/jsx-runtime";
6
6
 
@@ -1,6 +1,6 @@
1
- export { B as Button } from "../../chunks/Button-BdZR6DjE.mjs";
1
+ export { B as Button } from "../../chunks/Button-DvW5z2Fy.mjs";
2
2
 
3
- import "../../chunks/tslib.es6-C0yUTS6p.mjs";
3
+ import "../../chunks/tslib.es6-ChkYAtDK.mjs";
4
4
 
5
5
  import "react/jsx-runtime";
6
6
 
@@ -8,11 +8,11 @@ import "motion/react";
8
8
 
9
9
  import "react";
10
10
 
11
- import "../../chunks/Badge--3RVYqU8.mjs";
11
+ import "../../chunks/Badge-CMEuRMVe.mjs";
12
12
 
13
- import "../../chunks/Dot-B4fdZ-qc.mjs";
13
+ import "../../chunks/Dot-zriuPgn8.mjs";
14
14
 
15
- import "../../chunks/Icon-BfSLuS2u.mjs";
15
+ import "../../chunks/Icon-QUVzyYBt.mjs";
16
16
 
17
17
  import "../../hooks/useTheme.mjs";
18
18
 
@@ -32,10 +32,18 @@ import "../../theme/type.mjs";
32
32
 
33
33
  import "../../hooks/useObserveTheme.mjs";
34
34
 
35
- import "../../chunks/misc-B9d7ECMP.mjs";
35
+ import "../../chunks/misc-CWSDLgrI.mjs";
36
+
37
+ import "../../chunks/webRTCStore-BUW-j3A9.mjs";
38
+
39
+ import "zustand";
40
+
41
+ import "../../chunks/WebRTCConnection-BZNdtUKO.mjs";
42
+
43
+ import "../../chunks/volumeStore-BnfcWvWI.mjs";
36
44
 
37
45
  import "../../hooks/useWindow.mjs";
38
46
 
39
- import "../../chunks/ProgressIndicator-Bv7actNC.mjs";
47
+ import "../../chunks/ProgressIndicator-BrLB_HEn.mjs";
40
48
 
41
- import "../../chunks/sharedTypes-DikFhWJ8.mjs";
49
+ import "../../chunks/sharedTypes-BPqmyLRY.mjs";
@@ -1,14 +1,14 @@
1
- export { B as ButtonBar } from "../../chunks/ButtonBar-aXeHOw1R.mjs";
1
+ export { B as ButtonBar } from "../../chunks/ButtonBar-CFxfVpe3.mjs";
2
2
 
3
- import "../../chunks/tslib.es6-C0yUTS6p.mjs";
3
+ import "../../chunks/tslib.es6-ChkYAtDK.mjs";
4
4
 
5
5
  import "react/jsx-runtime";
6
6
 
7
7
  import "react";
8
8
 
9
- import "../../chunks/misc-B9d7ECMP.mjs";
9
+ import "../../chunks/misc-CWSDLgrI.mjs";
10
10
 
11
- import "../../chunks/Icon-BfSLuS2u.mjs";
11
+ import "../../chunks/Icon-QUVzyYBt.mjs";
12
12
 
13
13
  import "../../hooks/useTheme.mjs";
14
14
 
@@ -28,4 +28,12 @@ import "../../theme/type.mjs";
28
28
 
29
29
  import "../../hooks/useObserveTheme.mjs";
30
30
 
31
+ import "../../chunks/webRTCStore-BUW-j3A9.mjs";
32
+
33
+ import "zustand";
34
+
35
+ import "../../chunks/WebRTCConnection-BZNdtUKO.mjs";
36
+
37
+ import "../../chunks/volumeStore-BnfcWvWI.mjs";
38
+
31
39
  import "../../hooks/useWindow.mjs";
@@ -1,6 +1,6 @@
1
- export { C as Camera } from "../../chunks/Camera-1ccvR8X_.mjs";
1
+ export { C as Camera } from "../../chunks/Camera-BV_CFREh.mjs";
2
2
 
3
- import "../../chunks/tslib.es6-C0yUTS6p.mjs";
3
+ import "../../chunks/tslib.es6-ChkYAtDK.mjs";
4
4
 
5
5
  import "react/jsx-runtime";
6
6
 
@@ -24,12 +24,20 @@ import "../../theme/type.mjs";
24
24
 
25
25
  import "../../hooks/useObserveTheme.mjs";
26
26
 
27
- import "../../chunks/misc-B9d7ECMP.mjs";
27
+ import "../../chunks/misc-CWSDLgrI.mjs";
28
28
 
29
- import "../../chunks/colors-DcRJdJ4W.mjs";
29
+ import "../../chunks/colors-BuApx_ML.mjs";
30
+
31
+ import "../../chunks/webRTCStore-BUW-j3A9.mjs";
32
+
33
+ import "zustand";
34
+
35
+ import "../../chunks/WebRTCConnection-BZNdtUKO.mjs";
36
+
37
+ import "../../chunks/volumeStore-BnfcWvWI.mjs";
30
38
 
31
39
  import "../../hooks/useWindow.mjs";
32
40
 
33
- import "../../chunks/Avatar-aAJORBJw.mjs";
41
+ import "../../chunks/Avatar-B5dBNLzt.mjs";
34
42
 
35
- import "../../chunks/Icon-BfSLuS2u.mjs";
43
+ import "../../chunks/Icon-QUVzyYBt.mjs";