@apple-pie/slice 0.1.60 → 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.
- package/README.md +17 -1
- package/dist/cjs/chunks/ActionButton-DhHiZwXV.js +200 -0
- package/dist/cjs/chunks/Attachment-DhyXAQUf.js +351 -0
- package/dist/cjs/chunks/AudioBubble-DS5Oea-b.js +46 -0
- package/dist/cjs/chunks/AudioLevel-uQJ-v5Qz.js +54 -0
- package/dist/cjs/chunks/Avatar-a2GHmu1o.js +125 -0
- package/dist/cjs/chunks/AvatarGroup-CWpoauJP.js +70 -0
- package/dist/cjs/chunks/Badge-DtVP2qH0.js +26 -0
- package/dist/cjs/chunks/Button-Cr5SlNim.js +293 -0
- package/dist/cjs/chunks/ButtonBar-DDupZZ_u.js +96 -0
- package/dist/cjs/chunks/Camera-bjjzmzar.js +560 -0
- package/dist/cjs/chunks/CheckBox-DBaKpMhg.js +66 -0
- package/dist/cjs/chunks/Chip-DsZHDLKG.js +203 -0
- package/dist/cjs/chunks/ContentEditable-BaxU62Mg.js +144 -0
- package/dist/cjs/chunks/DialogBox-C-ZvHDH6.js +204 -0
- package/dist/cjs/chunks/Dot-0Dv8WX0n.js +92 -0
- package/dist/cjs/chunks/DrggablePanel-zi27w3wY.js +251 -0
- package/dist/cjs/chunks/DropDown-BcTjhAtE.js +269 -0
- package/dist/cjs/chunks/ErrorSummary-DDz7nQWX.js +166 -0
- package/dist/cjs/chunks/{FileIcon-DctPd_KB.js → FileIcon-BM8n3o-c.js} +68 -40
- package/dist/cjs/chunks/FileList-T2_mhI_t.js +204 -0
- package/dist/cjs/chunks/FlexBox-DTCyWJeT.js +278 -0
- package/dist/cjs/chunks/FlexDiv-5YN9Hgxy.js +7 -0
- package/dist/cjs/chunks/Icon-COY7IZkK.js +7821 -0
- package/dist/cjs/chunks/IconButton-KJr15EW6.js +10 -0
- package/dist/cjs/chunks/{IndexedDB-Dn5mB5-k.js → IndexedDB-DwKh2Gfp.js} +1 -1
- package/dist/cjs/chunks/ModalController-D0S9VnNH.js +143 -0
- package/dist/cjs/chunks/ModalHostContext-DLgUa9Vl.js +5 -0
- package/dist/cjs/chunks/Overlay-CVZLmK8H.js +77 -0
- package/dist/cjs/chunks/Pager-QEUi0r59.js +146 -0
- package/dist/cjs/chunks/PopMenu-DkxhTcwD.js +423 -0
- package/dist/cjs/chunks/PopMenuController-CmS28S4h.js +32 -0
- package/dist/cjs/chunks/ProgressIndicator-Ddj5dfEA.js +237 -0
- package/dist/cjs/chunks/PromptInput-DtepCo-l.js +248 -0
- package/dist/cjs/chunks/RadioButton-B2HGjkQk.js +101 -0
- package/dist/cjs/chunks/RadioButtonList-Oc7oMivb.js +88 -0
- package/dist/cjs/chunks/Slider-Y7zMFKiM.js +170 -0
- package/dist/cjs/chunks/Spacer-CM7sstpQ.js +22 -0
- package/dist/cjs/chunks/Switch-CWJh4Pi4.js +70 -0
- package/dist/cjs/chunks/Tab-DFvjUNPs.js +96 -0
- package/dist/cjs/chunks/TabBar-lB0aqabp.js +186 -0
- package/dist/cjs/chunks/TextArea-UudvZQ9R.js +189 -0
- package/dist/cjs/chunks/TextField-QzgdqFys.js +312 -0
- package/dist/cjs/chunks/Tip-BxS2Wzz3.js +115 -0
- package/dist/cjs/chunks/ToggleButton-De8_kkMd.js +53 -0
- package/dist/cjs/chunks/UploadArea-BtqwFTDl.js +223 -0
- package/dist/cjs/chunks/Video-C1GATYS9.js +396 -0
- package/dist/cjs/chunks/VideoController-CnYz7Sdt.js +169 -0
- package/dist/cjs/chunks/{WSConnection-D5nSdN7z.js → WSConnection-DZKTeDtZ.js} +1 -1
- package/dist/cjs/chunks/{WebRTCConnection-CxMqLK-l.js → WebRTCConnection-DIUG7Gx3.js} +1 -1
- package/dist/cjs/chunks/_types-3m6769Z0.js +910 -0
- package/dist/cjs/chunks/_types-C_Jf14DZ.js +273 -0
- package/dist/cjs/chunks/audioVisualizer-Bak7PWOv.js +71 -0
- package/dist/cjs/chunks/breakpoints-BDw1OJh9.js +18 -0
- package/dist/cjs/chunks/{browserChannelsStore-CvkRtX7s.js → browserChannelsStore-DHE7Vr4_.js} +4 -2
- package/dist/cjs/chunks/colors-hDzzq_Dk.js +62 -0
- package/dist/cjs/chunks/files-RYD9L_pI.js +25 -0
- package/dist/cjs/chunks/getVideoControls-LxSY7z8h.js +19 -0
- package/dist/cjs/chunks/getWaterTransition-s_55VKK2.js +11 -0
- package/dist/cjs/chunks/{localDBStore-BYxZNIrv.js → localDBStore-CTWlm2t-.js} +6 -2
- package/dist/cjs/chunks/{microphoneStore-Dw-7f6Jb.js → microphoneStore-D7DuvQeX.js} +1 -1
- package/dist/cjs/chunks/{misc-B3tF47Um.js → misc-PmT7cZzC.js} +29 -38
- package/dist/cjs/chunks/{modalStore-BNeHu-nv.js → modalStore-BCn998Jz.js} +20 -17
- package/dist/cjs/chunks/popMenuStore-DqyTqDrl.js +20 -0
- package/dist/cjs/chunks/resolveColor-DkYThq2J.js +9 -0
- package/dist/cjs/chunks/resolveColorProps-DE1k1P-Z.js +17 -0
- package/dist/cjs/chunks/resolveShortcut-DiQdb8VR.js +38 -0
- package/dist/cjs/chunks/sharedTypes-BDMIewR9.js +22 -0
- package/dist/cjs/chunks/{sseStore-Dw-nvmmG.js → sseStore-DfS7e3vY.js} +3 -3
- package/dist/cjs/chunks/themes-bwU5x3_5.js +34 -0
- package/dist/cjs/chunks/toastStore-BxX1AtE7.js +33 -0
- package/dist/cjs/chunks/type.module-Dk5b_rHG.js +28 -0
- package/dist/cjs/chunks/{uploads-worker-BiugXTT6.js → uploads-worker-stCHn8-D.js} +1 -1
- package/dist/cjs/chunks/{uploadsStore-CxCy0NB7.js → uploadsStore-Ck3gzZuD.js} +2 -2
- package/dist/cjs/chunks/useAudioVisualizer-D7bStvIe.js +42 -0
- package/dist/cjs/chunks/useModalHost-B8oi4tfb.js +52 -0
- package/dist/cjs/chunks/usePrefersReducedMotion-GpD17CAE.js +16 -0
- package/dist/cjs/chunks/viewState-CMugA-g4.js +627 -0
- package/dist/cjs/chunks/{volumeStore-BQIMqtSw.js → volumeStore-BoEoo9wA.js} +1 -1
- package/dist/cjs/chunks/{webRTCStore-B8IKsBKT.js → webRTCStore-OGkXAovD.js} +6 -2
- package/dist/cjs/chunks/{windowStore-H9Jg7tnm.js → windowStore-HYnXbosz.js} +1 -1
- package/dist/cjs/components/Attachment/index.js +26 -0
- package/dist/cjs/components/AudioBubble/index.js +11 -8
- package/dist/cjs/components/AudioLevel/index.js +9 -0
- package/dist/cjs/components/Avatar/index.js +5 -3
- package/dist/cjs/components/AvatarGroup/index.js +4 -3
- package/dist/cjs/components/Badge/index.js +4 -3
- package/dist/cjs/components/Button/index.js +14 -11
- package/dist/cjs/components/ButtonBar/index.js +11 -9
- package/dist/cjs/components/Camera/index.js +15 -9
- package/dist/cjs/components/CheckBox/index.js +11 -10
- package/dist/cjs/components/Chip/index.js +13 -10
- package/dist/cjs/components/ContentEditable/index.js +8 -0
- package/dist/cjs/components/DataTable/index.js +12 -10
- package/dist/cjs/components/DialogBox/index.js +21 -0
- package/dist/cjs/components/Dot/index.js +8 -3
- package/dist/cjs/components/DraggablePanel/index.js +10 -10
- package/dist/cjs/components/DropDown/index.js +12 -10
- package/dist/cjs/components/ErrorSummary/index.js +10 -7
- package/dist/cjs/components/FileIcon/index.js +8 -9
- package/dist/cjs/components/FileList/index.js +16 -10
- package/dist/cjs/components/FlexBox/index.js +23 -0
- package/dist/cjs/components/FlexDiv/index.js +11 -5
- package/dist/cjs/components/Icon/index.js +8 -7
- package/dist/cjs/components/IconButton/index.js +15 -21
- package/dist/cjs/components/ModalController/index.js +11 -6
- package/dist/cjs/components/Overlay/index.js +9 -3
- package/dist/cjs/components/Pager/index.js +9 -3
- package/dist/cjs/components/PopMenu/index.js +17 -0
- package/dist/cjs/components/PopMenuController/index.js +18 -0
- package/dist/cjs/components/Progress/index.js +13 -10
- package/dist/cjs/components/PromptInput/index.js +19 -13
- package/dist/cjs/components/RadioButton/index.js +11 -10
- package/dist/cjs/components/RadioButtonList/index.js +12 -10
- package/dist/cjs/components/Slider/index.js +4 -8
- package/dist/cjs/components/Spacer/index.js +2 -2
- package/dist/cjs/components/Switch/index.js +9 -3
- package/dist/cjs/components/Tab/index.js +15 -0
- package/dist/cjs/components/TabBar/index.js +15 -11
- package/dist/cjs/components/TextArea/index.js +11 -12
- package/dist/cjs/components/Textfield/index.js +15 -11
- package/dist/cjs/components/Tip/index.js +9 -4
- package/dist/cjs/components/Toast/index.js +13 -10
- package/dist/cjs/components/ToggleButton/index.js +14 -11
- package/dist/cjs/components/UploadArea/index.js +17 -11
- package/dist/cjs/components/Video/index.js +18 -14
- package/dist/cjs/components/VideoController/index.js +17 -13
- package/dist/cjs/hooks/useAudioRecorder.js +1 -1
- package/dist/cjs/hooks/useBindWebRTC.js +4 -3
- package/dist/cjs/hooks/useClipboard.js +3 -2
- package/dist/cjs/hooks/useDoubleClick.js +6 -4
- package/dist/cjs/hooks/useInfiniteScroll.js +1 -1
- package/dist/cjs/hooks/useMdStreamBuffer.js +7 -2
- package/dist/cjs/hooks/useMicrophone.js +1 -1
- package/dist/cjs/hooks/useObserveTheme.js +4 -4
- package/dist/cjs/hooks/useTheme.js +9 -1
- package/dist/cjs/hooks/useToolTip.js +27 -32
- package/dist/cjs/hooks/useTrackRenders.js +2 -2
- package/dist/cjs/hooks/useWindow.js +13 -23
- package/dist/cjs/hooks.js +13 -12
- package/dist/cjs/index.js +55 -47
- package/dist/cjs/providers/ThemeProvider.js +4 -3
- package/dist/cjs/providers/themeServer.test.js +398 -403
- package/dist/cjs/providers.js +4 -3
- package/dist/cjs/stores/LocalDB.js +8 -6
- package/dist/cjs/stores/SSE.js +4 -3
- package/dist/cjs/stores/WS.js +4 -3
- package/dist/cjs/stores/WebRTC.js +8 -6
- package/dist/cjs/stores/activeTab.js +1 -1
- package/dist/cjs/stores/browserChannel.js +5 -4
- package/dist/cjs/stores/microphone.js +2 -2
- package/dist/cjs/stores/modal.js +1 -1
- package/dist/cjs/stores/popMenu.js +7 -0
- package/dist/cjs/stores/tip.js +1 -1
- package/dist/cjs/stores/toast.js +1 -1
- package/dist/cjs/stores/uploads.js +2 -2
- package/dist/cjs/stores/video.js +1 -1
- package/dist/cjs/stores/volume.js +2 -2
- package/dist/cjs/stores/window.js +2 -2
- package/dist/cjs/stores.js +38 -34
- package/dist/cjs/theme/colors.js +479 -231
- package/dist/cjs/theme/themes.js +3 -30
- package/dist/cjs/theme/type.js +31 -0
- package/dist/cjs/theme.js +10 -3
- package/dist/cjs/utils/index.js +24 -5
- package/dist/cjs/utils/objects/index.js +2 -2
- package/dist/cjs/workers/uploads/uploads.js +2 -2
- package/dist/css/type.module.css +27 -0
- package/dist/esm/chunks/ActionButton-guWI4qko.mjs +235 -0
- package/dist/esm/chunks/Attachment-BTSb0hKX.mjs +370 -0
- package/dist/esm/chunks/AudioBubble-D15lr4H6.mjs +68 -0
- package/dist/esm/chunks/AudioLevel-BcNrcGlh.mjs +63 -0
- package/dist/esm/chunks/Avatar-C4JzdLTW.mjs +132 -0
- package/dist/esm/chunks/AvatarGroup-Cn33-JkE.mjs +78 -0
- package/dist/esm/chunks/Badge-DpnuS-Ey.mjs +32 -0
- package/dist/esm/chunks/Button-BwTo8mSI.mjs +315 -0
- package/dist/esm/chunks/ButtonBar-BwHxexlC.mjs +111 -0
- package/dist/esm/chunks/Camera-DWmX5FZ-.mjs +585 -0
- package/dist/esm/chunks/CheckBox-CjmPDfLi.mjs +76 -0
- package/dist/esm/chunks/Chip-BfyUpZbH.mjs +223 -0
- package/dist/esm/chunks/ContentEditable-BvlyAJve.mjs +154 -0
- package/dist/esm/chunks/DialogBox-W9i6k5mv.mjs +224 -0
- package/dist/esm/chunks/Dot-CG395pS6.mjs +104 -0
- package/dist/esm/chunks/DrggablePanel-0Ef6TYrd.mjs +270 -0
- package/dist/esm/chunks/DropDown-CiB0Rp_P.mjs +286 -0
- package/dist/esm/chunks/ErrorSummary-3XoZyvmX.mjs +192 -0
- package/dist/esm/chunks/{FileIcon-DSPzFDJY.mjs → FileIcon-hKJZoGIx.mjs} +73 -53
- package/dist/esm/chunks/FileList-DxB0ZORo.mjs +220 -0
- package/dist/esm/chunks/FlexBox-VfQehVtm.mjs +296 -0
- package/dist/esm/chunks/FlexDiv-BZ5PBnE3.mjs +6 -0
- package/dist/esm/chunks/Icon-43T0fkr6.mjs +7841 -0
- package/dist/esm/chunks/IconButton-oqYTUJit.mjs +12 -0
- package/dist/esm/chunks/{IndexedDB-DpULdzpq.mjs → IndexedDB-DjCLZUf0.mjs} +1 -1
- package/dist/esm/chunks/ModalController-fvF-RWS8.mjs +169 -0
- package/dist/esm/chunks/ModalHostContext-BrT_g7sc.mjs +5 -0
- package/dist/esm/chunks/Overlay-C_FMcUyg.mjs +93 -0
- package/dist/esm/chunks/Pager-LqYNCZ8I.mjs +158 -0
- package/dist/esm/chunks/PopMenu-BkXfm6Sz.mjs +455 -0
- package/dist/esm/chunks/PopMenuController-Dj3uvc8F.mjs +44 -0
- package/dist/esm/chunks/ProgressIndicator-CR3pA1Me.mjs +266 -0
- package/dist/esm/chunks/PromptInput-Bq18i1Ac.mjs +266 -0
- package/dist/esm/chunks/RadioButton-DTUKMjvM.mjs +109 -0
- package/dist/esm/chunks/RadioButtonList-DsOgpe0m.mjs +99 -0
- package/dist/esm/chunks/Slider-DaZTE-eD.mjs +176 -0
- package/dist/esm/chunks/Spacer-CsJxUJ7E.mjs +24 -0
- package/dist/esm/chunks/Switch-BDFgMC0b.mjs +84 -0
- package/dist/esm/chunks/Tab-B8yJ9Qy4.mjs +105 -0
- package/dist/esm/chunks/TabBar-2kQmtcwW.mjs +214 -0
- package/dist/esm/chunks/TextArea-C32MToPG.mjs +201 -0
- package/dist/esm/chunks/TextField-BXrN1QkD.mjs +344 -0
- package/dist/esm/chunks/Tip-4R9wW1mE.mjs +133 -0
- package/dist/esm/chunks/ToggleButton-CGHa458C.mjs +61 -0
- package/dist/esm/chunks/UploadArea-Dq7ST-RG.mjs +237 -0
- package/dist/esm/chunks/Video-KuG0k3ly.mjs +418 -0
- package/dist/esm/chunks/VideoController-DQoDDY1a.mjs +201 -0
- package/dist/esm/chunks/{WSConnection-DNh3_RKt.mjs → WSConnection-ByCYrNOq.mjs} +1 -1
- package/dist/esm/chunks/{WebRTCConnection-B9ztLs_6.mjs → WebRTCConnection-DTjS3UUU.mjs} +1 -1
- package/dist/esm/chunks/_types-B6NStINb.mjs +296 -0
- package/dist/esm/chunks/_types-ntN11tyz.mjs +910 -0
- package/dist/esm/chunks/audioVisualizer-BMSpJwTS.mjs +71 -0
- package/dist/esm/chunks/breakpoints-Dn9DgpJe.mjs +18 -0
- package/dist/esm/chunks/{browserChannelsStore-CmMyobjW.mjs → browserChannelsStore-s7VUhLS9.mjs} +6 -2
- package/dist/esm/chunks/colors-DZ9xpMoE.mjs +63 -0
- package/dist/esm/chunks/files-6nwSZlJK.mjs +26 -0
- package/dist/esm/chunks/getVideoControls-aoqr4T3P.mjs +20 -0
- package/dist/esm/chunks/getWaterTransition-CrDSFJdk.mjs +12 -0
- package/dist/esm/chunks/{localDBStore-3uHThx73.mjs → localDBStore-DYhPmkHz.mjs} +7 -3
- package/dist/esm/chunks/{microphoneStore-lnK3t3JC.mjs → microphoneStore-BzSEbtfK.mjs} +1 -1
- package/dist/esm/chunks/{misc-CagHFpjD.mjs → misc-DI5GSqkt.mjs} +24 -34
- package/dist/esm/chunks/{modalStore-DDbEcsqD.mjs → modalStore-BgYt3q8T.mjs} +20 -17
- package/dist/esm/chunks/popMenuStore-DtApFGaq.mjs +18 -0
- package/dist/esm/chunks/resolveColor-Kvs7kDyy.mjs +9 -0
- package/dist/esm/chunks/resolveColorProps-CwAU25V-.mjs +17 -0
- package/dist/esm/chunks/resolveShortcut-C43ivgMc.mjs +37 -0
- package/dist/esm/chunks/sharedTypes-DYXO7VNa.mjs +25 -0
- package/dist/esm/chunks/{sseStore-CCkhffxC.mjs → sseStore-Duybemwt.mjs} +7 -3
- package/dist/esm/chunks/themes-DCtDY7XT.mjs +40 -0
- package/dist/esm/chunks/toastStore-Ds1Kx4-O.mjs +29 -0
- package/dist/esm/chunks/type.module--fVZ2ic7.mjs +28 -0
- package/dist/esm/chunks/{uploads-worker-BAc2rfWa.mjs → uploads-worker-CpJtBCvY.mjs} +1 -1
- package/dist/esm/chunks/{uploadsStore-CnmPPpay.mjs → uploadsStore-B_7wyr8k.mjs} +1 -1
- package/dist/esm/chunks/useAudioVisualizer-Dw8XLBmS.mjs +42 -0
- package/dist/esm/chunks/useModalHost-DiYFB7Mq.mjs +51 -0
- package/dist/esm/chunks/usePrefersReducedMotion-BWAwMMLE.mjs +15 -0
- package/dist/esm/chunks/viewState-D7e7CrHf.mjs +659 -0
- package/dist/esm/chunks/{volumeStore-CSItrUF2.mjs → volumeStore-mqWIRL0J.mjs} +1 -1
- package/dist/esm/chunks/{webRTCStore-BpDbSd4Q.mjs → webRTCStore-BepH2O9l.mjs} +7 -3
- package/dist/esm/chunks/{windowStore-Dkr9ooZW.mjs → windowStore-C8rGk_0b.mjs} +1 -1
- package/dist/esm/components/Attachment/index.mjs +71 -0
- package/dist/esm/components/AudioBubble/index.mjs +21 -11
- package/dist/esm/components/AudioLevel/index.mjs +21 -0
- package/dist/esm/components/Avatar/index.mjs +9 -3
- package/dist/esm/components/AvatarGroup/index.mjs +10 -4
- package/dist/esm/components/Badge/index.mjs +8 -2
- package/dist/esm/components/Button/index.mjs +27 -17
- package/dist/esm/components/ButtonBar/index.mjs +22 -14
- package/dist/esm/components/Camera/index.mjs +37 -13
- package/dist/esm/components/CheckBox/index.mjs +20 -16
- package/dist/esm/components/Chip/index.mjs +27 -17
- package/dist/esm/components/ContentEditable/index.mjs +17 -0
- package/dist/esm/components/DataTable/index.mjs +27 -21
- package/dist/esm/components/DialogBox/index.mjs +75 -0
- package/dist/esm/components/Dot/index.mjs +28 -2
- package/dist/esm/components/DraggablePanel/index.mjs +16 -20
- package/dist/esm/components/DropDown/index.mjs +25 -15
- package/dist/esm/components/ErrorSummary/index.mjs +22 -10
- package/dist/esm/components/FileIcon/index.mjs +8 -16
- package/dist/esm/components/FileList/index.mjs +40 -16
- package/dist/esm/components/FlexBox/index.mjs +39 -0
- package/dist/esm/components/FlexDiv/index.mjs +33 -3
- package/dist/esm/components/Icon/index.mjs +15 -11
- package/dist/esm/components/IconButton/index.mjs +31 -19
- package/dist/esm/components/ModalController/index.mjs +33 -9
- package/dist/esm/components/Overlay/index.mjs +30 -2
- package/dist/esm/components/Pager/index.mjs +31 -3
- package/dist/esm/components/PopMenu/index.mjs +59 -0
- package/dist/esm/components/PopMenuController/index.mjs +63 -0
- package/dist/esm/components/Progress/index.mjs +21 -11
- package/dist/esm/components/PromptInput/index.mjs +43 -21
- package/dist/esm/components/RadioButton/index.mjs +18 -14
- package/dist/esm/components/RadioButtonList/index.mjs +23 -17
- package/dist/esm/components/Slider/index.mjs +5 -23
- package/dist/esm/components/Spacer/index.mjs +2 -2
- package/dist/esm/components/Switch/index.mjs +30 -2
- package/dist/esm/components/Tab/index.mjs +51 -0
- package/dist/esm/components/TabBar/index.mjs +32 -16
- package/dist/esm/components/TextArea/index.mjs +17 -23
- package/dist/esm/components/Textfield/index.mjs +33 -17
- package/dist/esm/components/Tip/index.mjs +29 -3
- package/dist/esm/components/Toast/index.mjs +23 -13
- package/dist/esm/components/ToggleButton/index.mjs +30 -22
- package/dist/esm/components/UploadArea/index.mjs +41 -17
- package/dist/esm/components/Video/index.mjs +34 -24
- package/dist/esm/components/VideoController/index.mjs +44 -26
- package/dist/esm/hooks/useAudioRecorder.mjs +1 -1
- package/dist/esm/hooks/useBindWebRTC.mjs +12 -6
- package/dist/esm/hooks/useClipboard.mjs +9 -3
- package/dist/esm/hooks/useDoubleClick.mjs +8 -5
- package/dist/esm/hooks/useInfiniteScroll.mjs +1 -1
- package/dist/esm/hooks/useMdStreamBuffer.mjs +9 -3
- package/dist/esm/hooks/useMicrophone.mjs +1 -1
- package/dist/esm/hooks/useObserveTheme.mjs +5 -1
- package/dist/esm/hooks/useTheme.mjs +5 -1
- package/dist/esm/hooks/useToolTip.mjs +28 -33
- package/dist/esm/hooks/useTrackRenders.mjs +2 -2
- package/dist/esm/hooks/useWindow.mjs +6 -22
- package/dist/esm/hooks.mjs +16 -10
- package/dist/esm/index.mjs +96 -60
- package/dist/esm/providers/ThemeProvider.mjs +5 -1
- package/dist/esm/providers/themeServer.test.mjs +398 -403
- package/dist/esm/providers.mjs +5 -1
- package/dist/esm/stores/LocalDB.mjs +10 -4
- package/dist/esm/stores/SSE.mjs +10 -4
- package/dist/esm/stores/WS.mjs +9 -3
- package/dist/esm/stores/WebRTC.mjs +10 -4
- package/dist/esm/stores/activeTab.mjs +1 -1
- package/dist/esm/stores/browserChannel.mjs +9 -3
- package/dist/esm/stores/microphone.mjs +2 -2
- package/dist/esm/stores/modal.mjs +1 -1
- package/dist/esm/stores/popMenu.mjs +3 -0
- package/dist/esm/stores/tip.mjs +1 -1
- package/dist/esm/stores/toast.mjs +1 -1
- package/dist/esm/stores/uploads.mjs +3 -3
- package/dist/esm/stores/video.mjs +1 -1
- package/dist/esm/stores/volume.mjs +2 -2
- package/dist/esm/stores/window.mjs +2 -2
- package/dist/esm/stores.mjs +28 -20
- package/dist/esm/theme/colors.mjs +479 -231
- package/dist/esm/theme/themes.mjs +6 -35
- package/dist/esm/theme/type.mjs +31 -0
- package/dist/esm/theme.mjs +5 -1
- package/dist/esm/utils/index.mjs +37 -12
- package/dist/esm/utils/objects/index.mjs +8 -8
- package/dist/esm/workers/uploads/uploads.mjs +2 -2
- package/dist/styles.css +5343 -4109
- package/dist/types/components/Attachment/Attachment.d.ts +2 -0
- package/dist/types/components/Attachment/AttachmentImagePreview.d.ts +6 -0
- package/dist/types/components/Attachment/_types.d.ts +47 -0
- package/dist/types/components/Attachment/index.d.ts +3 -0
- package/dist/types/components/Attachment/useContentThumbnail.d.ts +19 -0
- package/dist/types/components/AudioBubble/AudioBubble.d.ts +1 -1
- package/dist/types/components/AudioBubble/_types.d.ts +4 -3
- package/dist/types/components/AudioLevel/AudioLevel.d.ts +5 -0
- package/dist/types/components/AudioLevel/_types.d.ts +22 -0
- package/dist/types/components/AudioLevel/index.d.ts +2 -0
- package/dist/types/components/Avatar/Avatar.d.ts +6 -1
- package/dist/types/components/Avatar/_types.d.ts +28 -15
- package/dist/types/components/AvatarGroup/AvatarGroup.d.ts +1 -1
- package/dist/types/components/AvatarGroup/AvatarGroupContext.d.ts +7 -0
- package/dist/types/components/AvatarGroup/_types.d.ts +26 -15
- package/dist/types/components/AvatarGroup/index.d.ts +1 -1
- package/dist/types/components/Badge/Badge.d.ts +1 -1
- package/dist/types/components/Badge/_types.d.ts +11 -3
- package/dist/types/components/Button/Button.d.ts +19 -52
- package/dist/types/components/Button/_types.d.ts +18 -14
- package/dist/types/components/ButtonBar/ButtonBar.d.ts +0 -14
- package/dist/types/components/ButtonBar/_types.d.ts +16 -13
- package/dist/types/components/Camera/Camera.d.ts +2 -4
- package/dist/types/components/Camera/_types.d.ts +25 -29
- package/dist/types/components/Camera/cameraSession.d.ts +59 -0
- package/dist/types/components/Camera/index.d.ts +1 -1
- package/dist/types/components/CheckBox/CheckBox.d.ts +1 -1
- package/dist/types/components/CheckBox/_types.d.ts +16 -4
- package/dist/types/components/Chip/Chip.d.ts +1 -1
- package/dist/types/components/Chip/_types.d.ts +35 -19
- package/dist/types/components/ContentEditable/ContentEditable.d.ts +3 -0
- package/dist/types/components/ContentEditable/_types.d.ts +26 -0
- package/dist/types/components/ContentEditable/index.d.ts +2 -0
- package/dist/types/components/DataTable/DataTable.d.ts +1 -1
- package/dist/types/components/DataTable/_types.d.ts +21 -11
- package/dist/types/components/DataTable/_useResizeColumn.d.ts +1 -1
- package/dist/types/components/DataTable/_useRowWindow.d.ts +1 -0
- package/dist/types/components/DataTable/compareValues.d.ts +2 -0
- package/dist/types/components/DialogBox/DialogBox.d.ts +6 -0
- package/dist/types/components/DialogBox/_types.d.ts +68 -0
- package/dist/types/components/DialogBox/index.d.ts +3 -0
- package/dist/types/components/DialogBox/parseSections.d.ts +7 -0
- package/dist/types/components/DialogBox/sections.d.ts +20 -0
- package/dist/types/components/DialogBox/useDialogBox.d.ts +4 -0
- package/dist/types/components/Dot/Dot.d.ts +1 -1
- package/dist/types/components/Dot/_types.d.ts +8 -2
- package/dist/types/components/DraggablePanel/DrggablePanel.d.ts +5 -55
- package/dist/types/components/DraggablePanel/_types.d.ts +46 -0
- package/dist/types/components/DraggablePanel/index.d.ts +1 -0
- package/dist/types/components/DraggablePanel/panelConstraints.d.ts +3 -0
- package/dist/types/components/DropDown/_types.d.ts +45 -16
- package/dist/types/components/DropDown/resolveOptions.d.ts +11 -0
- package/dist/types/components/ErrorSummary/ErrorSummary.d.ts +30 -2
- package/dist/types/components/ErrorSummary/_types.d.ts +16 -4
- package/dist/types/components/FileIcon/FileIcon.d.ts +1 -2
- package/dist/types/components/FileIcon/_types.d.ts +11 -6
- package/dist/types/components/FileIcon/index.d.ts +2 -2
- package/dist/types/components/FileList/FileList.d.ts +2 -2
- package/dist/types/components/FileList/_types.d.ts +16 -6
- package/dist/types/components/FileList/fileListValues.d.ts +5 -0
- package/dist/types/components/FlexBox/FlexBox.d.ts +3 -0
- package/dist/types/components/FlexBox/_types.d.ts +62 -0
- package/dist/types/components/FlexBox/index.d.ts +2 -0
- package/dist/types/components/FlexDiv/FlexDiv.d.ts +2 -64
- package/dist/types/components/FlexDiv/_types.d.ts +4 -146
- package/dist/types/components/Icon/Icon.d.ts +1 -1
- package/dist/types/components/Icon/_types.d.ts +910 -133
- package/dist/types/components/Icon/iconRegistry.d.ts +3 -2
- package/dist/types/components/Icon/index.d.ts +1 -0
- package/dist/types/components/IconButton/ActionButton.d.ts +19 -0
- package/dist/types/components/IconButton/IconButton.d.ts +1 -1
- package/dist/types/components/IconButton/_types.d.ts +24 -72
- package/dist/types/components/IconButton/index.d.ts +1 -2
- package/dist/types/components/ModalController/ModalController.d.ts +2 -2
- package/dist/types/components/ModalController/ModalHostContext.d.ts +1 -0
- package/dist/types/components/ModalController/_types.d.ts +3 -5
- package/dist/types/components/ModalController/useModalHost.d.ts +3 -0
- package/dist/types/components/Overlay/Overlay.d.ts +1 -1
- package/dist/types/components/Overlay/_types.d.ts +7 -8
- package/dist/types/components/Pager/Pager.d.ts +1 -1
- package/dist/types/components/Pager/_types.d.ts +21 -5
- package/dist/types/components/Pager/pagerLogic.d.ts +9 -0
- package/dist/types/components/PopMenu/PopMenu.d.ts +3 -0
- package/dist/types/components/PopMenu/PopMenuContext.d.ts +10 -0
- package/dist/types/components/PopMenu/PopMenuGroup.d.ts +2 -0
- package/dist/types/components/PopMenu/PopMenuItem.d.ts +3 -0
- package/dist/types/components/PopMenu/_types.d.ts +110 -0
- package/dist/types/components/PopMenu/index.d.ts +4 -0
- package/dist/types/components/PopMenu/usePopMenu.d.ts +17 -0
- package/dist/types/components/PopMenu/usePopMenuPortal.d.ts +3 -0
- package/dist/types/components/PopMenuController/PopMenuController.d.ts +2 -0
- package/dist/types/components/PopMenuController/index.d.ts +1 -0
- package/dist/types/components/Progress/DoneCheck/DoneCheck.d.ts +1 -1
- package/dist/types/components/Progress/DoneCheck/_types.d.ts +5 -2
- package/dist/types/components/Progress/ProgressIndicator/ProgressIndicator.d.ts +2 -4
- package/dist/types/components/Progress/ProgressIndicator/_types.d.ts +19 -7
- package/dist/types/components/Progress/ProgressIndicator/useSpinnerPlayback.d.ts +3 -0
- package/dist/types/components/PromptInput/PromptInput.d.ts +50 -15
- package/dist/types/components/PromptInput/_types.d.ts +45 -8
- package/dist/types/components/PromptInput/index.d.ts +1 -1
- package/dist/types/components/PromptInput/promptText.d.ts +6 -0
- package/dist/types/components/RadioButton/RadioGroupContext.d.ts +11 -0
- package/dist/types/components/RadioButton/_types.d.ts +24 -13
- package/dist/types/components/RadioButtonList/_types.d.ts +17 -19
- package/dist/types/components/RadioButtonList/index.d.ts +1 -1
- package/dist/types/components/Slider/Slider.d.ts +1 -1
- package/dist/types/components/Slider/_types.d.ts +15 -9
- package/dist/types/components/Slider/sliderLogic.d.ts +6 -0
- package/dist/types/components/Spacer/index.d.ts +1 -1
- package/dist/types/components/Switch/_types.d.ts +18 -7
- package/dist/types/components/Tab/Tab.d.ts +3 -0
- package/dist/types/components/Tab/_types.d.ts +26 -0
- package/dist/types/components/Tab/index.d.ts +2 -0
- package/dist/types/components/TabBar/TabBar.d.ts +1 -1
- package/dist/types/components/TabBar/_types.d.ts +14 -37
- package/dist/types/components/TabBar/index.d.ts +1 -1
- package/dist/types/components/TabBar/shared.d.ts +22 -0
- package/dist/types/components/TextArea/TextArea.d.ts +1 -1
- package/dist/types/components/TextArea/_types.d.ts +32 -11
- package/dist/types/components/TextArea/index.d.ts +1 -1
- package/dist/types/components/Textfield/TextField.d.ts +2 -2
- package/dist/types/components/Textfield/_types.d.ts +41 -37
- package/dist/types/components/Tip/Tip.d.ts +1 -2
- package/dist/types/components/Tip/_types.d.ts +11 -18
- package/dist/types/components/Tip/useTipVisibility.d.ts +6 -0
- package/dist/types/components/Toast/Toast.d.ts +2 -2
- package/dist/types/components/Toast/_types.d.ts +25 -12
- package/dist/types/components/Toast/index.d.ts +1 -1
- package/dist/types/components/Toast/useToastLifecycle.d.ts +15 -0
- package/dist/types/components/ToggleButton/ToggleButton.d.ts +2 -2
- package/dist/types/components/ToggleButton/_types.d.ts +18 -30
- package/dist/types/components/UploadArea/UploadArea.d.ts +27 -19
- package/dist/types/components/UploadArea/_types.d.ts +23 -20
- package/dist/types/components/UploadArea/index.d.ts +1 -1
- package/dist/types/components/UploadArea/selection.d.ts +7 -0
- package/dist/types/components/UploadArea/useFileSelection.d.ts +30 -0
- package/dist/types/components/Video/Video.d.ts +2 -72
- package/dist/types/components/Video/_types.d.ts +37 -11
- package/dist/types/components/Video/getVideoControls.d.ts +3 -0
- package/dist/types/components/Video/index.d.ts +1 -1
- package/dist/types/components/VideoController/VideoController.d.ts +1 -1
- package/dist/types/components/VideoController/_types.d.ts +6 -1
- package/dist/types/components/playHelpers.d.ts +10 -233
- package/dist/types/components/sharedTypes.d.ts +31 -0
- package/dist/types/hooks/index.d.ts +1 -1
- package/dist/types/hooks/useToolTip/useToolTip.d.ts +1 -0
- package/dist/types/hooks/useWindow/useWindow.d.ts +5 -16
- package/dist/types/index.d.ts +39 -30
- package/dist/types/stores/index.d.ts +1 -0
- package/dist/types/stores/popMenu/_types.d.ts +13 -0
- package/dist/types/stores/popMenu/index.d.ts +2 -0
- package/dist/types/stores/popMenu/popMenuStore.d.ts +12 -0
- package/dist/types/stores/toast/_types.d.ts +6 -11
- package/dist/types/stores/toast/toastStore.d.ts +6 -6
- package/dist/types/stores/window/windowStore.d.ts +2 -2
- package/dist/types/theme/breakpoints/breakpoints.d.ts +11 -0
- package/dist/types/theme/colors/palette.d.ts +461 -0
- package/dist/types/theme/colors/recipes.d.ts +34 -0
- package/dist/types/theme/colors/resolveColor.d.ts +7 -0
- package/dist/types/theme/colors/types.d.ts +8 -92
- package/dist/types/theme/index.d.ts +4 -0
- package/dist/types/theme/type/type.d.ts +1 -0
- package/dist/types/theme/type/types.d.ts +3 -0
- package/dist/types/utils/audio/useAudioVisualizer.d.ts +3 -0
- package/dist/types/utils/functions/colors.d.ts +7 -0
- package/dist/types/utils/functions/files.d.ts +3 -4
- package/dist/types/utils/functions/misc.d.ts +12 -2
- package/dist/types/utils/functions/resolveColorProps.d.ts +2 -0
- package/dist/types/utils/functions/resolveShortcut.d.ts +3 -0
- package/dist/types/utils/index.d.ts +5 -1
- package/dist/types/utils/objects/audioVisualizer/audioVisualizer.d.ts +3 -0
- package/dist/types/utils/styling/getWaterTransition.d.ts +4 -0
- package/dist/types/utils/styling/reduceMotionTargets.d.ts +4 -0
- package/dist/types/utils/styling/usePrefersReducedMotion.d.ts +2 -0
- package/package.json +195 -201
- package/scripts/README.md +19 -0
- package/dist/cjs/chunks/AudioBubble-B7rjYKZR.js +0 -55
- package/dist/cjs/chunks/Avatar-_FkV6_bj.js +0 -82
- package/dist/cjs/chunks/AvatarGroup-BMOQtckJ.js +0 -41
- package/dist/cjs/chunks/Badge-CQrpFFZl.js +0 -22
- package/dist/cjs/chunks/Button-D53KhAkv.js +0 -265
- package/dist/cjs/chunks/ButtonBar-N5L7PGg6.js +0 -72
- package/dist/cjs/chunks/Camera-BULkeKNC.js +0 -380
- package/dist/cjs/chunks/CheckBox-CxQeRMKr.js +0 -51
- package/dist/cjs/chunks/Chip-D0tBR0Uq.js +0 -80
- package/dist/cjs/chunks/DivInput-D0VUXFiS.js +0 -101
- package/dist/cjs/chunks/Dot-GHGV4L29.js +0 -72
- package/dist/cjs/chunks/DrggablePanel-DSNgmB_o.js +0 -224
- package/dist/cjs/chunks/DropDown-DRcukAxl.js +0 -105
- package/dist/cjs/chunks/ErrorSummary-DWh383tt.js +0 -88
- package/dist/cjs/chunks/FileList-Cl82aFlO.js +0 -223
- package/dist/cjs/chunks/FlexDiv-CwjTwIXH.js +0 -178
- package/dist/cjs/chunks/Grouper-DjUdigNr.js +0 -63
- package/dist/cjs/chunks/Icon-B07V8-iO.js +0 -1489
- package/dist/cjs/chunks/IconButton-C8l4gN5C.js +0 -182
- package/dist/cjs/chunks/Label-BbJHiOmP.js +0 -106
- package/dist/cjs/chunks/Level-Bj5Kg1W3.js +0 -63
- package/dist/cjs/chunks/Modal-CVmIsdGy.js +0 -128
- package/dist/cjs/chunks/ModalController-DeSot1gM.js +0 -81
- package/dist/cjs/chunks/Overlay-CFoktASG.js +0 -41
- package/dist/cjs/chunks/Pager-NsKBlF0O.js +0 -36
- package/dist/cjs/chunks/ProgressIndicator-BK0eIP3-.js +0 -140
- package/dist/cjs/chunks/PromptInput-BG1-rzlA.js +0 -161
- package/dist/cjs/chunks/RadioButton-DCiNs99y.js +0 -55
- package/dist/cjs/chunks/RadioButtonList-DLdTst71.js +0 -73
- package/dist/cjs/chunks/Slider-CekvQKaG.js +0 -169
- package/dist/cjs/chunks/Spacer-C-nVP3Ic.js +0 -26
- package/dist/cjs/chunks/Switch-DkU5T0Hm.js +0 -44
- package/dist/cjs/chunks/TabBar-Dm3tMtlm.js +0 -183
- package/dist/cjs/chunks/TextArea-Drq3c8dZ.js +0 -77
- package/dist/cjs/chunks/TextField-D38gJzBN.js +0 -190
- package/dist/cjs/chunks/Tip-DMQjQT85.js +0 -89
- package/dist/cjs/chunks/Toast-sZSVZ0ND.js +0 -185
- package/dist/cjs/chunks/ToggleButton-I3AxfCqI.js +0 -45
- package/dist/cjs/chunks/UploadArea-eGZIGNi3.js +0 -132
- package/dist/cjs/chunks/Video-CK1Ui0jI.js +0 -301
- package/dist/cjs/chunks/VideoController-Z2VgDcSG.js +0 -95
- package/dist/cjs/chunks/_types-Bvz68-MM.js +0 -141
- package/dist/cjs/chunks/audioVisualizer-cC1Q8TJs.js +0 -60
- package/dist/cjs/chunks/colors-BLmUwGPt.js +0 -27
- package/dist/cjs/chunks/debounce-CiNBCKOh.js +0 -18
- package/dist/cjs/chunks/sharedTypes-CnzGgdys.js +0 -6
- package/dist/cjs/chunks/toastStore-DtZ3Woz_.js +0 -17
- package/dist/cjs/chunks/viewState-C9dAI8FG.js +0 -497
- package/dist/cjs/components/DivInput/index.js +0 -7
- package/dist/cjs/components/Grouper/index.js +0 -14
- package/dist/cjs/components/Label/index.js +0 -12
- package/dist/cjs/components/Level/index.js +0 -7
- package/dist/cjs/components/Modal/index.js +0 -15
- package/dist/esm/chunks/AudioBubble-nUxpObow.mjs +0 -69
- package/dist/esm/chunks/Avatar-tdg93uhg.mjs +0 -88
- package/dist/esm/chunks/AvatarGroup-C-8btUsy.mjs +0 -47
- package/dist/esm/chunks/Badge-BsLebku3.mjs +0 -26
- package/dist/esm/chunks/Button-BtxNw6ia.mjs +0 -283
- package/dist/esm/chunks/ButtonBar-Duch_kZq.mjs +0 -82
- package/dist/esm/chunks/Camera-CcUUY3V-.mjs +0 -398
- package/dist/esm/chunks/CheckBox-CMzqOPXk.mjs +0 -61
- package/dist/esm/chunks/Chip-fbi2OZwl.mjs +0 -92
- package/dist/esm/chunks/DivInput-C0E2-H7Q.mjs +0 -113
- package/dist/esm/chunks/Dot-CUKJwIzW.mjs +0 -78
- package/dist/esm/chunks/DrggablePanel-R5vyKmMt.mjs +0 -236
- package/dist/esm/chunks/DropDown-Dak1tC81.mjs +0 -115
- package/dist/esm/chunks/ErrorSummary-7St6DRq1.mjs +0 -101
- package/dist/esm/chunks/FileList-DxypG1gf.mjs +0 -231
- package/dist/esm/chunks/FlexDiv-CaNnli-r.mjs +0 -188
- package/dist/esm/chunks/Grouper-Cfkyb5fu.mjs +0 -83
- package/dist/esm/chunks/Icon-BZ634R5u.mjs +0 -1503
- package/dist/esm/chunks/IconButton-BW8BwWt1.mjs +0 -197
- package/dist/esm/chunks/Label-gjoEtJAw.mjs +0 -119
- package/dist/esm/chunks/Level-D4r_4yC6.mjs +0 -68
- package/dist/esm/chunks/Modal-BpeG1ufF.mjs +0 -142
- package/dist/esm/chunks/ModalController-CWJu74sJ.mjs +0 -92
- package/dist/esm/chunks/Overlay-Ctpj5rdn.mjs +0 -47
- package/dist/esm/chunks/Pager-BqAdm87r.mjs +0 -42
- package/dist/esm/chunks/ProgressIndicator-BJGyKW4y.mjs +0 -156
- package/dist/esm/chunks/PromptInput-DAAohdde.mjs +0 -175
- package/dist/esm/chunks/RadioButton-Mubr8ARW.mjs +0 -63
- package/dist/esm/chunks/RadioButtonList-Mw2IVegX.mjs +0 -81
- package/dist/esm/chunks/Slider-tbgzaids.mjs +0 -183
- package/dist/esm/chunks/Spacer-DMPc2plL.mjs +0 -28
- package/dist/esm/chunks/Switch-CV6qfAb7.mjs +0 -50
- package/dist/esm/chunks/TabBar-e13ZmdaD.mjs +0 -205
- package/dist/esm/chunks/TextArea-Bhut96m6.mjs +0 -87
- package/dist/esm/chunks/TextField-iqgBuz_w.mjs +0 -210
- package/dist/esm/chunks/Tip-BhNgf7ae.mjs +0 -99
- package/dist/esm/chunks/Toast-C4ij2wVB.mjs +0 -203
- package/dist/esm/chunks/ToggleButton-74KPRo9V.mjs +0 -53
- package/dist/esm/chunks/UploadArea-CoI7E5w5.mjs +0 -142
- package/dist/esm/chunks/Video-DPue5vFh.mjs +0 -316
- package/dist/esm/chunks/VideoController-Ce6X6aAe.mjs +0 -114
- package/dist/esm/chunks/_types-YqjUzbuI.mjs +0 -141
- package/dist/esm/chunks/audioVisualizer-_H-alvTA.mjs +0 -60
- package/dist/esm/chunks/colors-qznBTNSD.mjs +0 -30
- package/dist/esm/chunks/debounce-Ck7nvyAV.mjs +0 -19
- package/dist/esm/chunks/sharedTypes-BS0kCucU.mjs +0 -8
- package/dist/esm/chunks/toastStore-OATPs-NI.mjs +0 -15
- package/dist/esm/chunks/viewState-DHKdCOat.mjs +0 -527
- package/dist/esm/components/DivInput/index.mjs +0 -13
- package/dist/esm/components/Grouper/index.mjs +0 -47
- package/dist/esm/components/Label/index.mjs +0 -11
- package/dist/esm/components/Level/index.mjs +0 -15
- package/dist/esm/components/Modal/index.mjs +0 -57
- package/dist/types/components/DataTable/_resolveVirtualizeRows.test.d.ts +0 -1
- package/dist/types/components/DataTable/_useReorderColumns.test.d.ts +0 -1
- package/dist/types/components/DataTable/_useResizeColumn.test.d.ts +0 -1
- package/dist/types/components/DataTable/_useRowWindow.test.d.ts +0 -1
- package/dist/types/components/DataTable/columnHelper.test.d.ts +0 -1
- package/dist/types/components/DataTable/viewState.test.d.ts +0 -1
- package/dist/types/components/DivInput/DivInput.d.ts +0 -3
- package/dist/types/components/DivInput/_types.d.ts +0 -24
- package/dist/types/components/DivInput/index.d.ts +0 -2
- package/dist/types/components/Grouper/Grouper.d.ts +0 -3
- package/dist/types/components/Grouper/_types.d.ts +0 -20
- package/dist/types/components/Grouper/index.d.ts +0 -2
- package/dist/types/components/Icon/iconRegistry.test.d.ts +0 -1
- package/dist/types/components/IconButton/_animation.d.ts +0 -18
- package/dist/types/components/IconButton/_animation.test.d.ts +0 -1
- package/dist/types/components/Label/Label.d.ts +0 -3
- package/dist/types/components/Label/_types.d.ts +0 -25
- package/dist/types/components/Label/index.d.ts +0 -3
- package/dist/types/components/Level/Level.d.ts +0 -5
- package/dist/types/components/Level/_types.d.ts +0 -21
- package/dist/types/components/Level/index.d.ts +0 -2
- package/dist/types/components/Modal/Modal.d.ts +0 -3
- package/dist/types/components/Modal/_types.d.ts +0 -49
- package/dist/types/components/Modal/index.d.ts +0 -2
- package/dist/types/hooks/useActiveTab/useActiveTab.test.d.ts +0 -1
- package/dist/types/hooks/useAudioRecorder/useAudioRecorder.test.d.ts +0 -1
- package/dist/types/hooks/useBindWebRTC/useBindWebRTC.test.d.ts +0 -1
- package/dist/types/hooks/useClipboard/useClipboard.test.d.ts +0 -1
- package/dist/types/hooks/useDoubleClick/useDoubleClick.test.d.ts +0 -1
- package/dist/types/hooks/useInfiniteScroll/useInfiniteScroll.test.d.ts +0 -1
- package/dist/types/hooks/useIntersecting/useIntersecting.test.d.ts +0 -1
- package/dist/types/hooks/useKeyboardShortcuts/useKeyboardShortcuts.test.d.ts +0 -1
- package/dist/types/hooks/useLastUpdated/useLastUpdated.test.d.ts +0 -1
- package/dist/types/hooks/useLocalStore/useLocalStore.test.d.ts +0 -1
- package/dist/types/hooks/useMdStreamBuffer/useMdStreamBuffer.test.d.ts +0 -1
- package/dist/types/hooks/useMicrophone/useMicrophone.test.d.ts +0 -1
- package/dist/types/hooks/useObserveTheme/useObserveTheme.test.d.ts +0 -1
- package/dist/types/hooks/useTheme/useTheme.test.d.ts +0 -1
- package/dist/types/hooks/useToolTip/useToolTip.test.d.ts +0 -1
- package/dist/types/hooks/useTrackRenders/useTrackRenders.test.d.ts +0 -1
- package/dist/types/hooks/useWindow/useWindow.test.d.ts +0 -1
- package/dist/types/providers/themeServer.test.d.ts +0 -1
- package/dist/types/stores/LocalDB/localDBStore.test.d.ts +0 -1
- package/dist/types/stores/SSE/sseStore.test.d.ts +0 -1
- package/dist/types/stores/WS/wsStore.test.d.ts +0 -1
- package/dist/types/stores/WebRTC/webRTCStore.test.d.ts +0 -1
- package/dist/types/stores/activeTab/activeTabStore.test.d.ts +0 -1
- package/dist/types/stores/browserChannel/browserChannelsStore.test.d.ts +0 -1
- package/dist/types/stores/microphone/microphoneStore.test.d.ts +0 -1
- package/dist/types/stores/modal/modalStore.test.d.ts +0 -1
- package/dist/types/stores/tip/tipStore.test.d.ts +0 -1
- package/dist/types/stores/toast/toastStore.test.d.ts +0 -1
- package/dist/types/stores/uploads/uploadsStore.test.d.ts +0 -1
- package/dist/types/stores/video/videoStore.test.d.ts +0 -1
- package/dist/types/stores/volume/volumeStore.test.d.ts +0 -1
- package/dist/types/stores/window/windowStore.test.d.ts +0 -1
- package/dist/types/utils/functions/colors.test.d.ts +0 -1
- package/dist/types/utils/functions/debounce.test.d.ts +0 -1
- package/dist/types/utils/functions/files.test.d.ts +0 -1
- package/dist/types/utils/functions/misc.test.d.ts +0 -1
- package/dist/types/utils/functions/rafThrottle.test.d.ts +0 -1
- package/dist/types/utils/objects/IndexedDB/IndexedDB.test.d.ts +0 -1
- package/dist/types/utils/objects/MDStreamBuffer/MdStreamBuffer.test.d.ts +0 -1
- package/dist/types/utils/objects/SSEConnection/SSEConnection.test.d.ts +0 -1
- package/dist/types/utils/objects/WSConnection/WSConnection.test.d.ts +0 -1
- package/dist/types/utils/objects/WebRTCConnection/WebRTCConnection.test.d.ts +0 -1
- package/dist/types/utils/objects/audioVisualizer/audioVisualizer.test.d.ts +0 -1
- package/dist/types/utils/objects/browserChannel/broadcastChannel.test.d.ts +0 -1
- package/dist/types/workers/uploads/uploads-worker.test.d.ts +0 -1
- /package/dist/cjs/chunks/{MdStreamBuffer-BwrT84Xh.js → MdStreamBuffer-B0KtaR_k.js} +0 -0
- /package/dist/cjs/chunks/{SSEConnection-Dciti25t.js → SSEConnection-BXWkgT66.js} +0 -0
- /package/dist/cjs/chunks/{activeTabStore-qP5wXhKH.js → activeTabStore-D2gxAoK6.js} +0 -0
- /package/dist/cjs/chunks/{broadcastChannel-BV0gIfvH.js → broadcastChannel-DdPZ3LUB.js} +0 -0
- /package/dist/cjs/chunks/{magic-string.es-Vs_88NMN.js → magic-string.es-DsAR0Q7u.js} +0 -0
- /package/dist/cjs/chunks/{rafThrottle-BlnxmQVH.js → rafThrottle-BRdLzPo7.js} +0 -0
- /package/dist/cjs/chunks/{tipStore-K8csyK2D.js → tipStore-DDHyGeyK.js} +0 -0
- /package/dist/cjs/chunks/{tslib.es6-DL37Dyu4.js → tslib.es6-B8JY5ZGw.js} +0 -0
- /package/dist/cjs/chunks/{videoStore-CR0cDt-h.js → videoStore-B0l9iBw4.js} +0 -0
- /package/dist/esm/chunks/{MdStreamBuffer-DFtBr080.mjs → MdStreamBuffer-CcO5IBxD.mjs} +0 -0
- /package/dist/esm/chunks/{SSEConnection-Djeh2C5G.mjs → SSEConnection-B5rVxalP.mjs} +0 -0
- /package/dist/esm/chunks/{activeTabStore-DSluAldJ.mjs → activeTabStore-CCstpXAC.mjs} +0 -0
- /package/dist/esm/chunks/{broadcastChannel-B2yT2lpA.mjs → broadcastChannel-CPT0S33H.mjs} +0 -0
- /package/dist/esm/chunks/{magic-string.es-Cm4dLOmN.mjs → magic-string.es-CI4cCGRB.mjs} +0 -0
- /package/dist/esm/chunks/{rafThrottle-CJcLGMwV.mjs → rafThrottle-Dl8Z5sJ-.mjs} +0 -0
- /package/dist/esm/chunks/{tipStore-BrCvK80A.mjs → tipStore-CBvk303u.mjs} +0 -0
- /package/dist/esm/chunks/{tslib.es6-DiR-r3pp.mjs → tslib.es6-CpnJrDBv.mjs} +0 -0
- /package/dist/esm/chunks/{videoStore-CLWsJ-oG.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 };
|