@videojs/html 0.1.0-preview.9 → 10.0.0-alpha.3
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 +4 -2
- package/dist/default/define/audio/player.js +15 -0
- package/dist/default/define/audio/player.js.map +1 -0
- package/dist/default/define/background/player.js +15 -0
- package/dist/default/define/background/player.js.map +1 -0
- package/dist/default/define/background/skin.js +0 -0
- package/dist/default/define/feature/video.js +0 -0
- package/dist/default/define/media/background-video.js +13 -0
- package/dist/default/define/media/background-video.js.map +1 -0
- package/dist/default/define/media/hls-video.js +13 -0
- package/dist/default/define/media/hls-video.js.map +1 -0
- package/dist/default/define/ui/buffering-indicator.js +7 -0
- package/dist/default/define/ui/buffering-indicator.js.map +1 -0
- package/dist/default/define/ui/controls.js +9 -0
- package/dist/default/define/ui/controls.js.map +1 -0
- package/dist/default/define/ui/fullscreen-button.js +7 -0
- package/dist/default/define/ui/fullscreen-button.js.map +1 -0
- package/dist/default/define/ui/mute-button.js +7 -0
- package/dist/default/define/ui/mute-button.js.map +1 -0
- package/dist/default/define/ui/pip-button.js +7 -0
- package/dist/default/define/ui/pip-button.js.map +1 -0
- package/dist/default/define/ui/play-button.js +7 -0
- package/dist/default/define/ui/play-button.js.map +1 -0
- package/dist/default/define/ui/poster.js +7 -0
- package/dist/default/define/ui/poster.js.map +1 -0
- package/dist/default/define/ui/seek-button.js +7 -0
- package/dist/default/define/ui/seek-button.js.map +1 -0
- package/dist/default/define/ui/time.js +11 -0
- package/dist/default/define/ui/time.js.map +1 -0
- package/dist/default/define/video/player.js +15 -0
- package/dist/default/define/video/player.js.map +1 -0
- package/dist/default/define/video/skin.js +0 -0
- package/dist/default/index.js +24 -0
- package/dist/default/media/background-video/index.js +77 -0
- package/dist/default/media/background-video/index.js.map +1 -0
- package/dist/default/media/hls-video/index.js +21 -0
- package/dist/default/media/hls-video/index.js.map +1 -0
- package/dist/default/player/context.js +14 -0
- package/dist/default/player/context.js.map +1 -0
- package/dist/default/player/create-player.js +29 -0
- package/dist/default/player/create-player.js.map +1 -0
- package/dist/default/player/player-controller.js +63 -0
- package/dist/default/player/player-controller.js.map +1 -0
- package/dist/default/player/player-mixin.js +23 -0
- package/dist/default/player/player-mixin.js.map +1 -0
- package/dist/default/store/container-mixin.js +74 -0
- package/dist/default/store/container-mixin.js.map +1 -0
- package/dist/default/store/provider-mixin.js +39 -0
- package/dist/default/store/provider-mixin.js.map +1 -0
- package/dist/default/ui/buffering-indicator/buffering-indicator-element.js +47 -0
- package/dist/default/ui/buffering-indicator/buffering-indicator-element.js.map +1 -0
- package/dist/default/ui/controls/controls-element.js +27 -0
- package/dist/default/ui/controls/controls-element.js.map +1 -0
- package/dist/default/ui/controls/controls-group-element.js +16 -0
- package/dist/default/ui/controls/controls-group-element.js.map +1 -0
- package/dist/default/ui/fullscreen-button/fullscreen-button-element.js +56 -0
- package/dist/default/ui/fullscreen-button/fullscreen-button-element.js.map +1 -0
- package/dist/default/ui/media-element.js +8 -0
- package/dist/default/ui/media-element.js.map +1 -0
- package/dist/default/ui/mute-button/mute-button-element.js +56 -0
- package/dist/default/ui/mute-button/mute-button-element.js.map +1 -0
- package/dist/default/ui/pip-button/pip-button-element.js +56 -0
- package/dist/default/ui/pip-button/pip-button-element.js.map +1 -0
- package/dist/default/ui/play-button/play-button-element.js +56 -0
- package/dist/default/ui/play-button/play-button-element.js.map +1 -0
- package/dist/default/ui/poster/poster-element.js +27 -0
- package/dist/default/ui/poster/poster-element.js.map +1 -0
- package/dist/default/ui/seek-button/seek-button-element.js +58 -0
- package/dist/default/ui/seek-button/seek-button-element.js.map +1 -0
- package/dist/default/ui/time/time-element.js +67 -0
- package/dist/default/ui/time/time-element.js.map +1 -0
- package/dist/default/ui/time/time-group-element.js +12 -0
- package/dist/default/ui/time/time-group-element.js.map +1 -0
- package/dist/default/ui/time/time-separator-element.js +17 -0
- package/dist/default/ui/time/time-separator-element.js.map +1 -0
- package/dist/dev/define/audio/player.d.ts +17 -0
- package/dist/dev/define/audio/player.d.ts.map +1 -0
- package/dist/dev/define/audio/player.js +15 -0
- package/dist/dev/define/audio/player.js.map +1 -0
- package/dist/dev/define/audio/skin.js +0 -0
- package/dist/dev/define/background/player.d.ts +17 -0
- package/dist/dev/define/background/player.d.ts.map +1 -0
- package/dist/dev/define/background/player.js +15 -0
- package/dist/dev/define/background/player.js.map +1 -0
- package/dist/dev/define/background/skin.js +0 -0
- package/dist/dev/define/feature/video.js +0 -0
- package/dist/dev/define/media/background-video.d.ts +14 -0
- package/dist/dev/define/media/background-video.d.ts.map +1 -0
- package/dist/dev/define/media/background-video.js +13 -0
- package/dist/dev/define/media/background-video.js.map +1 -0
- package/dist/dev/define/media/hls-video.d.ts +14 -0
- package/dist/dev/define/media/hls-video.d.ts.map +1 -0
- package/dist/dev/define/media/hls-video.js +13 -0
- package/dist/dev/define/media/hls-video.js.map +1 -0
- package/dist/dev/define/ui/buffering-indicator.d.ts +9 -0
- package/dist/dev/define/ui/buffering-indicator.d.ts.map +1 -0
- package/dist/dev/define/ui/buffering-indicator.js +7 -0
- package/dist/dev/define/ui/buffering-indicator.js.map +1 -0
- package/dist/dev/define/ui/controls.d.ts +11 -0
- package/dist/dev/define/ui/controls.d.ts.map +1 -0
- package/dist/dev/define/ui/controls.js +9 -0
- package/dist/dev/define/ui/controls.js.map +1 -0
- package/dist/dev/define/ui/fullscreen-button.d.ts +9 -0
- package/dist/dev/define/ui/fullscreen-button.d.ts.map +1 -0
- package/dist/dev/define/ui/fullscreen-button.js +7 -0
- package/dist/dev/define/ui/fullscreen-button.js.map +1 -0
- package/dist/dev/define/ui/mute-button.d.ts +9 -0
- package/dist/dev/define/ui/mute-button.d.ts.map +1 -0
- package/dist/dev/define/ui/mute-button.js +7 -0
- package/dist/dev/define/ui/mute-button.js.map +1 -0
- package/dist/dev/define/ui/pip-button.d.ts +9 -0
- package/dist/dev/define/ui/pip-button.d.ts.map +1 -0
- package/dist/dev/define/ui/pip-button.js +7 -0
- package/dist/dev/define/ui/pip-button.js.map +1 -0
- package/dist/dev/define/ui/play-button.d.ts +9 -0
- package/dist/dev/define/ui/play-button.d.ts.map +1 -0
- package/dist/dev/define/ui/play-button.js +7 -0
- package/dist/dev/define/ui/play-button.js.map +1 -0
- package/dist/dev/define/ui/poster.d.ts +9 -0
- package/dist/dev/define/ui/poster.d.ts.map +1 -0
- package/dist/dev/define/ui/poster.js +7 -0
- package/dist/dev/define/ui/poster.js.map +1 -0
- package/dist/dev/define/ui/seek-button.d.ts +9 -0
- package/dist/dev/define/ui/seek-button.d.ts.map +1 -0
- package/dist/dev/define/ui/seek-button.js +7 -0
- package/dist/dev/define/ui/seek-button.js.map +1 -0
- package/dist/dev/define/ui/time.d.ts +13 -0
- package/dist/dev/define/ui/time.d.ts.map +1 -0
- package/dist/dev/define/ui/time.js +11 -0
- package/dist/dev/define/ui/time.js.map +1 -0
- package/dist/dev/define/video/player.d.ts +17 -0
- package/dist/dev/define/video/player.d.ts.map +1 -0
- package/dist/dev/define/video/player.js +15 -0
- package/dist/dev/define/video/player.js.map +1 -0
- package/dist/dev/define/video/skin.js +0 -0
- package/dist/dev/index.d.ts +23 -0
- package/dist/dev/index.js +24 -0
- package/dist/dev/media/background-video/index.d.ts +15 -0
- package/dist/dev/media/background-video/index.d.ts.map +1 -0
- package/dist/dev/media/background-video/index.js +77 -0
- package/dist/dev/media/background-video/index.js.map +1 -0
- package/dist/dev/media/hls-video/index.d.ts +11 -0
- package/dist/dev/media/hls-video/index.d.ts.map +1 -0
- package/dist/dev/media/hls-video/index.js +21 -0
- package/dist/dev/media/hls-video/index.js.map +1 -0
- package/dist/dev/player/context.d.ts +16 -0
- package/dist/dev/player/context.d.ts.map +1 -0
- package/dist/dev/player/context.js +14 -0
- package/dist/dev/player/context.js.map +1 -0
- package/dist/dev/player/create-player.d.ts +73 -0
- package/dist/dev/player/create-player.d.ts.map +1 -0
- package/dist/dev/player/create-player.js +29 -0
- package/dist/dev/player/create-player.js.map +1 -0
- package/dist/dev/player/player-controller.d.ts +56 -0
- package/dist/dev/player/player-controller.d.ts.map +1 -0
- package/dist/dev/player/player-controller.js +63 -0
- package/dist/dev/player/player-controller.js.map +1 -0
- package/dist/dev/player/player-mixin.d.ts +20 -0
- package/dist/dev/player/player-mixin.d.ts.map +1 -0
- package/dist/dev/player/player-mixin.js +23 -0
- package/dist/dev/player/player-mixin.js.map +1 -0
- package/dist/dev/store/container-mixin.d.ts +16 -0
- package/dist/dev/store/container-mixin.d.ts.map +1 -0
- package/dist/dev/store/container-mixin.js +74 -0
- package/dist/dev/store/container-mixin.js.map +1 -0
- package/dist/dev/store/provider-mixin.d.ts +17 -0
- package/dist/dev/store/provider-mixin.d.ts.map +1 -0
- package/dist/dev/store/provider-mixin.js +39 -0
- package/dist/dev/store/provider-mixin.js.map +1 -0
- package/dist/dev/store/types.d.ts +18 -0
- package/dist/dev/store/types.d.ts.map +1 -0
- package/dist/dev/ui/buffering-indicator/buffering-indicator-element.d.ts +21 -0
- package/dist/dev/ui/buffering-indicator/buffering-indicator-element.d.ts.map +1 -0
- package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js +48 -0
- package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js.map +1 -0
- package/dist/dev/ui/controls/controls-element.d.ts +13 -0
- package/dist/dev/ui/controls/controls-element.d.ts.map +1 -0
- package/dist/dev/ui/controls/controls-element.js +28 -0
- package/dist/dev/ui/controls/controls-element.js.map +1 -0
- package/dist/dev/ui/controls/controls-group-element.d.ts +10 -0
- package/dist/dev/ui/controls/controls-group-element.d.ts.map +1 -0
- package/dist/dev/ui/controls/controls-group-element.js +16 -0
- package/dist/dev/ui/controls/controls-group-element.js.map +1 -0
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts +26 -0
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts.map +1 -0
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js +57 -0
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js.map +1 -0
- package/dist/dev/ui/media-element.d.ts +9 -0
- package/dist/dev/ui/media-element.d.ts.map +1 -0
- package/dist/dev/ui/media-element.js +8 -0
- package/dist/dev/ui/media-element.js.map +1 -0
- package/dist/dev/ui/mute-button/mute-button-element.d.ts +26 -0
- package/dist/dev/ui/mute-button/mute-button-element.d.ts.map +1 -0
- package/dist/dev/ui/mute-button/mute-button-element.js +57 -0
- package/dist/dev/ui/mute-button/mute-button-element.js.map +1 -0
- package/dist/dev/ui/pip-button/pip-button-element.d.ts +26 -0
- package/dist/dev/ui/pip-button/pip-button-element.d.ts.map +1 -0
- package/dist/dev/ui/pip-button/pip-button-element.js +57 -0
- package/dist/dev/ui/pip-button/pip-button-element.js.map +1 -0
- package/dist/dev/ui/play-button/play-button-element.d.ts +26 -0
- package/dist/dev/ui/play-button/play-button-element.d.ts.map +1 -0
- package/dist/dev/ui/play-button/play-button-element.js +57 -0
- package/dist/dev/ui/play-button/play-button-element.js.map +1 -0
- package/dist/dev/ui/poster/poster-element.d.ts +13 -0
- package/dist/dev/ui/poster/poster-element.d.ts.map +1 -0
- package/dist/dev/ui/poster/poster-element.js +28 -0
- package/dist/dev/ui/poster/poster-element.js.map +1 -0
- package/dist/dev/ui/seek-button/seek-button-element.d.ts +30 -0
- package/dist/dev/ui/seek-button/seek-button-element.d.ts.map +1 -0
- package/dist/dev/ui/seek-button/seek-button-element.js +59 -0
- package/dist/dev/ui/seek-button/seek-button-element.js.map +1 -0
- package/dist/dev/ui/time/time-element.d.ts +32 -0
- package/dist/dev/ui/time/time-element.d.ts.map +1 -0
- package/dist/dev/ui/time/time-element.js +68 -0
- package/dist/dev/ui/time/time-element.js.map +1 -0
- package/dist/dev/ui/time/time-group-element.d.ts +9 -0
- package/dist/dev/ui/time/time-group-element.d.ts.map +1 -0
- package/dist/dev/ui/time/time-group-element.js +12 -0
- package/dist/dev/ui/time/time-group-element.js.map +1 -0
- package/dist/dev/ui/time/time-separator-element.d.ts +10 -0
- package/dist/dev/ui/time/time-separator-element.d.ts.map +1 -0
- package/dist/dev/ui/time/time-separator-element.js +17 -0
- package/dist/dev/ui/time/time-separator-element.js.map +1 -0
- package/package.json +62 -40
- package/dist/button-Bu1mGG-F.js +0 -63
- package/dist/button-Bu1mGG-F.js.map +0 -1
- package/dist/component-factory-C0cl1nrL.js +0 -73
- package/dist/component-factory-C0cl1nrL.js.map +0 -1
- package/dist/current-time-display-DpoDrQu9.js +0 -46
- package/dist/current-time-display-DpoDrQu9.js.map +0 -1
- package/dist/custom-element-3bDlB2XO.js +0 -10
- package/dist/custom-element-3bDlB2XO.js.map +0 -1
- package/dist/define/index.d.ts +0 -12
- package/dist/define/index.js +0 -27
- package/dist/define/media-container.d.ts +0 -1
- package/dist/define/media-container.js +0 -3
- package/dist/define/media-current-time-display.d.ts +0 -1
- package/dist/define/media-current-time-display.js +0 -4
- package/dist/define/media-duration-display.d.ts +0 -1
- package/dist/define/media-duration-display.js +0 -4
- package/dist/define/media-fullscreen-button.d.ts +0 -1
- package/dist/define/media-fullscreen-button.js +0 -5
- package/dist/define/media-mute-button.d.ts +0 -1
- package/dist/define/media-mute-button.js +0 -5
- package/dist/define/media-play-button.d.ts +0 -1
- package/dist/define/media-play-button.js +0 -5
- package/dist/define/media-popover.d.ts +0 -1
- package/dist/define/media-popover.js +0 -3
- package/dist/define/media-preview-time-display.d.ts +0 -1
- package/dist/define/media-preview-time-display.js +0 -4
- package/dist/define/media-time-slider.d.ts +0 -1
- package/dist/define/media-time-slider.js +0 -4
- package/dist/define/media-tooltip.d.ts +0 -1
- package/dist/define/media-tooltip.js +0 -3
- package/dist/define/media-volume-slider.d.ts +0 -1
- package/dist/define/media-volume-slider.js +0 -4
- package/dist/define/video-provider.d.ts +0 -1
- package/dist/define/video-provider.js +0 -3
- package/dist/duration-display-BFRQmaOz.js +0 -48
- package/dist/duration-display-BFRQmaOz.js.map +0 -1
- package/dist/fullscreen-button-B0R9K3GV.js +0 -47
- package/dist/fullscreen-button-B0R9K3GV.js.map +0 -1
- package/dist/icons-CuxuONCk.js +0 -209
- package/dist/icons-CuxuONCk.js.map +0 -1
- package/dist/icons.d.ts +0 -1
- package/dist/icons.js +0 -2
- package/dist/index.d.ts +0 -146
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -17
- package/dist/media-container-BOL0PKuG.js +0 -80
- package/dist/media-container-BOL0PKuG.js.map +0 -1
- package/dist/media-container-DwKSOa1h.js +0 -8
- package/dist/media-container-DwKSOa1h.js.map +0 -1
- package/dist/media-current-time-display-DVCqNt7c.js +0 -8
- package/dist/media-current-time-display-DVCqNt7c.js.map +0 -1
- package/dist/media-duration-display-tzVLafRm.js +0 -8
- package/dist/media-duration-display-tzVLafRm.js.map +0 -1
- package/dist/media-fullscreen-button-BgUK3lgu.d.ts +0 -1
- package/dist/media-fullscreen-button-DDQ6EdLz.js +0 -8
- package/dist/media-fullscreen-button-DDQ6EdLz.js.map +0 -1
- package/dist/media-mute-button-NVJF2EEW.d.ts +0 -1
- package/dist/media-mute-button-Uy18NpPx.js +0 -8
- package/dist/media-mute-button-Uy18NpPx.js.map +0 -1
- package/dist/media-play-button-CDBZrhmx.js +0 -8
- package/dist/media-play-button-CDBZrhmx.js.map +0 -1
- package/dist/media-play-button-oq8yDlxe.d.ts +0 -1
- package/dist/media-popover-BtJmPv0E.d.ts +0 -1
- package/dist/media-popover-Cw9d_Bh3.js +0 -8
- package/dist/media-popover-Cw9d_Bh3.js.map +0 -1
- package/dist/media-preview-time-display-4YX5Rics.d.ts +0 -1
- package/dist/media-preview-time-display-ufqXiNXg.js +0 -8
- package/dist/media-preview-time-display-ufqXiNXg.js.map +0 -1
- package/dist/media-skin-CxnuHwhu.js +0 -36
- package/dist/media-skin-CxnuHwhu.js.map +0 -1
- package/dist/media-skin-Di3vSHvS.d.ts +0 -11
- package/dist/media-skin-Di3vSHvS.d.ts.map +0 -1
- package/dist/media-time-slider-BOdJr4QE.js +0 -12
- package/dist/media-time-slider-BOdJr4QE.js.map +0 -1
- package/dist/media-time-slider-DvMnfYXZ.d.ts +0 -1
- package/dist/media-tooltip-BqV17mdM.d.ts +0 -1
- package/dist/media-tooltip-CMRN_X4D.js +0 -8
- package/dist/media-tooltip-CMRN_X4D.js.map +0 -1
- package/dist/media-volume-slider-BB6GhrzS.js +0 -11
- package/dist/media-volume-slider-BB6GhrzS.js.map +0 -1
- package/dist/media-volume-slider-DP47VLVi.d.ts +0 -1
- package/dist/mute-button-C7XQB6iK.js +0 -49
- package/dist/mute-button-C7XQB6iK.js.map +0 -1
- package/dist/play-button-DFbxwrrq.js +0 -47
- package/dist/play-button-DFbxwrrq.js.map +0 -1
- package/dist/popover-BUCVOjnO.js +0 -167
- package/dist/popover-BUCVOjnO.js.map +0 -1
- package/dist/preview-time-display-CtA58pCS.js +0 -43
- package/dist/preview-time-display-CtA58pCS.js.map +0 -1
- package/dist/skins/frosted.d.ts +0 -23
- package/dist/skins/frosted.d.ts.map +0 -1
- package/dist/skins/frosted.js +0 -145
- package/dist/skins/frosted.js.map +0 -1
- package/dist/skins/minimal.d.ts +0 -23
- package/dist/skins/minimal.d.ts.map +0 -1
- package/dist/skins/minimal.js +0 -150
- package/dist/skins/minimal.js.map +0 -1
- package/dist/store.d.ts +0 -1
- package/dist/time-slider-DHpKPCI1.js +0 -165
- package/dist/time-slider-DHpKPCI1.js.map +0 -1
- package/dist/tooltip-B-glki2f.js +0 -171
- package/dist/tooltip-B-glki2f.js.map +0 -1
- package/dist/video-provider-BKDqoKFf.js +0 -17
- package/dist/video-provider-BKDqoKFf.js.map +0 -1
- package/dist/video-provider-BPPI5e47.js +0 -8
- package/dist/video-provider-BPPI5e47.js.map +0 -1
- package/dist/video-provider-nSCfwA7l.d.ts +0 -1
- package/dist/volume-slider-CUyfwehe.js +0 -140
- package/dist/volume-slider-CUyfwehe.js.map +0 -1
- /package/dist/{store.js → default/define/audio/skin.js} +0 -0
- /package/dist/{index-LKrIp3Oo.d.ts → dev/define/audio/skin.d.ts} +0 -0
- /package/dist/{media-container-ChS9lZvf.d.ts → dev/define/background/skin.d.ts} +0 -0
- /package/dist/{media-current-time-display-Cd0rPAuj.d.ts → dev/define/feature/video.d.ts} +0 -0
- /package/dist/{media-duration-display-qvm6YX-q.d.ts → dev/define/video/skin.d.ts} +0 -0
package/dist/tooltip-B-glki2f.js
DELETED
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
import { getBoundingClientRectWithoutTransform, getDocumentOrShadowRoot, getInBoundsAdjustments } from "@videojs/utils/dom";
|
|
2
|
-
|
|
3
|
-
//#region src/elements/tooltip.ts
|
|
4
|
-
var TooltipElement = class extends HTMLElement {
|
|
5
|
-
static get observedAttributes() {
|
|
6
|
-
return [
|
|
7
|
-
"id",
|
|
8
|
-
"delay",
|
|
9
|
-
"close-delay",
|
|
10
|
-
"track-cursor-axis",
|
|
11
|
-
"side",
|
|
12
|
-
"side-offset",
|
|
13
|
-
"collision-padding"
|
|
14
|
-
];
|
|
15
|
-
}
|
|
16
|
-
#open = false;
|
|
17
|
-
#hoverTimeout = null;
|
|
18
|
-
#pointerPosition = {
|
|
19
|
-
x: 0,
|
|
20
|
-
y: 0
|
|
21
|
-
};
|
|
22
|
-
#transitionStatus = "initial";
|
|
23
|
-
#abortController = null;
|
|
24
|
-
constructor() {
|
|
25
|
-
super();
|
|
26
|
-
new ResizeObserver(() => this.#checkCollision()).observe(this);
|
|
27
|
-
}
|
|
28
|
-
attributeChangedCallback(name, _oldValue, newValue) {
|
|
29
|
-
if (name === "id") this.style.setProperty("position-anchor", `--${newValue}`);
|
|
30
|
-
const [side, alignment] = this.side.split("-");
|
|
31
|
-
this.style.setProperty("top", `calc(anchor(${side}) - ${this.sideOffset}px)`);
|
|
32
|
-
if (this.trackCursorAxis) this.style.setProperty("translate", `-50% -100%`);
|
|
33
|
-
else {
|
|
34
|
-
this.style.setProperty("translate", `0 -100%`);
|
|
35
|
-
this.style.setProperty("justify-self", alignment === "start" ? "anchor-start" : alignment === "end" ? "anchor-end" : "anchor-center");
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
connectedCallback() {
|
|
39
|
-
this.setAttribute("role", "tooltip");
|
|
40
|
-
this.#abortController ??= new AbortController();
|
|
41
|
-
const { signal } = this.#abortController;
|
|
42
|
-
const trigger = this.#triggerElement;
|
|
43
|
-
if (trigger) {
|
|
44
|
-
if (globalThis.matchMedia?.("(hover: hover)")?.matches) {
|
|
45
|
-
trigger.addEventListener("pointerenter", this, { signal });
|
|
46
|
-
trigger.addEventListener("pointerleave", this, { signal });
|
|
47
|
-
trigger.addEventListener("pointermove", this, { signal });
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
this.#updateVisibility();
|
|
51
|
-
}
|
|
52
|
-
disconnectedCallback() {
|
|
53
|
-
this.#clearHoverTimeout();
|
|
54
|
-
this.#abortController?.abort();
|
|
55
|
-
this.#abortController = null;
|
|
56
|
-
this.#transitionStatus = "unmounted";
|
|
57
|
-
this.#updateVisibility();
|
|
58
|
-
}
|
|
59
|
-
handleEvent(event) {
|
|
60
|
-
switch (event.type) {
|
|
61
|
-
case "pointerenter":
|
|
62
|
-
this.#handlePointerEnter();
|
|
63
|
-
break;
|
|
64
|
-
case "pointerleave":
|
|
65
|
-
this.#handlePointerLeave(event);
|
|
66
|
-
break;
|
|
67
|
-
case "pointermove":
|
|
68
|
-
this.#handlePointerMove(event);
|
|
69
|
-
break;
|
|
70
|
-
default: break;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
get delay() {
|
|
74
|
-
return Number.parseInt(this.getAttribute("delay") ?? "0", 10);
|
|
75
|
-
}
|
|
76
|
-
get closeDelay() {
|
|
77
|
-
return Number.parseInt(this.getAttribute("close-delay") ?? "0", 10);
|
|
78
|
-
}
|
|
79
|
-
get trackCursorAxis() {
|
|
80
|
-
const value = this.getAttribute("track-cursor-axis");
|
|
81
|
-
return value === "x" || value === "y" || value === "both" ? value : void 0;
|
|
82
|
-
}
|
|
83
|
-
get side() {
|
|
84
|
-
return this.getAttribute("side") ?? "top";
|
|
85
|
-
}
|
|
86
|
-
get sideOffset() {
|
|
87
|
-
return Number.parseInt(this.getAttribute("side-offset") ?? "0", 10);
|
|
88
|
-
}
|
|
89
|
-
get collisionPadding() {
|
|
90
|
-
return Number.parseInt(this.getAttribute("collision-padding") ?? "0", 10);
|
|
91
|
-
}
|
|
92
|
-
get #triggerElement() {
|
|
93
|
-
return getDocumentOrShadowRoot(this)?.querySelector(`[commandfor="${this.id}"]`);
|
|
94
|
-
}
|
|
95
|
-
#setOpen(open) {
|
|
96
|
-
if (this.#open === open) return;
|
|
97
|
-
this.#open = open;
|
|
98
|
-
if (open) {
|
|
99
|
-
this.#transitionStatus = "initial";
|
|
100
|
-
this.#updateVisibility();
|
|
101
|
-
this.showPopover();
|
|
102
|
-
requestAnimationFrame(() => {
|
|
103
|
-
this.#transitionStatus = "open";
|
|
104
|
-
this.#updateVisibility();
|
|
105
|
-
this.#checkCollision();
|
|
106
|
-
});
|
|
107
|
-
} else {
|
|
108
|
-
this.#transitionStatus = "close";
|
|
109
|
-
this.#updateVisibility();
|
|
110
|
-
const transitions = this.getAnimations().filter((anim) => anim instanceof CSSTransition);
|
|
111
|
-
if (transitions.length > 0) Promise.all(transitions.map((t) => t.finished)).then(() => this.hidePopover()).catch(() => this.hidePopover());
|
|
112
|
-
else this.hidePopover();
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
#updateVisibility() {
|
|
116
|
-
this.toggleAttribute("data-starting-style", this.#transitionStatus === "initial");
|
|
117
|
-
this.toggleAttribute("data-open", this.#transitionStatus === "initial" || this.#transitionStatus === "open");
|
|
118
|
-
this.toggleAttribute("data-ending-style", this.#transitionStatus === "close" || this.#transitionStatus === "unmounted");
|
|
119
|
-
this.toggleAttribute("data-closed", this.#transitionStatus === "close" || this.#transitionStatus === "unmounted");
|
|
120
|
-
const triggerElement = this.#triggerElement;
|
|
121
|
-
if (triggerElement) triggerElement.toggleAttribute("data-popup-open", this.#open);
|
|
122
|
-
}
|
|
123
|
-
#updatePosition() {
|
|
124
|
-
if (this.#open && this.trackCursorAxis) {
|
|
125
|
-
this.style.setProperty("left", `${this.#pointerPosition.x}px`);
|
|
126
|
-
this.#checkCollision();
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
#checkCollision() {
|
|
130
|
-
const mediaContainer = this.closest("media-container");
|
|
131
|
-
if (!mediaContainer || !this.#open) return;
|
|
132
|
-
const { x } = getInBoundsAdjustments(getBoundingClientRectWithoutTransform(this), getBoundingClientRectWithoutTransform(mediaContainer), this.collisionPadding);
|
|
133
|
-
if (x !== 0) if (this.trackCursorAxis) {
|
|
134
|
-
const currentLeft = Number.parseFloat(this.style.left || "0");
|
|
135
|
-
this.style.setProperty("left", `${currentLeft + x}px`);
|
|
136
|
-
} else this.style.setProperty("translate", `${x}px -100%`);
|
|
137
|
-
else if (this.trackCursorAxis) this.style.setProperty("translate", "-50% -100%");
|
|
138
|
-
else this.style.setProperty("translate", "0 -100%");
|
|
139
|
-
}
|
|
140
|
-
#clearHoverTimeout() {
|
|
141
|
-
if (this.#hoverTimeout) {
|
|
142
|
-
globalThis.clearTimeout(this.#hoverTimeout);
|
|
143
|
-
this.#hoverTimeout = null;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
#handlePointerEnter() {
|
|
147
|
-
this.#clearHoverTimeout();
|
|
148
|
-
this.#hoverTimeout = globalThis.setTimeout(() => {
|
|
149
|
-
this.#setOpen(true);
|
|
150
|
-
}, this.delay);
|
|
151
|
-
}
|
|
152
|
-
#handlePointerLeave(_event) {
|
|
153
|
-
this.#clearHoverTimeout();
|
|
154
|
-
this.#hoverTimeout = globalThis.setTimeout(() => {
|
|
155
|
-
this.#setOpen(false);
|
|
156
|
-
}, this.closeDelay);
|
|
157
|
-
}
|
|
158
|
-
#handlePointerMove(event) {
|
|
159
|
-
if (this.trackCursorAxis) {
|
|
160
|
-
this.#pointerPosition = {
|
|
161
|
-
x: event.clientX,
|
|
162
|
-
y: event.clientY
|
|
163
|
-
};
|
|
164
|
-
if (this.#open) this.#updatePosition();
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
};
|
|
168
|
-
|
|
169
|
-
//#endregion
|
|
170
|
-
export { TooltipElement as t };
|
|
171
|
-
//# sourceMappingURL=tooltip-B-glki2f.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip-B-glki2f.js","names":["#checkCollision","#abortController","#triggerElement","#updateVisibility","#clearHoverTimeout","#transitionStatus","#handlePointerEnter","#handlePointerLeave","#handlePointerMove","#open","#pointerPosition","#hoverTimeout","#setOpen","#updatePosition"],"sources":["../src/elements/tooltip.ts"],"sourcesContent":["import type { MediaContainerElement } from '@/media/media-container';\n\nimport {\n getBoundingClientRectWithoutTransform,\n getDocumentOrShadowRoot,\n getInBoundsAdjustments,\n} from '@videojs/utils/dom';\n\ntype Placement = 'top' | 'top-start' | 'top-end';\n\nexport class TooltipElement extends HTMLElement {\n static get observedAttributes(): string[] {\n return ['id', 'delay', 'close-delay', 'track-cursor-axis', 'side', 'side-offset', 'collision-padding'];\n }\n\n #open = false;\n #hoverTimeout: ReturnType<typeof setTimeout> | null = null;\n #pointerPosition = { x: 0, y: 0 };\n #transitionStatus: 'initial' | 'open' | 'close' | 'unmounted' = 'initial';\n #abortController: AbortController | null = null;\n\n constructor() {\n super();\n\n const resizeObserver = new ResizeObserver(() => this.#checkCollision());\n resizeObserver.observe(this);\n }\n\n attributeChangedCallback(name: string, _oldValue: string, newValue: string): void {\n if (name === 'id') {\n this.style.setProperty('position-anchor', `--${newValue}`);\n }\n const [side, alignment] = this.side.split('-');\n this.style.setProperty('top', `calc(anchor(${side}) - ${this.sideOffset}px)`);\n\n if (this.trackCursorAxis) {\n this.style.setProperty('translate', `-50% -100%`);\n } else {\n this.style.setProperty('translate', `0 -100%`);\n this.style.setProperty('justify-self', alignment === 'start'\n ? 'anchor-start'\n : alignment === 'end'\n ? 'anchor-end'\n : 'anchor-center');\n }\n }\n\n connectedCallback(): void {\n this.setAttribute('role', 'tooltip');\n\n this.#abortController ??= new AbortController();\n const { signal } = this.#abortController;\n\n const trigger = this.#triggerElement as HTMLElement;\n if (trigger) {\n if (globalThis.matchMedia?.('(hover: hover)')?.matches) {\n trigger.addEventListener('pointerenter', this, { signal });\n trigger.addEventListener('pointerleave', this, { signal });\n trigger.addEventListener('pointermove', this, { signal });\n }\n }\n\n this.#updateVisibility();\n }\n\n disconnectedCallback(): void {\n this.#clearHoverTimeout();\n this.#abortController?.abort();\n this.#abortController = null;\n\n this.#transitionStatus = 'unmounted';\n this.#updateVisibility();\n }\n\n handleEvent(event: Event): void {\n switch (event.type) {\n case 'pointerenter':\n this.#handlePointerEnter();\n break;\n case 'pointerleave':\n this.#handlePointerLeave(event as PointerEvent);\n break;\n case 'pointermove':\n this.#handlePointerMove(event as PointerEvent);\n break;\n default:\n break;\n }\n }\n\n get delay(): number {\n return Number.parseInt(this.getAttribute('delay') ?? '0', 10);\n }\n\n get closeDelay(): number {\n return Number.parseInt(this.getAttribute('close-delay') ?? '0', 10);\n }\n\n get trackCursorAxis(): 'x' | 'y' | 'both' | undefined {\n const value = this.getAttribute('track-cursor-axis');\n return value === 'x' || value === 'y' || value === 'both' ? value : undefined;\n }\n\n get side(): Placement {\n return (this.getAttribute('side') as Placement) ?? 'top';\n }\n\n get sideOffset(): number {\n return Number.parseInt(this.getAttribute('side-offset') ?? '0', 10);\n }\n\n get collisionPadding(): number {\n return Number.parseInt(this.getAttribute('collision-padding') ?? '0', 10);\n }\n\n get #triggerElement(): HTMLElement | null {\n return getDocumentOrShadowRoot(this)?.querySelector(`[commandfor=\"${this.id}\"]`) as HTMLElement | null;\n }\n\n #setOpen(open: boolean): void {\n if (this.#open === open) return;\n\n this.#open = open;\n\n if (open) {\n this.#transitionStatus = 'initial';\n this.#updateVisibility();\n\n this.showPopover();\n\n requestAnimationFrame(() => {\n this.#transitionStatus = 'open';\n this.#updateVisibility();\n this.#checkCollision();\n });\n } else {\n this.#transitionStatus = 'close';\n this.#updateVisibility();\n\n const transitions = this.getAnimations().filter(anim => anim instanceof CSSTransition);\n if (transitions.length > 0) {\n Promise.all(transitions.map(t => t.finished))\n .then(() => this.hidePopover())\n .catch(() => this.hidePopover());\n } else {\n this.hidePopover();\n }\n }\n }\n\n #updateVisibility(): void {\n this.toggleAttribute('data-starting-style', this.#transitionStatus === 'initial');\n this.toggleAttribute('data-open', this.#transitionStatus === 'initial' || this.#transitionStatus === 'open');\n this.toggleAttribute(\n 'data-ending-style',\n this.#transitionStatus === 'close' || this.#transitionStatus === 'unmounted',\n );\n this.toggleAttribute('data-closed', this.#transitionStatus === 'close' || this.#transitionStatus === 'unmounted');\n\n const triggerElement = this.#triggerElement as HTMLElement;\n if (triggerElement) {\n triggerElement.toggleAttribute('data-popup-open', this.#open);\n }\n }\n\n #updatePosition(): void {\n if (this.#open && this.trackCursorAxis) {\n this.style.setProperty('left', `${this.#pointerPosition.x}px`);\n this.#checkCollision();\n }\n }\n\n #checkCollision(): void {\n const mediaContainer = this.closest('media-container') as MediaContainerElement;\n if (!mediaContainer || !this.#open) return;\n\n const popupRect = getBoundingClientRectWithoutTransform(this);\n const boundsRect = getBoundingClientRectWithoutTransform(mediaContainer);\n const { x } = getInBoundsAdjustments(popupRect, boundsRect, this.collisionPadding);\n\n if (x !== 0) {\n if (this.trackCursorAxis) {\n const currentLeft = Number.parseFloat(this.style.left || '0');\n this.style.setProperty('left', `${currentLeft + x}px`);\n } else {\n this.style.setProperty('translate', `${x}px -100%`);\n }\n } else {\n if (this.trackCursorAxis) {\n this.style.setProperty('translate', '-50% -100%');\n } else {\n this.style.setProperty('translate', '0 -100%');\n }\n }\n }\n\n #clearHoverTimeout(): void {\n if (this.#hoverTimeout) {\n globalThis.clearTimeout(this.#hoverTimeout);\n this.#hoverTimeout = null;\n }\n }\n\n #handlePointerEnter(): void {\n this.#clearHoverTimeout();\n this.#hoverTimeout = globalThis.setTimeout(() => {\n this.#setOpen(true);\n }, this.delay);\n }\n\n #handlePointerLeave(_event: PointerEvent): void {\n this.#clearHoverTimeout();\n this.#hoverTimeout = globalThis.setTimeout(() => {\n this.#setOpen(false);\n }, this.closeDelay);\n }\n\n #handlePointerMove(event: PointerEvent): void {\n if (this.trackCursorAxis) {\n this.#pointerPosition = { x: event.clientX, y: event.clientY };\n\n if (this.#open) {\n this.#updatePosition();\n }\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { createMediaStore } from "@videojs/core/store";
|
|
2
|
-
import { ProviderMixin } from "@open-wc/context-protocol";
|
|
3
|
-
|
|
4
|
-
//#region src/media/video-provider.ts
|
|
5
|
-
const ProviderHTMLElement = ProviderMixin(HTMLElement);
|
|
6
|
-
var VideoProviderElement = class extends ProviderHTMLElement {
|
|
7
|
-
constructor(..._args) {
|
|
8
|
-
super(..._args);
|
|
9
|
-
this.contexts = { mediaStore: () => {
|
|
10
|
-
return createMediaStore();
|
|
11
|
-
} };
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
//#endregion
|
|
16
|
-
export { VideoProviderElement as t };
|
|
17
|
-
//# sourceMappingURL=video-provider-BKDqoKFf.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"video-provider-BKDqoKFf.js","names":["ProviderHTMLElement: Constructor<CustomElement & HTMLElement>"],"sources":["../src/media/video-provider.ts"],"sourcesContent":["import type { Constructor, CustomElement } from '@open-wc/context-protocol';\nimport type { MediaStore } from '@videojs/core/store';\n\nimport { ProviderMixin } from '@open-wc/context-protocol';\nimport { createMediaStore } from '@videojs/core/store';\n\nconst ProviderHTMLElement: Constructor<CustomElement & HTMLElement> = ProviderMixin(HTMLElement);\n\nexport class VideoProviderElement extends ProviderHTMLElement {\n contexts = {\n mediaStore: (): MediaStore => {\n return createMediaStore();\n },\n };\n}\n"],"mappings":";;;;AAMA,MAAMA,sBAAgE,cAAc,YAAY;AAEhG,IAAa,uBAAb,cAA0C,oBAAoB;;;kBACjD,EACT,kBAA8B;AAC5B,UAAO,kBAAkB;KAE5B"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { t as VideoProviderElement } from "./video-provider-BKDqoKFf.js";
|
|
2
|
-
import { t as defineCustomElement } from "./custom-element-3bDlB2XO.js";
|
|
3
|
-
|
|
4
|
-
//#region src/define/video-provider.ts
|
|
5
|
-
defineCustomElement("video-provider", VideoProviderElement);
|
|
6
|
-
|
|
7
|
-
//#endregion
|
|
8
|
-
//# sourceMappingURL=video-provider-BPPI5e47.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"video-provider-BPPI5e47.js","names":[],"sources":["../src/define/video-provider.ts"],"sourcesContent":["import { VideoProviderElement } from '@/media/video-provider';\nimport { defineCustomElement } from '@/utils/custom-element';\n\ndefineCustomElement('video-provider', VideoProviderElement);\n"],"mappings":";;;;AAGA,oBAAoB,kBAAkB,qBAAqB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { };
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import { n as toConnectedHTMLComponent, t as getCoreState } from "./component-factory-C0cl1nrL.js";
|
|
2
|
-
import { volumeSliderStateDefinition } from "@videojs/core/store";
|
|
3
|
-
import { setAttributes } from "@videojs/utils/dom";
|
|
4
|
-
import { VolumeSlider } from "@videojs/core";
|
|
5
|
-
|
|
6
|
-
//#region src/elements/volume-slider.ts
|
|
7
|
-
function getVolumeSliderRootState(mediaStore) {
|
|
8
|
-
const mediaState = volumeSliderStateDefinition.stateTransform(mediaStore.getState());
|
|
9
|
-
const mediaMethods = volumeSliderStateDefinition.createRequestMethods(mediaStore.dispatch);
|
|
10
|
-
return { ...getCoreState(VolumeSlider, {
|
|
11
|
-
...mediaState,
|
|
12
|
-
...mediaMethods
|
|
13
|
-
}) };
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* VolumeSlider Root props hook - equivalent to React's useVolumeSliderRootProps
|
|
17
|
-
* Handles element attributes and properties based on state
|
|
18
|
-
*/
|
|
19
|
-
const getVolumeSliderRootProps = (state, element) => {
|
|
20
|
-
if (state._rootElement !== element) state._setRootElement(element);
|
|
21
|
-
const volumeText = `${Math.round(state.muted ? 0 : state.volume * 100)}%`;
|
|
22
|
-
return {
|
|
23
|
-
role: "slider",
|
|
24
|
-
tabindex: element.getAttribute("tabindex") ?? "0",
|
|
25
|
-
"data-muted": state.muted.toString(),
|
|
26
|
-
"data-volume-level": state.volumeLevel,
|
|
27
|
-
"data-orientation": element.orientation || "horizontal",
|
|
28
|
-
"aria-label": "Volume",
|
|
29
|
-
"aria-valuemin": "0",
|
|
30
|
-
"aria-valuemax": "100",
|
|
31
|
-
"aria-valuenow": Math.round(state.muted ? 0 : state.volume * 100).toString(),
|
|
32
|
-
"aria-valuetext": volumeText,
|
|
33
|
-
"aria-orientation": element.orientation || "horizontal"
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
var VolumeSliderRoot = class extends HTMLElement {
|
|
37
|
-
static {
|
|
38
|
-
this.observedAttributes = ["commandfor", "orientation"];
|
|
39
|
-
}
|
|
40
|
-
get volume() {
|
|
41
|
-
return this._state?.volume ?? 0;
|
|
42
|
-
}
|
|
43
|
-
get muted() {
|
|
44
|
-
return this._state?.muted ?? false;
|
|
45
|
-
}
|
|
46
|
-
get volumeLevel() {
|
|
47
|
-
return this._state?.volumeLevel ?? "high";
|
|
48
|
-
}
|
|
49
|
-
get orientation() {
|
|
50
|
-
return this.getAttribute("orientation") || "horizontal";
|
|
51
|
-
}
|
|
52
|
-
attributeChangedCallback(name, _oldValue, newValue) {
|
|
53
|
-
if (name === "orientation" && this._state) this._update(getVolumeSliderRootProps(this._state, this), this._state);
|
|
54
|
-
else if (name === "commandfor") this.style.setProperty("anchor-name", `--${newValue}`);
|
|
55
|
-
}
|
|
56
|
-
_update(props, state) {
|
|
57
|
-
this._state = state;
|
|
58
|
-
this.style.setProperty("--slider-fill", `${state._fillWidth.toFixed(3)}%`);
|
|
59
|
-
setAttributes(this, props);
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
const VolumeSliderRootElement = toConnectedHTMLComponent(VolumeSliderRoot, getVolumeSliderRootState, getVolumeSliderRootProps, "VolumeSliderRoot");
|
|
63
|
-
const getVolumeSliderTrackProps = (_state, element) => {
|
|
64
|
-
const rootElement = element.closest("media-volume-slider");
|
|
65
|
-
if (rootElement._state?._trackElement !== element) rootElement._state?._setTrackElement?.(element);
|
|
66
|
-
return { "data-orientation": rootElement?.orientation || "horizontal" };
|
|
67
|
-
};
|
|
68
|
-
var VolumeSliderTrack = class extends HTMLElement {
|
|
69
|
-
_update(props, _state) {
|
|
70
|
-
setAttributes(this, props);
|
|
71
|
-
if (props["data-orientation"] === "horizontal") {
|
|
72
|
-
this.style.width = "100%";
|
|
73
|
-
this.style.removeProperty("height");
|
|
74
|
-
} else {
|
|
75
|
-
this.style.height = "100%";
|
|
76
|
-
this.style.removeProperty("width");
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
const VolumeSliderTrackElement = toConnectedHTMLComponent(VolumeSliderTrack, void 0, getVolumeSliderTrackProps, "VolumeSliderTrack");
|
|
81
|
-
const getVolumeSliderIndicatorProps = (_state, element) => {
|
|
82
|
-
const rootElement = element.closest("media-volume-slider");
|
|
83
|
-
return { "data-orientation": rootElement?.orientation || "horizontal" };
|
|
84
|
-
};
|
|
85
|
-
var VolumeSliderIndicator = class extends HTMLElement {
|
|
86
|
-
constructor() {
|
|
87
|
-
super();
|
|
88
|
-
this.style.position = "absolute";
|
|
89
|
-
this.style.width = "var(--slider-fill, 0%)";
|
|
90
|
-
this.style.height = "100%";
|
|
91
|
-
}
|
|
92
|
-
_update(props, _state) {
|
|
93
|
-
setAttributes(this, props);
|
|
94
|
-
if (props["data-orientation"] === "horizontal") {
|
|
95
|
-
this.style.width = "var(--slider-fill, 0%)";
|
|
96
|
-
this.style.height = "100%";
|
|
97
|
-
this.style.top = "0";
|
|
98
|
-
this.style.removeProperty("bottom");
|
|
99
|
-
} else {
|
|
100
|
-
this.style.height = "var(--slider-fill, 0%)";
|
|
101
|
-
this.style.width = "100%";
|
|
102
|
-
this.style.bottom = "0";
|
|
103
|
-
this.style.removeProperty("top");
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
const VolumeSliderIndicatorElement = toConnectedHTMLComponent(VolumeSliderIndicator, void 0, getVolumeSliderIndicatorProps, "VolumeSliderIndicator");
|
|
108
|
-
const getVolumeSliderThumbProps = (_state, element) => {
|
|
109
|
-
const rootElement = element.closest("media-volume-slider");
|
|
110
|
-
return { "data-orientation": rootElement?.orientation || "horizontal" };
|
|
111
|
-
};
|
|
112
|
-
var VolumeSliderThumb = class extends HTMLElement {
|
|
113
|
-
constructor() {
|
|
114
|
-
super();
|
|
115
|
-
this.style.position = "absolute";
|
|
116
|
-
}
|
|
117
|
-
_update(props, _state) {
|
|
118
|
-
setAttributes(this, props);
|
|
119
|
-
if (props["data-orientation"] === "horizontal") {
|
|
120
|
-
this.style.left = "var(--slider-fill, 0%)";
|
|
121
|
-
this.style.top = "50%";
|
|
122
|
-
this.style.translate = "-50% -50%";
|
|
123
|
-
} else {
|
|
124
|
-
this.style.bottom = "var(--slider-fill, 0%)";
|
|
125
|
-
this.style.left = "50%";
|
|
126
|
-
this.style.translate = "-50% 50%";
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
|
-
const VolumeSliderThumbElement = toConnectedHTMLComponent(VolumeSliderThumb, void 0, getVolumeSliderThumbProps, "VolumeSliderThumb");
|
|
131
|
-
const VolumeSliderElement = Object.assign({}, {
|
|
132
|
-
Root: VolumeSliderRootElement,
|
|
133
|
-
Track: VolumeSliderTrackElement,
|
|
134
|
-
Indicator: VolumeSliderIndicatorElement,
|
|
135
|
-
Thumb: VolumeSliderThumbElement
|
|
136
|
-
});
|
|
137
|
-
|
|
138
|
-
//#endregion
|
|
139
|
-
export { VolumeSliderTrackElement as a, VolumeSliderThumbElement as i, VolumeSliderIndicatorElement as n, VolumeSliderRootElement as r, VolumeSliderElement as t };
|
|
140
|
-
//# sourceMappingURL=volume-slider-CUyfwehe.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"volume-slider-CUyfwehe.js","names":["CoreVolumeSlider","getVolumeSliderRootProps: PropsHook<VolumeSliderState>","VolumeSliderRootElement: ConnectedComponentConstructor<VolumeSliderState>","getVolumeSliderTrackProps: PropsHook<Record<string, never>>","VolumeSliderTrackElement: ConnectedComponentConstructor<any>","getVolumeSliderIndicatorProps: PropsHook<Record<string, never>>","VolumeSliderIndicatorElement: ConnectedComponentConstructor<any>","getVolumeSliderThumbProps: PropsHook<Record<string, never>>","VolumeSliderThumbElement: ConnectedComponentConstructor<any>"],"sources":["../src/elements/volume-slider.ts"],"sourcesContent":["import type { MediaStore } from '@videojs/core/store';\nimport type { Prettify } from '../types';\n\nimport type { ConnectedComponentConstructor, PropsHook } from '../utils/component-factory';\nimport { VolumeSlider as CoreVolumeSlider } from '@videojs/core';\nimport { volumeSliderStateDefinition } from '@videojs/core/store';\n\nimport { setAttributes } from '@videojs/utils/dom';\nimport { getCoreState, toConnectedHTMLComponent } from '../utils/component-factory';\n\ntype VolumeSliderState = Prettify<ReturnType<CoreVolumeSlider['getState']>>;\n\n// ============================================================================\n// ROOT COMPONENT\n// ============================================================================\n\nexport function getVolumeSliderRootState(mediaStore: MediaStore): VolumeSliderState {\n const mediaState = volumeSliderStateDefinition.stateTransform(mediaStore.getState());\n const mediaMethods = volumeSliderStateDefinition.createRequestMethods(mediaStore.dispatch);\n const coreState = getCoreState(CoreVolumeSlider, { ...mediaState, ...mediaMethods });\n return {\n ...coreState,\n };\n}\n\n/**\n * VolumeSlider Root props hook - equivalent to React's useVolumeSliderRootProps\n * Handles element attributes and properties based on state\n */\nexport const getVolumeSliderRootProps: PropsHook<VolumeSliderState> = (state, element) => {\n if (state._rootElement !== element) {\n state._setRootElement(element);\n }\n\n const volumeText = `${Math.round(state.muted ? 0 : state.volume * 100)}%`;\n\n return {\n role: 'slider',\n tabindex: element.getAttribute('tabindex') ?? '0',\n 'data-muted': state.muted.toString(),\n 'data-volume-level': state.volumeLevel,\n 'data-orientation': (element as any).orientation || 'horizontal',\n 'aria-label': 'Volume',\n 'aria-valuemin': '0',\n 'aria-valuemax': '100',\n 'aria-valuenow': Math.round(state.muted ? 0 : state.volume * 100).toString(),\n 'aria-valuetext': volumeText,\n 'aria-orientation': (element as any).orientation || 'horizontal',\n };\n};\n\nexport class VolumeSliderRoot extends HTMLElement {\n static readonly observedAttributes: readonly string[] = [\n 'commandfor',\n 'orientation',\n ];\n\n _state: VolumeSliderState | undefined;\n\n get volume(): number {\n return this._state?.volume ?? 0;\n }\n\n get muted(): boolean {\n return this._state?.muted ?? false;\n }\n\n get volumeLevel(): string {\n return this._state?.volumeLevel ?? 'high';\n }\n\n get orientation(): 'horizontal' | 'vertical' {\n return (this.getAttribute('orientation') as 'horizontal' | 'vertical') || 'horizontal';\n }\n\n attributeChangedCallback(name: string, _oldValue: string | null, newValue: string | null): void {\n if (name === 'orientation' && this._state) {\n this._update(getVolumeSliderRootProps(this._state, this), this._state);\n } else if (name === 'commandfor') {\n this.style.setProperty('anchor-name', `--${newValue}`);\n }\n }\n\n _update(props: any, state: VolumeSliderState): void {\n this._state = state;\n\n this.style.setProperty('--slider-fill', `${state._fillWidth.toFixed(3)}%`);\n\n setAttributes(this, props);\n }\n}\n\nexport const VolumeSliderRootElement: ConnectedComponentConstructor<VolumeSliderState>\n = toConnectedHTMLComponent(\n VolumeSliderRoot,\n getVolumeSliderRootState,\n getVolumeSliderRootProps,\n 'VolumeSliderRoot',\n );\n\n// ============================================================================\n// TRACK COMPONENT\n// ============================================================================\n\nexport const getVolumeSliderTrackProps: PropsHook<Record<string, never>> = (_state, element) => {\n const rootElement = element.closest('media-volume-slider') as any;\n\n if (rootElement._state?._trackElement !== element) {\n rootElement._state?._setTrackElement?.(element);\n }\n\n return {\n 'data-orientation': rootElement?.orientation || 'horizontal',\n };\n};\n\nexport class VolumeSliderTrack extends HTMLElement {\n _update(props: any, _state: any): void {\n setAttributes(this, props);\n\n if (props['data-orientation'] === 'horizontal') {\n this.style.width = '100%';\n this.style.removeProperty('height');\n } else {\n this.style.height = '100%';\n this.style.removeProperty('width');\n }\n }\n}\n\nexport const VolumeSliderTrackElement: ConnectedComponentConstructor<any> = toConnectedHTMLComponent(\n VolumeSliderTrack,\n undefined,\n getVolumeSliderTrackProps,\n 'VolumeSliderTrack',\n);\n\n// ============================================================================\n// INDICATOR COMPONENT\n// ============================================================================\n\nexport const getVolumeSliderIndicatorProps: PropsHook<Record<string, never>> = (_state, element) => {\n const rootElement = element.closest('media-volume-slider') as any;\n return {\n 'data-orientation': rootElement?.orientation || 'horizontal',\n };\n};\n\nexport class VolumeSliderIndicator extends HTMLElement {\n constructor() {\n super();\n this.style.position = 'absolute';\n this.style.width = 'var(--slider-fill, 0%)';\n this.style.height = '100%';\n }\n\n _update(props: any, _state: any): void {\n setAttributes(this, props);\n\n if (props['data-orientation'] === 'horizontal') {\n this.style.width = 'var(--slider-fill, 0%)';\n this.style.height = '100%';\n this.style.top = '0';\n this.style.removeProperty('bottom');\n } else {\n this.style.height = 'var(--slider-fill, 0%)';\n this.style.width = '100%';\n this.style.bottom = '0';\n this.style.removeProperty('top');\n }\n }\n}\n\nexport const VolumeSliderIndicatorElement: ConnectedComponentConstructor<any> = toConnectedHTMLComponent(\n VolumeSliderIndicator,\n undefined,\n getVolumeSliderIndicatorProps,\n 'VolumeSliderIndicator',\n);\n\n// ============================================================================\n// THUMB COMPONENT\n// ============================================================================\n\nexport const getVolumeSliderThumbProps: PropsHook<Record<string, never>> = (_state, element) => {\n const rootElement = element.closest('media-volume-slider') as any;\n return {\n 'data-orientation': rootElement?.orientation || 'horizontal',\n };\n};\n\nexport class VolumeSliderThumb extends HTMLElement {\n constructor() {\n super();\n this.style.position = 'absolute';\n }\n\n _update(props: any, _state: any): void {\n setAttributes(this, props);\n\n // Set appropriate positioning based on orientation\n if (props['data-orientation'] === 'horizontal') {\n this.style.left = 'var(--slider-fill, 0%)';\n this.style.top = '50%';\n this.style.translate = '-50% -50%';\n } else {\n this.style.bottom = 'var(--slider-fill, 0%)';\n this.style.left = '50%';\n this.style.translate = '-50% 50%';\n }\n }\n}\n\nexport const VolumeSliderThumbElement: ConnectedComponentConstructor<any> = toConnectedHTMLComponent(\n VolumeSliderThumb,\n undefined,\n getVolumeSliderThumbProps,\n 'VolumeSliderThumb',\n);\n\n// ============================================================================\n// EXPORTS\n// ============================================================================\n\nexport const VolumeSliderElement = Object.assign(\n {},\n {\n Root: VolumeSliderRootElement,\n Track: VolumeSliderTrackElement,\n Indicator: VolumeSliderIndicatorElement,\n Thumb: VolumeSliderThumbElement,\n },\n) as {\n Root: typeof VolumeSliderRootElement;\n Track: typeof VolumeSliderTrackElement;\n Indicator: typeof VolumeSliderIndicatorElement;\n Thumb: typeof VolumeSliderThumbElement;\n};\n"],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|