@apple-pie/slice 0.1.36 → 0.1.38

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 (277) hide show
  1. package/dist/cjs/chunks/{AudioBubble-BE_f4Hso.js → AudioBubble-NNEBsJdS.js} +4 -3
  2. package/dist/cjs/chunks/{Avatar-BiyInyRO.js → Avatar-SrfANGbC.js} +1 -1
  3. package/dist/cjs/chunks/{AvatarGroup-DRL0lWmX.js → AvatarGroup-CrpB1rY2.js} +1 -1
  4. package/dist/cjs/chunks/{Badge-DMowUBPk.js → Badge-CgOsYcT3.js} +1 -1
  5. package/dist/cjs/chunks/{Button-COMAPFWV.js → Button-DaiX-C4m.js} +1 -1
  6. package/dist/cjs/chunks/{ButtonBar-IiuZuTLR.js → ButtonBar-BZ3rh8Lq.js} +1 -1
  7. package/dist/cjs/chunks/{Camera-Ly06XVkk.js → Camera-AhNDA3t9.js} +5 -4
  8. package/dist/cjs/chunks/{CheckBox-HmPtb4qd.js → CheckBox-C3C5mjHu.js} +1 -1
  9. package/dist/cjs/chunks/{Chip-6PG7VzN-.js → Chip-ts1Mqmdz.js} +1 -1
  10. package/dist/cjs/chunks/{DivInput-C-PFUeDT.js → DivInput-vBlUyYSR.js} +1 -1
  11. package/dist/cjs/chunks/{Dot-dB91CPB9.js → Dot-BPztauRU.js} +1 -1
  12. package/dist/cjs/chunks/{DrggablePanel-B4pmiREo.js → DrggablePanel-DWRBhX1h.js} +8 -7
  13. package/dist/cjs/chunks/{DropDown-DrFvc39t.js → DropDown-aA4rP4nj.js} +1 -1
  14. package/dist/cjs/chunks/{ErrorSummary-_XvQGFbZ.js → ErrorSummary-Cj13tzbo.js} +4 -3
  15. package/dist/cjs/chunks/{FileIcon-UA9ZceY_.js → FileIcon-BnKrr5kO.js} +4 -3
  16. package/dist/cjs/chunks/{FileList-CnsmD5Y7.js → FileList-Bh2ASAlo.js} +1 -1
  17. package/dist/cjs/chunks/{FlexDiv-WZf3guIi.js → FlexDiv-Dvt7RZ5w.js} +1 -1
  18. package/dist/cjs/chunks/{Grouper-BzPprBpD.js → Grouper-CrXhav6m.js} +4 -3
  19. package/dist/cjs/chunks/{Icon-g039RSWl.js → Icon-FZglA3Yv.js} +78 -4
  20. package/dist/cjs/chunks/{IconButton-DZBikqIA.js → IconButton-NhRNQC8P.js} +1 -1
  21. package/dist/cjs/chunks/{IndexedDB-DW-NDU8i.js → IndexedDB-DbfRU4NA.js} +1 -1
  22. package/dist/cjs/chunks/{Label-BLCGQli-.js → Label-yG4MKTBU.js} +1 -1
  23. package/dist/cjs/chunks/{Level-CvPkz_70.js → Level-CbDPXUqH.js} +2 -1
  24. package/dist/cjs/chunks/{Modal-D8RvqX4f.js → Modal-ByLhIOEY.js} +1 -1
  25. package/dist/cjs/chunks/{ModalController-ctBbD_Jn.js → ModalController-CLAsLeXH.js} +4 -2
  26. package/dist/cjs/chunks/{Overlay-CB0-ZCbr.js → Overlay-EZURYTTf.js} +1 -1
  27. package/dist/cjs/chunks/{Pager-GwtjwNSr.js → Pager-C0gzryId.js} +1 -1
  28. package/dist/cjs/chunks/{ProgressIndicator-BqAJgdQp.js → ProgressIndicator-COd8pJNN.js} +4 -3
  29. package/dist/cjs/chunks/{PromptInput-B5-MrCid.js → PromptInput-Fz_LPCgY.js} +5 -4
  30. package/dist/cjs/chunks/{RadioButton-B0It6bQ8.js → RadioButton-9_v2hLcZ.js} +1 -1
  31. package/dist/cjs/chunks/{RadioButtonList-B-G1DO7M.js → RadioButtonList-B-ZTg8zH.js} +1 -1
  32. package/dist/cjs/chunks/{Slider-BDCvQ_h4.js → Slider-CVK9DAg2.js} +4 -3
  33. package/dist/cjs/chunks/{Spacer-C_qGs52F.js → Spacer-D-kgqLFU.js} +1 -1
  34. package/dist/cjs/chunks/{Switch-2YgqC8vV.js → Switch-BjV9N6mT.js} +1 -1
  35. package/dist/cjs/chunks/{TabBar-C3FbWoTz.js → TabBar-C-Gy9m_G.js} +5 -4
  36. package/dist/cjs/chunks/{TextArea-C3DehkDw.js → TextArea-zbvBRvaO.js} +1 -1
  37. package/dist/cjs/chunks/{TextField-BkZlrRfY.js → TextField-BaA1d-kZ.js} +5 -4
  38. package/dist/cjs/chunks/{Tip-CEvYKuL1.js → Tip-C5XHyCqG.js} +1 -1
  39. package/dist/cjs/chunks/{Toast-BoCExCrT.js → Toast-DvkCHKd_.js} +5 -4
  40. package/dist/cjs/chunks/{ToggleButton-CBQt8Ii8.js → ToggleButton-8x0KwHGz.js} +5 -2
  41. package/dist/cjs/chunks/{UploadArea-D3I4J8B7.js → UploadArea-C4EUBdgw.js} +1 -1
  42. package/dist/cjs/chunks/Video-YJtfnmcL.js +297 -0
  43. package/dist/cjs/chunks/VideoController-CGd4vCS5.js +94 -0
  44. package/dist/cjs/chunks/{WSConnection-D6rZfnAf.js → WSConnection-GFxVk4ga.js} +1 -1
  45. package/dist/cjs/chunks/{WebRTCConnection-C_IDgzdx.js → WebRTCConnection-BI1U50VW.js} +1 -1
  46. package/dist/cjs/chunks/{_types-Cq4h0y4u.js → _types-CYthPcWN.js} +9 -3
  47. package/dist/cjs/chunks/{localDBStore-CmeqEYMi.js → localDBStore-BcFJ7jo5.js} +1 -1
  48. package/dist/cjs/chunks/{microphoneStore-V2mYQFa4.js → microphoneStore-DPHwHLgx.js} +1 -1
  49. package/dist/cjs/chunks/{misc-CGesOGlL.js → misc-thfr_amv.js} +1 -1
  50. package/dist/cjs/chunks/{sseStore-Bql9biBI.js → sseStore-CiKSDxcG.js} +2 -2
  51. package/dist/cjs/chunks/{uploads-worker-CpdqGKrs.js → uploads-worker-CU3C7Eit.js} +1 -1
  52. package/dist/cjs/chunks/{uploadsStore-DWM1E-GX.js → uploadsStore-DAasEgzA.js} +2 -2
  53. package/dist/cjs/chunks/videoStore-DmHtglyq.js +21 -0
  54. package/dist/cjs/chunks/{volumeStore-CpxXslLu.js → volumeStore-1w6yUtq4.js} +1 -1
  55. package/dist/cjs/chunks/{webRTCStore-C9e5XlzB.js → webRTCStore-C961XakJ.js} +1 -1
  56. package/dist/cjs/chunks/{windowStore-DV7Ch5Z2.js → windowStore-BFp40NXf.js} +1 -1
  57. package/dist/cjs/components/AudioBubble/index.js +7 -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 -8
  62. package/dist/cjs/components/ButtonBar/index.js +7 -5
  63. package/dist/cjs/components/Camera/index.js +8 -6
  64. package/dist/cjs/components/CheckBox/index.js +7 -5
  65. package/dist/cjs/components/Chip/index.js +7 -6
  66. package/dist/cjs/components/DivInput/index.js +3 -3
  67. package/dist/cjs/components/Dot/index.js +2 -2
  68. package/dist/cjs/components/DraggablePanel/index.js +7 -5
  69. package/dist/cjs/components/DropDown/index.js +7 -5
  70. package/dist/cjs/components/ErrorSummary/index.js +6 -5
  71. package/dist/cjs/components/FileIcon/index.js +6 -5
  72. package/dist/cjs/components/FileList/index.js +8 -7
  73. package/dist/cjs/components/FlexDiv/index.js +2 -2
  74. package/dist/cjs/components/Grouper/index.js +7 -6
  75. package/dist/cjs/components/Icon/index.js +6 -5
  76. package/dist/cjs/components/IconButton/index.js +9 -7
  77. package/dist/cjs/components/Label/index.js +3 -3
  78. package/dist/cjs/components/Level/index.js +3 -3
  79. package/dist/cjs/components/Modal/index.js +10 -9
  80. package/dist/cjs/components/ModalController/index.js +6 -4
  81. package/dist/cjs/components/Overlay/index.js +2 -2
  82. package/dist/cjs/components/Pager/index.js +3 -3
  83. package/dist/cjs/components/Progress/index.js +5 -4
  84. package/dist/cjs/components/PromptInput/index.js +10 -8
  85. package/dist/cjs/components/RadioButton/index.js +7 -5
  86. package/dist/cjs/components/RadioButtonList/index.js +8 -6
  87. package/dist/cjs/components/Slider/index.js +7 -5
  88. package/dist/cjs/components/Spacer/index.js +2 -2
  89. package/dist/cjs/components/Switch/index.js +2 -2
  90. package/dist/cjs/components/TabBar/index.js +9 -7
  91. package/dist/cjs/components/TextArea/index.js +9 -8
  92. package/dist/cjs/components/Textfield/index.js +10 -8
  93. package/dist/cjs/components/Tip/index.js +3 -3
  94. package/dist/cjs/components/Toast/index.js +6 -5
  95. package/dist/cjs/components/ToggleButton/index.js +9 -8
  96. package/dist/cjs/components/UploadArea/index.js +8 -6
  97. package/dist/cjs/components/Video/index.js +17 -0
  98. package/dist/cjs/components/VideoController/index.js +16 -0
  99. package/dist/cjs/hooks/useAudioRecorder.js +1 -1
  100. package/dist/cjs/hooks/useBindWebRTC.js +2 -2
  101. package/dist/cjs/hooks/useMdStreamBuffer.js +1 -1
  102. package/dist/cjs/hooks/useMicrophone.js +1 -1
  103. package/dist/cjs/hooks/useTrackRenders.js +2 -2
  104. package/dist/cjs/hooks.js +3 -3
  105. package/dist/cjs/index.js +9 -9
  106. package/dist/cjs/stores/LocalDB.js +3 -3
  107. package/dist/cjs/stores/SSE.js +2 -2
  108. package/dist/cjs/stores/WS.js +2 -2
  109. package/dist/cjs/stores/WebRTC.js +2 -2
  110. package/dist/cjs/stores/microphone.js +2 -2
  111. package/dist/cjs/stores/modal.js +1 -1
  112. package/dist/cjs/stores/tip.js +1 -1
  113. package/dist/cjs/stores/toast.js +1 -1
  114. package/dist/cjs/stores/uploads.js +2 -2
  115. package/dist/cjs/stores/video.js +7 -0
  116. package/dist/cjs/stores/volume.js +2 -2
  117. package/dist/cjs/stores/window.js +2 -2
  118. package/dist/cjs/stores.js +30 -28
  119. package/dist/cjs/utils/index.js +2 -2
  120. package/dist/cjs/utils/objects/index.js +2 -2
  121. package/dist/cjs/workers/uploads/uploads.js +2 -2
  122. package/dist/esm/chunks/{AudioBubble-DbIkKNSG.mjs → AudioBubble-iizzoWYu.mjs} +8 -4
  123. package/dist/esm/chunks/{Avatar-BdEM1ozC.mjs → Avatar-DubrdG84.mjs} +2 -2
  124. package/dist/esm/chunks/{AvatarGroup-BTYNzBuA.mjs → AvatarGroup-BgRuyywS.mjs} +2 -2
  125. package/dist/esm/chunks/{Badge-BpiR8FTR.mjs → Badge-DuAuiCDh.mjs} +1 -1
  126. package/dist/esm/chunks/{Button-CsgknV85.mjs → Button-sNpmgrEH.mjs} +6 -6
  127. package/dist/esm/chunks/{ButtonBar-BFZwa2aG.mjs → ButtonBar-B3OfP6aP.mjs} +3 -3
  128. package/dist/esm/chunks/{Camera-CqXqVh7j.mjs → Camera-BjPshLqz.mjs} +10 -6
  129. package/dist/esm/chunks/{CheckBox-CQxfSzXH.mjs → CheckBox-DGZvXelF.mjs} +3 -3
  130. package/dist/esm/chunks/{Chip-B9lOeTEj.mjs → Chip-CW_-VRsb.mjs} +4 -4
  131. package/dist/esm/chunks/{DivInput-D98_x_cR.mjs → DivInput-WVbkF9Iw.mjs} +2 -2
  132. package/dist/esm/chunks/{Dot-CWHimm2-.mjs → Dot-BOTK-iGH.mjs} +1 -1
  133. package/dist/esm/chunks/{DrggablePanel-CWuLIdX9.mjs → DrggablePanel-BrY_Q7yh.mjs} +11 -7
  134. package/dist/esm/chunks/{DropDown-DmvRDK3x.mjs → DropDown-C9ss5Kya.mjs} +3 -3
  135. package/dist/esm/chunks/{ErrorSummary-CB6H8_k-.mjs → ErrorSummary-DZZOdkpV.mjs} +7 -3
  136. package/dist/esm/chunks/{FileIcon-D20gyTFi.mjs → FileIcon-DBx6DOva.mjs} +7 -3
  137. package/dist/esm/chunks/{FileList-C-YZ-FcH.mjs → FileList-CCuBYh9W.mjs} +5 -5
  138. package/dist/esm/chunks/{FlexDiv-CtfrPPcV.mjs → FlexDiv-Bt5TztWq.mjs} +1 -1
  139. package/dist/esm/chunks/{Grouper-gDZnuiM0.mjs → Grouper-DmsQtgYL.mjs} +8 -4
  140. package/dist/esm/chunks/{Icon-CF8mSm1j.mjs → Icon-BGLECWjf.mjs} +82 -5
  141. package/dist/esm/chunks/{IconButton-DAyyIY8J.mjs → IconButton-DfXCtxO7.mjs} +5 -5
  142. package/dist/esm/chunks/{IndexedDB-Ckz-KqBO.mjs → IndexedDB-FKrpsWT5.mjs} +1 -1
  143. package/dist/esm/chunks/{Label-2jNz4_6V.mjs → Label-ClSeda6b.mjs} +2 -2
  144. package/dist/esm/chunks/{Level-CVC8xDqy.mjs → Level-f-qJ6DpU.mjs} +4 -3
  145. package/dist/esm/chunks/{Modal-BmNG8fzy.mjs → Modal-Wyh9vD8I.mjs} +5 -5
  146. package/dist/esm/chunks/{ModalController-Ce3srWy-.mjs → ModalController-DwYap4hN.mjs} +8 -3
  147. package/dist/esm/chunks/{Overlay-B7lugjjj.mjs → Overlay-o7rQtTk-.mjs} +1 -1
  148. package/dist/esm/chunks/{Pager-DURbG5j1.mjs → Pager-BvmxNZIN.mjs} +2 -2
  149. package/dist/esm/chunks/{ProgressIndicator-CRc_YmyK.mjs → ProgressIndicator-8wqZL1ib.mjs} +7 -3
  150. package/dist/esm/chunks/{PromptInput-vnwk-zMH.mjs → PromptInput-Mcp3A0Ay.mjs} +9 -5
  151. package/dist/esm/chunks/{RadioButton-BEuDCEOu.mjs → RadioButton-C5p9M9LA.mjs} +3 -3
  152. package/dist/esm/chunks/{RadioButtonList-B_WIvWpr.mjs → RadioButtonList-C3_34iLp.mjs} +3 -3
  153. package/dist/esm/chunks/{Slider-CDjKOpoL.mjs → Slider-D-W_jWtn.mjs} +8 -4
  154. package/dist/esm/chunks/{Spacer-CdkfmN54.mjs → Spacer-BCFISLRB.mjs} +1 -1
  155. package/dist/esm/chunks/{Switch-C_DiN4cG.mjs → Switch-BWMkKzv0.mjs} +1 -1
  156. package/dist/esm/chunks/{TabBar-D8IYekUP.mjs → TabBar-CzDdMYki.mjs} +11 -7
  157. package/dist/esm/chunks/{TextArea-DWcOF8Wp.mjs → TextArea-COv1tDKL.mjs} +2 -2
  158. package/dist/esm/chunks/{TextField-D-Y8f0QY.mjs → TextField-DXB2x3g3.mjs} +10 -6
  159. package/dist/esm/chunks/{Tip-Cr872A6k.mjs → Tip-C-SbwBBX.mjs} +2 -2
  160. package/dist/esm/chunks/{Toast-Bb5Hh3so.mjs → Toast-P4qpxneX.mjs} +9 -5
  161. package/dist/esm/chunks/{ToggleButton-_9LchL03.mjs → ToggleButton-D_jOHDpK.mjs} +6 -3
  162. package/dist/esm/chunks/{UploadArea-Dm3tjBoN.mjs → UploadArea-B7Nvocjc.mjs} +4 -4
  163. package/dist/esm/chunks/Video-Dvkx0zJN.mjs +308 -0
  164. package/dist/esm/chunks/VideoController-DUAGSgCK.mjs +111 -0
  165. package/dist/esm/chunks/{WSConnection-B1_GePm4.mjs → WSConnection-DoZ0xJZ6.mjs} +1 -1
  166. package/dist/esm/chunks/{WebRTCConnection-DFZPhyph.mjs → WebRTCConnection-_zBzV614.mjs} +1 -1
  167. package/dist/esm/chunks/{_types-CI0sR4EH.mjs → _types-BO3tclBe.mjs} +9 -3
  168. package/dist/esm/chunks/{localDBStore-C-lYeGJl.mjs → localDBStore-D7_9yym7.mjs} +2 -2
  169. package/dist/esm/chunks/{microphoneStore-zHPtnRfW.mjs → microphoneStore-BGWQI4OG.mjs} +1 -1
  170. package/dist/esm/chunks/{misc-DjqDmrJE.mjs → misc-BCwU6qLj.mjs} +1 -1
  171. package/dist/esm/chunks/{sseStore-ZGbbKbVB.mjs → sseStore-DWnaYuNg.mjs} +2 -2
  172. package/dist/esm/chunks/{uploads-worker-kw6UOEx5.mjs → uploads-worker-5NJ0rSVJ.mjs} +1 -1
  173. package/dist/esm/chunks/{uploadsStore-BfyNmYWk.mjs → uploadsStore-ygVc1ghD.mjs} +1 -1
  174. package/dist/esm/chunks/videoStore-CZfHgy1p.mjs +19 -0
  175. package/dist/esm/chunks/{volumeStore-D_5Xqf_0.mjs → volumeStore-C-Iat9Bn.mjs} +1 -1
  176. package/dist/esm/chunks/{webRTCStore-Cy7Mo7hB.mjs → webRTCStore-CWIDJL7j.mjs} +2 -2
  177. package/dist/esm/chunks/{windowStore-CXggRA80.mjs → windowStore-D-1yvjRs.mjs} +1 -1
  178. package/dist/esm/components/AudioBubble/index.mjs +11 -5
  179. package/dist/esm/components/Avatar/index.mjs +3 -3
  180. package/dist/esm/components/AvatarGroup/index.mjs +4 -4
  181. package/dist/esm/components/Badge/index.mjs +2 -2
  182. package/dist/esm/components/Button/index.mjs +15 -9
  183. package/dist/esm/components/ButtonBar/index.mjs +11 -5
  184. package/dist/esm/components/Camera/index.mjs +13 -7
  185. package/dist/esm/components/CheckBox/index.mjs +11 -5
  186. package/dist/esm/components/Chip/index.mjs +12 -6
  187. package/dist/esm/components/DivInput/index.mjs +3 -3
  188. package/dist/esm/components/Dot/index.mjs +2 -2
  189. package/dist/esm/components/DraggablePanel/index.mjs +10 -4
  190. package/dist/esm/components/DropDown/index.mjs +11 -5
  191. package/dist/esm/components/ErrorSummary/index.mjs +10 -4
  192. package/dist/esm/components/FileIcon/index.mjs +10 -4
  193. package/dist/esm/components/FileList/index.mjs +13 -7
  194. package/dist/esm/components/FlexDiv/index.mjs +2 -2
  195. package/dist/esm/components/Grouper/index.mjs +12 -6
  196. package/dist/esm/components/Icon/index.mjs +11 -5
  197. package/dist/esm/components/IconButton/index.mjs +14 -8
  198. package/dist/esm/components/Label/index.mjs +3 -3
  199. package/dist/esm/components/Level/index.mjs +4 -4
  200. package/dist/esm/components/Modal/index.mjs +17 -11
  201. package/dist/esm/components/ModalController/index.mjs +11 -5
  202. package/dist/esm/components/Overlay/index.mjs +2 -2
  203. package/dist/esm/components/Pager/index.mjs +3 -3
  204. package/dist/esm/components/Progress/index.mjs +11 -5
  205. package/dist/esm/components/PromptInput/index.mjs +18 -12
  206. package/dist/esm/components/RadioButton/index.mjs +11 -5
  207. package/dist/esm/components/RadioButtonList/index.mjs +12 -6
  208. package/dist/esm/components/Slider/index.mjs +11 -5
  209. package/dist/esm/components/Spacer/index.mjs +2 -2
  210. package/dist/esm/components/Switch/index.mjs +2 -2
  211. package/dist/esm/components/TabBar/index.mjs +15 -9
  212. package/dist/esm/components/TextArea/index.mjs +16 -10
  213. package/dist/esm/components/Textfield/index.mjs +17 -11
  214. package/dist/esm/components/Tip/index.mjs +3 -3
  215. package/dist/esm/components/Toast/index.mjs +12 -6
  216. package/dist/esm/components/ToggleButton/index.mjs +16 -10
  217. package/dist/esm/components/UploadArea/index.mjs +14 -8
  218. package/dist/esm/components/Video/index.mjs +61 -0
  219. package/dist/esm/components/VideoController/index.mjs +55 -0
  220. package/dist/esm/hooks/useAudioRecorder.mjs +1 -1
  221. package/dist/esm/hooks/useBindWebRTC.mjs +5 -5
  222. package/dist/esm/hooks/useMdStreamBuffer.mjs +2 -2
  223. package/dist/esm/hooks/useMicrophone.mjs +1 -1
  224. package/dist/esm/hooks/useTrackRenders.mjs +2 -2
  225. package/dist/esm/hooks.mjs +6 -6
  226. package/dist/esm/index.mjs +59 -53
  227. package/dist/esm/stores/LocalDB.mjs +3 -3
  228. package/dist/esm/stores/SSE.mjs +3 -3
  229. package/dist/esm/stores/WS.mjs +2 -2
  230. package/dist/esm/stores/WebRTC.mjs +3 -3
  231. package/dist/esm/stores/microphone.mjs +2 -2
  232. package/dist/esm/stores/modal.mjs +1 -1
  233. package/dist/esm/stores/tip.mjs +1 -1
  234. package/dist/esm/stores/toast.mjs +1 -1
  235. package/dist/esm/stores/uploads.mjs +3 -3
  236. package/dist/esm/stores/video.mjs +3 -0
  237. package/dist/esm/stores/volume.mjs +2 -2
  238. package/dist/esm/stores/window.mjs +2 -2
  239. package/dist/esm/stores.mjs +17 -15
  240. package/dist/esm/utils/index.mjs +10 -10
  241. package/dist/esm/utils/objects/index.mjs +7 -7
  242. package/dist/esm/workers/uploads/uploads.mjs +2 -2
  243. package/dist/styles.css +149 -1
  244. package/dist/types/components/Icon/_types.d.ts +6 -0
  245. package/dist/types/components/ToggleButton/_types.d.ts +2 -0
  246. package/dist/types/components/Video/Video.d.ts +69 -0
  247. package/dist/types/components/Video/_types.d.ts +60 -0
  248. package/dist/types/components/Video/index.d.ts +2 -0
  249. package/dist/types/components/VideoController/VideoController.d.ts +2 -0
  250. package/dist/types/components/VideoController/_types.d.ts +19 -0
  251. package/dist/types/components/VideoController/index.d.ts +2 -0
  252. package/dist/types/index.d.ts +4 -0
  253. package/dist/types/stores/index.d.ts +1 -0
  254. package/dist/types/stores/video/_types.d.ts +14 -0
  255. package/dist/types/stores/video/index.d.ts +2 -0
  256. package/dist/types/stores/video/videoStore.d.ts +12 -0
  257. package/package.json +1 -1
  258. /package/dist/cjs/chunks/{MdStreamBuffer-P4x0pDST.js → MdStreamBuffer-6ppQXjx-.js} +0 -0
  259. /package/dist/cjs/chunks/{SSEConnection-CYqfVBs1.js → SSEConnection-u5Nbvi9N.js} +0 -0
  260. /package/dist/cjs/chunks/{audioVisualizer-D3ZG5ZP6.js → audioVisualizer-CcF9txlx.js} +0 -0
  261. /package/dist/cjs/chunks/{colors-DbCrvnqF.js → colors-BcjKxDNk.js} +0 -0
  262. /package/dist/cjs/chunks/{debounce-DnWdlF44.js → debounce-CGlNCeVU.js} +0 -0
  263. /package/dist/cjs/chunks/{modalStore-CJNFUtIy.js → modalStore-BsFlxAuk.js} +0 -0
  264. /package/dist/cjs/chunks/{sharedTypes-D5nZ9SDg.js → sharedTypes-CTQSVGwg.js} +0 -0
  265. /package/dist/cjs/chunks/{tipStore-DV7lnGfJ.js → tipStore-BpBKS759.js} +0 -0
  266. /package/dist/cjs/chunks/{toastStore-B_Kb_gld.js → toastStore-B94fIo0i.js} +0 -0
  267. /package/dist/cjs/chunks/{tslib.es6-CjqORQO8.js → tslib.es6-B1ngcCGJ.js} +0 -0
  268. /package/dist/esm/chunks/{MdStreamBuffer-QqAM_dVR.mjs → MdStreamBuffer-DDT67lxm.mjs} +0 -0
  269. /package/dist/esm/chunks/{SSEConnection-Bxy3gcK3.mjs → SSEConnection-dWPQXa3J.mjs} +0 -0
  270. /package/dist/esm/chunks/{audioVisualizer-DKVVhtrd.mjs → audioVisualizer-CEutpKkb.mjs} +0 -0
  271. /package/dist/esm/chunks/{colors-znQ0X8Pf.mjs → colors-BlWPMqVw.mjs} +0 -0
  272. /package/dist/esm/chunks/{debounce-AGOKEQDZ.mjs → debounce-xEaitPPO.mjs} +0 -0
  273. /package/dist/esm/chunks/{modalStore-BXnW8M6D.mjs → modalStore-DqQDI9Y8.mjs} +0 -0
  274. /package/dist/esm/chunks/{sharedTypes-_CvGLd7A.mjs → sharedTypes-Cnhu6KJ0.mjs} +0 -0
  275. /package/dist/esm/chunks/{tipStore-BZPw1gyq.mjs → tipStore-DQq5FT-A.mjs} +0 -0
  276. /package/dist/esm/chunks/{toastStore-BXCjnqI1.mjs → toastStore-Da3vPfDn.mjs} +0 -0
  277. /package/dist/esm/chunks/{tslib.es6-8-nvCYY0.mjs → tslib.es6-snMG2wnR.mjs} +0 -0
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var tslib_es6 = require("./tslib.es6-CjqORQO8.js"), jsxRuntime = require("react/jsx-runtime"), react = require("motion/react"), React = require("react"), css_wrapper = "Switch-module_wrapper__kudO9 flexBox-module_row__z24tF", css_knob = "Switch-module_knob__vKNOc flexBox-module_row__z24tF";
4
+ var tslib_es6 = require("./tslib.es6-B1ngcCGJ.js"), jsxRuntime = require("react/jsx-runtime"), react = require("motion/react"), React = require("react"), css_wrapper = "Switch-module_wrapper__kudO9 flexBox-module_row__z24tF", css_knob = "Switch-module_knob__vKNOc flexBox-module_row__z24tF";
5
5
 
