@apple-pie/slice 0.1.59 → 0.2.0

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 (704) hide show
  1. package/README.md +17 -1
  2. package/dist/cjs/chunks/ActionButton-DhHiZwXV.js +200 -0
  3. package/dist/cjs/chunks/Attachment-DhyXAQUf.js +351 -0
  4. package/dist/cjs/chunks/AudioBubble-DS5Oea-b.js +46 -0
  5. package/dist/cjs/chunks/AudioLevel-uQJ-v5Qz.js +54 -0
  6. package/dist/cjs/chunks/Avatar-a2GHmu1o.js +125 -0
  7. package/dist/cjs/chunks/AvatarGroup-CWpoauJP.js +70 -0
  8. package/dist/cjs/chunks/Badge-DtVP2qH0.js +26 -0
  9. package/dist/cjs/chunks/Button-Cr5SlNim.js +293 -0
  10. package/dist/cjs/chunks/ButtonBar-DDupZZ_u.js +96 -0
  11. package/dist/cjs/chunks/Camera-bjjzmzar.js +560 -0
  12. package/dist/cjs/chunks/CheckBox-DBaKpMhg.js +66 -0
  13. package/dist/cjs/chunks/Chip-DsZHDLKG.js +203 -0
  14. package/dist/cjs/chunks/ContentEditable-BaxU62Mg.js +144 -0
  15. package/dist/cjs/chunks/DialogBox-C-ZvHDH6.js +204 -0
  16. package/dist/cjs/chunks/Dot-0Dv8WX0n.js +92 -0
  17. package/dist/cjs/chunks/DrggablePanel-zi27w3wY.js +251 -0
  18. package/dist/cjs/chunks/DropDown-BcTjhAtE.js +269 -0
  19. package/dist/cjs/chunks/ErrorSummary-DDz7nQWX.js +166 -0
  20. package/dist/cjs/chunks/{FileIcon-63XvrV1q.js → FileIcon-BM8n3o-c.js} +68 -40
  21. package/dist/cjs/chunks/FileList-T2_mhI_t.js +204 -0
  22. package/dist/cjs/chunks/FlexBox-DTCyWJeT.js +278 -0
  23. package/dist/cjs/chunks/FlexDiv-5YN9Hgxy.js +7 -0
  24. package/dist/cjs/chunks/Icon-COY7IZkK.js +7821 -0
  25. package/dist/cjs/chunks/IconButton-KJr15EW6.js +10 -0
  26. package/dist/cjs/chunks/{IndexedDB-ClIpb2ob.js → IndexedDB-DwKh2Gfp.js} +1 -1
  27. package/dist/cjs/chunks/ModalController-D0S9VnNH.js +143 -0
  28. package/dist/cjs/chunks/ModalHostContext-DLgUa9Vl.js +5 -0
  29. package/dist/cjs/chunks/Overlay-CVZLmK8H.js +77 -0
  30. package/dist/cjs/chunks/Pager-QEUi0r59.js +146 -0
  31. package/dist/cjs/chunks/PopMenu-DkxhTcwD.js +423 -0
  32. package/dist/cjs/chunks/PopMenuController-CmS28S4h.js +32 -0
  33. package/dist/cjs/chunks/ProgressIndicator-Ddj5dfEA.js +237 -0
  34. package/dist/cjs/chunks/PromptInput-DtepCo-l.js +248 -0
  35. package/dist/cjs/chunks/RadioButton-B2HGjkQk.js +101 -0
  36. package/dist/cjs/chunks/RadioButtonList-Oc7oMivb.js +88 -0
  37. package/dist/cjs/chunks/Slider-Y7zMFKiM.js +170 -0
  38. package/dist/cjs/chunks/Spacer-CM7sstpQ.js +22 -0
  39. package/dist/cjs/chunks/Switch-CWJh4Pi4.js +70 -0
  40. package/dist/cjs/chunks/Tab-DFvjUNPs.js +96 -0
  41. package/dist/cjs/chunks/TabBar-lB0aqabp.js +186 -0
  42. package/dist/cjs/chunks/TextArea-UudvZQ9R.js +189 -0
  43. package/dist/cjs/chunks/TextField-QzgdqFys.js +312 -0
  44. package/dist/cjs/chunks/Tip-BxS2Wzz3.js +115 -0
  45. package/dist/cjs/chunks/ToggleButton-De8_kkMd.js +53 -0
  46. package/dist/cjs/chunks/UploadArea-BtqwFTDl.js +223 -0
  47. package/dist/cjs/chunks/Video-C1GATYS9.js +396 -0
  48. package/dist/cjs/chunks/VideoController-CnYz7Sdt.js +169 -0
  49. package/dist/cjs/chunks/{WSConnection-CDWOkk8n.js → WSConnection-DZKTeDtZ.js} +1 -1
  50. package/dist/cjs/chunks/{WebRTCConnection-b8jZNRYr.js → WebRTCConnection-DIUG7Gx3.js} +1 -1
  51. package/dist/cjs/chunks/_types-3m6769Z0.js +910 -0
  52. package/dist/cjs/chunks/_types-C_Jf14DZ.js +273 -0
  53. package/dist/cjs/chunks/audioVisualizer-Bak7PWOv.js +71 -0
  54. package/dist/cjs/chunks/breakpoints-BDw1OJh9.js +18 -0
  55. package/dist/cjs/chunks/{browserChannelsStore-PGtTaJyY.js → browserChannelsStore-DHE7Vr4_.js} +4 -2
  56. package/dist/cjs/chunks/colors-hDzzq_Dk.js +62 -0
  57. package/dist/cjs/chunks/files-RYD9L_pI.js +25 -0
  58. package/dist/cjs/chunks/getVideoControls-LxSY7z8h.js +19 -0
  59. package/dist/cjs/chunks/getWaterTransition-s_55VKK2.js +11 -0
  60. package/dist/cjs/chunks/{localDBStore-BRd0iQuq.js → localDBStore-CTWlm2t-.js} +6 -2
  61. package/dist/cjs/chunks/{microphoneStore-DljI0Zpj.js → microphoneStore-D7DuvQeX.js} +1 -1
  62. package/dist/cjs/chunks/{misc-BallZ366.js → misc-PmT7cZzC.js} +29 -38
  63. package/dist/cjs/chunks/{modalStore-BexwvT-T.js → modalStore-BCn998Jz.js} +20 -17
  64. package/dist/cjs/chunks/popMenuStore-DqyTqDrl.js +20 -0
  65. package/dist/cjs/chunks/resolveColor-DkYThq2J.js +9 -0
  66. package/dist/cjs/chunks/resolveColorProps-DE1k1P-Z.js +17 -0
  67. package/dist/cjs/chunks/resolveShortcut-DiQdb8VR.js +38 -0
  68. package/dist/cjs/chunks/sharedTypes-BDMIewR9.js +22 -0
  69. package/dist/cjs/chunks/{sseStore-cSWpKohM.js → sseStore-DfS7e3vY.js} +3 -3
  70. package/dist/cjs/chunks/themes-bwU5x3_5.js +34 -0
  71. package/dist/cjs/chunks/toastStore-BxX1AtE7.js +33 -0
  72. package/dist/cjs/chunks/type.module-Dk5b_rHG.js +28 -0
  73. package/dist/cjs/chunks/{uploads-worker-DzrC-YiR.js → uploads-worker-stCHn8-D.js} +1 -1
  74. package/dist/cjs/chunks/{uploadsStore-BajO-auR.js → uploadsStore-Ck3gzZuD.js} +2 -2
  75. package/dist/cjs/chunks/useAudioVisualizer-D7bStvIe.js +42 -0
  76. package/dist/cjs/chunks/useModalHost-B8oi4tfb.js +52 -0
  77. package/dist/cjs/chunks/usePrefersReducedMotion-GpD17CAE.js +16 -0
  78. package/dist/cjs/chunks/viewState-CMugA-g4.js +627 -0
  79. package/dist/cjs/chunks/{volumeStore-DzgmrI6q.js → volumeStore-BoEoo9wA.js} +1 -1
  80. package/dist/cjs/chunks/{webRTCStore-BXHg9abP.js → webRTCStore-OGkXAovD.js} +6 -2
  81. package/dist/cjs/chunks/{windowStore-DpNMptuw.js → windowStore-HYnXbosz.js} +1 -1
  82. package/dist/cjs/components/Attachment/index.js +26 -0
  83. package/dist/cjs/components/AudioBubble/index.js +11 -8
  84. package/dist/cjs/components/AudioLevel/index.js +9 -0
  85. package/dist/cjs/components/Avatar/index.js +5 -3
  86. package/dist/cjs/components/AvatarGroup/index.js +4 -3
  87. package/dist/cjs/components/Badge/index.js +4 -3
  88. package/dist/cjs/components/Button/index.js +14 -11
  89. package/dist/cjs/components/ButtonBar/index.js +11 -9
  90. package/dist/cjs/components/Camera/index.js +15 -9
  91. package/dist/cjs/components/CheckBox/index.js +11 -10
  92. package/dist/cjs/components/Chip/index.js +13 -10
  93. package/dist/cjs/components/ContentEditable/index.js +8 -0
  94. package/dist/cjs/components/DataTable/index.js +12 -10
  95. package/dist/cjs/components/DialogBox/index.js +21 -0
  96. package/dist/cjs/components/Dot/index.js +8 -3
  97. package/dist/cjs/components/DraggablePanel/index.js +10 -10
  98. package/dist/cjs/components/DropDown/index.js +12 -10
  99. package/dist/cjs/components/ErrorSummary/index.js +10 -7
  100. package/dist/cjs/components/FileIcon/index.js +8 -9
  101. package/dist/cjs/components/FileList/index.js +16 -10
  102. package/dist/cjs/components/FlexBox/index.js +23 -0
  103. package/dist/cjs/components/FlexDiv/index.js +11 -5
  104. package/dist/cjs/components/Icon/index.js +8 -7
  105. package/dist/cjs/components/IconButton/index.js +15 -21
  106. package/dist/cjs/components/ModalController/index.js +11 -6
  107. package/dist/cjs/components/Overlay/index.js +9 -3
  108. package/dist/cjs/components/Pager/index.js +9 -3
  109. package/dist/cjs/components/PopMenu/index.js +17 -0
  110. package/dist/cjs/components/PopMenuController/index.js +18 -0
  111. package/dist/cjs/components/Progress/index.js +13 -10
  112. package/dist/cjs/components/PromptInput/index.js +19 -13
  113. package/dist/cjs/components/RadioButton/index.js +11 -10
  114. package/dist/cjs/components/RadioButtonList/index.js +12 -10
  115. package/dist/cjs/components/Slider/index.js +4 -8
  116. package/dist/cjs/components/Spacer/index.js +2 -2
  117. package/dist/cjs/components/Switch/index.js +9 -3
  118. package/dist/cjs/components/Tab/index.js +15 -0
  119. package/dist/cjs/components/TabBar/index.js +15 -11
  120. package/dist/cjs/components/TextArea/index.js +11 -12
  121. package/dist/cjs/components/Textfield/index.js +15 -11
  122. package/dist/cjs/components/Tip/index.js +9 -4
  123. package/dist/cjs/components/Toast/index.js +13 -10
  124. package/dist/cjs/components/ToggleButton/index.js +14 -11
  125. package/dist/cjs/components/UploadArea/index.js +18 -12
  126. package/dist/cjs/components/Video/index.js +18 -14
  127. package/dist/cjs/components/VideoController/index.js +17 -13
  128. package/dist/cjs/hooks/useAudioRecorder.js +1 -1
  129. package/dist/cjs/hooks/useBindWebRTC.js +4 -3
  130. package/dist/cjs/hooks/useClipboard.js +3 -2
  131. package/dist/cjs/hooks/useDoubleClick.js +6 -4
  132. package/dist/cjs/hooks/useInfiniteScroll.js +1 -1
  133. package/dist/cjs/hooks/useMdStreamBuffer.js +7 -2
  134. package/dist/cjs/hooks/useMicrophone.js +1 -1
  135. package/dist/cjs/hooks/useObserveTheme.js +4 -4
  136. package/dist/cjs/hooks/useTheme.js +9 -1
  137. package/dist/cjs/hooks/useToolTip.js +27 -32
  138. package/dist/cjs/hooks/useTrackRenders.js +2 -2
  139. package/dist/cjs/hooks/useWindow.js +13 -23
  140. package/dist/cjs/hooks.js +13 -12
  141. package/dist/cjs/index.js +55 -47
  142. package/dist/cjs/providers/ThemeProvider.js +4 -3
  143. package/dist/cjs/providers/themeServer.test.js +398 -403
  144. package/dist/cjs/providers.js +4 -3
  145. package/dist/cjs/stores/LocalDB.js +8 -6
  146. package/dist/cjs/stores/SSE.js +4 -3
  147. package/dist/cjs/stores/WS.js +4 -3
  148. package/dist/cjs/stores/WebRTC.js +8 -6
  149. package/dist/cjs/stores/activeTab.js +1 -1
  150. package/dist/cjs/stores/browserChannel.js +5 -4
  151. package/dist/cjs/stores/microphone.js +2 -2
  152. package/dist/cjs/stores/modal.js +1 -1
  153. package/dist/cjs/stores/popMenu.js +7 -0
  154. package/dist/cjs/stores/tip.js +1 -1
  155. package/dist/cjs/stores/toast.js +1 -1
  156. package/dist/cjs/stores/uploads.js +2 -2
  157. package/dist/cjs/stores/video.js +1 -1
  158. package/dist/cjs/stores/volume.js +2 -2
  159. package/dist/cjs/stores/window.js +2 -2
  160. package/dist/cjs/stores.js +38 -34
  161. package/dist/cjs/theme/colors.js +479 -231
  162. package/dist/cjs/theme/themes.js +3 -30
  163. package/dist/cjs/theme/type.js +31 -0
  164. package/dist/cjs/theme.js +10 -3
  165. package/dist/cjs/utils/index.js +24 -5
  166. package/dist/cjs/utils/objects/index.js +2 -2
  167. package/dist/cjs/workers/uploads/uploads.js +2 -2
  168. package/dist/css/type.module.css +27 -0
  169. package/dist/esm/chunks/ActionButton-guWI4qko.mjs +235 -0
  170. package/dist/esm/chunks/Attachment-BTSb0hKX.mjs +370 -0
  171. package/dist/esm/chunks/AudioBubble-D15lr4H6.mjs +68 -0
  172. package/dist/esm/chunks/AudioLevel-BcNrcGlh.mjs +63 -0
  173. package/dist/esm/chunks/Avatar-C4JzdLTW.mjs +132 -0
  174. package/dist/esm/chunks/AvatarGroup-Cn33-JkE.mjs +78 -0
  175. package/dist/esm/chunks/Badge-DpnuS-Ey.mjs +32 -0
  176. package/dist/esm/chunks/Button-BwTo8mSI.mjs +315 -0
  177. package/dist/esm/chunks/ButtonBar-BwHxexlC.mjs +111 -0
  178. package/dist/esm/chunks/Camera-DWmX5FZ-.mjs +585 -0
  179. package/dist/esm/chunks/CheckBox-CjmPDfLi.mjs +76 -0
  180. package/dist/esm/chunks/Chip-BfyUpZbH.mjs +223 -0
  181. package/dist/esm/chunks/ContentEditable-BvlyAJve.mjs +154 -0
  182. package/dist/esm/chunks/DialogBox-W9i6k5mv.mjs +224 -0
  183. package/dist/esm/chunks/Dot-CG395pS6.mjs +104 -0
  184. package/dist/esm/chunks/DrggablePanel-0Ef6TYrd.mjs +270 -0
  185. package/dist/esm/chunks/DropDown-CiB0Rp_P.mjs +286 -0
  186. package/dist/esm/chunks/ErrorSummary-3XoZyvmX.mjs +192 -0
  187. package/dist/esm/chunks/{FileIcon-B7_cbtHF.mjs → FileIcon-hKJZoGIx.mjs} +73 -53
  188. package/dist/esm/chunks/FileList-DxB0ZORo.mjs +220 -0
  189. package/dist/esm/chunks/FlexBox-VfQehVtm.mjs +296 -0
  190. package/dist/esm/chunks/FlexDiv-BZ5PBnE3.mjs +6 -0
  191. package/dist/esm/chunks/Icon-43T0fkr6.mjs +7841 -0
  192. package/dist/esm/chunks/IconButton-oqYTUJit.mjs +12 -0
  193. package/dist/esm/chunks/{IndexedDB-CB92RX6-.mjs → IndexedDB-DjCLZUf0.mjs} +1 -1
  194. package/dist/esm/chunks/ModalController-fvF-RWS8.mjs +169 -0
  195. package/dist/esm/chunks/ModalHostContext-BrT_g7sc.mjs +5 -0
  196. package/dist/esm/chunks/Overlay-C_FMcUyg.mjs +93 -0
  197. package/dist/esm/chunks/Pager-LqYNCZ8I.mjs +158 -0
  198. package/dist/esm/chunks/PopMenu-BkXfm6Sz.mjs +455 -0
  199. package/dist/esm/chunks/PopMenuController-Dj3uvc8F.mjs +44 -0
  200. package/dist/esm/chunks/ProgressIndicator-CR3pA1Me.mjs +266 -0
  201. package/dist/esm/chunks/PromptInput-Bq18i1Ac.mjs +266 -0
  202. package/dist/esm/chunks/RadioButton-DTUKMjvM.mjs +109 -0
  203. package/dist/esm/chunks/RadioButtonList-DsOgpe0m.mjs +99 -0
  204. package/dist/esm/chunks/Slider-DaZTE-eD.mjs +176 -0
  205. package/dist/esm/chunks/Spacer-CsJxUJ7E.mjs +24 -0
  206. package/dist/esm/chunks/Switch-BDFgMC0b.mjs +84 -0
  207. package/dist/esm/chunks/Tab-B8yJ9Qy4.mjs +105 -0
  208. package/dist/esm/chunks/TabBar-2kQmtcwW.mjs +214 -0
  209. package/dist/esm/chunks/TextArea-C32MToPG.mjs +201 -0
  210. package/dist/esm/chunks/TextField-BXrN1QkD.mjs +344 -0
  211. package/dist/esm/chunks/Tip-4R9wW1mE.mjs +133 -0
  212. package/dist/esm/chunks/ToggleButton-CGHa458C.mjs +61 -0
  213. package/dist/esm/chunks/UploadArea-Dq7ST-RG.mjs +237 -0
  214. package/dist/esm/chunks/Video-KuG0k3ly.mjs +418 -0
  215. package/dist/esm/chunks/VideoController-DQoDDY1a.mjs +201 -0
  216. package/dist/esm/chunks/{WSConnection-BENe51Ue.mjs → WSConnection-ByCYrNOq.mjs} +1 -1
  217. package/dist/esm/chunks/{WebRTCConnection-Cwx1C6Ta.mjs → WebRTCConnection-DTjS3UUU.mjs} +1 -1
  218. package/dist/esm/chunks/_types-B6NStINb.mjs +296 -0
  219. package/dist/esm/chunks/_types-ntN11tyz.mjs +910 -0
  220. package/dist/esm/chunks/audioVisualizer-BMSpJwTS.mjs +71 -0
  221. package/dist/esm/chunks/breakpoints-Dn9DgpJe.mjs +18 -0
  222. package/dist/esm/chunks/{browserChannelsStore-oGeBSxAT.mjs → browserChannelsStore-s7VUhLS9.mjs} +6 -2
  223. package/dist/esm/chunks/colors-DZ9xpMoE.mjs +63 -0
  224. package/dist/esm/chunks/files-6nwSZlJK.mjs +26 -0
  225. package/dist/esm/chunks/getVideoControls-aoqr4T3P.mjs +20 -0
  226. package/dist/esm/chunks/getWaterTransition-CrDSFJdk.mjs +12 -0
  227. package/dist/esm/chunks/{localDBStore-ZwQD3ino.mjs → localDBStore-DYhPmkHz.mjs} +7 -3
  228. package/dist/esm/chunks/{microphoneStore-D8VxjdFZ.mjs → microphoneStore-BzSEbtfK.mjs} +1 -1
  229. package/dist/esm/chunks/{misc-DBIXjc2Q.mjs → misc-DI5GSqkt.mjs} +24 -34
  230. package/dist/esm/chunks/{modalStore-GWNWh1tE.mjs → modalStore-BgYt3q8T.mjs} +20 -17
  231. package/dist/esm/chunks/popMenuStore-DtApFGaq.mjs +18 -0
  232. package/dist/esm/chunks/resolveColor-Kvs7kDyy.mjs +9 -0
  233. package/dist/esm/chunks/resolveColorProps-CwAU25V-.mjs +17 -0
  234. package/dist/esm/chunks/resolveShortcut-C43ivgMc.mjs +37 -0
  235. package/dist/esm/chunks/sharedTypes-DYXO7VNa.mjs +25 -0
  236. package/dist/esm/chunks/{sseStore-CZqJmpUR.mjs → sseStore-Duybemwt.mjs} +7 -3
  237. package/dist/esm/chunks/themes-DCtDY7XT.mjs +40 -0
  238. package/dist/esm/chunks/toastStore-Ds1Kx4-O.mjs +29 -0
  239. package/dist/esm/chunks/type.module--fVZ2ic7.mjs +28 -0
  240. package/dist/esm/chunks/{uploads-worker-DuyqBeHz.mjs → uploads-worker-CpJtBCvY.mjs} +1 -1
  241. package/dist/esm/chunks/{uploadsStore-D9Ftk4Ke.mjs → uploadsStore-B_7wyr8k.mjs} +1 -1
  242. package/dist/esm/chunks/useAudioVisualizer-Dw8XLBmS.mjs +42 -0
  243. package/dist/esm/chunks/useModalHost-DiYFB7Mq.mjs +51 -0
  244. package/dist/esm/chunks/usePrefersReducedMotion-BWAwMMLE.mjs +15 -0
  245. package/dist/esm/chunks/viewState-D7e7CrHf.mjs +659 -0
  246. package/dist/esm/chunks/{volumeStore-hrteUkB-.mjs → volumeStore-mqWIRL0J.mjs} +1 -1
  247. package/dist/esm/chunks/{webRTCStore-B2ri-_li.mjs → webRTCStore-BepH2O9l.mjs} +7 -3
  248. package/dist/esm/chunks/{windowStore-DIdy_IoC.mjs → windowStore-C8rGk_0b.mjs} +1 -1
  249. package/dist/esm/components/Attachment/index.mjs +71 -0
  250. package/dist/esm/components/AudioBubble/index.mjs +21 -11
  251. package/dist/esm/components/AudioLevel/index.mjs +21 -0
  252. package/dist/esm/components/Avatar/index.mjs +9 -3
  253. package/dist/esm/components/AvatarGroup/index.mjs +10 -4
  254. package/dist/esm/components/Badge/index.mjs +8 -2
  255. package/dist/esm/components/Button/index.mjs +27 -17
  256. package/dist/esm/components/ButtonBar/index.mjs +22 -14
  257. package/dist/esm/components/Camera/index.mjs +37 -13
  258. package/dist/esm/components/CheckBox/index.mjs +20 -16
  259. package/dist/esm/components/Chip/index.mjs +27 -17
  260. package/dist/esm/components/ContentEditable/index.mjs +17 -0
  261. package/dist/esm/components/DataTable/index.mjs +27 -21
  262. package/dist/esm/components/DialogBox/index.mjs +75 -0
  263. package/dist/esm/components/Dot/index.mjs +28 -2
  264. package/dist/esm/components/DraggablePanel/index.mjs +16 -20
  265. package/dist/esm/components/DropDown/index.mjs +25 -15
  266. package/dist/esm/components/ErrorSummary/index.mjs +22 -10
  267. package/dist/esm/components/FileIcon/index.mjs +8 -16
  268. package/dist/esm/components/FileList/index.mjs +40 -16
  269. package/dist/esm/components/FlexBox/index.mjs +39 -0
  270. package/dist/esm/components/FlexDiv/index.mjs +33 -3
  271. package/dist/esm/components/Icon/index.mjs +15 -11
  272. package/dist/esm/components/IconButton/index.mjs +31 -19
  273. package/dist/esm/components/ModalController/index.mjs +33 -9
  274. package/dist/esm/components/Overlay/index.mjs +30 -2
  275. package/dist/esm/components/Pager/index.mjs +31 -3
  276. package/dist/esm/components/PopMenu/index.mjs +59 -0
  277. package/dist/esm/components/PopMenuController/index.mjs +63 -0
  278. package/dist/esm/components/Progress/index.mjs +21 -11
  279. package/dist/esm/components/PromptInput/index.mjs +43 -21
  280. package/dist/esm/components/RadioButton/index.mjs +18 -14
  281. package/dist/esm/components/RadioButtonList/index.mjs +23 -17
  282. package/dist/esm/components/Slider/index.mjs +5 -23
  283. package/dist/esm/components/Spacer/index.mjs +2 -2
  284. package/dist/esm/components/Switch/index.mjs +30 -2
  285. package/dist/esm/components/Tab/index.mjs +51 -0
  286. package/dist/esm/components/TabBar/index.mjs +32 -16
  287. package/dist/esm/components/TextArea/index.mjs +17 -23
  288. package/dist/esm/components/Textfield/index.mjs +33 -17
  289. package/dist/esm/components/Tip/index.mjs +29 -3
  290. package/dist/esm/components/Toast/index.mjs +23 -13
  291. package/dist/esm/components/ToggleButton/index.mjs +30 -22
  292. package/dist/esm/components/UploadArea/index.mjs +41 -17
  293. package/dist/esm/components/Video/index.mjs +34 -24
  294. package/dist/esm/components/VideoController/index.mjs +44 -26
  295. package/dist/esm/hooks/useAudioRecorder.mjs +1 -1
  296. package/dist/esm/hooks/useBindWebRTC.mjs +12 -6
  297. package/dist/esm/hooks/useClipboard.mjs +9 -3
  298. package/dist/esm/hooks/useDoubleClick.mjs +8 -5
  299. package/dist/esm/hooks/useInfiniteScroll.mjs +1 -1
  300. package/dist/esm/hooks/useMdStreamBuffer.mjs +9 -3
  301. package/dist/esm/hooks/useMicrophone.mjs +1 -1
  302. package/dist/esm/hooks/useObserveTheme.mjs +5 -1
  303. package/dist/esm/hooks/useTheme.mjs +5 -1
  304. package/dist/esm/hooks/useToolTip.mjs +28 -33
  305. package/dist/esm/hooks/useTrackRenders.mjs +2 -2
  306. package/dist/esm/hooks/useWindow.mjs +6 -22
  307. package/dist/esm/hooks.mjs +16 -10
  308. package/dist/esm/index.mjs +96 -60
  309. package/dist/esm/providers/ThemeProvider.mjs +5 -1
  310. package/dist/esm/providers/themeServer.test.mjs +398 -403
  311. package/dist/esm/providers.mjs +5 -1
  312. package/dist/esm/stores/LocalDB.mjs +10 -4
  313. package/dist/esm/stores/SSE.mjs +10 -4
  314. package/dist/esm/stores/WS.mjs +9 -3
  315. package/dist/esm/stores/WebRTC.mjs +10 -4
  316. package/dist/esm/stores/activeTab.mjs +1 -1
  317. package/dist/esm/stores/browserChannel.mjs +9 -3
  318. package/dist/esm/stores/microphone.mjs +2 -2
  319. package/dist/esm/stores/modal.mjs +1 -1
  320. package/dist/esm/stores/popMenu.mjs +3 -0
  321. package/dist/esm/stores/tip.mjs +1 -1
  322. package/dist/esm/stores/toast.mjs +1 -1
  323. package/dist/esm/stores/uploads.mjs +3 -3
  324. package/dist/esm/stores/video.mjs +1 -1
  325. package/dist/esm/stores/volume.mjs +2 -2
  326. package/dist/esm/stores/window.mjs +2 -2
  327. package/dist/esm/stores.mjs +28 -20
  328. package/dist/esm/theme/colors.mjs +479 -231
  329. package/dist/esm/theme/themes.mjs +6 -35
  330. package/dist/esm/theme/type.mjs +31 -0
  331. package/dist/esm/theme.mjs +5 -1
  332. package/dist/esm/utils/index.mjs +37 -12
  333. package/dist/esm/utils/objects/index.mjs +8 -8
  334. package/dist/esm/workers/uploads/uploads.mjs +2 -2
  335. package/dist/styles.css +5106 -3872
  336. package/dist/types/components/Attachment/Attachment.d.ts +2 -0
  337. package/dist/types/components/Attachment/AttachmentImagePreview.d.ts +6 -0
  338. package/dist/types/components/Attachment/_types.d.ts +47 -0
  339. package/dist/types/components/Attachment/index.d.ts +3 -0
  340. package/dist/types/components/Attachment/useContentThumbnail.d.ts +19 -0
  341. package/dist/types/components/AudioBubble/AudioBubble.d.ts +1 -1
  342. package/dist/types/components/AudioBubble/_types.d.ts +4 -3
  343. package/dist/types/components/AudioLevel/AudioLevel.d.ts +5 -0
  344. package/dist/types/components/AudioLevel/_types.d.ts +22 -0
  345. package/dist/types/components/AudioLevel/index.d.ts +2 -0
  346. package/dist/types/components/Avatar/Avatar.d.ts +6 -1
  347. package/dist/types/components/Avatar/_types.d.ts +28 -15
  348. package/dist/types/components/AvatarGroup/AvatarGroup.d.ts +1 -1
  349. package/dist/types/components/AvatarGroup/AvatarGroupContext.d.ts +7 -0
  350. package/dist/types/components/AvatarGroup/_types.d.ts +26 -15
  351. package/dist/types/components/AvatarGroup/index.d.ts +1 -1
  352. package/dist/types/components/Badge/Badge.d.ts +1 -1
  353. package/dist/types/components/Badge/_types.d.ts +11 -3
  354. package/dist/types/components/Button/Button.d.ts +19 -52
  355. package/dist/types/components/Button/_types.d.ts +18 -14
  356. package/dist/types/components/ButtonBar/ButtonBar.d.ts +0 -14
  357. package/dist/types/components/ButtonBar/_types.d.ts +16 -13
  358. package/dist/types/components/Camera/Camera.d.ts +2 -4
  359. package/dist/types/components/Camera/_types.d.ts +25 -29
  360. package/dist/types/components/Camera/cameraSession.d.ts +59 -0
  361. package/dist/types/components/Camera/index.d.ts +1 -1
  362. package/dist/types/components/CheckBox/CheckBox.d.ts +1 -1
  363. package/dist/types/components/CheckBox/_types.d.ts +16 -4
  364. package/dist/types/components/Chip/Chip.d.ts +1 -1
  365. package/dist/types/components/Chip/_types.d.ts +35 -19
  366. package/dist/types/components/ContentEditable/ContentEditable.d.ts +3 -0
  367. package/dist/types/components/ContentEditable/_types.d.ts +26 -0
  368. package/dist/types/components/ContentEditable/index.d.ts +2 -0
  369. package/dist/types/components/DataTable/DataTable.d.ts +1 -1
  370. package/dist/types/components/DataTable/_types.d.ts +21 -11
  371. package/dist/types/components/DataTable/_useResizeColumn.d.ts +1 -1
  372. package/dist/types/components/DataTable/_useRowWindow.d.ts +1 -0
  373. package/dist/types/components/DataTable/compareValues.d.ts +2 -0
  374. package/dist/types/components/DialogBox/DialogBox.d.ts +6 -0
  375. package/dist/types/components/DialogBox/_types.d.ts +68 -0
  376. package/dist/types/components/DialogBox/index.d.ts +3 -0
  377. package/dist/types/components/DialogBox/parseSections.d.ts +7 -0
  378. package/dist/types/components/DialogBox/sections.d.ts +20 -0
  379. package/dist/types/components/DialogBox/useDialogBox.d.ts +4 -0
  380. package/dist/types/components/Dot/Dot.d.ts +1 -1
  381. package/dist/types/components/Dot/_types.d.ts +8 -2
  382. package/dist/types/components/DraggablePanel/DrggablePanel.d.ts +5 -55
  383. package/dist/types/components/DraggablePanel/_types.d.ts +46 -0
  384. package/dist/types/components/DraggablePanel/index.d.ts +1 -0
  385. package/dist/types/components/DraggablePanel/panelConstraints.d.ts +3 -0
  386. package/dist/types/components/DropDown/_types.d.ts +45 -16
  387. package/dist/types/components/DropDown/resolveOptions.d.ts +11 -0
  388. package/dist/types/components/ErrorSummary/ErrorSummary.d.ts +30 -2
  389. package/dist/types/components/ErrorSummary/_types.d.ts +16 -4
  390. package/dist/types/components/FileIcon/FileIcon.d.ts +1 -2
  391. package/dist/types/components/FileIcon/_types.d.ts +11 -6
  392. package/dist/types/components/FileIcon/index.d.ts +2 -2
  393. package/dist/types/components/FileList/FileList.d.ts +2 -2
  394. package/dist/types/components/FileList/_types.d.ts +16 -6
  395. package/dist/types/components/FileList/fileListValues.d.ts +5 -0
  396. package/dist/types/components/FlexBox/FlexBox.d.ts +3 -0
  397. package/dist/types/components/FlexBox/_types.d.ts +62 -0
  398. package/dist/types/components/FlexBox/index.d.ts +2 -0
  399. package/dist/types/components/FlexDiv/FlexDiv.d.ts +2 -64
  400. package/dist/types/components/FlexDiv/_types.d.ts +4 -146
  401. package/dist/types/components/Icon/Icon.d.ts +1 -1
  402. package/dist/types/components/Icon/_types.d.ts +910 -132
  403. package/dist/types/components/Icon/iconRegistry.d.ts +3 -2
  404. package/dist/types/components/Icon/index.d.ts +1 -0
  405. package/dist/types/components/IconButton/ActionButton.d.ts +19 -0
  406. package/dist/types/components/IconButton/IconButton.d.ts +1 -1
  407. package/dist/types/components/IconButton/_types.d.ts +24 -72
  408. package/dist/types/components/IconButton/index.d.ts +1 -2
  409. package/dist/types/components/ModalController/ModalController.d.ts +2 -2
  410. package/dist/types/components/ModalController/ModalHostContext.d.ts +1 -0
  411. package/dist/types/components/ModalController/_types.d.ts +3 -5
  412. package/dist/types/components/ModalController/useModalHost.d.ts +3 -0
  413. package/dist/types/components/Overlay/Overlay.d.ts +1 -1
  414. package/dist/types/components/Overlay/_types.d.ts +7 -8
  415. package/dist/types/components/Pager/Pager.d.ts +1 -1
  416. package/dist/types/components/Pager/_types.d.ts +21 -5
  417. package/dist/types/components/Pager/pagerLogic.d.ts +9 -0
  418. package/dist/types/components/PopMenu/PopMenu.d.ts +3 -0
  419. package/dist/types/components/PopMenu/PopMenuContext.d.ts +10 -0
  420. package/dist/types/components/PopMenu/PopMenuGroup.d.ts +2 -0
  421. package/dist/types/components/PopMenu/PopMenuItem.d.ts +3 -0
  422. package/dist/types/components/PopMenu/_types.d.ts +110 -0
  423. package/dist/types/components/PopMenu/index.d.ts +4 -0
  424. package/dist/types/components/PopMenu/usePopMenu.d.ts +17 -0
  425. package/dist/types/components/PopMenu/usePopMenuPortal.d.ts +3 -0
  426. package/dist/types/components/PopMenuController/PopMenuController.d.ts +2 -0
  427. package/dist/types/components/PopMenuController/index.d.ts +1 -0
  428. package/dist/types/components/Progress/DoneCheck/DoneCheck.d.ts +1 -1
  429. package/dist/types/components/Progress/DoneCheck/_types.d.ts +5 -2
  430. package/dist/types/components/Progress/ProgressIndicator/ProgressIndicator.d.ts +2 -4
  431. package/dist/types/components/Progress/ProgressIndicator/_types.d.ts +19 -7
  432. package/dist/types/components/Progress/ProgressIndicator/useSpinnerPlayback.d.ts +3 -0
  433. package/dist/types/components/PromptInput/PromptInput.d.ts +50 -15
  434. package/dist/types/components/PromptInput/_types.d.ts +45 -8
  435. package/dist/types/components/PromptInput/index.d.ts +1 -1
  436. package/dist/types/components/PromptInput/promptText.d.ts +6 -0
  437. package/dist/types/components/RadioButton/RadioGroupContext.d.ts +11 -0
  438. package/dist/types/components/RadioButton/_types.d.ts +24 -13
  439. package/dist/types/components/RadioButtonList/_types.d.ts +17 -19
  440. package/dist/types/components/RadioButtonList/index.d.ts +1 -1
  441. package/dist/types/components/Slider/Slider.d.ts +1 -1
  442. package/dist/types/components/Slider/_types.d.ts +15 -9
  443. package/dist/types/components/Slider/sliderLogic.d.ts +6 -0
  444. package/dist/types/components/Spacer/index.d.ts +1 -1
  445. package/dist/types/components/Switch/_types.d.ts +18 -7
  446. package/dist/types/components/Tab/Tab.d.ts +3 -0
  447. package/dist/types/components/Tab/_types.d.ts +26 -0
  448. package/dist/types/components/Tab/index.d.ts +2 -0
  449. package/dist/types/components/TabBar/TabBar.d.ts +1 -1
  450. package/dist/types/components/TabBar/_types.d.ts +14 -37
  451. package/dist/types/components/TabBar/index.d.ts +1 -1
  452. package/dist/types/components/TabBar/shared.d.ts +22 -0
  453. package/dist/types/components/TextArea/TextArea.d.ts +1 -1
  454. package/dist/types/components/TextArea/_types.d.ts +32 -11
  455. package/dist/types/components/TextArea/index.d.ts +1 -1
  456. package/dist/types/components/Textfield/TextField.d.ts +2 -2
  457. package/dist/types/components/Textfield/_types.d.ts +41 -37
  458. package/dist/types/components/Tip/Tip.d.ts +1 -2
  459. package/dist/types/components/Tip/_types.d.ts +11 -18
  460. package/dist/types/components/Tip/useTipVisibility.d.ts +6 -0
  461. package/dist/types/components/Toast/Toast.d.ts +2 -2
  462. package/dist/types/components/Toast/_types.d.ts +25 -12
  463. package/dist/types/components/Toast/index.d.ts +1 -1
  464. package/dist/types/components/Toast/useToastLifecycle.d.ts +15 -0
  465. package/dist/types/components/ToggleButton/ToggleButton.d.ts +2 -2
  466. package/dist/types/components/ToggleButton/_types.d.ts +18 -30
  467. package/dist/types/components/UploadArea/UploadArea.d.ts +27 -19
  468. package/dist/types/components/UploadArea/_types.d.ts +23 -20
  469. package/dist/types/components/UploadArea/index.d.ts +1 -1
  470. package/dist/types/components/UploadArea/selection.d.ts +7 -0
  471. package/dist/types/components/UploadArea/useFileSelection.d.ts +30 -0
  472. package/dist/types/components/Video/Video.d.ts +2 -72
  473. package/dist/types/components/Video/_types.d.ts +37 -11
  474. package/dist/types/components/Video/getVideoControls.d.ts +3 -0
  475. package/dist/types/components/Video/index.d.ts +1 -1
  476. package/dist/types/components/VideoController/VideoController.d.ts +1 -1
  477. package/dist/types/components/VideoController/_types.d.ts +6 -1
  478. package/dist/types/components/playHelpers.d.ts +10 -233
  479. package/dist/types/components/sharedTypes.d.ts +31 -0
  480. package/dist/types/hooks/index.d.ts +1 -1
  481. package/dist/types/hooks/useToolTip/useToolTip.d.ts +1 -0
  482. package/dist/types/hooks/useWindow/useWindow.d.ts +5 -16
  483. package/dist/types/index.d.ts +39 -30
  484. package/dist/types/stores/index.d.ts +1 -0
  485. package/dist/types/stores/popMenu/_types.d.ts +13 -0
  486. package/dist/types/stores/popMenu/index.d.ts +2 -0
  487. package/dist/types/stores/popMenu/popMenuStore.d.ts +12 -0
  488. package/dist/types/stores/toast/_types.d.ts +6 -11
  489. package/dist/types/stores/toast/toastStore.d.ts +6 -6
  490. package/dist/types/stores/window/windowStore.d.ts +2 -2
  491. package/dist/types/theme/breakpoints/breakpoints.d.ts +11 -0
  492. package/dist/types/theme/colors/palette.d.ts +461 -0
  493. package/dist/types/theme/colors/recipes.d.ts +34 -0
  494. package/dist/types/theme/colors/resolveColor.d.ts +7 -0
  495. package/dist/types/theme/colors/types.d.ts +8 -92
  496. package/dist/types/theme/index.d.ts +4 -0
  497. package/dist/types/theme/type/type.d.ts +1 -0
  498. package/dist/types/theme/type/types.d.ts +3 -0
  499. package/dist/types/utils/audio/useAudioVisualizer.d.ts +3 -0
  500. package/dist/types/utils/functions/colors.d.ts +7 -0
  501. package/dist/types/utils/functions/files.d.ts +3 -4
  502. package/dist/types/utils/functions/misc.d.ts +12 -2
  503. package/dist/types/utils/functions/resolveColorProps.d.ts +2 -0
  504. package/dist/types/utils/functions/resolveShortcut.d.ts +3 -0
  505. package/dist/types/utils/index.d.ts +5 -1
  506. package/dist/types/utils/objects/audioVisualizer/audioVisualizer.d.ts +3 -0
  507. package/dist/types/utils/styling/getWaterTransition.d.ts +4 -0
  508. package/dist/types/utils/styling/reduceMotionTargets.d.ts +4 -0
  509. package/dist/types/utils/styling/usePrefersReducedMotion.d.ts +2 -0
  510. package/package.json +195 -193
  511. package/scripts/README.md +19 -0
  512. package/dist/cjs/chunks/AudioBubble-DAtkPfFK.js +0 -55
  513. package/dist/cjs/chunks/Avatar-BI8Gvsp7.js +0 -82
  514. package/dist/cjs/chunks/AvatarGroup-1IxbG6-D.js +0 -41
  515. package/dist/cjs/chunks/Badge-DMey3Pf3.js +0 -22
  516. package/dist/cjs/chunks/Button-BjmkIu7l.js +0 -265
  517. package/dist/cjs/chunks/ButtonBar-BxA8GQPM.js +0 -72
  518. package/dist/cjs/chunks/Camera-ByjATQDE.js +0 -380
  519. package/dist/cjs/chunks/CheckBox-DZng-9wI.js +0 -51
  520. package/dist/cjs/chunks/Chip-CqUDN_QK.js +0 -80
  521. package/dist/cjs/chunks/DivInput-GYDtuy4a.js +0 -101
  522. package/dist/cjs/chunks/Dot-BgyxIyrr.js +0 -72
  523. package/dist/cjs/chunks/DrggablePanel-BjOFnl0l.js +0 -224
  524. package/dist/cjs/chunks/DropDown-C0vZNCK4.js +0 -105
  525. package/dist/cjs/chunks/ErrorSummary-CVzk_ASK.js +0 -88
  526. package/dist/cjs/chunks/FileList-6qXKA_Ux.js +0 -223
  527. package/dist/cjs/chunks/FlexDiv-LwjVh6ls.js +0 -178
  528. package/dist/cjs/chunks/Grouper-BlWyuh_b.js +0 -63
  529. package/dist/cjs/chunks/Icon-BTjtQLNe.js +0 -1473
  530. package/dist/cjs/chunks/IconButton-C0yNYhI6.js +0 -182
  531. package/dist/cjs/chunks/Label-DsMFZd91.js +0 -106
  532. package/dist/cjs/chunks/Level-VKdsTW_-.js +0 -63
  533. package/dist/cjs/chunks/Modal-Dp5Wg1Bw.js +0 -128
  534. package/dist/cjs/chunks/ModalController-Cb2_7DtS.js +0 -81
  535. package/dist/cjs/chunks/Overlay-hOm9sYjr.js +0 -41
  536. package/dist/cjs/chunks/Pager-CPhi9uyP.js +0 -36
  537. package/dist/cjs/chunks/ProgressIndicator-CMsc_Npc.js +0 -140
  538. package/dist/cjs/chunks/PromptInput-6eDiLG4g.js +0 -161
  539. package/dist/cjs/chunks/RadioButton-DMxqwM6_.js +0 -55
  540. package/dist/cjs/chunks/RadioButtonList-kG_Y1d4X.js +0 -73
  541. package/dist/cjs/chunks/Slider-DGJomZGG.js +0 -169
  542. package/dist/cjs/chunks/Spacer-Z97EoNtJ.js +0 -26
  543. package/dist/cjs/chunks/Switch-CfzJd19R.js +0 -44
  544. package/dist/cjs/chunks/TabBar-C2aNS0Sd.js +0 -183
  545. package/dist/cjs/chunks/TextArea-G_MUJAHw.js +0 -77
  546. package/dist/cjs/chunks/TextField-CWIGERkd.js +0 -190
  547. package/dist/cjs/chunks/Tip-B7RF879X.js +0 -89
  548. package/dist/cjs/chunks/Toast-pkSkNuZo.js +0 -185
  549. package/dist/cjs/chunks/ToggleButton-DPc2x2EV.js +0 -45
  550. package/dist/cjs/chunks/UploadArea-DyVGwChS.js +0 -132
  551. package/dist/cjs/chunks/Video-Dh-_ouTP.js +0 -301
  552. package/dist/cjs/chunks/VideoController-CVm1CtaE.js +0 -95
  553. package/dist/cjs/chunks/_types-DxINS-ge.js +0 -140
  554. package/dist/cjs/chunks/audioVisualizer-C74sRH6D.js +0 -60
  555. package/dist/cjs/chunks/colors-BDwwQ2Y3.js +0 -27
  556. package/dist/cjs/chunks/debounce-Bi3gt_i6.js +0 -18
  557. package/dist/cjs/chunks/sharedTypes-XAbs742N.js +0 -6
  558. package/dist/cjs/chunks/toastStore-Bwus7v5O.js +0 -17
  559. package/dist/cjs/chunks/viewState-BVtEQ4sR.js +0 -497
  560. package/dist/cjs/components/DivInput/index.js +0 -7
  561. package/dist/cjs/components/Grouper/index.js +0 -14
  562. package/dist/cjs/components/Label/index.js +0 -12
  563. package/dist/cjs/components/Level/index.js +0 -7
  564. package/dist/cjs/components/Modal/index.js +0 -15
  565. package/dist/esm/chunks/AudioBubble-B8vlO9fq.mjs +0 -69
  566. package/dist/esm/chunks/Avatar-BMHnrzr3.mjs +0 -88
  567. package/dist/esm/chunks/AvatarGroup-BoBXPEbH.mjs +0 -47
  568. package/dist/esm/chunks/Badge-C7xDwrvC.mjs +0 -26
  569. package/dist/esm/chunks/Button-C6sTA1hG.mjs +0 -283
  570. package/dist/esm/chunks/ButtonBar-Bh3-UpMU.mjs +0 -82
  571. package/dist/esm/chunks/Camera-BXSLetAD.mjs +0 -398
  572. package/dist/esm/chunks/CheckBox-DkXJwLeU.mjs +0 -61
  573. package/dist/esm/chunks/Chip-XTbAoiHl.mjs +0 -92
  574. package/dist/esm/chunks/DivInput-TsyOx4x2.mjs +0 -113
  575. package/dist/esm/chunks/Dot-D0NtTwqi.mjs +0 -78
  576. package/dist/esm/chunks/DrggablePanel-BK9ukIbF.mjs +0 -236
  577. package/dist/esm/chunks/DropDown-F7yIB6EJ.mjs +0 -115
  578. package/dist/esm/chunks/ErrorSummary-SseJ5z1U.mjs +0 -101
  579. package/dist/esm/chunks/FileList-Bv9yn2QS.mjs +0 -231
  580. package/dist/esm/chunks/FlexDiv-3OxQ9y_1.mjs +0 -188
  581. package/dist/esm/chunks/Grouper-BcrjlgM-.mjs +0 -83
  582. package/dist/esm/chunks/Icon-He4S-Q8N.mjs +0 -1487
  583. package/dist/esm/chunks/IconButton-BGL-_8VW.mjs +0 -197
  584. package/dist/esm/chunks/Label-BouM6sY2.mjs +0 -119
  585. package/dist/esm/chunks/Level-CTkhQuiZ.mjs +0 -68
  586. package/dist/esm/chunks/Modal-BnbUOsKH.mjs +0 -142
  587. package/dist/esm/chunks/ModalController-Dk2VZcXW.mjs +0 -92
  588. package/dist/esm/chunks/Overlay-D5cMQSvL.mjs +0 -47
  589. package/dist/esm/chunks/Pager-4-2T_ZbJ.mjs +0 -42
  590. package/dist/esm/chunks/ProgressIndicator-DBf_bLtr.mjs +0 -156
  591. package/dist/esm/chunks/PromptInput-I10dUhFO.mjs +0 -175
  592. package/dist/esm/chunks/RadioButton-ZD7w9pql.mjs +0 -63
  593. package/dist/esm/chunks/RadioButtonList-h2_5VM4X.mjs +0 -81
  594. package/dist/esm/chunks/Slider-2Q6yVb8H.mjs +0 -183
  595. package/dist/esm/chunks/Spacer-Rj8PKnt3.mjs +0 -28
  596. package/dist/esm/chunks/Switch-C4zkPOMU.mjs +0 -50
  597. package/dist/esm/chunks/TabBar-bYgmIa-q.mjs +0 -205
  598. package/dist/esm/chunks/TextArea-BS0Iu1RB.mjs +0 -87
  599. package/dist/esm/chunks/TextField-BT1quQpj.mjs +0 -210
  600. package/dist/esm/chunks/Tip-B4Tg6gIC.mjs +0 -99
  601. package/dist/esm/chunks/Toast-DWHhX64K.mjs +0 -203
  602. package/dist/esm/chunks/ToggleButton-KAplYW5q.mjs +0 -53
  603. package/dist/esm/chunks/UploadArea-D_ytxxSf.mjs +0 -142
  604. package/dist/esm/chunks/Video-BHSzz3Wx.mjs +0 -316
  605. package/dist/esm/chunks/VideoController-D9ihYFYq.mjs +0 -114
  606. package/dist/esm/chunks/_types-FIe85AYv.mjs +0 -140
  607. package/dist/esm/chunks/audioVisualizer-BiB7Hun_.mjs +0 -60
  608. package/dist/esm/chunks/colors-DAIBQReF.mjs +0 -30
  609. package/dist/esm/chunks/debounce-BPsURiHk.mjs +0 -19
  610. package/dist/esm/chunks/sharedTypes-DdC4rvjp.mjs +0 -8
  611. package/dist/esm/chunks/toastStore-CRMyZAzS.mjs +0 -15
  612. package/dist/esm/chunks/viewState-BdLOLJlv.mjs +0 -527
  613. package/dist/esm/components/DivInput/index.mjs +0 -13
  614. package/dist/esm/components/Grouper/index.mjs +0 -47
  615. package/dist/esm/components/Label/index.mjs +0 -11
  616. package/dist/esm/components/Level/index.mjs +0 -15
  617. package/dist/esm/components/Modal/index.mjs +0 -57
  618. package/dist/types/components/DataTable/_resolveVirtualizeRows.test.d.ts +0 -1
  619. package/dist/types/components/DataTable/_useReorderColumns.test.d.ts +0 -1
  620. package/dist/types/components/DataTable/_useResizeColumn.test.d.ts +0 -1
  621. package/dist/types/components/DataTable/_useRowWindow.test.d.ts +0 -1
  622. package/dist/types/components/DataTable/columnHelper.test.d.ts +0 -1
  623. package/dist/types/components/DataTable/viewState.test.d.ts +0 -1
  624. package/dist/types/components/DivInput/DivInput.d.ts +0 -3
  625. package/dist/types/components/DivInput/_types.d.ts +0 -24
  626. package/dist/types/components/DivInput/index.d.ts +0 -2
  627. package/dist/types/components/Grouper/Grouper.d.ts +0 -3
  628. package/dist/types/components/Grouper/_types.d.ts +0 -20
  629. package/dist/types/components/Grouper/index.d.ts +0 -2
  630. package/dist/types/components/Icon/iconRegistry.test.d.ts +0 -1
  631. package/dist/types/components/IconButton/_animation.d.ts +0 -18
  632. package/dist/types/components/IconButton/_animation.test.d.ts +0 -1
  633. package/dist/types/components/Label/Label.d.ts +0 -3
  634. package/dist/types/components/Label/_types.d.ts +0 -25
  635. package/dist/types/components/Label/index.d.ts +0 -3
  636. package/dist/types/components/Level/Level.d.ts +0 -5
  637. package/dist/types/components/Level/_types.d.ts +0 -21
  638. package/dist/types/components/Level/index.d.ts +0 -2
  639. package/dist/types/components/Modal/Modal.d.ts +0 -3
  640. package/dist/types/components/Modal/_types.d.ts +0 -49
  641. package/dist/types/components/Modal/index.d.ts +0 -2
  642. package/dist/types/hooks/useActiveTab/useActiveTab.test.d.ts +0 -1
  643. package/dist/types/hooks/useAudioRecorder/useAudioRecorder.test.d.ts +0 -1
  644. package/dist/types/hooks/useBindWebRTC/useBindWebRTC.test.d.ts +0 -1
  645. package/dist/types/hooks/useClipboard/useClipboard.test.d.ts +0 -1
  646. package/dist/types/hooks/useDoubleClick/useDoubleClick.test.d.ts +0 -1
  647. package/dist/types/hooks/useInfiniteScroll/useInfiniteScroll.test.d.ts +0 -1
  648. package/dist/types/hooks/useIntersecting/useIntersecting.test.d.ts +0 -1
  649. package/dist/types/hooks/useKeyboardShortcuts/useKeyboardShortcuts.test.d.ts +0 -1
  650. package/dist/types/hooks/useLastUpdated/useLastUpdated.test.d.ts +0 -1
  651. package/dist/types/hooks/useLocalStore/useLocalStore.test.d.ts +0 -1
  652. package/dist/types/hooks/useMdStreamBuffer/useMdStreamBuffer.test.d.ts +0 -1
  653. package/dist/types/hooks/useMicrophone/useMicrophone.test.d.ts +0 -1
  654. package/dist/types/hooks/useObserveTheme/useObserveTheme.test.d.ts +0 -1
  655. package/dist/types/hooks/useTheme/useTheme.test.d.ts +0 -1
  656. package/dist/types/hooks/useToolTip/useToolTip.test.d.ts +0 -1
  657. package/dist/types/hooks/useTrackRenders/useTrackRenders.test.d.ts +0 -1
  658. package/dist/types/hooks/useWindow/useWindow.test.d.ts +0 -1
  659. package/dist/types/providers/themeServer.test.d.ts +0 -1
  660. package/dist/types/stores/LocalDB/localDBStore.test.d.ts +0 -1
  661. package/dist/types/stores/SSE/sseStore.test.d.ts +0 -1
  662. package/dist/types/stores/WS/wsStore.test.d.ts +0 -1
  663. package/dist/types/stores/WebRTC/webRTCStore.test.d.ts +0 -1
  664. package/dist/types/stores/activeTab/activeTabStore.test.d.ts +0 -1
  665. package/dist/types/stores/browserChannel/browserChannelsStore.test.d.ts +0 -1
  666. package/dist/types/stores/microphone/microphoneStore.test.d.ts +0 -1
  667. package/dist/types/stores/modal/modalStore.test.d.ts +0 -1
  668. package/dist/types/stores/tip/tipStore.test.d.ts +0 -1
  669. package/dist/types/stores/toast/toastStore.test.d.ts +0 -1
  670. package/dist/types/stores/uploads/uploadsStore.test.d.ts +0 -1
  671. package/dist/types/stores/video/videoStore.test.d.ts +0 -1
  672. package/dist/types/stores/volume/volumeStore.test.d.ts +0 -1
  673. package/dist/types/stores/window/windowStore.test.d.ts +0 -1
  674. package/dist/types/utils/functions/colors.test.d.ts +0 -1
  675. package/dist/types/utils/functions/debounce.test.d.ts +0 -1
  676. package/dist/types/utils/functions/files.test.d.ts +0 -1
  677. package/dist/types/utils/functions/misc.test.d.ts +0 -1
  678. package/dist/types/utils/functions/rafThrottle.test.d.ts +0 -1
  679. package/dist/types/utils/objects/IndexedDB/IndexedDB.test.d.ts +0 -1
  680. package/dist/types/utils/objects/MDStreamBuffer/MdStreamBuffer.test.d.ts +0 -1
  681. package/dist/types/utils/objects/SSEConnection/SSEConnection.test.d.ts +0 -1
  682. package/dist/types/utils/objects/WSConnection/WSConnection.test.d.ts +0 -1
  683. package/dist/types/utils/objects/WebRTCConnection/WebRTCConnection.test.d.ts +0 -1
  684. package/dist/types/utils/objects/audioVisualizer/audioVisualizer.test.d.ts +0 -1
  685. package/dist/types/utils/objects/browserChannel/broadcastChannel.test.d.ts +0 -1
  686. package/dist/types/workers/uploads/uploads-worker.test.d.ts +0 -1
  687. /package/dist/cjs/chunks/{MdStreamBuffer-DiL2zm2P.js → MdStreamBuffer-B0KtaR_k.js} +0 -0
  688. /package/dist/cjs/chunks/{SSEConnection-CTxnFASS.js → SSEConnection-BXWkgT66.js} +0 -0
  689. /package/dist/cjs/chunks/{activeTabStore-C8afog5l.js → activeTabStore-D2gxAoK6.js} +0 -0
  690. /package/dist/cjs/chunks/{broadcastChannel-DLSijpj_.js → broadcastChannel-DdPZ3LUB.js} +0 -0
  691. /package/dist/cjs/chunks/{magic-string.es-DRDyITUv.js → magic-string.es-DsAR0Q7u.js} +0 -0
  692. /package/dist/cjs/chunks/{rafThrottle-DdNEpMIw.js → rafThrottle-BRdLzPo7.js} +0 -0
  693. /package/dist/cjs/chunks/{tipStore-BKFK6F3e.js → tipStore-DDHyGeyK.js} +0 -0
  694. /package/dist/cjs/chunks/{tslib.es6-B2uEaXWi.js → tslib.es6-B8JY5ZGw.js} +0 -0
  695. /package/dist/cjs/chunks/{videoStore-BYmE3fJZ.js → videoStore-B0l9iBw4.js} +0 -0
  696. /package/dist/esm/chunks/{MdStreamBuffer-D2Yh0SCY.mjs → MdStreamBuffer-CcO5IBxD.mjs} +0 -0
  697. /package/dist/esm/chunks/{SSEConnection-B3iPwyF_.mjs → SSEConnection-B5rVxalP.mjs} +0 -0
  698. /package/dist/esm/chunks/{activeTabStore-BsoH1tFV.mjs → activeTabStore-CCstpXAC.mjs} +0 -0
  699. /package/dist/esm/chunks/{broadcastChannel-DahousoM.mjs → broadcastChannel-CPT0S33H.mjs} +0 -0
  700. /package/dist/esm/chunks/{magic-string.es-DOKITkor.mjs → magic-string.es-CI4cCGRB.mjs} +0 -0
  701. /package/dist/esm/chunks/{rafThrottle-BX9f7-D1.mjs → rafThrottle-Dl8Z5sJ-.mjs} +0 -0
  702. /package/dist/esm/chunks/{tipStore-CF42G3w9.mjs → tipStore-CBvk303u.mjs} +0 -0
  703. /package/dist/esm/chunks/{tslib.es6-DatKI43-.mjs → tslib.es6-CpnJrDBv.mjs} +0 -0
  704. /package/dist/esm/chunks/{videoStore-CiDDAB4E.mjs → videoStore-Cd-Lewfy.mjs} +0 -0