6
6
  function SwitchComponent(props) {
7
7
  const {fieldName: fieldName, state: state = !1, value: value, height: height = 22, width: width = 44, padding: padding = 3, backgroundColorOn: backgroundColorOn, backgroundColorOff: backgroundColorOff, bgColorOn: bgColorOn = "var(--feedback-positive)", bgColorOff: bgColorOff = "var(--core-text-disabled)", knobColor: knobColor = "var(--core-surface-primary)", onChange: onChange = () => null} = props, divAttributes = tslib_es6.__rest(props, [ "fieldName", "state", "value", "height", "width", "padding", "backgroundColorOn", "backgroundColorOff", "bgColorOn", "bgColorOff", "knobColor", "onChange" ]), {id: divId, className: className, style: style} = divAttributes, rest = tslib_es6.__rest(divAttributes, [ "id", "className", "style" ]), divStyle = null != style ? style : {}, divClass = className ? ` ${className}` : "", [on, setOn] = React.useState(state), resolvedBackgroundColorOn = null != backgroundColorOn ? backgroundColorOn : bgColorOn, resolvedBackgroundColorOff = null != backgroundColorOff ? backgroundColorOff : bgColorOff;
@@ -1,15 +1,16 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var tslib_es6 = require("./tslib.es6-CjqORQO8.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), hooks_useTheme = require("../hooks/useTheme.js");
4
+ var tslib_es6 = require("./tslib.es6-B1ngcCGJ.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), hooks_useTheme = require("../hooks/useTheme.js");
5
5
 
6
6
  require("../theme/colors.js");
7
7
 
8
- var misc = require("./misc-CGesOGlL.js");
8
+ var misc = require("./misc-thfr_amv.js");
9
9
 
10
- require("./microphoneStore-V2mYQFa4.js"), require("../hooks/useWindow.js");
10
+ require("./webRTCStore-C961XakJ.js"), require("./microphoneStore-DPHwHLgx.js"),
11
+ require("./volumeStore-1w6yUtq4.js"), require("../hooks/useWindow.js");
11
12
 
12
- var Badge = require("./Badge-DMowUBPk.js"), Icon = require("./Icon-g039RSWl.js"), IconButton = require("./IconButton-DZBikqIA.js"), sharedTypes = require("./sharedTypes-D5nZ9SDg.js"), css = {
13
+ var Badge = require("./Badge-CgOsYcT3.js"), Icon = require("./Icon-FZglA3Yv.js"), IconButton = require("./IconButton-NhRNQC8P.js"), sharedTypes = require("./sharedTypes-CTQSVGwg.js"), css = {
13
14
  wrapper: "TabBar-module_wrapper__cyOR1 flexBox-module_rowStart__4tcxS",
14
15
  option: "TabBar-module_option__gYjDf flexBox-module_row__z24tF",
15
16
  icon: "TabBar-module_icon__JDgG3 flexBox-module_row__z24tF",
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var tslib_es6 = require("./tslib.es6-CjqORQO8.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), Button = require("./Button-COMAPFWV.js"), css_wrapper = "TextArea-module_wrapper__O0sWP flexBox-module_columnStart__C7P44", css_textarea = "TextArea-module_textarea__-R2n0", css_send = "TextArea-module_send__Cub13", css_xs = "TextArea-module_xs__5e748 type-module_body-xs-regular__ZAFft", css_s = "TextArea-module_s__Ac-fq type-module_body-s-regular__vRHSP", css_m = "TextArea-module_m__dod4R type-module_body-m-regular__LuQBA", css_l = "TextArea-module_l__-uLCG type-module_body-l-regular__lOYbg";
4
+ var tslib_es6 = require("./tslib.es6-B1ngcCGJ.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), Button = require("./Button-DaiX-C4m.js"), css_wrapper = "TextArea-module_wrapper__O0sWP flexBox-module_columnStart__C7P44", css_textarea = "TextArea-module_textarea__-R2n0", css_send = "TextArea-module_send__Cub13", css_xs = "TextArea-module_xs__5e748 type-module_body-xs-regular__ZAFft", css_s = "TextArea-module_s__Ac-fq type-module_body-s-regular__vRHSP", css_m = "TextArea-module_m__dod4R type-module_body-m-regular__LuQBA", css_l = "TextArea-module_l__-uLCG type-module_body-l-regular__lOYbg";
5
5
 
6
6
  const TextArea = React.memo(props => {
7
7
  const {value: value = "", name: name = "text_area", width: width = "100%", focused: focused = !1, placeholder: placeholder = "Enter text here...", rows: rows = 6, border: border = !0, borderRadius: borderRadius = 4, padding: padding = "16px 4px 16px 16px", error: error = !1, resizable: resizable = !0, hasSend: hasSend = !1, sendOffset: sendOffset = {
@@ -1,15 +1,16 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var tslib_es6 = require("./tslib.es6-CjqORQO8.js"), jsxRuntime = require("react/jsx-runtime"), react = require("motion/react"), React = require("react"), hooks_useTheme = require("../hooks/useTheme.js");
4
+ var tslib_es6 = require("./tslib.es6-B1ngcCGJ.js"), jsxRuntime = require("react/jsx-runtime"), react = require("motion/react"), React = require("react"), hooks_useTheme = require("../hooks/useTheme.js");
5
5
 
6
6
  require("../theme/colors.js");
7
7
 
8
- var misc = require("./misc-CGesOGlL.js");
8
+ var misc = require("./misc-thfr_amv.js");
9
9
 
10
- require("./microphoneStore-V2mYQFa4.js"), require("../hooks/useWindow.js");
10
+ require("./webRTCStore-C961XakJ.js"), require("./microphoneStore-DPHwHLgx.js"),
11
+ require("./volumeStore-1w6yUtq4.js"), require("../hooks/useWindow.js");
11
12
 
12
- var Button = require("./Button-COMAPFWV.js"), Icon = require("./Icon-g039RSWl.js"), IconButton = require("./IconButton-DZBikqIA.js"), css = {
13
+ var Button = require("./Button-DaiX-C4m.js"), Icon = require("./Icon-FZglA3Yv.js"), IconButton = require("./IconButton-NhRNQC8P.js"), css = {
13
14
  wrapper: "TextField-module_wrapper__qZ-p- flexBox-module_rowStart__4tcxS",
14
15
  container: "TextField-module_container__5U9yK flexBox-module_rowStart__4tcxS",
15
16
  label: "TextField-module_label__jD8MR flexBox-module_rowStart__4tcxS",
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var tslib_es6 = require("./tslib.es6-CjqORQO8.js"), jsxRuntime = require("react/jsx-runtime"), react = require("motion/react"), React = require("react"), misc = require("./misc-CGesOGlL.js"), css = {
4
+ var tslib_es6 = require("./tslib.es6-B1ngcCGJ.js"), jsxRuntime = require("react/jsx-runtime"), react = require("motion/react"), React = require("react"), misc = require("./misc-thfr_amv.js"), css = {
5
5
  wrapper: "Tip-module_wrapper__D7ACT flexBox-module_rowStart__4tcxS",
6
6
  xs: "Tip-module_xs__wsz9y type-module_body-xs-regular__ZAFft",
7
7
  s: "Tip-module_s__Wvz3q type-module_body-s-regular__vRHSP",
@@ -1,15 +1,16 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var tslib_es6 = require("./tslib.es6-CjqORQO8.js"), jsxRuntime = require("react/jsx-runtime"), react = require("motion/react"), React = require("react"), hooks_useTheme = require("../hooks/useTheme.js");
4
+ var tslib_es6 = require("./tslib.es6-B1ngcCGJ.js"), jsxRuntime = require("react/jsx-runtime"), react = require("motion/react"), React = require("react"), hooks_useTheme = require("../hooks/useTheme.js");
5
5
 
6
6
  require("../theme/colors.js");
7
7
 
8
- var misc = require("./misc-CGesOGlL.js");
8
+ var misc = require("./misc-thfr_amv.js");
9
9
 
10
- require("./microphoneStore-V2mYQFa4.js"), require("../hooks/useWindow.js");
10
+ require("./webRTCStore-C961XakJ.js"), require("./microphoneStore-DPHwHLgx.js"),
11
+ require("./volumeStore-1w6yUtq4.js"), require("../hooks/useWindow.js");
11
12
 
12
- var ToastType, Icon = require("./Icon-g039RSWl.js"), ProgressIndicator = require("./ProgressIndicator-BqAJgdQp.js"), css = {
13
+ var ToastType, Icon = require("./Icon-FZglA3Yv.js"), ProgressIndicator = require("./ProgressIndicator-COd8pJNN.js"), css = {
13
14
  wrapper: "Toast-module_wrapper__1uj9O flexBox-module_rowBetween__5FEvi",
14
15
  close: "Toast-module_close__i10-s flexBox-module_row__z24tF",
15
16
  message: "Toast-module_message__3dP0P flexBox-module_rowStart__4tcxS",
@@ -1,9 +1,10 @@
1
+ 'use client';
1
2
  "use strict";
2
3
 
3
- var jsxRuntime = require("react/jsx-runtime"), React = require("react"), IconButton = require("./IconButton-DZBikqIA.js"), Label = require("./Label-BLCGQli-.js"), css_toggleButton = "ToggleButton-module_toggleButton__H7KgI flexBox-module_rowStart__4tcxS";
4
+ var jsxRuntime = require("react/jsx-runtime"), React = require("react"), IconButton = require("./IconButton-NhRNQC8P.js"), Label = require("./Label-yG4MKTBU.js"), css_toggleButton = "ToggleButton-module_toggleButton__H7KgI flexBox-module_rowStart__4tcxS";
4
5
 
5
6
  exports.ToggleButton = function(props) {
6
- const {label: label, textSize: textSize, icon: icon, iconOn: iconOn, selected: selected = !1, iconColor: iconColor = "var(--core-text-primary)", iconColorOn: iconColorOn = "var(--core-surface-primary)", bgColor: bgColor = "var(--core-surface-secondary)", bgColorOn: bgColorOn = "var(--core-text-special)", iconSize: iconSize = 20, buttonSize: buttonSize = "m", tooltip: tooltip, gap: gap = 4, unselect: unselect = !0, fill: fill = !1, disabled: disabled = !1, border: border = !1, onChange: onChange, onSelect: onSelect, onToolTip: onToolTip, children: children, presetAnimations: presetAnimations, customAnimations: customAnimations} = props, handleClick = () => {
7
+ const {label: label, textSize: textSize, icon: icon, iconOn: iconOn, selected: selected = !1, iconColor: iconColor = "var(--core-text-primary)", iconColorOn: iconColorOn = "var(--core-surface-primary)", iconColorHover: iconColorHover = "var(--core-text-primary)", bgColor: bgColor = "var(--core-surface-secondary)", bgColorHover: bgColorHover = "var(--core-surface-secondary)", bgColorOn: bgColorOn = "var(--core-text-special)", iconSize: iconSize = 20, buttonSize: buttonSize = "m", tooltip: tooltip, gap: gap = 4, unselect: unselect = !0, fill: fill = !1, disabled: disabled = !1, border: border = !1, onChange: onChange, onSelect: onSelect, onToolTip: onToolTip, children: children, presetAnimations: presetAnimations, customAnimations: customAnimations} = props, handleClick = () => {
7
8
  if (!unselect && selected) return;
8
9
  const newState = !selected;
9
10
  null == onChange || onChange(newState), newState && (null == onSelect || onSelect());
@@ -20,9 +21,11 @@ exports.ToggleButton = function(props) {
20
21
  toggle: !selected,
21
22
  isToggled: selected,
22
23
  bgColorOn: bgColorOn,
24
+ bgColorHover: bgColorHover,
23
25
  bgColor: bgColor,
24
26
  iconColor: iconColor,
25
27
  iconColorOn: iconColorOn,
28
+ iconColorHover: iconColorHover,
26
29
  onClick: handleClick,
27
30
  iconSize: iconSize,
28
31
  iconFill: fill,
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var jsxRuntime = require("react/jsx-runtime"), React = require("react"), misc = require("./misc-CGesOGlL.js"), Icon = require("./Icon-g039RSWl.js"), ProgressIndicator = require("./ProgressIndicator-BqAJgdQp.js"), FileList = require("./FileList-CnsmD5Y7.js"), css = {
4
+ var jsxRuntime = require("react/jsx-runtime"), React = require("react"), misc = require("./misc-thfr_amv.js"), Icon = require("./Icon-FZglA3Yv.js"), ProgressIndicator = require("./ProgressIndicator-COd8pJNN.js"), FileList = require("./FileList-Bh2ASAlo.js"), css = {
5
5
  wrapper: "UploadArea-module_wrapper__aircC flexBox-module_column__ezvMq",
6
6
  icon: "UploadArea-module_icon__M7n-m flexBox-module_row__z24tF",
7
7
  title: "UploadArea-module_title__VbNGq type-module_body-l-bold__Fh2dt",
@@ -0,0 +1,297 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ var PlayState, tslib_es6 = require("./tslib.es6-B1ngcCGJ.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), misc = require("./misc-thfr_amv.js"), IconButton = require("./IconButton-NhRNQC8P.js"), Slider = require("./Slider-CVK9DAg2.js"), ToggleButton = require("./ToggleButton-8x0KwHGz.js"), 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";
5
+
6
+ !function(PlayState) {
7
+ PlayState.Playing = "playing", PlayState.Paused = "paused", PlayState.Stopped = "stopped",
8
+ PlayState.Ended = "ended";
9
+ }(PlayState || (PlayState = {}));
10
+
11
+ const BaseVideo = React.forwardRef((props, ref) => {
12
+ const {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, playRate: playRate = 1, width: width = "100%", height: height = "auto", borderRadius: borderRadius, borderSize: borderSize, borderColor: borderColor, backgroundColor: backgroundColor, objectFit: objectFit = "contain", customControls: customControls = {
13
+ play: !1,
14
+ progress: !0,
15
+ volume: !0,
16
+ fullscreen: !0
17
+ }, onPlay: onPlay, onPause: onPause, onEnd: onEnd, onProgress: onProgress, onLoadProgress: onLoadProgress, onPlaybackRateChange: onPlaybackRateChange, onCanPlayThrough: onCanPlayThrough, onPlayStateChange: onPlayStateChange, onLoadMetaData: onLoadMetaData, onFullScreenChange: onFullScreenChange, onVolumeChange: onVolumeChange, onLoadedFrameData: onLoadedFrameData, onQuit: onQuit} = props, divAttributes = tslib_es6.__rest(props, [ "children", "src", "playing", "loop", "muted", "playsInline", "controls", "volume", "poster", "captionsSrc", "playRate", "width", "height", "borderRadius", "borderSize", "borderColor", "backgroundColor", "objectFit", "customControls", "onPlay", "onPause", "onEnd", "onProgress", "onLoadProgress", "onPlaybackRateChange", "onCanPlayThrough", "onPlayStateChange", "onLoadMetaData", "onFullScreenChange", "onVolumeChange", "onLoadedFrameData", "onQuit" ]), {id: divId, className: className, style: style} = divAttributes, rest = tslib_es6.__rest(divAttributes, [ "id", "className", "style" ]), divStyle = null != style ? style : {}, divClass = className ? ` ${className}` : "", videoRef = React.useRef(null), containerRef = React.useRef(null), progress = React.useRef(null), wasPlaying = React.useRef(null != playing && playing), playState = React.useRef(PlayState.Stopped), [isPlaying, setIsPlaying] = React.useState(null != playing && playing), [isMuted, setIsMuted] = React.useState(null != muted && muted), [currentVolume, setCurrentVolume] = React.useState(null != volume ? volume : 1), [currentProgress, setCurrentProgress] = React.useState(0), [hovered, setHovered] = React.useState(!1), timer = React.useRef(null), handleLoadProgress = React.useCallback(event => {
18
+ const target = event.target;
19
+ if (target.buffered.length > 0) {
20
+ const bufferedEnd = target.buffered.end(target.buffered.length - 1), duration = target.duration;
21
+ if (duration > 0) {
22
+ null == onLoadProgress || onLoadProgress(bufferedEnd / duration);
23
+ }
24
+ }
25
+ }, [ onLoadProgress ]), handlePlayProgress = React.useCallback(event => {
26
+ var _a, _b, _c;
27
+ const target = event.target, percentPlayed = target.currentTime / target.duration;
28
+ if (setCurrentProgress(percentPlayed), progress.current !== percentPlayed) {
29
+ null == onProgress || onProgress(percentPlayed), progress.current = percentPlayed;
30
+ 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);
31
+ isAtZero && target.paused ? (playState.current !== PlayState.Stopped && (null == onPlayStateChange || onPlayStateChange(PlayState.Stopped)),
32
+ playState.current = PlayState.Stopped) : isAtEnd ? (playState.current !== PlayState.Ended && (null == onPlayStateChange || onPlayStateChange(PlayState.Ended)),
33
+ playState.current = PlayState.Ended) : target.paused && playState.current !== PlayState.Paused ? (null == onPlayStateChange || onPlayStateChange(PlayState.Paused),
34
+ playState.current = PlayState.Paused) : target.paused || playState.current === PlayState.Playing || (null == onPlayStateChange || onPlayStateChange(PlayState.Playing),
35
+ playState.current = PlayState.Playing);
36
+ }
37
+ }, [ onProgress, onPlayStateChange ]), handleCanPlayThrough = React.useCallback(() => {
38
+ null == onCanPlayThrough || onCanPlayThrough();
39
+ }, [ onCanPlayThrough ]), handlePlay = React.useCallback(() => {
40
+ var _a, _b, _c;
41
+ (null === (_a = videoRef.current) || void 0 === _a ? void 0 : _a.paused) && videoRef.current.play().then(() => null),
42
+ null == onPlay || onPlay(), setIsPlaying(!0);
43
+ (null === (_b = videoRef.current) || void 0 === _b ? void 0 : _b.currentTime) === (null === (_c = videoRef.current) || void 0 === _c ? void 0 : _c.duration) ? (playState.current !== PlayState.Ended && (null == onPlayStateChange || onPlayStateChange(PlayState.Ended)),
44
+ playState.current = PlayState.Ended) : playState.current !== PlayState.Playing && (null == onPlayStateChange || onPlayStateChange(PlayState.Playing),
45
+ playState.current = PlayState.Playing);
46
+ }, [ onPlay, onPlayStateChange ]), handlePause = React.useCallback(() => {
47
+ var _a, _b, _c;
48
+ null == onPause || onPause(), setIsPlaying(!1);
49
+ const isAtZero = 0 === (null === (_a = videoRef.current) || void 0 === _a ? void 0 : _a.currentTime);
50
+ (null === (_b = videoRef.current) || void 0 === _b ? void 0 : _b.currentTime) === (null === (_c = videoRef.current) || void 0 === _c ? void 0 : _c.duration) || isAtZero || playState.current !== PlayState.Paused && (null == onPlayStateChange || onPlayStateChange(PlayState.Paused),
51
+ playState.current = PlayState.Paused);
52
+ }, [ onPause, onPlayStateChange ]), handleEnd = React.useCallback(() => {
53
+ null == onEnd || onEnd();
54
+ }, [ onEnd ]), handleLoadMetadata = React.useCallback(event => {
55
+ const target = event.target;
56
+ null == onLoadMetaData || onLoadMetaData(target.duration);
57
+ }, [ onLoadMetaData ]), handlePlaybackRate = React.useCallback(event => {
58
+ const playbackRate = event.target.playbackRate;
59
+ null == onPlaybackRateChange || onPlaybackRateChange(playbackRate);
60
+ }, [ onPlaybackRateChange ]), handlePlayClick = React.useCallback(play => {
61
+ const video = videoRef.current;
62
+ if (!video) return;
63
+ let setPlaying = video.paused;
64
+ void 0 !== play && (setPlaying = play), setPlaying ? video.play().then(() => null).catch(() => null) : video.pause();
65
+ }, []), handleMouseOver = React.useCallback(() => {
66
+ setHovered(!0), timer.current && clearTimeout(timer.current), timer.current = setTimeout(() => {
67
+ setHovered(!1);
68
+ }, 2e3);
69
+ }, []), handleMouseOut = React.useCallback(() => {
70
+ timer.current && clearTimeout(timer.current), setHovered(!1);
71
+ }, []), handleFullScreen = React.useCallback((state = !0) => {
72
+ const video = videoRef.current;
73
+ video && (state ? video.requestFullscreen().catch(() => null) : document.fullscreenElement === video && document.exitFullscreen().catch(() => null));
74
+ }, []), handleMute = React.useCallback(state => {
75
+ if (!videoRef.current) return;
76
+ let nextMuted = !videoRef.current.muted;
77
+ void 0 !== state && (nextMuted = state), videoRef.current.muted = nextMuted, setIsMuted(nextMuted);
78
+ }, []), handleRateChange = React.useCallback((rate = 1) => {
79
+ if (!videoRef.current) return;
80
+ let nextRate = rate;
81
+ rate < .5 && (nextRate = .5), rate > 3 && (nextRate = 3), videoRef.current.playbackRate = nextRate;
82
+ }, []), handleRestart = React.useCallback(() => {
83
+ videoRef.current && (videoRef.current.pause(), videoRef.current.currentTime = 0,
84
+ videoRef.current.play().then(() => null));
85
+ }, []), handleVolumeChange = React.useCallback((volume = 1) => {
86
+ if (!videoRef.current) return;
87
+ let nextVolume = volume;
88
+ volume < 0 && (nextVolume = 0), volume > 1 && (nextVolume = 1), videoRef.current.volume = nextVolume,
89
+ setCurrentVolume(nextVolume), null == onVolumeChange || onVolumeChange(nextVolume);
90
+ }, [ onVolumeChange ]), handleSetProgress = React.useCallback(progress => {
91
+ videoRef.current && (wasPlaying.current || (wasPlaying.current = !videoRef.current.paused),
92
+ videoRef.current.pause(), videoRef.current.currentTime = progress * videoRef.current.duration);
93
+ }, []), handleSeekEnd = React.useCallback(() => {
94
+ wasPlaying.current && (handlePlayClick(!0), wasPlaying.current = !1);
95
+ }, [ handlePlayClick ]), handleFullScreenChange = React.useCallback(() => {
96
+ const isFullscreen = document.fullscreenElement === videoRef.current;
97
+ null == onFullScreenChange || onFullScreenChange(isFullscreen);
98
+ }, [ onFullScreenChange ]), handleLoadedFrame = React.useCallback(() => {
99
+ null == onLoadedFrameData || onLoadedFrameData();
100
+ }, [ onLoadedFrameData ]);
101
+ React.useImperativeHandle(ref, () => ({
102
+ play: () => tslib_es6.__awaiter(void 0, void 0, void 0, function*() {
103
+ handlePlayClick(!0);
104
+ }),
105
+ stop: () => tslib_es6.__awaiter(void 0, void 0, void 0, function*() {
106
+ handlePlayClick(!1);
107
+ }),
108
+ restart: () => tslib_es6.__awaiter(void 0, void 0, void 0, function*() {
109
+ handleRestart();
110
+ }),
111
+ setVolume: volume => {
112
+ handleVolumeChange(volume);
113
+ },
114
+ mute: mute => {
115
+ handleMute(mute);
116
+ },
117
+ fullscreen: state => {
118
+ handleFullScreen(state);
119
+ },
120
+ playbackRate: rate => {
121
+ handleRateChange(rate);
122
+ },
123
+ get videoElement() {
124
+ var _a;
125
+ return null !== (_a = videoRef.current) && void 0 !== _a ? _a : void 0;
126
+ }
127
+ }), [ handlePlayClick, handleRestart, handleMute, handleFullScreen, handleRateChange, handleVolumeChange ]);
128
+ const showCustomControls = React.useMemo(() => "default" !== controls && "none" !== controls, [ controls ]), cssVars = React.useMemo(() => ({
129
+ "--video-width": misc.setStyle(width, "unset"),
130
+ "--video-height": misc.setStyle(height, "unset"),
131
+ "--video-border-radius": misc.setStyle(borderRadius, 0),
132
+ "--video-border-size": misc.setStyle(borderSize, 0),
133
+ "--video-border-color": misc.setStyle(borderColor, "transparent"),
134
+ "--video-bg-color": misc.setStyle(backgroundColor, "transparent"),
135
+ "--video-object-fit": null != objectFit ? objectFit : "contain",
136
+ "--video-controls-pointer-events": hovered ? "auto" : "none",
137
+ "--video-controls-opacity": hovered ? 1 : 0,
138
+ "--video-progress-padding-left": customControls.quit ? "8px" : "16px"
139
+ }), [ width, height, borderRadius, borderSize, borderColor, backgroundColor, objectFit, hovered, customControls.quit ]), speakerIcon = React.useMemo(() => isMuted || 0 === currentVolume ? "speaker muted" : "speaker", [ isMuted, currentVolume ]);
140
+ return React.useEffect(() => handleRateChange(playRate), [ playRate, handleRateChange ]),
141
+ React.useEffect(() => {
142
+ void 0 !== playing && handlePlayClick(playing);
143
+ }, [ playing, handlePlayClick ]), React.useEffect(() => handleMute(muted), [ muted, handleMute ]),
144
+ React.useEffect(() => handleVolumeChange(volume), [ volume, handleVolumeChange ]),
145
+ React.useEffect(() => {
146
+ var _a, _b;
147
+ return null === (_a = videoRef.current) || void 0 === _a || _a.addEventListener("seeked", handleSeekEnd),
148
+ null === (_b = videoRef.current) || void 0 === _b || _b.addEventListener("loadeddata", handleLoadedFrame),
149
+ document.addEventListener("fullscreenchange", handleFullScreenChange), () => {
150
+ var _a, _b;
151
+ null === (_a = videoRef.current) || void 0 === _a || _a.removeEventListener("seeked", handleSeekEnd),
152
+ null === (_b = videoRef.current) || void 0 === _b || _b.removeEventListener("loadeddata", handleLoadedFrame),
153
+ document.removeEventListener("fullscreenchange", handleFullScreenChange);
154
+ };
155
+ }, [ handleSeekEnd, handleFullScreenChange, handleLoadedFrame ]), jsxRuntime.jsxs("div", Object.assign({
156
+ id: divId,
157
+ ref: containerRef,
158
+ className: `${css_wrapper}${divClass}`,
159
+ style: Object.assign(Object.assign({}, cssVars), divStyle),
160
+ onMouseEnter: handleMouseOver,
161
+ onMouseLeave: handleMouseOut,
162
+ onBlur: handleMouseOut,
163
+ onFocus: handleMouseOver,
164
+ onMouseMove: handleMouseOver
165
+ }, rest, {
166
+ children: [ showCustomControls && jsxRuntime.jsxs("div", {
167
+ className: css_controls,
168
+ children: [ !children && "simple" === controls && jsxRuntime.jsxs("div", {
169
+ className: css_controls,
170
+ children: [ jsxRuntime.jsxs("div", {
171
+ className: css_controlsHeader,
172
+ children: [ customControls.fullscreen && jsxRuntime.jsx("div", {
173
+ className: css_left,
174
+ children: jsxRuntime.jsx(IconButton.IconButton, {
175
+ icon: "fullscreen",
176
+ iconFill: !0,
177
+ buttonSize: "m",
178
+ iconSize: 18,
179
+ bgColor: "rgba(255,255,255,0.05)",
180
+ bgColorHover: "rgba(0,0,0,0.7)",
181
+ iconColor: "var(--core-text-light)",
182
+ iconColorHover: "var(--core-text-light)",
183
+ onClick: () => handleFullScreen(!0)
184
+ })
185
+ }), customControls.volume && jsxRuntime.jsxs("div", {
186
+ className: css_right,
187
+ children: [ jsxRuntime.jsx(IconButton.IconButton, {
188
+ icon: speakerIcon,
189
+ iconFill: !0,
190
+ buttonSize: "m",
191
+ iconSize: 20,
192
+ bgColor: "rgba(255,255,255,0.05)",
193
+ bgColorHover: "rgba(0,0,0,0.7)",
194
+ bgColorOn: "rgba(0,0,0,0.5)",
195
+ iconColor: "var(--core-text-light)",
196
+ iconColorHover: "var(--core-text-light)",
197
+ onClick: () => handleMute()
198
+ }), jsxRuntime.jsx(Slider.Slider, {
199
+ trackColor: "rgba(0,0,0,0.5)",
200
+ progressColor: "var(--core-text-light)",
201
+ trackHeadSize: 16,
202
+ trackHeadBorderSize: 0,
203
+ scaleMax: 1,
204
+ scaleMin: 0,
205
+ value: currentVolume,
206
+ onChange: value => handleVolumeChange(value)
207
+ }) ]
208
+ }) ]
209
+ }), jsxRuntime.jsx("div", {
210
+ className: css_controlsBody,
211
+ children: customControls.play && jsxRuntime.jsx(ToggleButton.ToggleButton, {
212
+ selected: isPlaying,
213
+ icon: "play",
214
+ iconOn: "pause",
215
+ iconSize: 48,
216
+ buttonSize: "xl",
217
+ bgColor: "rgba(0,0,0,0.5)",
218
+ bgColorHover: "rgba(0,0,0,0.7)",
219
+ bgColorOn: "rgba(0,0,0,0.5)",
220
+ iconColor: "var(--core-text-light)",
221
+ iconColorOn: "var(--core-text-light)",
222
+ iconColorHover: "var(--core-text-light)",
223
+ onChange: () => handlePlayClick()
224
+ })
225
+ }), jsxRuntime.jsx("div", {
226
+ className: css_controlsFooter,
227
+ children: customControls.progress && jsxRuntime.jsxs("div", {
228
+ className: css_progress,
229
+ children: [ jsxRuntime.jsx(ToggleButton.ToggleButton, {
230
+ selected: isPlaying,
231
+ icon: "play",
232
+ iconOn: "pause",
233
+ buttonSize: "m",
234
+ iconSize: 28,
235
+ bgColor: "rgba(255,255,255,0.05)",
236
+ bgColorHover: "rgba(0,0,0,0.7)",
237
+ bgColorOn: "rgba(255,255,255,0.05)",
238
+ iconColor: "var(--core-text-light)",
239
+ iconColorHover: "var(--core-text-light)",
240
+ iconColorOn: "var(--core-text-light)",
241
+ onChange: () => handlePlayClick()
242
+ }), jsxRuntime.jsx(Slider.Slider, {
243
+ trackColor: "rgba(0,0,0,0.5)",
244
+ progressColor: "var(--core-text-light)",
245
+ trackHeadSize: 16,
246
+ trackHeadBorderSize: 0,
247
+ scaleMax: 1,
248
+ scaleMin: 0,
249
+ value: currentProgress,
250
+ onChange: handleSetProgress,
251
+ width: "100%"
252
+ }), customControls.quit && jsxRuntime.jsx(IconButton.IconButton, {
253
+ toggle: !1,
254
+ icon: "x",
255
+ buttonSize: "m",
256
+ bgColor: "rgba(255,255,255,0.05)",
257
+ bgColorHover: "rgba(0,0,0,0.7)",
258
+ bgColorOn: "rgba(255,255,255,0.05)",
259
+ iconColor: "var(--core-text-light)",
260
+ iconColorHover: "var(--core-text-light)",
261
+ iconColorOn: "var(--core-text-light)",
262
+ onClick: () => null == onQuit ? void 0 : onQuit()
263
+ }) ]
264
+ })
265
+ }) ]
266
+ }), "custom" === controls && children ]
267
+ }), jsxRuntime.jsx("video", {
268
+ ref: videoRef,
269
+ src: src,
270
+ autoPlay: !1,
271
+ playsInline: playsInline,
272
+ loop: loop,
273
+ muted: isMuted,
274
+ controls: "default" === controls,
275
+ poster: poster,
276
+ onCanPlayThrough: handleCanPlayThrough,
277
+ onPlay: handlePlay,
278
+ onPause: handlePause,
279
+ onEnded: handleEnd,
280
+ onProgress: handleLoadProgress,
281
+ onTimeUpdate: handlePlayProgress,
282
+ onRateChange: handlePlaybackRate,
283
+ onLoadedMetadata: handleLoadMetadata,
284
+ className: css_video,
285
+ children: jsxRuntime.jsx("track", {
286
+ kind: "captions",
287
+ src: captionsSrc
288
+ })
289
+ }) ]
290
+ }));
291
+ });
292
+
293
+ BaseVideo.displayName = "Video";
294
+
295
+ const Video = React.memo(BaseVideo);
296
+
297
+ exports.Video = Video;
@@ -0,0 +1,94 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ var tslib_es6 = require("./tslib.es6-B1ngcCGJ.js"), jsxRuntime = require("react/jsx-runtime"), react = require("motion/react"), React = require("react");
5
+
6
+ require("./microphoneStore-DPHwHLgx.js"), require("./volumeStore-1w6yUtq4.js"),
7
+ require("./webRTCStore-C961XakJ.js");
8
+
9
+ var misc = require("./misc-thfr_amv.js"), IconButton = require("./IconButton-NhRNQC8P.js"), Overlay = require("./Overlay-EZURYTTf.js"), videoStore = require("./videoStore-DmHtglyq.js"), css_container = "VideoController-module_container__wNiGy", css_box = "VideoController-module_box__a0PRD", css_wrapper = "VideoController-module_wrapper__RhpUo", css_video = "VideoController-module_video__9bS2L";
10
+
11
+ const defaultTransition = {
12
+ ease: "easeOut",
13
+ duration: .25,
14
+ delay: .1
15
+ }, defaultVariants = {
16
+ initial: {
17
+ opacity: 0
18
+ },
19
+ animate: {
20
+ opacity: 1
21
+ },
22
+ exit: {
23
+ opacity: 0
24
+ }
25
+ };
26
+
27
+ exports.VideoController = function(props) {
28
+ var _a;
29
+ const {dragConstraintsRef: dragConstraintsRef, transition: transition = defaultTransition, variants: variants = defaultVariants, initial: initial = "initial", animate: animate = "animate", exit: exit = "exit", draggable: draggable = !0, overlayOpacity: overlayOpacity = .7, overlayColor: overlayColor = "rgb(0,0,0)", padding: padding = 64, borderRadius: borderRadius = 8, quit: quit = "inline", onQuit: onQuit} = props, controls = react.useDragControls(), video = videoStore.useVideo(), hide = videoStore.useVideoActions().clear, VideoComponent = null == video ? void 0 : video.component, _b = null !== (_a = null == video ? void 0 : video.props) && void 0 !== _a ? _a : {}, {onLoadedFrameData: onLoadedFrameData, borderRadius: videoBorderRadius} = _b, videoProps = tslib_es6.__rest(_b, [ "onLoadedFrameData", "borderRadius" ]), ref = React.useRef(null), constraints = null != dragConstraintsRef ? dragConstraintsRef : ref, [ready, setReady] = React.useState(!1);
30
+ React.useEffect(() => {
31
+ (null == video ? void 0 : video.id) && setReady(!1);
32
+ }, [ null == video ? void 0 : video.id ]);
33
+ const handleHide = () => {
34
+ setReady(!1), hide(), null == onQuit || onQuit();
35
+ }, cssVars = React.useMemo(() => ({
36
+ "--overlay-padding": misc.setStyle(padding, 64),
37
+ "--video-visibility": ready ? "visible" : "hidden",
38
+ "--video-border-radius": misc.setStyle(borderRadius, 8)
39
+ }), [ padding, ready, borderRadius ]);
40
+ return jsxRuntime.jsxs(jsxRuntime.Fragment, {
41
+ children: [ jsxRuntime.jsx(Overlay.Overlay, {
42
+ show: !!video,
43
+ type: "dark",
44
+ opacity: overlayOpacity,
45
+ color: overlayColor,
46
+ onClick: handleHide
47
+ }), jsxRuntime.jsx(react.AnimatePresence, {
48
+ initial: !1,
49
+ children: video && VideoComponent && jsxRuntime.jsx("div", {
50
+ className: css_container,
51
+ ref: ref,
52
+ style: cssVars,
53
+ children: jsxRuntime.jsx("div", {
54
+ className: css_box,
55
+ children: jsxRuntime.jsxs(react.motion.div, {
56
+ className: css_wrapper,
57
+ variants: variants,
58
+ initial: initial,
59
+ animate: animate,
60
+ exit: exit,
61
+ transition: transition,
62
+ drag: draggable,
63
+ dragListener: !draggable && void 0,
64
+ dragControls: draggable ? controls : void 0,
65
+ dragConstraints: draggable ? constraints : void 0,
66
+ dragElastic: draggable ? 0 : void 0,
67
+ dragMomentum: !draggable && void 0,
68
+ children: [ jsxRuntime.jsx("div", {
69
+ className: css_video,
70
+ children: jsxRuntime.jsx(VideoComponent, Object.assign({}, videoProps, {
71
+ borderRadius: null != borderRadius ? borderRadius : videoBorderRadius,
72
+ onLoadedFrameData: () => {
73
+ setReady(!0), null == onLoadedFrameData || onLoadedFrameData();
74
+ },
75
+ customControls: Object.assign(Object.assign({}, videoProps.customControls), {
76
+ quit: "inside" === quit
77
+ }),
78
+ onQuit: () => handleHide()
79
+ }))
80
+ }), "outside" === quit && jsxRuntime.jsx(IconButton.IconButton, {
81
+ icon: "x",
82
+ buttonSize: "l",
83
+ onClick: handleHide,
84
+ bgColor: "rgba(255,255,255,0.05)",
85
+ bgColorHover: "rgba(255,255,255,0.25)",
86
+ iconColor: "var(--core-text-light)",
87
+ iconColorHover: "var(--core-text-light)"
88
+ }) ]
89
+ })
90
+ })
91
+ })
92
+ }) ]
93
+ });
94
+ };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var tslib_es6 = require("./tslib.es6-CjqORQO8.js");
3
+ var tslib_es6 = require("./tslib.es6-B1ngcCGJ.js");
4
4
 
5
5
  /**
6
6
  * Manage a WebSocket connection with optional unified events, retries, and keep-alive pings.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var tslib_es6 = require("./tslib.es6-CjqORQO8.js");
3
+ var tslib_es6 = require("./tslib.es6-B1ngcCGJ.js");
4
4
 
5
5
  exports.WebRTCConnection = class {
6
6
  /**
@@ -43,7 +43,11 @@ exports.SliceIcons = {
43
43
  speaker: "speaker",
44
44
  speakerMuted: "speaker muted",
45
45
  speakerHigh: "speaker high",
46
- speakerLow: "speaker low"
46
+ speakerLow: "speaker low",
47
+ play: "play",
48
+ playCircle: "play circle",
49
+ pause: "pause",
50
+ pauseCircle: "pause circle"
47
51
  },
48
52
  files: {
49
53
  document: "document",
@@ -84,7 +88,8 @@ exports.SliceIcons = {
84
88
  googleMono: "google mono",
85
89
  linkedin: "linkedin",
86
90
  github: "github",
87
- npm: "npm"
91
+ npm: "npm",
92
+ openAI: "openAI"
88
93
  },
89
94
  edit: {
90
95
  edit: "edit",
@@ -128,6 +133,7 @@ exports.SliceIcons = {
128
133
  sidebar: "sidebar",
129
134
  sidebarSplit: "sidebar split",
130
135
  keyboard: "keyboard",
131
- x: "x"
136
+ x: "x",
137
+ fullscreen: "fullscreen"
132
138
  }
133
139
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var tslib_es6 = require("./tslib.es6-CjqORQO8.js"), React = require("react"), zustand = require("zustand"), shallow = require("zustand/react/shallow"), IndexedDB = require("./IndexedDB-DW-NDU8i.js");
3
+ var tslib_es6 = require("./tslib.es6-B1ngcCGJ.js"), React = require("react"), zustand = require("zustand"), shallow = require("zustand/react/shallow"), IndexedDB = require("./IndexedDB-DbfRU4NA.js");
4
4
 
5
5
  function isValidIDBKey(key) {
6
6
  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,7 +1,7 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var tslib_es6 = require("./tslib.es6-CjqORQO8.js"), React = require("react"), zustand = require("zustand");
4
+ var tslib_es6 = require("./tslib.es6-B1ngcCGJ.js"), React = require("react"), zustand = require("zustand");
5
5
 
6
6
  const emptyMicStreamRef = {
7
7
  current: null
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var tslib_es6 = require("./tslib.es6-CjqORQO8.js");
3
+ var tslib_es6 = require("./tslib.es6-B1ngcCGJ.js");
4
4
 
5
5
  /**
6
6
  * Remove scripts, invisible characters, and optional HTML tags from a string.
@@ -2,9 +2,9 @@
2
2
 
3
3
  var zustand = require("zustand");
4
4
 
5
- require("./tslib.es6-CjqORQO8.js");
5
+ require("./tslib.es6-B1ngcCGJ.js");
6
6
 
7
- var SSEConnection = require("./SSEConnection-CYqfVBs1.js");
7
+ var SSEConnection = require("./SSEConnection-u5Nbvi9N.js");
8
8
 
9
9
  const useSSEStore = zustand.create((set, get) => ({
10
10
  connections: [],