@@ -0,0 +1,237 @@
1
+ 'use client';
2
+ import { a as __rest } from "./tslib.es6-CpnJrDBv.mjs";
3
+
4
+ import { jsxs, jsx } from "react/jsx-runtime";
5
+
6
+ import React, { useRef, useId, useState, useEffect } from "react";
7
+
8
+ import { corners } from "../theme/corners.mjs";
9
+
10
+ import { s as setStyle } from "./misc-DI5GSqkt.mjs";
11
+
12
+ import { r as resolveColorProps } from "./resolveColorProps-CwAU25V-.mjs";
13
+
14
+ import { F as FileList } from "./FileList-DxB0ZORo.mjs";
15
+
16
+ import { I as Icon } from "./Icon-43T0fkr6.mjs";
17
+
18
+ import { P as ProgressIndicator } from "./ProgressIndicator-CR3pA1Me.mjs";
19
+
20
+ var css = {
21
+ wrapper: "UploadArea-module_wrapper__aircC",
22
+ trigger: "UploadArea-module_trigger__P-iIw",
23
+ icon: "UploadArea-module_icon__M7n-m",
24
+ title: "UploadArea-module_title__VbNGq type-module_body-l-bold__Fh2dt",
25
+ message: "UploadArea-module_message__U1ZVM",
26
+ files: "UploadArea-module_files__Q796x",
27
+ rejection: "UploadArea-module_rejection__gRtQr type-module_body-s-regular__vRHSP",
28
+ srOnly: "UploadArea-module_srOnly__61M98",
29
+ xs: "UploadArea-module_xs__-AoM7 type-module_body-xs-regular__ZAFft",
30
+ s: "UploadArea-module_s__wy1zN type-module_body-s-regular__vRHSP",
31
+ m: "UploadArea-module_m__bKuFN type-module_body-m-regular__LuQBA",
32
+ l: "UploadArea-module_l__KG9YN type-module_body-l-regular__lOYbg",
33
+ xl: "UploadArea-module_xl__xmTtW type-module_body-xl-regular__pF2kC"
34
+ };
35
+
36
+ const imageTypes = [ "png", "jpg", "jpeg", "gif", "svg", "heic", "heif" ], videoTypes = [ "mp4", "avi", "mov", "wmv", "flv" ], documentTypes = [ "pdf", "doc", "docx", "xls", "xlsx", "ppt", "pptx" ], audioTypes = [ "mp3", "wav", "ogg", "aac", "flac" ], textTypes = [ "txt", "rtf", "md", "csv", "json", "xml" ], allTypes = [ ...imageTypes, ...videoTypes, ...documentTypes, ...audioTypes, ...textTypes ];
37
+
38
+ /** Picker hints and runtime validation share one normalized, deduplicated token list. */
39
+ function normalizeAcceptedTypes(types) {
40
+ const tokens = types.map(value => {
41
+ const token = value.trim().toLowerCase();
42
+ return !token || token.includes("/") || token.startsWith(".") ? token : `.${token}`;
43
+ });
44
+ return [ ...new Set(tokens.filter(token => /^\.[a-z0-9][a-z0-9._+-]*$/.test(token) || /^(audio|video|image)\/\*$/.test(token) || /^[a-z0-9!#$&^_.+-]+\/[a-z0-9!#$&^_.+-]+$/.test(token))) ];
45
+ }
46
+
47
+ /** Shared nonvisual picker/validation contract for UploadArea and composed editors. */
48
+ function useFileSelection({files: files, acceptedTypes: acceptedTypes, multiple: multiple, disabled: disabled, onFilesChange: onFilesChange, onUpload: onUpload, onReject: onReject}) {
49
+ const inputRef = useRef(null), prefix = useId(), sequence = useRef(0), [rejection, setRejection] = useState(""), selectFiles = selected => {
50
+ if (disabled || !selected.length) return !1;
51
+ const {accepted: accepted, rejected: rejected} = function(files, types, multiple) {
52
+ const tokens = normalizeAcceptedTypes(types), accepted = [], rejected = [];
53
+ for (const file of files) 0 === types.length || tokens.some(token => {
54
+ if (token.startsWith(".")) return file.name.toLowerCase().endsWith(token);
55
+ const mime = file.type.toLowerCase().split(";")[0].trim();
56
+ return token.endsWith("/*") ? mime.startsWith(token.slice(0, -1)) : mime === token;
57
+ }) ? !multiple && accepted.length ? rejected.push({
58
+ file: file,
59
+ reason: "multiple"
60
+ }) : accepted.push(file) : rejected.push({
61
+ file: file,
62
+ reason: "type"
63
+ });
64
+ return {
65
+ accepted: accepted,
66
+ rejected: rejected
67
+ };
68
+ }(selected, acceptedTypes, multiple);
69
+ if (setRejection(rejected.map(({file: file, reason: reason}) => "multiple" === reason ? `${file.name}: only one file can be selected.` : `${file.name}: file type is not accepted.`).join(" ")),
70
+ accepted.length) {
71
+ const additions = accepted.map(file => ({
72
+ id: `${prefix}-${sequence.current++}`,
73
+ file: file
74
+ }));
75
+ null == onFilesChange || onFilesChange(multiple ? [ ...files, ...additions ] : additions),
76
+ null == onUpload || onUpload(accepted);
77
+ }
78
+ return rejected.length && (null == onReject || onReject(rejected)), accepted.length > 0;
79
+ }, inputProps = {
80
+ ref: inputRef,
81
+ type: "file",
82
+ hidden: !0,
83
+ disabled: disabled,
84
+ multiple: multiple,
85
+ accept: normalizeAcceptedTypes(acceptedTypes).join(",") || void 0,
86
+ onClick: event => event.stopPropagation(),
87
+ onChange: event => {
88
+ var _a;
89
+ selectFiles(Array.from(null !== (_a = event.currentTarget.files) && void 0 !== _a ? _a : []));
90
+ }
91
+ };
92
+ return {
93
+ inputRef: inputRef,
94
+ inputProps: inputProps,
95
+ openPicker: () => {
96
+ !disabled && inputRef.current && (inputRef.current.value = "", inputRef.current.click());
97
+ },
98
+ selectFiles: selectFiles,
99
+ rejection: rejection
100
+ };
101
+ }
102
+
103
+ const UploadAreaBase = React.forwardRef((rawProps, ref) => {
104
+ const _a = resolveColorProps(rawProps), {icon: icon = "documents.file-upload", iconColor: iconColor = "var(--core-text-primary)", iconColorHover: iconColorHover = "var(--core-text-special)", title: title = "Upload Files", actionName: actionName, width: width = "100%", height: height = "auto", message: message = "Drag and drop files here or click to upload", busyMessage: busyMessage = "Uploading in progress", iconSize: iconSize = 24, textSize: textSize = "m", borderWidth: borderWidth = 1, borderStyle: borderStyle = "dashed", borderColor: borderColor = "var(--core-outline-primary)", borderColorHover: borderColorHover = "var(--core-outline-special)", borderRadius: borderRadius = corners["corner-m"], padding: padding = "var(--spacing-xl)", backgroundColor: backgroundColor = "var(--core-surface-secondary)", backgroundColorHover: backgroundColorHover = "var(--core-surface-special)", acceptedTypes: acceptedTypes = allTypes, multiple: multiple = !0, busy: busy = !1, disabled: disabled = !1, canRemove: canRemove = !0, showProgress: showProgress = !0, files: files = [], fileListProps: fileListProps, onUpload: onUpload, onFilesChange: onFilesChange, onReject: onReject, onToolTip: onToolTip, className: className, style: style, onDragEnter: onDragEnter, onDragOver: onDragOver, onDragLeave: onDragLeave, onDrop: onDrop} = _a, wrapperAttributes = __rest(_a, [ "icon", "iconColor", "iconColorHover", "title", "actionName", "width", "height", "message", "busyMessage", "iconSize", "textSize", "borderWidth", "borderStyle", "borderColor", "borderColorHover", "borderRadius", "padding", "backgroundColor", "backgroundColorHover", "acceptedTypes", "multiple", "busy", "disabled", "canRemove", "showProgress", "files", "fileListProps", "onUpload", "onFilesChange", "onReject", "onToolTip", "className", "style", "onDragEnter", "onDragOver", "onDragLeave", "onDrop" ]);
105
+ wrapperAttributes.role = void 0, wrapperAttributes["aria-disabled"] = void 0, wrapperAttributes["aria-busy"] = void 0,
106
+ wrapperAttributes.children = void 0, wrapperAttributes.dangerouslySetInnerHTML = void 0;
107
+ const [hovered, setHovered] = useState(!1), triggerRef = useRef(null), dragDepth = useRef(0), messageId = useId(), rejectionId = useId(), enabled = !busy && !disabled, selection = useFileSelection({
108
+ files: files,
109
+ acceptedTypes: acceptedTypes,
110
+ multiple: multiple,
111
+ disabled: !enabled,
112
+ onFilesChange: onFilesChange,
113
+ onUpload: onUpload,
114
+ onReject: onReject
115
+ }), {inputRef: inputRef} = selection, dragging = enabled && hovered;
116
+ useEffect(() => {
117
+ enabled || (dragDepth.current = 0, setHovered(!1));
118
+ }, [ enabled ]), useEffect(() => {
119
+ var _a;
120
+ const view = null === (_a = inputRef.current) || void 0 === _a ? void 0 : _a.ownerDocument.defaultView;
121
+ if (!view) return;
122
+ const reset = () => {
123
+ dragDepth.current = 0, setHovered(!1);
124
+ }, handleEscape = event => {
125
+ "Escape" === event.key && reset();
126
+ };
127
+ return view.addEventListener("dragend", reset), view.addEventListener("drop", reset),
128
+ view.addEventListener("blur", reset), view.addEventListener("keydown", handleEscape),
129
+ () => {
130
+ view.removeEventListener("dragend", reset), view.removeEventListener("drop", reset),
131
+ view.removeEventListener("blur", reset), view.removeEventListener("keydown", handleEscape);
132
+ };
133
+ }, [ inputRef ]);
134
+ const cssVars = {
135
+ "--ua-border": `${borderWidth}px`,
136
+ "--ua-border-style": borderStyle,
137
+ "--ua-border-color": dragging || busy ? borderColorHover : borderColor,
138
+ "--ua-radius": setStyle(borderRadius),
139
+ "--ua-padding": setStyle(padding),
140
+ "--ua-bg-color": dragging ? backgroundColorHover : backgroundColor,
141
+ "--ua-icon-size": `${iconSize}px`,
142
+ "--ua-width": setStyle(width),
143
+ "--ua-height": setStyle(height)
144
+ };
145
+ return jsxs("div", Object.assign({}, wrapperAttributes, {
146
+ className: `${css.wrapper} ${null != className ? className : ""}`,
147
+ style: Object.assign(Object.assign({}, style), cssVars),
148
+ ref: ref,
149
+ onDragEnter: event => {
150
+ var _a, _b;
151
+ null == onDragEnter || onDragEnter(event), !event.defaultPrevented && enabled && Array.from(null !== (_b = null === (_a = event.dataTransfer) || void 0 === _a ? void 0 : _a.types) && void 0 !== _b ? _b : []).includes("Files") && (event.preventDefault(),
152
+ dragDepth.current += 1, setHovered(!0));
153
+ },
154
+ onDragOver: event => {
155
+ var _a, _b;
156
+ null == onDragOver || onDragOver(event), !event.defaultPrevented && Array.from(null !== (_b = null === (_a = event.dataTransfer) || void 0 === _a ? void 0 : _a.types) && void 0 !== _b ? _b : []).includes("Files") && (event.preventDefault(),
157
+ event.dataTransfer.dropEffect = enabled ? "copy" : "none");
158
+ },
159
+ onDragLeave: event => {
160
+ null == onDragLeave || onDragLeave(event), dragDepth.current = Math.max(0, dragDepth.current - 1),
161
+ dragDepth.current || setHovered(!1);
162
+ },
163
+ onDrop: event => {
164
+ var _a, _b;
165
+ null == onDrop || onDrop(event);
166
+ const cancelled = event.defaultPrevented;
167
+ event.preventDefault(), dragDepth.current = 0, setHovered(!1), cancelled || selection.selectFiles(Array.from(null !== (_b = null === (_a = event.dataTransfer) || void 0 === _a ? void 0 : _a.files) && void 0 !== _b ? _b : []));
168
+ },
169
+ children: [ jsxs("button", {
170
+ type: "button",
171
+ ref: triggerRef,
172
+ className: css.trigger,
173
+ disabled: !enabled,
174
+ "aria-busy": busy || void 0,
175
+ "aria-label": (null == actionName ? void 0 : actionName.trim()) || title.trim() || "Upload files",
176
+ "aria-describedby": `${messageId} ${rejectionId}`,
177
+ onClick: event => {
178
+ event.defaultPrevented || selection.openPicker();
179
+ },
180
+ children: [ jsx("span", {
181
+ className: css.icon,
182
+ children: jsx(Icon, {
183
+ size: iconSize,
184
+ name: icon,
185
+ strokeColor: dragging ? iconColorHover : iconColor,
186
+ decorative: !0
187
+ })
188
+ }), jsx("span", {
189
+ className: css.title,
190
+ children: title
191
+ }), jsxs("span", {
192
+ id: messageId,
193
+ className: `${css.message} ${css[textSize]}`,
194
+ children: [ busy && showProgress && jsx(ProgressIndicator, {
195
+ decorative: !0,
196
+ show: !0,
197
+ size: 20,
198
+ inline: !0,
199
+ color: iconColor
200
+ }), busy ? busyMessage : message ]
201
+ }) ]
202
+ }), jsx("span", {
203
+ className: css.srOnly,
204
+ role: "status",
205
+ "aria-atomic": "true",
206
+ children: busy ? busyMessage : ""
207
+ }), jsx("span", {
208
+ id: rejectionId,
209
+ className: css.rejection,
210
+ role: "alert",
211
+ "aria-atomic": "true",
212
+ children: selection.rejection
213
+ }), files.length > 0 && jsx("div", {
214
+ className: css.files,
215
+ children: jsx(FileList, Object.assign({
216
+ backgroundColor: "var(--core-surface-primary)",
217
+ textSize: "m",
218
+ direction: "attachments" === (null == fileListProps ? void 0 : fileListProps.variant) ? "row" : "column",
219
+ gap: 8
220
+ }, fileListProps, {
221
+ files: files,
222
+ canRemove: canRemove && enabled && Boolean(onFilesChange),
223
+ onToolTip: onToolTip,
224
+ onChange: next => {
225
+ var _a;
226
+ enabled && (null == onFilesChange || onFilesChange(next), 0 === next.length && (null === (_a = triggerRef.current) || void 0 === _a || _a.focus()));
227
+ }
228
+ }))
229
+ }), jsx("input", Object.assign({}, selection.inputProps)) ]
230
+ }));
231
+ });
232
+
233
+ UploadAreaBase.displayName = "UploadArea";
234
+
235
+ const UploadArea = React.memo(UploadAreaBase);
236
+
237
+ export { UploadArea as U, allTypes as a, audioTypes as b, documentTypes as d, imageTypes as i, textTypes as t, useFileSelection as u, videoTypes as v };
@@ -0,0 +1,418 @@
1
+ 'use client';
2
+ import { a as __rest, _ as __awaiter } from "./tslib.es6-CpnJrDBv.mjs";
3
+
4
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
5
+
6
+ import React, { useRef, useState, useCallback, useMemo, useEffect } from "react";
7
+
8
+ import { corners } from "../theme/corners.mjs";
9
+
10
+ import { s as setStyle } from "./misc-DI5GSqkt.mjs";
11
+
12
+ import { r as resolveColorProps } from "./resolveColorProps-CwAU25V-.mjs";
13
+
14
+ import { u as usePrefersReducedMotion } from "./usePrefersReducedMotion-BWAwMMLE.mjs";
15
+
16
+ import { I as IconButton } from "./IconButton-oqYTUJit.mjs";
17
+
18
+ import { P as ProgressIndicator } from "./ProgressIndicator-CR3pA1Me.mjs";
19
+
20
+ import { S as Slider } from "./Slider-DaZTE-eD.mjs";
21
+
22
+ import { T as ToggleButton } from "./ToggleButton-CGHa458C.mjs";
23
+
24
+ import { g as getVideoControls } from "./getVideoControls-aoqr4T3P.mjs";
25
+
26
+ var PlayState, css = {
27
+ wrapper: "Video-module_wrapper__a9iH8",
28
+ video: "Video-module_video__hxKME",
29
+ controls: "Video-module_controls__X4yt6",
30
+ controlsHeader: "Video-module_controlsHeader__dD64-",
31
+ controlsFooter: "Video-module_controlsFooter__qJNTa",
32
+ controlsBody: "Video-module_controlsBody__2GbQz",
33
+ right: "Video-module_right__UMhfW",
34
+ left: "Video-module_left__XC33m",
35
+ progress: "Video-module_progress__UTWtq"
36
+ };
37
+
38
+ !function(PlayState) {
39
+ PlayState.Playing = "playing", PlayState.Paused = "paused", PlayState.Stopped = "stopped",
40
+ PlayState.Ended = "ended";
41
+ }(PlayState || (PlayState = {}));
42
+
43
+ const BaseVideo = React.forwardRef((rawProps, ref) => {
44
+ const props = resolveColorProps(rawProps), {children: children, src: src, playing: playing, loop: loop = !1, muted: muted = !0, playsInline: playsInline = !0, controls: controls = "simple", volume: volume = 1, poster: poster, captionsSrc: captionsSrc, captionsLanguage: captionsLanguage = "en", captionsLabel: captionsLabel = "Captions", captionsDefault: captionsDefault = !1, videoName: videoName = "Video", videoAttributes: videoAttributes, onError: onError, playRate: playRate = 1, width: width = "100%", height: height = "auto", borderRadius: borderRadius = "var(--corner-s)", borderWidth: borderWidth, borderColor: borderColor, backgroundColor: backgroundColor, objectFit: objectFit = "contain", customControls: controlOverrides, showProgressIndicator: showProgressIndicator = !0, onPlay: onPlay, onPause: onPause, onEnd: onEnd, onProgress: onProgress, onLoadProgress: onLoadProgress, onPlaybackRateChange: onPlaybackRateChange, onCanPlayThrough: onCanPlayThrough, onCanPlay: onCanPlay, onPlayStateChange: onPlayStateChange, onLoadMetaData: onLoadMetaData, onFullScreenChange: onFullScreenChange, onVolumeChange: onVolumeChange, onLoadedFrameData: onLoadedFrameData, onQuit: onQuit} = props, divAttributes = __rest(props, [ "children", "src", "playing", "loop", "muted", "playsInline", "controls", "volume", "poster", "captionsSrc", "captionsLanguage", "captionsLabel", "captionsDefault", "videoName", "videoAttributes", "onError", "playRate", "width", "height", "borderRadius", "borderWidth", "borderColor", "backgroundColor", "objectFit", "customControls", "showProgressIndicator", "onPlay", "onPause", "onEnd", "onProgress", "onLoadProgress", "onPlaybackRateChange", "onCanPlayThrough", "onCanPlay", "onPlayStateChange", "onLoadMetaData", "onFullScreenChange", "onVolumeChange", "onLoadedFrameData", "onQuit" ]), {id: divId, className: className, style: style, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, onMouseMove: onMouseMove, onFocus: onFocus, onBlur: onBlur} = divAttributes, rest = __rest(divAttributes, [ "id", "className", "style", "onMouseEnter", "onMouseLeave", "onMouseMove", "onFocus", "onBlur" ]), divStyle = null != style ? style : {}, divClass = className ? ` ${className}` : "", customControls = getVideoControls(controlOverrides), controlMode = void 0 === controlOverrides ? controls : "simple", reducedMotion = usePrefersReducedMotion(), videoRef = useRef(null), containerRef = useRef(null), progress = useRef(null), wasPlaying = useRef(null), playState = useRef(PlayState.Stopped), [isPlaying, setIsPlaying] = useState(!1), [isMuted, setIsMuted] = useState(null != muted && muted), [currentVolume, setCurrentVolume] = useState(Number.isFinite(volume) ? Math.min(1, Math.max(0, volume)) : 1), [currentProgress, setCurrentProgress] = useState(0), [hovered, setHovered] = useState(!1), [canPlay, setCanPlay] = useState(!1), [focused, setFocused] = useState(!1), [duration, setDuration] = useState(0), [failed, setFailed] = useState(!1), [fullscreen, setFullscreen] = useState(!1), [captionsOn, setCaptionsOn] = useState(captionsDefault), seekFinished = useRef(!1), timer = useRef(null), handleLoadProgress = useCallback(event => {
45
+ const target = event.target;
46
+ if (target.buffered.length > 0) {
47
+ const bufferedEnd = target.buffered.end(target.buffered.length - 1), duration = target.duration;
48
+ if (Number.isFinite(duration) && duration > 0) {
49
+ const percentLoaded = Math.min(1, Math.max(0, bufferedEnd / duration));
50
+ null == onLoadProgress || onLoadProgress(percentLoaded);
51
+ }
52
+ }
53
+ }, [ onLoadProgress ]), handlePlayProgress = useCallback(event => {
54
+ var _a, _b, _c;
55
+ const target = event.target, percentPlayed = Number.isFinite(target.duration) && target.duration > 0 && Number.isFinite(target.currentTime) ? Math.min(1, Math.max(0, target.currentTime / target.duration)) : 0;
56
+ if (setCurrentProgress(percentPlayed), progress.current !== percentPlayed) {
57
+ null == onProgress || onProgress(percentPlayed), progress.current = percentPlayed;
58
+ const isAtZero = 0 === (null === (_a = videoRef.current) || void 0 === _a ? void 0 : _a.currentTime), isAtEnd = (null === (_b = videoRef.current) || void 0 === _b ? void 0 : _b.currentTime) === (null === (_c = videoRef.current) || void 0 === _c ? void 0 : _c.duration);
59
+ isAtZero && target.paused ? (playState.current !== PlayState.Stopped && (null == onPlayStateChange || onPlayStateChange(PlayState.Stopped)),
60
+ playState.current = PlayState.Stopped) : isAtEnd ? (playState.current !== PlayState.Ended && (null == onPlayStateChange || onPlayStateChange(PlayState.Ended)),
61
+ playState.current = PlayState.Ended) : target.paused && playState.current !== PlayState.Paused ? (null == onPlayStateChange || onPlayStateChange(PlayState.Paused),
62
+ playState.current = PlayState.Paused) : target.paused || playState.current === PlayState.Playing || (null == onPlayStateChange || onPlayStateChange(PlayState.Playing),
63
+ playState.current = PlayState.Playing);
64
+ }
65
+ }, [ onProgress, onPlayStateChange ]), handleCanPlayThrough = useCallback(() => {
66
+ null == onCanPlayThrough || onCanPlayThrough();
67
+ }, [ onCanPlayThrough ]), handleCanPlay = useCallback(() => {
68
+ setCanPlay(!0), setFailed(!1), null == onCanPlay || onCanPlay();
69
+ }, [ onCanPlay ]), syncPlayingState = useCallback(() => {
70
+ var _a, _b, _c, _d;
71
+ if (setIsPlaying(!(null === (_a = videoRef.current) || void 0 === _a ? void 0 : _a.paused)),
72
+ null === (_b = videoRef.current) || void 0 === _b ? void 0 : _b.paused) return;
73
+ (null === (_c = videoRef.current) || void 0 === _c ? void 0 : _c.currentTime) === (null === (_d = videoRef.current) || void 0 === _d ? void 0 : _d.duration) ? (playState.current !== PlayState.Ended && (null == onPlayStateChange || onPlayStateChange(PlayState.Ended)),
74
+ playState.current = PlayState.Ended) : playState.current !== PlayState.Playing && (null == onPlayStateChange || onPlayStateChange(PlayState.Playing),
75
+ playState.current = PlayState.Playing);
76
+ }, [ onPlayStateChange ]), handlePlay = useCallback(() => {
77
+ null == onPlay || onPlay(), syncPlayingState();
78
+ }, [ onPlay, syncPlayingState ]), handlePlaying = useCallback(() => {
79
+ setCanPlay(!0), syncPlayingState();
80
+ }, [ syncPlayingState ]), handlePause = useCallback(() => {
81
+ var _a, _b, _c;
82
+ null == onPause || onPause(), setIsPlaying(!1);
83
+ const isAtZero = 0 === (null === (_a = videoRef.current) || void 0 === _a ? void 0 : _a.currentTime), isAtEnd = (null === (_b = videoRef.current) || void 0 === _b ? void 0 : _b.currentTime) === (null === (_c = videoRef.current) || void 0 === _c ? void 0 : _c.duration);
84
+ isAtZero && !isAtEnd ? (playState.current !== PlayState.Stopped && (null == onPlayStateChange || onPlayStateChange(PlayState.Stopped)),
85
+ playState.current = PlayState.Stopped) : isAtEnd || playState.current !== PlayState.Paused && (null == onPlayStateChange || onPlayStateChange(PlayState.Paused),
86
+ playState.current = PlayState.Paused);
87
+ }, [ onPause, onPlayStateChange ]), handleEnd = useCallback(() => {
88
+ setIsPlaying(!1), playState.current !== PlayState.Ended && (null == onPlayStateChange || onPlayStateChange(PlayState.Ended)),
89
+ playState.current = PlayState.Ended, null == onEnd || onEnd();
90
+ }, [ onEnd, onPlayStateChange ]), handleLoadMetadata = useCallback(event => {
91
+ const target = event.target;
92
+ setDuration(Number.isFinite(target.duration) ? target.duration : 0), null == onLoadMetaData || onLoadMetaData(target.duration);
93
+ }, [ onLoadMetaData ]), handlePlaybackRate = useCallback(event => {
94
+ const playbackRate = event.target.playbackRate;
95
+ null == onPlaybackRateChange || onPlaybackRateChange(playbackRate);
96
+ }, [ onPlaybackRateChange ]), requestPlayback = useCallback(play => __awaiter(void 0, void 0, void 0, function*() {
97
+ const video = videoRef.current;
98
+ if (!video) return;
99
+ (null != play ? play : video.paused) ? yield video.play() : (wasPlaying.current = null,
100
+ seekFinished.current = !1, video.pause());
101
+ }), []), handlePlayClick = useCallback(play => {
102
+ requestPlayback(play).catch(() => {});
103
+ }, [ requestPlayback ]), handleMouseOver = useCallback(() => {
104
+ setHovered(!0), timer.current && clearTimeout(timer.current), timer.current = setTimeout(() => {
105
+ setHovered(!1);
106
+ }, 2e3);
107
+ }, []), handleMouseOut = useCallback(() => {
108
+ timer.current && clearTimeout(timer.current), setHovered(!1);
109
+ }, []), handleFullScreen = useCallback((...args_1) => __awaiter(void 0, [ ...args_1 ], void 0, function*(state = !0) {
110
+ const container = containerRef.current;
111
+ container && (state ? yield container.requestFullscreen() : document.fullscreenElement === container && (yield document.exitFullscreen()));
112
+ }), []), handleMute = useCallback(state => {
113
+ if (!videoRef.current) return;
114
+ let nextMuted = !videoRef.current.muted;
115
+ void 0 !== state && (nextMuted = state), videoRef.current.muted = nextMuted, setIsMuted(nextMuted);
116
+ }, []), handleRateChange = useCallback((rate = 1) => {
117
+ if (!videoRef.current) return;
118
+ let nextRate = Number.isFinite(rate) ? rate : 1;
119
+ rate < .5 && (nextRate = .5), rate > 3 && (nextRate = 3), videoRef.current.playbackRate = nextRate;
120
+ }, []), handleRestart = useCallback(() => __awaiter(void 0, void 0, void 0, function*() {
121
+ videoRef.current && (videoRef.current.pause(), videoRef.current.currentTime = 0,
122
+ yield requestPlayback(!0));
123
+ }), [ requestPlayback ]), handleVolumeChange = useCallback((volume = 1) => {
124
+ videoRef.current && (videoRef.current.volume = Number.isFinite(volume) ? Math.min(1, Math.max(0, volume)) : 1);
125
+ }, []), handleSetProgress = useCallback(position => {
126
+ const video = videoRef.current;
127
+ video && Number.isFinite(video.duration) && !(video.duration <= 0) && Number.isFinite(position) && (null === wasPlaying.current && (wasPlaying.current = !video.paused),
128
+ seekFinished.current = !1, video.pause(), video.currentTime = Math.min(1, Math.max(0, position)) * video.duration,
129
+ setCurrentProgress(Math.min(1, Math.max(0, position))));
130
+ }, []), handleSeekEnd = useCallback(() => {
131
+ const video = videoRef.current;
132
+ if (!seekFinished.current || (null == video ? void 0 : video.seeking)) return;
133
+ const resume = wasPlaying.current;
134
+ wasPlaying.current = null, seekFinished.current = !1, resume && video && video.currentTime < video.duration && handlePlayClick(!0);
135
+ }, [ handlePlayClick ]), handleScrubEnd = () => {
136
+ seekFinished.current = !0, handleSeekEnd();
137
+ }, handleFullScreenChange = useCallback(() => {
138
+ const isFullscreen = document.fullscreenElement === containerRef.current;
139
+ setFullscreen(isFullscreen), null == onFullScreenChange || onFullScreenChange(isFullscreen);
140
+ }, [ onFullScreenChange ]), handleLoadedFrame = useCallback(() => {
141
+ null == onLoadedFrameData || onLoadedFrameData();
142
+ }, [ onLoadedFrameData ]);
143
+ React.useImperativeHandle(ref, () => ({
144
+ play: () => requestPlayback(!0),
145
+ stop: () => requestPlayback(!1),
146
+ restart: handleRestart,
147
+ setVolume: volume => {
148
+ handleVolumeChange(volume);
149
+ },
150
+ mute: mute => {
151
+ handleMute(mute);
152
+ },
153
+ fullscreen: handleFullScreen,
154
+ playbackRate: rate => {
155
+ handleRateChange(rate);
156
+ },
157
+ get videoElement() {
158
+ var _a;
159
+ return null !== (_a = videoRef.current) && void 0 !== _a ? _a : void 0;
160
+ }
161
+ }), [ requestPlayback, handleRestart, handleMute, handleFullScreen, handleRateChange, handleVolumeChange ]);
162
+ const controlsContext = {
163
+ playing: isPlaying,
164
+ muted: isMuted,
165
+ progress: currentProgress,
166
+ volume: currentVolume,
167
+ duration: duration,
168
+ fullscreen: fullscreen,
169
+ canSeek: duration > 0,
170
+ play: () => requestPlayback(!0),
171
+ pause: () => handlePlayClick(!1),
172
+ togglePlay: () => requestPlayback(),
173
+ toggleMute: () => handleMute(),
174
+ setVolume: handleVolumeChange,
175
+ setProgress: position => {
176
+ const video = videoRef.current;
177
+ if (!video || !Number.isFinite(video.duration) || video.duration <= 0 || !Number.isFinite(position)) return;
178
+ const value = Math.min(1, Math.max(0, position));
179
+ video.currentTime = value * video.duration, setCurrentProgress(value);
180
+ },
181
+ toggleFullscreen: () => handleFullScreen(!fullscreen)
182
+ }, showCustomControls = "simple" === controlMode || "custom" === controlMode, controlsVisible = hovered || focused, cssVars = useMemo(() => ({
183
+ "--video-width": setStyle(width, "unset"),
184
+ "--video-height": setStyle(height, "unset"),
185
+ "--video-border-radius": setStyle(borderRadius, corners["corner-none"]),
186
+ "--video-border-size": setStyle(borderWidth, 0),
187
+ "--video-border-color": setStyle(borderColor, "transparent"),
188
+ "--video-bg-color": setStyle(backgroundColor, "transparent"),
189
+ "--video-controls-transition": reducedMotion ? "none" : void 0,
190
+ "--video-object-fit": null != objectFit ? objectFit : "contain",
191
+ "--video-controls-pointer-events": controlsVisible ? "auto" : "none",
192
+ "--video-controls-opacity": controlsVisible ? 1 : 0,
193
+ "--video-progress-padding-left": customControls.quit ? "var(--spacing-s)" : "var(--spacing-m)"
194
+ }), [ width, height, borderRadius, borderWidth, borderColor, backgroundColor, objectFit, controlsVisible, reducedMotion, customControls.quit ]), speakerIcon = isMuted || 0 === currentVolume ? "media.volume-slash" : "media.volume-low";
195
+ useEffect(() => handleRateChange(playRate), [ playRate, handleRateChange ]), useEffect(() => {
196
+ void 0 !== playing && handlePlayClick(playing);
197
+ }, [ playing, handlePlayClick ]), useEffect(() => handleMute(muted), [ muted, handleMute ]),
198
+ useEffect(() => handleVolumeChange(volume), [ volume, handleVolumeChange ]), useEffect(() => (document.addEventListener("fullscreenchange", handleFullScreenChange),
199
+ () => document.removeEventListener("fullscreenchange", handleFullScreenChange)), [ handleFullScreenChange ]),
200
+ useEffect(() => () => {
201
+ timer.current && clearTimeout(timer.current);
202
+ }, []);
203
+ const resetMedia = () => {
204
+ setCanPlay(!1), setFailed(!1), setIsPlaying(!1), setCurrentProgress(0), setDuration(0),
205
+ progress.current = null, wasPlaying.current = null, seekFinished.current = !1, playState.current !== PlayState.Stopped && (null == onPlayStateChange || onPlayStateChange(PlayState.Stopped)),
206
+ playState.current = PlayState.Stopped;
207
+ }, syncCaptions = useCallback(() => {
208
+ var _a;
209
+ const track = null === (_a = videoRef.current) || void 0 === _a ? void 0 : _a.textTracks[0];
210
+ track && (track.mode = captionsOn ? "showing" : "hidden");
211
+ }, [ captionsOn ]);
212
+ useEffect(() => {
213
+ syncCaptions();
214
+ }, [ syncCaptions ]), useEffect(() => {
215
+ var _a;
216
+ if (!captionsSrc) return;
217
+ const tracks = null === (_a = videoRef.current) || void 0 === _a ? void 0 : _a.textTracks, update = () => {
218
+ var _a;
219
+ return setCaptionsOn("showing" === (null === (_a = null == tracks ? void 0 : tracks[0]) || void 0 === _a ? void 0 : _a.mode));
220
+ };
221
+ return null == tracks || tracks.addEventListener("change", update), () => null == tracks ? void 0 : tracks.removeEventListener("change", update);
222
+ }, [ captionsSrc ]);
223
+ const buttonProps = {
224
+ backgroundColor: "transparent",
225
+ backgroundColorHover: "transparent",
226
+ backgroundColorSelected: "transparent",
227
+ iconColor: "var(--core-text-light)",
228
+ iconColorHover: "var(--core-text-light)",
229
+ iconColorSelected: "var(--core-text-light)",
230
+ iconSize: 16,
231
+ buttonSize: "m",
232
+ borderRadius: "100%",
233
+ iconStrokeWidth: 1.5
234
+ };
235
+ return jsxs("div", Object.assign({
236
+ id: divId,
237
+ ref: containerRef,
238
+ className: `${css.wrapper}${divClass}`,
239
+ style: Object.assign(Object.assign({}, cssVars), divStyle),
240
+ onMouseEnter: event => {
241
+ handleMouseOver(), null == onMouseEnter || onMouseEnter(event);
242
+ },
243
+ onMouseLeave: event => {
244
+ handleMouseOut(), null == onMouseLeave || onMouseLeave(event);
245
+ },
246
+ onBlur: event => {
247
+ event.currentTarget.contains(event.relatedTarget) || setFocused(!1), null == onBlur || onBlur(event);
248
+ },
249
+ onFocus: event => {
250
+ setFocused(!0), null == onFocus || onFocus(event);
251
+ },
252
+ onMouseMove: event => {
253
+ handleMouseOver(), null == onMouseMove || onMouseMove(event);
254
+ }
255
+ }, rest, {
256
+ children: [ showCustomControls && jsxs("div", {
257
+ className: css.controls,
258
+ children: [ (void 0 !== controlOverrides || !children) && "simple" === controlMode && jsxs(Fragment, {
259
+ children: [ jsxs("div", {
260
+ className: css.controlsHeader,
261
+ children: [ customControls.fullscreen && jsx("div", {
262
+ className: css.left,
263
+ children: jsx(IconButton, Object.assign({
264
+ actionName: fullscreen ? "Exit fullscreen" : "Enter fullscreen",
265
+ icon: "arrows.maximize"
266
+ }, buttonProps, {
267
+ onClick: () => {
268
+ handleFullScreen(!fullscreen).catch(() => {});
269
+ }
270
+ }))
271
+ }), captionsSrc && customControls.captions && jsx("button", {
272
+ type: "button",
273
+ "aria-label": "Captions",
274
+ "aria-pressed": captionsOn,
275
+ onClick: () => setCaptionsOn(value => !value),
276
+ children: "CC"
277
+ }), customControls.volume && jsxs("div", {
278
+ className: css.right,
279
+ children: [ jsx(IconButton, Object.assign({
280
+ actionName: isMuted ? "Unmute" : "Mute",
281
+ icon: speakerIcon,
282
+ iconFill: !0
283
+ }, buttonProps, {
284
+ onClick: () => handleMute()
285
+ })), jsx(Slider, {
286
+ "aria-label": "Volume",
287
+ trackColor: "rgba(0,0,0,0.5)",
288
+ progressColor: "var(--core-text-light)",
289
+ trackHeadSize: 0,
290
+ trackHeadBorderWidth: 0,
291
+ max: 1,
292
+ min: 0,
293
+ value: currentVolume,
294
+ onChange: value => handleVolumeChange(value)
295
+ }) ]
296
+ }) ]
297
+ }), jsx("div", {
298
+ className: css.controlsBody,
299
+ children: customControls.play && jsx(ToggleButton, Object.assign({}, buttonProps, {
300
+ actionName: isPlaying ? "Pause" : "Play",
301
+ selected: isPlaying,
302
+ icon: "media.play-filled",
303
+ iconSelected: "media.pause-filled",
304
+ iconSize: 32,
305
+ backgroundColor: "rgba(0, 0, 0, 0.25)",
306
+ backgroundColorHover: "rgba(0, 0, 0, 0.5)",
307
+ backgroundColorSelected: "rgba(0, 0, 0, 0.25)",
308
+ buttonSize: "xl",
309
+ iconStrokeWidth: 0,
310
+ onChange: () => handlePlayClick()
311
+ }))
312
+ }), jsx("div", {
313
+ className: css.controlsFooter,
314
+ children: customControls.progress && jsxs("div", {
315
+ className: css.progress,
316
+ children: [ jsx(ToggleButton, Object.assign({}, buttonProps, {
317
+ actionName: isPlaying ? "Pause" : "Play",
318
+ selected: isPlaying,
319
+ icon: "media.play-filled",
320
+ iconSelected: "media.pause-filled",
321
+ iconStrokeWidth: 0,
322
+ onChange: () => handlePlayClick()
323
+ })), jsx(Slider, {
324
+ "aria-label": "Playback position",
325
+ trackColor: "rgba(0,0,0,0.5)",
326
+ progressColor: "var(--core-text-light)",
327
+ trackHeadSize: 0,
328
+ trackHeadBorderWidth: 0,
329
+ max: 1,
330
+ min: 0,
331
+ value: currentProgress,
332
+ onChange: handleSetProgress,
333
+ onChangeEnd: handleScrubEnd,
334
+ onPointerCancel: handleScrubEnd,
335
+ onLostPointerCapture: handleScrubEnd,
336
+ onBlur: handleScrubEnd,
337
+ disabled: duration <= 0,
338
+ width: "100%"
339
+ }), customControls.quit && jsx(IconButton, Object.assign({
340
+ actionName: "Close video",
341
+ toggle: !1,
342
+ icon: "basic.cross"
343
+ }, buttonProps, {
344
+ onClick: () => null == onQuit ? void 0 : onQuit()
345
+ })) ]
346
+ })
347
+ }) ]
348
+ }), "custom" === controlMode && ("function" == typeof children ? children(controlsContext) : children) ]
349
+ }), jsx("video", Object.assign({}, videoAttributes, {
350
+ "aria-label": videoName.trim() || "Video",
351
+ ref: videoRef,
352
+ src: src,
353
+ autoPlay: !1,
354
+ playsInline: playsInline,
355
+ loop: loop,
356
+ muted: isMuted,
357
+ controls: "default" === controlMode,
358
+ poster: poster,
359
+ onLoadStart: resetMedia,
360
+ onEmptied: resetMedia,
361
+ onWaiting: () => setCanPlay(!1),
362
+ onPlaying: handlePlaying,
363
+ onError: () => {
364
+ var _a, _b;
365
+ setFailed(!0), setCanPlay(!1), setIsPlaying(!1), playState.current !== PlayState.Stopped && (null == onPlayStateChange || onPlayStateChange(PlayState.Stopped)),
366
+ playState.current = PlayState.Stopped, null == onError || onError(null !== (_b = null === (_a = videoRef.current) || void 0 === _a ? void 0 : _a.error) && void 0 !== _b ? _b : null);
367
+ },
368
+ onVolumeChange: () => {
369
+ const video = videoRef.current;
370
+ video && (setCurrentVolume(video.volume), setIsMuted(video.muted), null == onVolumeChange || onVolumeChange(video.volume));
371
+ },
372
+ onDurationChange: () => {
373
+ var _a;
374
+ const value = null === (_a = videoRef.current) || void 0 === _a ? void 0 : _a.duration;
375
+ setDuration(value && Number.isFinite(value) ? value : 0);
376
+ },
377
+ onCanPlayThrough: handleCanPlayThrough,
378
+ onCanPlay: handleCanPlay,
379
+ onPlay: handlePlay,
380
+ onPause: handlePause,
381
+ onEnded: handleEnd,
382
+ onProgress: handleLoadProgress,
383
+ onTimeUpdate: handlePlayProgress,
384
+ onRateChange: handlePlaybackRate,
385
+ onLoadedMetadata: handleLoadMetadata,
386
+ onLoadedData: handleLoadedFrame,
387
+ onSeeked: handleSeekEnd,
388
+ className: [ css.video, null == videoAttributes ? void 0 : videoAttributes.className ].filter(Boolean).join(" "),
389
+ children: captionsSrc && jsx("track", {
390
+ kind: "captions",
391
+ src: captionsSrc,
392
+ srcLang: captionsLanguage,
393
+ label: captionsLabel,
394
+ default: captionsDefault,
395
+ onLoad: syncCaptions
396
+ })
397
+ })), failed && jsx("span", {
398
+ role: "alert",
399
+ children: "Unable to load video."
400
+ }), !failed && !canPlay && showProgressIndicator && jsx(ProgressIndicator, {
401
+ show: !0,
402
+ label: "Loading video"
403
+ }) ]
404
+ }));
405
+ });
406
+
407
+ BaseVideo.displayName = "Video";
408
+
409
+ const Video = React.memo(React.forwardRef((props, ref) => {
410
+ var _a;
411
+ return jsx(BaseVideo, Object.assign({}, props, {
412
+ ref: ref
413
+ }), null !== (_a = props.src) && void 0 !== _a ? _a : "");
414
+ }));
415
+
416
+ Video.displayName = "Video";
417
+
418
+ export { Video as V };