@videojs/html 10.0.0-alpha.4 → 10.0.0-alpha.6
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/dist/default/define/audio/minimal-skin.css +11 -0
- package/dist/default/define/audio/minimal-skin.js +26 -0
- package/dist/default/define/audio/minimal-skin.js.map +1 -0
- package/dist/default/define/audio/player.js +8 -4
- package/dist/default/define/audio/player.js.map +1 -1
- package/dist/default/define/audio/skin.css +12 -0
- package/dist/default/define/audio/skin.js +26 -0
- package/dist/default/define/audio/skin.js.map +1 -0
- package/dist/default/define/background/player.js +8 -4
- package/dist/default/define/background/player.js.map +1 -1
- package/dist/default/define/background/skin.js +2 -1
- package/dist/default/define/background/skin.js.map +1 -1
- package/dist/default/define/media/background-video.js +2 -1
- package/dist/default/define/media/background-video.js.map +1 -1
- package/dist/default/define/media/container.js +8 -0
- package/dist/default/define/media/container.js.map +1 -0
- package/dist/default/define/media/hls-video.js +2 -1
- package/dist/default/define/media/hls-video.js.map +1 -1
- package/dist/default/define/safe-define.js +9 -0
- package/dist/default/define/safe-define.js.map +1 -0
- package/dist/default/define/skin-mixin.js +35 -0
- package/dist/default/define/skin-mixin.js.map +1 -0
- package/dist/default/define/ui/buffering-indicator.js +2 -1
- package/dist/default/define/ui/buffering-indicator.js.map +1 -1
- package/dist/default/define/ui/controls-group.js +8 -0
- package/dist/default/define/ui/controls-group.js.map +1 -0
- package/dist/default/define/ui/controls.js +3 -2
- package/dist/default/define/ui/controls.js.map +1 -1
- package/dist/default/define/ui/fullscreen-button.js +2 -1
- package/dist/default/define/ui/fullscreen-button.js.map +1 -1
- package/dist/default/define/ui/mute-button.js +2 -1
- package/dist/default/define/ui/mute-button.js.map +1 -1
- package/dist/default/define/ui/pip-button.js +2 -1
- package/dist/default/define/ui/pip-button.js.map +1 -1
- package/dist/default/define/ui/play-button.js +2 -1
- package/dist/default/define/ui/play-button.js.map +1 -1
- package/dist/default/define/ui/playback-rate-button.js +8 -0
- package/dist/default/define/ui/playback-rate-button.js.map +1 -0
- package/dist/default/define/ui/popover.js +8 -0
- package/dist/default/define/ui/popover.js.map +1 -0
- package/dist/default/define/ui/poster.js +2 -1
- package/dist/default/define/ui/poster.js.map +1 -1
- package/dist/default/define/ui/seek-button.js +2 -1
- package/dist/default/define/ui/seek-button.js.map +1 -1
- package/dist/default/define/ui/slider-buffer.js +8 -0
- package/dist/default/define/ui/slider-buffer.js.map +1 -0
- package/dist/default/define/ui/slider-fill.js +8 -0
- package/dist/default/define/ui/slider-fill.js.map +1 -0
- package/dist/default/define/ui/slider-thumb.js +8 -0
- package/dist/default/define/ui/slider-thumb.js.map +1 -0
- package/dist/default/define/ui/slider-track.js +8 -0
- package/dist/default/define/ui/slider-track.js.map +1 -0
- package/dist/default/define/ui/slider-value.js +8 -0
- package/dist/default/define/ui/slider-value.js.map +1 -0
- package/dist/default/define/ui/slider.js +16 -0
- package/dist/default/define/ui/slider.js.map +1 -0
- package/dist/default/define/ui/thumbnail.js +8 -0
- package/dist/default/define/ui/thumbnail.js.map +1 -0
- package/dist/default/define/ui/time-group.js +8 -0
- package/dist/default/define/ui/time-group.js.map +1 -0
- package/dist/default/define/ui/time-separator.js +8 -0
- package/dist/default/define/ui/time-separator.js.map +1 -0
- package/dist/default/define/ui/time-slider.js +18 -0
- package/dist/default/define/ui/time-slider.js.map +1 -0
- package/dist/default/define/ui/time.js +4 -3
- package/dist/default/define/ui/time.js.map +1 -1
- package/dist/default/define/ui/volume-slider.js +16 -0
- package/dist/default/define/ui/volume-slider.js.map +1 -0
- package/dist/default/define/video/minimal-skin.css +762 -0
- package/dist/default/define/video/minimal-skin.js +131 -0
- package/dist/default/define/video/minimal-skin.js.map +1 -0
- package/dist/default/define/video/minimal-skin.tailwind.js +134 -0
- package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -0
- package/dist/default/define/video/player.js +8 -4
- package/dist/default/define/video/player.js.map +1 -1
- package/dist/default/define/video/skin.css +763 -0
- package/dist/default/define/video/skin.js +125 -0
- package/dist/default/define/video/skin.js.map +1 -0
- package/dist/default/define/video/skin.tailwind.js +127 -0
- package/dist/default/define/video/skin.tailwind.js.map +1 -0
- package/dist/default/icons/dist/render/default/index.js +27 -0
- package/dist/default/icons/dist/render/default/index.js.map +1 -0
- package/dist/default/icons/dist/render/minimal/index.js +27 -0
- package/dist/default/icons/dist/render/minimal/index.js.map +1 -0
- package/dist/default/index.js +17 -3
- package/dist/default/media/container-element.js +15 -0
- package/dist/default/media/container-element.js.map +1 -0
- package/dist/default/player/create-player.js +0 -5
- package/dist/default/player/create-player.js.map +1 -1
- package/dist/default/player/player-controller.js +3 -0
- package/dist/default/player/player-controller.js.map +1 -1
- package/dist/default/presets/audio.js +5 -0
- package/dist/default/presets/background.js +3 -0
- package/dist/default/presets/video.js +7 -0
- package/dist/default/skins/dist/default/video/default.tailwind.js +90 -0
- package/dist/default/skins/dist/default/video/default.tailwind.js.map +1 -0
- package/dist/default/skins/dist/default/video/minimal.tailwind.js +86 -0
- package/dist/default/skins/dist/default/video/minimal.tailwind.js.map +1 -0
- package/dist/default/store/container-mixin.js +14 -7
- package/dist/default/store/container-mixin.js.map +1 -1
- package/dist/default/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
- package/dist/default/ui/context-part-element.js +28 -0
- package/dist/default/ui/context-part-element.js.map +1 -0
- package/dist/default/ui/controls/context.js +9 -0
- package/dist/default/ui/controls/context.js.map +1 -0
- package/dist/default/ui/controls/controls-element.js +15 -6
- package/dist/default/ui/controls/controls-element.js.map +1 -1
- package/dist/default/ui/controls/controls-group-element.js +11 -2
- package/dist/default/ui/controls/controls-group-element.js.map +1 -1
- package/dist/default/ui/fullscreen-button/fullscreen-button-element.js +8 -39
- package/dist/default/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
- package/dist/default/ui/media-button-element.js +50 -0
- package/dist/default/ui/media-button-element.js.map +1 -0
- package/dist/default/ui/media-ui-element.js +22 -0
- package/dist/default/ui/media-ui-element.js.map +1 -0
- package/dist/default/ui/mute-button/mute-button-element.js +8 -39
- package/dist/default/ui/mute-button/mute-button-element.js.map +1 -1
- package/dist/default/ui/pip-button/pip-button-element.js +8 -39
- package/dist/default/ui/pip-button/pip-button-element.js.map +1 -1
- package/dist/default/ui/play-button/play-button-element.js +8 -39
- package/dist/default/ui/play-button/play-button-element.js.map +1 -1
- package/dist/default/ui/playback-rate-button/playback-rate-button-element.js +25 -0
- package/dist/default/ui/playback-rate-button/playback-rate-button-element.js.map +1 -0
- package/dist/default/ui/popover/popover-element.js +163 -0
- package/dist/default/ui/popover/popover-element.js.map +1 -0
- package/dist/default/ui/poster/poster-element.js +9 -14
- package/dist/default/ui/poster/poster-element.js.map +1 -1
- package/dist/default/ui/seek-button/seek-button-element.js +10 -36
- package/dist/default/ui/seek-button/seek-button-element.js.map +1 -1
- package/dist/default/ui/slider/context.js +9 -0
- package/dist/default/ui/slider/context.js.map +1 -0
- package/dist/default/ui/slider/slider-buffer-element.js +21 -0
- package/dist/default/ui/slider/slider-buffer-element.js.map +1 -0
- package/dist/default/ui/slider/slider-element.js +117 -0
- package/dist/default/ui/slider/slider-element.js.map +1 -0
- package/dist/default/ui/slider/slider-fill-element.js +21 -0
- package/dist/default/ui/slider/slider-fill-element.js.map +1 -0
- package/dist/default/ui/slider/slider-thumb-element.js +43 -0
- package/dist/default/ui/slider/slider-thumb-element.js.map +1 -0
- package/dist/default/ui/slider/slider-track-element.js +21 -0
- package/dist/default/ui/slider/slider-track-element.js.map +1 -0
- package/dist/default/ui/slider/slider-value-element.js +38 -0
- package/dist/default/ui/slider/slider-value-element.js.map +1 -0
- package/dist/default/ui/thumbnail/thumbnail-element.js +136 -0
- package/dist/default/ui/thumbnail/thumbnail-element.js.map +1 -0
- package/dist/default/ui/time/time-element.js +8 -16
- package/dist/default/ui/time/time-element.js.map +1 -1
- package/dist/default/ui/time-slider/time-slider-element.js +128 -0
- package/dist/default/ui/time-slider/time-slider-element.js.map +1 -0
- package/dist/default/ui/volume-slider/volume-slider-element.js +117 -0
- package/dist/default/ui/volume-slider/volume-slider-element.js.map +1 -0
- package/dist/dev/define/audio/minimal-skin.css +11 -0
- package/dist/dev/define/audio/minimal-skin.d.ts +17 -0
- package/dist/dev/define/audio/minimal-skin.d.ts.map +1 -0
- package/dist/dev/define/audio/minimal-skin.js +26 -0
- package/dist/dev/define/audio/minimal-skin.js.map +1 -0
- package/dist/dev/define/audio/player.d.ts +4 -3
- package/dist/dev/define/audio/player.d.ts.map +1 -1
- package/dist/dev/define/audio/player.js +8 -4
- package/dist/dev/define/audio/player.js.map +1 -1
- package/dist/dev/define/audio/skin.css +12 -0
- package/dist/dev/define/audio/skin.d.ts +17 -1
- package/dist/dev/define/audio/skin.d.ts.map +1 -0
- package/dist/dev/define/audio/skin.js +26 -0
- package/dist/dev/define/audio/skin.js.map +1 -0
- package/dist/dev/define/background/player.d.ts +4 -3
- package/dist/dev/define/background/player.d.ts.map +1 -1
- package/dist/dev/define/background/player.js +8 -4
- package/dist/dev/define/background/player.js.map +1 -1
- package/dist/dev/define/background/skin.d.ts.map +1 -1
- package/dist/dev/define/background/skin.js +2 -1
- package/dist/dev/define/background/skin.js.map +1 -1
- package/dist/dev/define/media/background-video.d.ts.map +1 -1
- package/dist/dev/define/media/background-video.js +2 -1
- package/dist/dev/define/media/background-video.js.map +1 -1
- package/dist/dev/define/media/container.d.ts +9 -0
- package/dist/dev/define/media/container.d.ts.map +1 -0
- package/dist/dev/define/media/container.js +8 -0
- package/dist/dev/define/media/container.js.map +1 -0
- package/dist/dev/define/media/hls-video.d.ts.map +1 -1
- package/dist/dev/define/media/hls-video.js +2 -1
- package/dist/dev/define/media/hls-video.js.map +1 -1
- package/dist/dev/define/safe-define.d.ts +9 -0
- package/dist/dev/define/safe-define.d.ts.map +1 -0
- package/dist/dev/define/safe-define.js +9 -0
- package/dist/dev/define/safe-define.js.map +1 -0
- package/dist/dev/define/skin-mixin.d.ts +13 -0
- package/dist/dev/define/skin-mixin.d.ts.map +1 -0
- package/dist/dev/define/skin-mixin.js +35 -0
- package/dist/dev/define/skin-mixin.js.map +1 -0
- package/dist/dev/define/ui/buffering-indicator.d.ts.map +1 -1
- package/dist/dev/define/ui/buffering-indicator.js +2 -1
- package/dist/dev/define/ui/buffering-indicator.js.map +1 -1
- package/dist/dev/define/ui/controls-group.d.ts +9 -0
- package/dist/dev/define/ui/controls-group.d.ts.map +1 -0
- package/dist/dev/define/ui/controls-group.js +8 -0
- package/dist/dev/define/ui/controls-group.js.map +1 -0
- package/dist/dev/define/ui/controls.d.ts +0 -2
- package/dist/dev/define/ui/controls.d.ts.map +1 -1
- package/dist/dev/define/ui/controls.js +3 -2
- package/dist/dev/define/ui/controls.js.map +1 -1
- package/dist/dev/define/ui/fullscreen-button.d.ts.map +1 -1
- package/dist/dev/define/ui/fullscreen-button.js +2 -1
- package/dist/dev/define/ui/fullscreen-button.js.map +1 -1
- package/dist/dev/define/ui/mute-button.d.ts.map +1 -1
- package/dist/dev/define/ui/mute-button.js +2 -1
- package/dist/dev/define/ui/mute-button.js.map +1 -1
- package/dist/dev/define/ui/pip-button.d.ts.map +1 -1
- package/dist/dev/define/ui/pip-button.js +2 -1
- package/dist/dev/define/ui/pip-button.js.map +1 -1
- package/dist/dev/define/ui/play-button.d.ts.map +1 -1
- package/dist/dev/define/ui/play-button.js +2 -1
- package/dist/dev/define/ui/play-button.js.map +1 -1
- package/dist/dev/define/ui/playback-rate-button.d.ts +9 -0
- package/dist/dev/define/ui/playback-rate-button.d.ts.map +1 -0
- package/dist/dev/define/ui/playback-rate-button.js +8 -0
- package/dist/dev/define/ui/playback-rate-button.js.map +1 -0
- package/dist/dev/define/ui/popover.d.ts +9 -0
- package/dist/dev/define/ui/popover.d.ts.map +1 -0
- package/dist/dev/define/ui/popover.js +8 -0
- package/dist/dev/define/ui/popover.js.map +1 -0
- package/dist/dev/define/ui/poster.d.ts.map +1 -1
- package/dist/dev/define/ui/poster.js +2 -1
- package/dist/dev/define/ui/poster.js.map +1 -1
- package/dist/dev/define/ui/seek-button.d.ts.map +1 -1
- package/dist/dev/define/ui/seek-button.js +2 -1
- package/dist/dev/define/ui/seek-button.js.map +1 -1
- package/dist/dev/define/ui/slider-buffer.d.ts +9 -0
- package/dist/dev/define/ui/slider-buffer.d.ts.map +1 -0
- package/dist/dev/define/ui/slider-buffer.js +8 -0
- package/dist/dev/define/ui/slider-buffer.js.map +1 -0
- package/dist/dev/define/ui/slider-fill.d.ts +9 -0
- package/dist/dev/define/ui/slider-fill.d.ts.map +1 -0
- package/dist/dev/define/ui/slider-fill.js +8 -0
- package/dist/dev/define/ui/slider-fill.js.map +1 -0
- package/dist/dev/define/ui/slider-thumb.d.ts +9 -0
- package/dist/dev/define/ui/slider-thumb.d.ts.map +1 -0
- package/dist/dev/define/ui/slider-thumb.js +8 -0
- package/dist/dev/define/ui/slider-thumb.js.map +1 -0
- package/dist/dev/define/ui/slider-track.d.ts +9 -0
- package/dist/dev/define/ui/slider-track.d.ts.map +1 -0
- package/dist/dev/define/ui/slider-track.js +8 -0
- package/dist/dev/define/ui/slider-track.js.map +1 -0
- package/dist/dev/define/ui/slider-value.d.ts +9 -0
- package/dist/dev/define/ui/slider-value.d.ts.map +1 -0
- package/dist/dev/define/ui/slider-value.js +8 -0
- package/dist/dev/define/ui/slider-value.js.map +1 -0
- package/dist/dev/define/ui/slider.d.ts +9 -0
- package/dist/dev/define/ui/slider.d.ts.map +1 -0
- package/dist/dev/define/ui/slider.js +16 -0
- package/dist/dev/define/ui/slider.js.map +1 -0
- package/dist/dev/define/ui/thumbnail.d.ts +9 -0
- package/dist/dev/define/ui/thumbnail.d.ts.map +1 -0
- package/dist/dev/define/ui/thumbnail.js +8 -0
- package/dist/dev/define/ui/thumbnail.js.map +1 -0
- package/dist/dev/define/ui/time-group.d.ts +9 -0
- package/dist/dev/define/ui/time-group.d.ts.map +1 -0
- package/dist/dev/define/ui/time-group.js +8 -0
- package/dist/dev/define/ui/time-group.js.map +1 -0
- package/dist/dev/define/ui/time-separator.d.ts +9 -0
- package/dist/dev/define/ui/time-separator.d.ts.map +1 -0
- package/dist/dev/define/ui/time-separator.js +8 -0
- package/dist/dev/define/ui/time-separator.js.map +1 -0
- package/dist/dev/define/ui/time-slider.d.ts +9 -0
- package/dist/dev/define/ui/time-slider.d.ts.map +1 -0
- package/dist/dev/define/ui/time-slider.js +18 -0
- package/dist/dev/define/ui/time-slider.js.map +1 -0
- package/dist/dev/define/ui/time.d.ts +0 -4
- package/dist/dev/define/ui/time.d.ts.map +1 -1
- package/dist/dev/define/ui/time.js +4 -3
- package/dist/dev/define/ui/time.js.map +1 -1
- package/dist/dev/define/ui/volume-slider.d.ts +9 -0
- package/dist/dev/define/ui/volume-slider.d.ts.map +1 -0
- package/dist/dev/define/ui/volume-slider.js +16 -0
- package/dist/dev/define/ui/volume-slider.js.map +1 -0
- package/dist/dev/define/video/minimal-skin.css +762 -0
- package/dist/dev/define/video/minimal-skin.d.ts +30 -0
- package/dist/dev/define/video/minimal-skin.d.ts.map +1 -0
- package/dist/dev/define/video/minimal-skin.js +131 -0
- package/dist/dev/define/video/minimal-skin.js.map +1 -0
- package/dist/dev/define/video/minimal-skin.tailwind.d.ts +30 -0
- package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -0
- package/dist/dev/define/video/minimal-skin.tailwind.js +134 -0
- package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -0
- package/dist/dev/define/video/player.d.ts +4 -3
- package/dist/dev/define/video/player.d.ts.map +1 -1
- package/dist/dev/define/video/player.js +8 -4
- package/dist/dev/define/video/player.js.map +1 -1
- package/dist/dev/define/video/skin.css +763 -0
- package/dist/dev/define/video/skin.d.ts +30 -1
- package/dist/dev/define/video/skin.d.ts.map +1 -0
- package/dist/dev/define/video/skin.js +125 -0
- package/dist/dev/define/video/skin.js.map +1 -0
- package/dist/dev/define/video/skin.tailwind.d.ts +30 -0
- package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -0
- package/dist/dev/define/video/skin.tailwind.js +127 -0
- package/dist/dev/define/video/skin.tailwind.js.map +1 -0
- package/dist/dev/icons/dist/render/default/index.js +27 -0
- package/dist/dev/icons/dist/render/default/index.js.map +1 -0
- package/dist/dev/icons/dist/render/minimal/index.js +27 -0
- package/dist/dev/icons/dist/render/minimal/index.js.map +1 -0
- package/dist/dev/index.d.ts +19 -4
- package/dist/dev/index.js +17 -3
- package/dist/dev/media/container-element.d.ts +13 -0
- package/dist/dev/media/container-element.d.ts.map +1 -0
- package/dist/dev/media/container-element.js +15 -0
- package/dist/dev/media/container-element.js.map +1 -0
- package/dist/dev/player/create-player.d.ts +6 -14
- package/dist/dev/player/create-player.d.ts.map +1 -1
- package/dist/dev/player/create-player.js +0 -5
- package/dist/dev/player/create-player.js.map +1 -1
- package/dist/dev/player/player-controller.d.ts +1 -0
- package/dist/dev/player/player-controller.d.ts.map +1 -1
- package/dist/dev/player/player-controller.js +3 -0
- package/dist/dev/player/player-controller.js.map +1 -1
- package/dist/dev/presets/audio.d.ts +4 -0
- package/dist/dev/presets/audio.js +5 -0
- package/dist/dev/presets/background.d.ts +2 -0
- package/dist/dev/presets/background.js +3 -0
- package/dist/dev/presets/video.d.ts +6 -0
- package/dist/dev/presets/video.js +7 -0
- package/dist/dev/skins/dist/default/video/default.tailwind.js +90 -0
- package/dist/dev/skins/dist/default/video/default.tailwind.js.map +1 -0
- package/dist/dev/skins/dist/default/video/minimal.tailwind.js +86 -0
- package/dist/dev/skins/dist/default/video/minimal.tailwind.js.map +1 -0
- package/dist/dev/store/container-mixin.d.ts +1 -1
- package/dist/dev/store/container-mixin.js +14 -7
- package/dist/dev/store/container-mixin.js.map +1 -1
- package/dist/dev/store/provider-mixin.d.ts +1 -1
- package/dist/dev/store/types.d.ts +1 -3
- package/dist/dev/store/types.d.ts.map +1 -1
- package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js +2 -2
- package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js.map +1 -1
- package/dist/dev/ui/context-part-element.d.ts +32 -0
- package/dist/dev/ui/context-part-element.d.ts.map +1 -0
- package/dist/dev/ui/context-part-element.js +28 -0
- package/dist/dev/ui/context-part-element.js.map +1 -0
- package/dist/dev/ui/controls/context.d.ts +10 -0
- package/dist/dev/ui/controls/context.d.ts.map +1 -0
- package/dist/dev/ui/controls/context.js +9 -0
- package/dist/dev/ui/controls/context.js.map +1 -0
- package/dist/dev/ui/controls/controls-element.d.ts +1 -1
- package/dist/dev/ui/controls/controls-element.d.ts.map +1 -1
- package/dist/dev/ui/controls/controls-element.js +17 -8
- package/dist/dev/ui/controls/controls-element.js.map +1 -1
- package/dist/dev/ui/controls/controls-group-element.d.ts +8 -2
- package/dist/dev/ui/controls/controls-group-element.d.ts.map +1 -1
- package/dist/dev/ui/controls/controls-group-element.js +11 -2
- package/dist/dev/ui/controls/controls-group-element.js.map +1 -1
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts +11 -18
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts.map +1 -1
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js +8 -40
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js.map +1 -1
- package/dist/dev/ui/media-button-element.d.ts +24 -0
- package/dist/dev/ui/media-button-element.d.ts.map +1 -0
- package/dist/dev/ui/media-button-element.js +51 -0
- package/dist/dev/ui/media-button-element.js.map +1 -0
- package/dist/dev/ui/media-ui-element.d.ts +17 -0
- package/dist/dev/ui/media-ui-element.d.ts.map +1 -0
- package/dist/dev/ui/media-ui-element.js +23 -0
- package/dist/dev/ui/media-ui-element.js.map +1 -0
- package/dist/dev/ui/mute-button/mute-button-element.d.ts +11 -18
- package/dist/dev/ui/mute-button/mute-button-element.d.ts.map +1 -1
- package/dist/dev/ui/mute-button/mute-button-element.js +8 -40
- package/dist/dev/ui/mute-button/mute-button-element.js.map +1 -1
- package/dist/dev/ui/pip-button/pip-button-element.d.ts +11 -18
- package/dist/dev/ui/pip-button/pip-button-element.d.ts.map +1 -1
- package/dist/dev/ui/pip-button/pip-button-element.js +8 -40
- package/dist/dev/ui/pip-button/pip-button-element.js.map +1 -1
- package/dist/dev/ui/play-button/play-button-element.d.ts +12 -18
- package/dist/dev/ui/play-button/play-button-element.d.ts.map +1 -1
- package/dist/dev/ui/play-button/play-button-element.js +8 -40
- package/dist/dev/ui/play-button/play-button-element.js.map +1 -1
- package/dist/dev/ui/playback-rate-button/playback-rate-button-element.d.ts +18 -0
- package/dist/dev/ui/playback-rate-button/playback-rate-button-element.d.ts.map +1 -0
- package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js +25 -0
- package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js.map +1 -0
- package/dist/dev/ui/popover/popover-element.d.ts +65 -0
- package/dist/dev/ui/popover/popover-element.d.ts.map +1 -0
- package/dist/dev/ui/popover/popover-element.js +163 -0
- package/dist/dev/ui/popover/popover-element.js.map +1 -0
- package/dist/dev/ui/poster/poster-element.d.ts +11 -6
- package/dist/dev/ui/poster/poster-element.d.ts.map +1 -1
- package/dist/dev/ui/poster/poster-element.js +9 -15
- package/dist/dev/ui/poster/poster-element.js.map +1 -1
- package/dist/dev/ui/seek-button/seek-button-element.d.ts +14 -22
- package/dist/dev/ui/seek-button/seek-button-element.d.ts.map +1 -1
- package/dist/dev/ui/seek-button/seek-button-element.js +10 -37
- package/dist/dev/ui/seek-button/seek-button-element.js.map +1 -1
- package/dist/dev/ui/slider/context.d.ts +24 -0
- package/dist/dev/ui/slider/context.d.ts.map +1 -0
- package/dist/dev/ui/slider/context.js +9 -0
- package/dist/dev/ui/slider/context.js.map +1 -0
- package/dist/dev/ui/slider/slider-buffer-element.d.ts +15 -0
- package/dist/dev/ui/slider/slider-buffer-element.d.ts.map +1 -0
- package/dist/dev/ui/slider/slider-buffer-element.js +21 -0
- package/dist/dev/ui/slider/slider-buffer-element.js.map +1 -0
- package/dist/dev/ui/slider/slider-element.d.ts +56 -0
- package/dist/dev/ui/slider/slider-element.d.ts.map +1 -0
- package/dist/dev/ui/slider/slider-element.js +117 -0
- package/dist/dev/ui/slider/slider-element.js.map +1 -0
- package/dist/dev/ui/slider/slider-events.d.ts +18 -0
- package/dist/dev/ui/slider/slider-events.d.ts.map +1 -0
- package/dist/dev/ui/slider/slider-fill-element.d.ts +15 -0
- package/dist/dev/ui/slider/slider-fill-element.d.ts.map +1 -0
- package/dist/dev/ui/slider/slider-fill-element.js +21 -0
- package/dist/dev/ui/slider/slider-fill-element.js.map +1 -0
- package/dist/dev/ui/slider/slider-thumb-element.d.ts +14 -0
- package/dist/dev/ui/slider/slider-thumb-element.d.ts.map +1 -0
- package/dist/dev/ui/slider/slider-thumb-element.js +43 -0
- package/dist/dev/ui/slider/slider-thumb-element.js.map +1 -0
- package/dist/dev/ui/slider/slider-track-element.d.ts +15 -0
- package/dist/dev/ui/slider/slider-track-element.d.ts.map +1 -0
- package/dist/dev/ui/slider/slider-track-element.js +21 -0
- package/dist/dev/ui/slider/slider-track-element.js.map +1 -0
- package/dist/dev/ui/slider/slider-value-element.d.ts +19 -0
- package/dist/dev/ui/slider/slider-value-element.d.ts.map +1 -0
- package/dist/dev/ui/slider/slider-value-element.js +38 -0
- package/dist/dev/ui/slider/slider-value-element.js.map +1 -0
- package/dist/dev/ui/thumbnail/thumbnail-element.d.ts +42 -0
- package/dist/dev/ui/thumbnail/thumbnail-element.d.ts.map +1 -0
- package/dist/dev/ui/thumbnail/thumbnail-element.js +136 -0
- package/dist/dev/ui/thumbnail/thumbnail-element.js.map +1 -0
- package/dist/dev/ui/time/time-element.d.ts.map +1 -1
- package/dist/dev/ui/time/time-element.js +10 -18
- package/dist/dev/ui/time/time-element.js.map +1 -1
- package/dist/dev/ui/time-slider/time-slider-element.d.ts +49 -0
- package/dist/dev/ui/time-slider/time-slider-element.d.ts.map +1 -0
- package/dist/dev/ui/time-slider/time-slider-element.js +129 -0
- package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -0
- package/dist/dev/ui/volume-slider/volume-slider-element.d.ts +44 -0
- package/dist/dev/ui/volume-slider/volume-slider-element.d.ts.map +1 -0
- package/dist/dev/ui/volume-slider/volume-slider-element.js +118 -0
- package/dist/dev/ui/volume-slider/volume-slider-element.js.map +1 -0
- package/package.json +41 -6
- package/dist/default/player/player-mixin.js +0 -23
- package/dist/default/player/player-mixin.js.map +0 -1
- package/dist/dev/player/player-mixin.d.ts +0 -20
- package/dist/dev/player/player-mixin.d.ts.map +0 -1
- package/dist/dev/player/player-mixin.js +0 -23
- package/dist/dev/player/player-mixin.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-element.js","names":["#core","#state","#signSpan","#textNode"],"sources":["../../../../src/ui/time/time-element.ts"],"sourcesContent":["import { TimeCore, TimeDataAttrs, type TimeType } from '@videojs/core';\nimport { applyElementProps, applyStateDataAttrs, logMissingFeature, selectTime } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\n\nexport class TimeElement extends MediaElement {\n static readonly tagName = 'media-time';\n\n static override properties = {\n type: { type: String },\n negativeSign: { type: String, attribute: 'negative-sign' },\n label: { type: String },\n } satisfies PropertyDeclarationMap<keyof TimeCore.Props>;\n\n type: TimeType = TimeCore.defaultProps.type;\n negativeSign = TimeCore.defaultProps.negativeSign;\n label = TimeCore.defaultProps.label;\n\n readonly #core = new TimeCore();\n readonly #state = new PlayerController(this, playerContext, selectTime);\n\n readonly #signSpan = document.createElement('span');\n readonly #textNode = document.createTextNode('');\n\n constructor() {\n super();\n this.#signSpan.setAttribute('aria-hidden', 'true');\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n if (__DEV__ && !this.#state.value) {\n logMissingFeature(
|
|
1
|
+
{"version":3,"file":"time-element.js","names":["#core","#state","#signSpan","#textNode"],"sources":["../../../../src/ui/time/time-element.ts"],"sourcesContent":["import { TimeCore, TimeDataAttrs, type TimeType } from '@videojs/core';\nimport { applyElementProps, applyStateDataAttrs, logMissingFeature, selectTime } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\n\nexport class TimeElement extends MediaElement {\n static readonly tagName = 'media-time';\n\n static override properties = {\n type: { type: String },\n negativeSign: { type: String, attribute: 'negative-sign' },\n label: { type: String },\n } satisfies PropertyDeclarationMap<keyof TimeCore.Props>;\n\n type: TimeType = TimeCore.defaultProps.type;\n negativeSign = TimeCore.defaultProps.negativeSign;\n label = TimeCore.defaultProps.label;\n\n readonly #core = new TimeCore();\n readonly #state = new PlayerController(this, playerContext, selectTime);\n\n readonly #signSpan = document.createElement('span');\n readonly #textNode = document.createTextNode('');\n\n constructor() {\n super();\n\n this.#signSpan.setAttribute('aria-hidden', 'true');\n this.#signSpan.hidden = true;\n\n this.appendChild(this.#signSpan);\n this.appendChild(this.#textNode);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n if (__DEV__ && !this.#state.value) {\n logMissingFeature(this.localName, this.#state.displayName!);\n }\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n this.#core.setProps(this);\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.#state.value;\n\n if (!media) return;\n\n this.#core.setMedia(media);\n const state = this.#core.getState();\n\n this.#signSpan.hidden = !state.negative;\n this.#signSpan.textContent = state.negative ? this.negativeSign : '';\n this.#textNode.textContent = state.text;\n\n applyElementProps(this, this.#core.getAttrs(state));\n applyStateDataAttrs(this, state, TimeDataAttrs);\n }\n}\n"],"mappings":";;;;;;;AAQA,IAAa,cAAb,cAAiC,aAAa;;iBAClB;;;oBAEG;GAC3B,MAAM,EAAE,MAAM,QAAQ;GACtB,cAAc;IAAE,MAAM;IAAQ,WAAW;IAAiB;GAC1D,OAAO,EAAE,MAAM,QAAQ;GACxB;;CAMD,CAASA,OAAQ,IAAI,UAAU;CAC/B,CAASC,QAAS,IAAI,iBAAiB,MAAM,eAAe,WAAW;CAEvE,CAASC,WAAY,SAAS,cAAc,OAAO;CACnD,CAASC,WAAY,SAAS,eAAe,GAAG;CAEhD,cAAc;AACZ,SAAO;cAXQ,SAAS,aAAa;sBACxB,SAAS,aAAa;eAC7B,SAAS,aAAa;AAW5B,QAAKD,SAAU,aAAa,eAAe,OAAO;AAClD,QAAKA,SAAU,SAAS;AAExB,OAAK,YAAY,MAAKA,SAAU;AAChC,OAAK,YAAY,MAAKC,SAAU;;CAGlC,AAAS,oBAA0B;AACjC,QAAM,mBAAmB;AAEzB,MAAe,CAAC,MAAKF,MAAO,MAC1B,mBAAkB,KAAK,WAAW,MAAKA,MAAO,YAAa;;CAI/D,AAAmB,WAAW,SAA+B;AAC3D,QAAM,WAAW,QAAQ;AACzB,QAAKD,KAAM,SAAS,KAAK;;CAG3B,AAAmB,OAAO,SAA+B;AACvD,QAAM,OAAO,QAAQ;EAErB,MAAM,QAAQ,MAAKC,MAAO;AAE1B,MAAI,CAAC,MAAO;AAEZ,QAAKD,KAAM,SAAS,MAAM;EAC1B,MAAM,QAAQ,MAAKA,KAAM,UAAU;AAEnC,QAAKE,SAAU,SAAS,CAAC,MAAM;AAC/B,QAAKA,SAAU,cAAc,MAAM,WAAW,KAAK,eAAe;AAClE,QAAKC,SAAU,cAAc,MAAM;AAEnC,oBAAkB,MAAM,MAAKH,KAAM,SAAS,MAAM,CAAC;AACnD,sBAAoB,MAAM,OAAO,cAAc"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { MediaElement } from "../media-element.js";
|
|
2
|
+
import { PropertyValues } from "@videojs/element";
|
|
3
|
+
import * as _videojs_core0 from "@videojs/core";
|
|
4
|
+
|
|
5
|
+
//#region src/ui/time-slider/time-slider-element.d.ts
|
|
6
|
+
declare class TimeSliderElement extends MediaElement {
|
|
7
|
+
#private;
|
|
8
|
+
static readonly tagName = "media-time-slider";
|
|
9
|
+
static properties: {
|
|
10
|
+
label: {
|
|
11
|
+
type: StringConstructor;
|
|
12
|
+
};
|
|
13
|
+
commitThrottle: {
|
|
14
|
+
type: NumberConstructor;
|
|
15
|
+
attribute: string;
|
|
16
|
+
};
|
|
17
|
+
step: {
|
|
18
|
+
type: NumberConstructor;
|
|
19
|
+
};
|
|
20
|
+
largeStep: {
|
|
21
|
+
type: NumberConstructor;
|
|
22
|
+
attribute: string;
|
|
23
|
+
};
|
|
24
|
+
orientation: {
|
|
25
|
+
type: StringConstructor;
|
|
26
|
+
};
|
|
27
|
+
disabled: {
|
|
28
|
+
type: BooleanConstructor;
|
|
29
|
+
};
|
|
30
|
+
thumbAlignment: {
|
|
31
|
+
type: StringConstructor;
|
|
32
|
+
attribute: string;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
label: string | ((state: _videojs_core0.SliderState) => string);
|
|
36
|
+
commitThrottle: number;
|
|
37
|
+
step: number;
|
|
38
|
+
largeStep: number;
|
|
39
|
+
orientation: "horizontal" | "vertical";
|
|
40
|
+
disabled: boolean;
|
|
41
|
+
thumbAlignment: "center" | "edge";
|
|
42
|
+
connectedCallback(): void;
|
|
43
|
+
disconnectedCallback(): void;
|
|
44
|
+
protected willUpdate(_changed: PropertyValues): void;
|
|
45
|
+
protected update(_changed: PropertyValues): void;
|
|
46
|
+
}
|
|
47
|
+
//#endregion
|
|
48
|
+
export { TimeSliderElement };
|
|
49
|
+
//# sourceMappingURL=time-slider-element.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-slider-element.d.ts","names":[],"sources":["../../../../src/ui/time-slider/time-slider-element.ts"],"mappings":";;;;;cAoBa,iBAAA,SAA0B,YAAA;EAAA;kBACrB,OAAA;EAAA,OAEA,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;EAUhB,KAAA,aAAK,KAAA,iBAAA,WAAA;EACL,cAAA;EACA,IAAA;EACA,SAAA;EACA,WAAA;EACA,QAAA;EACA,cAAA;EAUS,iBAAA,CAAA;EA2CA,oBAAA,CAAA;EAAA,UAQU,UAAA,CAAW,QAAA,EAAU,cAAA;EAAA,UAKrB,MAAA,CAAO,QAAA,EAAU,cAAA;AAAA"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { playerContext } from "../../player/context.js";
|
|
2
|
+
import { MediaElement } from "../media-element.js";
|
|
3
|
+
import { PlayerController } from "../../player/player-controller.js";
|
|
4
|
+
import { sliderContext } from "../slider/context.js";
|
|
5
|
+
import { applyStateDataAttrs, createSlider, getTimeSliderCSSVars, logMissingFeature, selectBuffer, selectTime } from "@videojs/core/dom";
|
|
6
|
+
import { ContextProvider } from "@videojs/element/context";
|
|
7
|
+
import { TimeSliderCore, TimeSliderDataAttrs } from "@videojs/core";
|
|
8
|
+
import { applyStyles, isRTL } from "@videojs/utils/dom";
|
|
9
|
+
import { formatTime } from "@videojs/utils/time";
|
|
10
|
+
|
|
11
|
+
//#region src/ui/time-slider/time-slider-element.ts
|
|
12
|
+
var TimeSliderElement = class extends MediaElement {
|
|
13
|
+
constructor(..._args) {
|
|
14
|
+
super(..._args);
|
|
15
|
+
this.label = TimeSliderCore.defaultProps.label;
|
|
16
|
+
this.commitThrottle = TimeSliderCore.defaultProps.commitThrottle;
|
|
17
|
+
this.step = TimeSliderCore.defaultProps.step;
|
|
18
|
+
this.largeStep = TimeSliderCore.defaultProps.largeStep;
|
|
19
|
+
this.orientation = TimeSliderCore.defaultProps.orientation;
|
|
20
|
+
this.disabled = TimeSliderCore.defaultProps.disabled;
|
|
21
|
+
this.thumbAlignment = TimeSliderCore.defaultProps.thumbAlignment;
|
|
22
|
+
}
|
|
23
|
+
static {
|
|
24
|
+
this.tagName = "media-time-slider";
|
|
25
|
+
}
|
|
26
|
+
static {
|
|
27
|
+
this.properties = {
|
|
28
|
+
label: { type: String },
|
|
29
|
+
commitThrottle: {
|
|
30
|
+
type: Number,
|
|
31
|
+
attribute: "commit-throttle"
|
|
32
|
+
},
|
|
33
|
+
step: { type: Number },
|
|
34
|
+
largeStep: {
|
|
35
|
+
type: Number,
|
|
36
|
+
attribute: "large-step"
|
|
37
|
+
},
|
|
38
|
+
orientation: { type: String },
|
|
39
|
+
disabled: { type: Boolean },
|
|
40
|
+
thumbAlignment: {
|
|
41
|
+
type: String,
|
|
42
|
+
attribute: "thumb-alignment"
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
#core = new TimeSliderCore();
|
|
47
|
+
#provider = new ContextProvider(this, { context: sliderContext });
|
|
48
|
+
#timeState = new PlayerController(this, playerContext, selectTime);
|
|
49
|
+
#bufferState = new PlayerController(this, playerContext, selectBuffer);
|
|
50
|
+
#slider = null;
|
|
51
|
+
#disconnect = null;
|
|
52
|
+
connectedCallback() {
|
|
53
|
+
super.connectedCallback();
|
|
54
|
+
this.#disconnect = new AbortController();
|
|
55
|
+
const signal = this.#disconnect.signal;
|
|
56
|
+
this.#slider = createSlider({
|
|
57
|
+
getElement: () => this,
|
|
58
|
+
getThumbElement: () => this.querySelector("media-slider-thumb"),
|
|
59
|
+
getOrientation: () => this.orientation,
|
|
60
|
+
isRTL: () => isRTL(this),
|
|
61
|
+
isDisabled: () => this.disabled || !this.#timeState.value,
|
|
62
|
+
getPercent: () => {
|
|
63
|
+
const media = this.#timeState.value;
|
|
64
|
+
if (!media) return 0;
|
|
65
|
+
return this.#core.percentFromValue(media.currentTime);
|
|
66
|
+
},
|
|
67
|
+
getStepPercent: () => this.#core.getStepPercent(),
|
|
68
|
+
getLargeStepPercent: () => this.#core.getLargeStepPercent(),
|
|
69
|
+
onValueCommit: (percent) => {
|
|
70
|
+
const media = this.#timeState.value;
|
|
71
|
+
if (media) media.seek(this.#core.valueFromPercent(percent));
|
|
72
|
+
},
|
|
73
|
+
commitThrottle: this.commitThrottle,
|
|
74
|
+
onDragStart: () => {
|
|
75
|
+
this.dispatchEvent(new CustomEvent("drag-start", { bubbles: true }));
|
|
76
|
+
},
|
|
77
|
+
onDragEnd: () => {
|
|
78
|
+
this.dispatchEvent(new CustomEvent("drag-end", { bubbles: true }));
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
this.#slider.input.subscribe(() => this.requestUpdate(), { signal });
|
|
82
|
+
this.style.touchAction = "none";
|
|
83
|
+
this.style.userSelect = "none";
|
|
84
|
+
if (!this.#timeState.value) logMissingFeature(this.localName, this.#timeState.displayName);
|
|
85
|
+
}
|
|
86
|
+
disconnectedCallback() {
|
|
87
|
+
super.disconnectedCallback();
|
|
88
|
+
this.#slider?.destroy();
|
|
89
|
+
this.#slider = null;
|
|
90
|
+
this.#disconnect?.abort();
|
|
91
|
+
this.#disconnect = null;
|
|
92
|
+
}
|
|
93
|
+
willUpdate(_changed) {
|
|
94
|
+
super.willUpdate(_changed);
|
|
95
|
+
this.#core.setProps(this);
|
|
96
|
+
}
|
|
97
|
+
update(_changed) {
|
|
98
|
+
super.update(_changed);
|
|
99
|
+
if (!this.#slider) return;
|
|
100
|
+
const time = this.#timeState.value;
|
|
101
|
+
const buffer = this.#bufferState.value;
|
|
102
|
+
if (!time) return;
|
|
103
|
+
this.#core.setInput(this.#slider.input.current);
|
|
104
|
+
const media = {
|
|
105
|
+
...time,
|
|
106
|
+
...buffer ?? {
|
|
107
|
+
buffered: [],
|
|
108
|
+
seekable: []
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
this.#core.setMedia(media);
|
|
112
|
+
const state = this.#core.getState();
|
|
113
|
+
const cssVars = getTimeSliderCSSVars(state);
|
|
114
|
+
applyStyles(this, cssVars);
|
|
115
|
+
applyStateDataAttrs(this, state, TimeSliderDataAttrs);
|
|
116
|
+
this.#provider.setValue({
|
|
117
|
+
state,
|
|
118
|
+
stateAttrMap: TimeSliderDataAttrs,
|
|
119
|
+
pointerValue: this.#core.valueFromPercent(state.pointerPercent),
|
|
120
|
+
thumbAttrs: this.#core.getAttrs(state),
|
|
121
|
+
thumbProps: this.#slider.thumbProps,
|
|
122
|
+
formatValue: (value) => formatTime(value, state.duration)
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
//#endregion
|
|
128
|
+
export { TimeSliderElement };
|
|
129
|
+
//# sourceMappingURL=time-slider-element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-slider-element.js","names":["#core","#provider","#timeState","#bufferState","#disconnect","#slider"],"sources":["../../../../src/ui/time-slider/time-slider-element.ts"],"sourcesContent":["import { TimeSliderCore, TimeSliderDataAttrs } from '@videojs/core';\nimport {\n applyStateDataAttrs,\n createSlider,\n getTimeSliderCSSVars,\n logMissingFeature,\n type SliderApi,\n selectBuffer,\n selectTime,\n} from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { ContextProvider } from '@videojs/element/context';\nimport { applyStyles, isRTL } from '@videojs/utils/dom';\nimport { formatTime } from '@videojs/utils/time';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\nimport { sliderContext } from '../slider/context';\n\nexport class TimeSliderElement extends MediaElement {\n static readonly tagName = 'media-time-slider';\n\n static override properties = {\n label: { type: String },\n commitThrottle: { type: Number, attribute: 'commit-throttle' },\n step: { type: Number },\n largeStep: { type: Number, attribute: 'large-step' },\n orientation: { type: String },\n disabled: { type: Boolean },\n thumbAlignment: { type: String, attribute: 'thumb-alignment' },\n } satisfies PropertyDeclarationMap<Exclude<keyof TimeSliderCore.Props, 'value' | 'min' | 'max'>>;\n\n label = TimeSliderCore.defaultProps.label;\n commitThrottle = TimeSliderCore.defaultProps.commitThrottle;\n step = TimeSliderCore.defaultProps.step;\n largeStep = TimeSliderCore.defaultProps.largeStep;\n orientation = TimeSliderCore.defaultProps.orientation;\n disabled = TimeSliderCore.defaultProps.disabled;\n thumbAlignment = TimeSliderCore.defaultProps.thumbAlignment;\n\n readonly #core = new TimeSliderCore();\n readonly #provider = new ContextProvider(this, { context: sliderContext });\n readonly #timeState = new PlayerController(this, playerContext, selectTime);\n readonly #bufferState = new PlayerController(this, playerContext, selectBuffer);\n\n #slider: SliderApi | null = null;\n #disconnect: AbortController | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this.#disconnect = new AbortController();\n const signal = this.#disconnect.signal;\n\n this.#slider = createSlider({\n getElement: () => this,\n getThumbElement: () => this.querySelector<HTMLElement>('media-slider-thumb'),\n getOrientation: () => this.orientation,\n isRTL: () => isRTL(this),\n isDisabled: () => this.disabled || !this.#timeState.value,\n getPercent: () => {\n const media = this.#timeState.value;\n if (!media) return 0;\n return this.#core.percentFromValue(media.currentTime);\n },\n getStepPercent: () => this.#core.getStepPercent(),\n getLargeStepPercent: () => this.#core.getLargeStepPercent(),\n onValueCommit: (percent) => {\n const media = this.#timeState.value;\n if (media) media.seek(this.#core.valueFromPercent(percent));\n },\n commitThrottle: this.commitThrottle,\n onDragStart: () => {\n this.dispatchEvent(new CustomEvent('drag-start', { bubbles: true }));\n },\n onDragEnd: () => {\n this.dispatchEvent(new CustomEvent('drag-end', { bubbles: true }));\n },\n });\n\n this.#slider.input.subscribe(() => this.requestUpdate(), { signal });\n\n // Prevent default touch gestures and text selection during interaction.\n this.style.touchAction = 'none';\n this.style.userSelect = 'none';\n\n if (__DEV__ && !this.#timeState.value) {\n logMissingFeature(this.localName, this.#timeState.displayName!);\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#slider?.destroy();\n this.#slider = null;\n this.#disconnect?.abort();\n this.#disconnect = null;\n }\n\n protected override willUpdate(_changed: PropertyValues): void {\n super.willUpdate(_changed);\n this.#core.setProps(this);\n }\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n if (!this.#slider) return;\n\n const time = this.#timeState.value;\n const buffer = this.#bufferState.value;\n if (!time) return;\n\n this.#core.setInput(this.#slider.input.current);\n const media = { ...time, ...(buffer ?? { buffered: [], seekable: [] }) };\n this.#core.setMedia(media);\n const state = this.#core.getState();\n const cssVars = getTimeSliderCSSVars(state);\n\n applyStyles(this, cssVars);\n\n // Domain-specific data attributes on root (includes data-seeking).\n applyStateDataAttrs(this, state, TimeSliderDataAttrs);\n\n // Provide context to child elements with base slider data attrs.\n this.#provider.setValue({\n state,\n stateAttrMap: TimeSliderDataAttrs,\n pointerValue: this.#core.valueFromPercent(state.pointerPercent),\n thumbAttrs: this.#core.getAttrs(state),\n thumbProps: this.#slider.thumbProps,\n formatValue: (value) => formatTime(value, state.duration),\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { MediaElement } from "../media-element.js";
|
|
2
|
+
import { PropertyValues } from "@videojs/element";
|
|
3
|
+
import * as _videojs_core0 from "@videojs/core";
|
|
4
|
+
|
|
5
|
+
//#region src/ui/volume-slider/volume-slider-element.d.ts
|
|
6
|
+
declare class VolumeSliderElement extends MediaElement {
|
|
7
|
+
#private;
|
|
8
|
+
static readonly tagName = "media-volume-slider";
|
|
9
|
+
static properties: {
|
|
10
|
+
label: {
|
|
11
|
+
type: StringConstructor;
|
|
12
|
+
};
|
|
13
|
+
step: {
|
|
14
|
+
type: NumberConstructor;
|
|
15
|
+
};
|
|
16
|
+
largeStep: {
|
|
17
|
+
type: NumberConstructor;
|
|
18
|
+
attribute: string;
|
|
19
|
+
};
|
|
20
|
+
orientation: {
|
|
21
|
+
type: StringConstructor;
|
|
22
|
+
};
|
|
23
|
+
disabled: {
|
|
24
|
+
type: BooleanConstructor;
|
|
25
|
+
};
|
|
26
|
+
thumbAlignment: {
|
|
27
|
+
type: StringConstructor;
|
|
28
|
+
attribute: string;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
label: string | ((state: _videojs_core0.SliderState) => string);
|
|
32
|
+
step: number;
|
|
33
|
+
largeStep: number;
|
|
34
|
+
orientation: "horizontal" | "vertical";
|
|
35
|
+
disabled: boolean;
|
|
36
|
+
thumbAlignment: "center" | "edge";
|
|
37
|
+
connectedCallback(): void;
|
|
38
|
+
disconnectedCallback(): void;
|
|
39
|
+
protected willUpdate(_changed: PropertyValues): void;
|
|
40
|
+
protected update(_changed: PropertyValues): void;
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
export { VolumeSliderElement };
|
|
44
|
+
//# sourceMappingURL=volume-slider-element.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"volume-slider-element.d.ts","names":[],"sources":["../../../../src/ui/volume-slider/volume-slider-element.ts"],"mappings":";;;;;cAkBa,mBAAA,SAA4B,YAAA;EAAA;kBACvB,OAAA;EAAA,OAEA,UAAA;;;;;;;;;;;;;;;;;;;;;;EAShB,KAAA,aAAK,KAAA,iBAAA,WAAA;EACL,IAAA;EACA,SAAA;EACA,WAAA;EACA,QAAA;EACA,cAAA;EASS,iBAAA,CAAA;EA4CA,oBAAA,CAAA;EAAA,UAQU,UAAA,CAAW,QAAA,EAAU,cAAA;EAAA,UAKrB,MAAA,CAAO,QAAA,EAAU,cAAA;AAAA"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { playerContext } from "../../player/context.js";
|
|
2
|
+
import { MediaElement } from "../media-element.js";
|
|
3
|
+
import { PlayerController } from "../../player/player-controller.js";
|
|
4
|
+
import { sliderContext } from "../slider/context.js";
|
|
5
|
+
import { applyStateDataAttrs, createSlider, getSliderCSSVars, logMissingFeature, selectVolume } from "@videojs/core/dom";
|
|
6
|
+
import { ContextProvider } from "@videojs/element/context";
|
|
7
|
+
import { SliderDataAttrs, VolumeSliderCore } from "@videojs/core";
|
|
8
|
+
import { applyStyles, isRTL } from "@videojs/utils/dom";
|
|
9
|
+
|
|
10
|
+
//#region src/ui/volume-slider/volume-slider-element.ts
|
|
11
|
+
var VolumeSliderElement = class extends MediaElement {
|
|
12
|
+
constructor(..._args) {
|
|
13
|
+
super(..._args);
|
|
14
|
+
this.label = VolumeSliderCore.defaultProps.label;
|
|
15
|
+
this.step = VolumeSliderCore.defaultProps.step;
|
|
16
|
+
this.largeStep = VolumeSliderCore.defaultProps.largeStep;
|
|
17
|
+
this.orientation = VolumeSliderCore.defaultProps.orientation;
|
|
18
|
+
this.disabled = VolumeSliderCore.defaultProps.disabled;
|
|
19
|
+
this.thumbAlignment = VolumeSliderCore.defaultProps.thumbAlignment;
|
|
20
|
+
}
|
|
21
|
+
static {
|
|
22
|
+
this.tagName = "media-volume-slider";
|
|
23
|
+
}
|
|
24
|
+
static {
|
|
25
|
+
this.properties = {
|
|
26
|
+
label: { type: String },
|
|
27
|
+
step: { type: Number },
|
|
28
|
+
largeStep: {
|
|
29
|
+
type: Number,
|
|
30
|
+
attribute: "large-step"
|
|
31
|
+
},
|
|
32
|
+
orientation: { type: String },
|
|
33
|
+
disabled: { type: Boolean },
|
|
34
|
+
thumbAlignment: {
|
|
35
|
+
type: String,
|
|
36
|
+
attribute: "thumb-alignment"
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
#core = new VolumeSliderCore();
|
|
41
|
+
#provider = new ContextProvider(this, { context: sliderContext });
|
|
42
|
+
#volumeState = new PlayerController(this, playerContext, selectVolume);
|
|
43
|
+
#slider = null;
|
|
44
|
+
#disconnect = null;
|
|
45
|
+
connectedCallback() {
|
|
46
|
+
super.connectedCallback();
|
|
47
|
+
this.#disconnect = new AbortController();
|
|
48
|
+
const signal = this.#disconnect.signal;
|
|
49
|
+
this.#slider = createSlider({
|
|
50
|
+
getElement: () => this,
|
|
51
|
+
getThumbElement: () => this.querySelector("media-slider-thumb"),
|
|
52
|
+
getOrientation: () => this.orientation,
|
|
53
|
+
isRTL: () => isRTL(this),
|
|
54
|
+
isDisabled: () => this.disabled || !this.#volumeState.value,
|
|
55
|
+
getPercent: () => {
|
|
56
|
+
const media = this.#volumeState.value;
|
|
57
|
+
if (!media) return 0;
|
|
58
|
+
return media.volume * 100;
|
|
59
|
+
},
|
|
60
|
+
getStepPercent: () => this.#core.getStepPercent(),
|
|
61
|
+
getLargeStepPercent: () => this.#core.getLargeStepPercent(),
|
|
62
|
+
onValueChange: (percent) => {
|
|
63
|
+
this.#setVolume(percent);
|
|
64
|
+
},
|
|
65
|
+
onValueCommit: (percent) => {
|
|
66
|
+
this.#setVolume(percent);
|
|
67
|
+
},
|
|
68
|
+
onDragStart: () => {
|
|
69
|
+
this.dispatchEvent(new CustomEvent("drag-start", { bubbles: true }));
|
|
70
|
+
},
|
|
71
|
+
onDragEnd: () => {
|
|
72
|
+
this.dispatchEvent(new CustomEvent("drag-end", { bubbles: true }));
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
this.#slider.input.subscribe(() => this.requestUpdate(), { signal });
|
|
76
|
+
this.style.touchAction = "none";
|
|
77
|
+
this.style.userSelect = "none";
|
|
78
|
+
if (!this.#volumeState.value) logMissingFeature(this.localName, this.#volumeState.displayName);
|
|
79
|
+
}
|
|
80
|
+
disconnectedCallback() {
|
|
81
|
+
super.disconnectedCallback();
|
|
82
|
+
this.#slider?.destroy();
|
|
83
|
+
this.#slider = null;
|
|
84
|
+
this.#disconnect?.abort();
|
|
85
|
+
this.#disconnect = null;
|
|
86
|
+
}
|
|
87
|
+
willUpdate(_changed) {
|
|
88
|
+
super.willUpdate(_changed);
|
|
89
|
+
this.#core.setProps(this);
|
|
90
|
+
}
|
|
91
|
+
update(_changed) {
|
|
92
|
+
super.update(_changed);
|
|
93
|
+
if (!this.#slider) return;
|
|
94
|
+
const media = this.#volumeState.value;
|
|
95
|
+
if (!media) return;
|
|
96
|
+
this.#core.setInput(this.#slider.input.current);
|
|
97
|
+
this.#core.setMedia(media);
|
|
98
|
+
const state = this.#core.getState();
|
|
99
|
+
const cssVars = getSliderCSSVars(state);
|
|
100
|
+
applyStyles(this, cssVars);
|
|
101
|
+
applyStateDataAttrs(this, state, SliderDataAttrs);
|
|
102
|
+
this.#provider.setValue({
|
|
103
|
+
state,
|
|
104
|
+
stateAttrMap: SliderDataAttrs,
|
|
105
|
+
pointerValue: this.#core.valueFromPercent(state.pointerPercent),
|
|
106
|
+
thumbAttrs: this.#core.getAttrs(state),
|
|
107
|
+
thumbProps: this.#slider.thumbProps,
|
|
108
|
+
formatValue: (value) => `${Math.round(value)}%`
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
#setVolume(percent) {
|
|
112
|
+
this.#volumeState.value?.changeVolume(this.#core.valueFromPercent(percent) / 100);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
//#endregion
|
|
117
|
+
export { VolumeSliderElement };
|
|
118
|
+
//# sourceMappingURL=volume-slider-element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"volume-slider-element.js","names":["#core","#provider","#volumeState","#disconnect","#slider","#setVolume"],"sources":["../../../../src/ui/volume-slider/volume-slider-element.ts"],"sourcesContent":["import { SliderDataAttrs, VolumeSliderCore } from '@videojs/core';\nimport {\n applyStateDataAttrs,\n createSlider,\n getSliderCSSVars,\n logMissingFeature,\n type SliderApi,\n selectVolume,\n} from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { ContextProvider } from '@videojs/element/context';\nimport { applyStyles, isRTL } from '@videojs/utils/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\nimport { sliderContext } from '../slider/context';\n\nexport class VolumeSliderElement extends MediaElement {\n static readonly tagName = 'media-volume-slider';\n\n static override properties = {\n label: { type: String },\n step: { type: Number },\n largeStep: { type: Number, attribute: 'large-step' },\n orientation: { type: String },\n disabled: { type: Boolean },\n thumbAlignment: { type: String, attribute: 'thumb-alignment' },\n } satisfies PropertyDeclarationMap<Exclude<keyof VolumeSliderCore.Props, 'value' | 'min' | 'max'>>;\n\n label = VolumeSliderCore.defaultProps.label;\n step = VolumeSliderCore.defaultProps.step;\n largeStep = VolumeSliderCore.defaultProps.largeStep;\n orientation = VolumeSliderCore.defaultProps.orientation;\n disabled = VolumeSliderCore.defaultProps.disabled;\n thumbAlignment = VolumeSliderCore.defaultProps.thumbAlignment;\n\n readonly #core = new VolumeSliderCore();\n readonly #provider = new ContextProvider(this, { context: sliderContext });\n readonly #volumeState = new PlayerController(this, playerContext, selectVolume);\n\n #slider: SliderApi | null = null;\n #disconnect: AbortController | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this.#disconnect = new AbortController();\n const signal = this.#disconnect.signal;\n\n this.#slider = createSlider({\n getElement: () => this,\n getThumbElement: () => this.querySelector<HTMLElement>('media-slider-thumb'),\n getOrientation: () => this.orientation,\n isRTL: () => isRTL(this),\n isDisabled: () => this.disabled || !this.#volumeState.value,\n getPercent: () => {\n const media = this.#volumeState.value;\n if (!media) return 0;\n return media.volume * 100;\n },\n getStepPercent: () => this.#core.getStepPercent(),\n getLargeStepPercent: () => this.#core.getLargeStepPercent(),\n onValueChange: (percent) => {\n this.#setVolume(percent);\n },\n onValueCommit: (percent) => {\n this.#setVolume(percent);\n },\n onDragStart: () => {\n this.dispatchEvent(new CustomEvent('drag-start', { bubbles: true }));\n },\n onDragEnd: () => {\n this.dispatchEvent(new CustomEvent('drag-end', { bubbles: true }));\n },\n });\n\n this.#slider.input.subscribe(() => this.requestUpdate(), { signal });\n\n // Prevent default touch gestures and text selection during interaction.\n this.style.touchAction = 'none';\n this.style.userSelect = 'none';\n\n if (__DEV__ && !this.#volumeState.value) {\n logMissingFeature(this.localName, this.#volumeState.displayName!);\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#slider?.destroy();\n this.#slider = null;\n this.#disconnect?.abort();\n this.#disconnect = null;\n }\n\n protected override willUpdate(_changed: PropertyValues): void {\n super.willUpdate(_changed);\n this.#core.setProps(this);\n }\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n if (!this.#slider) return;\n\n const media = this.#volumeState.value;\n if (!media) return;\n\n this.#core.setInput(this.#slider.input.current);\n this.#core.setMedia(media);\n const state = this.#core.getState();\n const cssVars = getSliderCSSVars(state);\n\n applyStyles(this, cssVars);\n\n // Apply data attributes to root.\n applyStateDataAttrs(this, state, SliderDataAttrs);\n\n // Provide context to child elements.\n this.#provider.setValue({\n state,\n stateAttrMap: SliderDataAttrs,\n pointerValue: this.#core.valueFromPercent(state.pointerPercent),\n thumbAttrs: this.#core.getAttrs(state),\n thumbProps: this.#slider.thumbProps,\n formatValue: (value) => `${Math.round(value)}%`,\n });\n }\n\n #setVolume(percent: number): void {\n const media = this.#volumeState.value;\n media?.changeVolume(this.#core.valueFromPercent(percent) / 100);\n }\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@videojs/html",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "10.0.0-alpha.
|
|
4
|
+
"version": "10.0.0-alpha.6",
|
|
5
5
|
"description": "HTML library for building media players",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"repository": {
|
|
@@ -24,6 +24,39 @@
|
|
|
24
24
|
"development": "./dist/dev/index.js",
|
|
25
25
|
"default": "./dist/default/index.js"
|
|
26
26
|
},
|
|
27
|
+
"./video": {
|
|
28
|
+
"types": "./dist/dev/presets/video.d.ts",
|
|
29
|
+
"development": "./dist/dev/presets/video.js",
|
|
30
|
+
"default": "./dist/default/presets/video.js"
|
|
31
|
+
},
|
|
32
|
+
"./video/*.css": "./dist/default/define/video/*.css",
|
|
33
|
+
"./video/*": {
|
|
34
|
+
"types": "./dist/dev/define/video/*.d.ts",
|
|
35
|
+
"development": "./dist/dev/define/video/*.js",
|
|
36
|
+
"default": "./dist/default/define/video/*.js"
|
|
37
|
+
},
|
|
38
|
+
"./audio": {
|
|
39
|
+
"types": "./dist/dev/presets/audio.d.ts",
|
|
40
|
+
"development": "./dist/dev/presets/audio.js",
|
|
41
|
+
"default": "./dist/default/presets/audio.js"
|
|
42
|
+
},
|
|
43
|
+
"./audio/*.css": "./dist/default/define/audio/*.css",
|
|
44
|
+
"./audio/*": {
|
|
45
|
+
"types": "./dist/dev/define/audio/*.d.ts",
|
|
46
|
+
"development": "./dist/dev/define/audio/*.js",
|
|
47
|
+
"default": "./dist/default/define/audio/*.js"
|
|
48
|
+
},
|
|
49
|
+
"./background": {
|
|
50
|
+
"types": "./dist/dev/presets/background.d.ts",
|
|
51
|
+
"development": "./dist/dev/presets/background.js",
|
|
52
|
+
"default": "./dist/default/presets/background.js"
|
|
53
|
+
},
|
|
54
|
+
"./background/*.css": "./dist/default/define/background/*.css",
|
|
55
|
+
"./background/*": {
|
|
56
|
+
"types": "./dist/dev/define/background/*.d.ts",
|
|
57
|
+
"development": "./dist/dev/define/background/*.js",
|
|
58
|
+
"default": "./dist/default/define/background/*.js"
|
|
59
|
+
},
|
|
27
60
|
"./ui/*": {
|
|
28
61
|
"types": "./dist/dev/define/ui/*.d.ts",
|
|
29
62
|
"development": "./dist/dev/define/ui/*.js",
|
|
@@ -47,17 +80,19 @@
|
|
|
47
80
|
}
|
|
48
81
|
},
|
|
49
82
|
"dependencies": {
|
|
50
|
-
"@videojs/
|
|
51
|
-
"@videojs/
|
|
52
|
-
"@videojs/
|
|
53
|
-
"@videojs/
|
|
83
|
+
"@videojs/skins": "10.0.0-alpha.4",
|
|
84
|
+
"@videojs/utils": "10.0.0-alpha.6",
|
|
85
|
+
"@videojs/core": "10.0.0-alpha.6",
|
|
86
|
+
"@videojs/store": "10.0.0-alpha.6",
|
|
87
|
+
"@videojs/element": "10.0.0-alpha.6"
|
|
54
88
|
},
|
|
55
89
|
"devDependencies": {
|
|
56
90
|
"@testing-library/dom": "^10.4.0",
|
|
57
91
|
"happy-dom": "^18.0.1",
|
|
58
92
|
"tsdown": "^0.20.3",
|
|
59
93
|
"typescript": "^5.9.3",
|
|
60
|
-
"vitest": "^3.2.4"
|
|
94
|
+
"vitest": "^3.2.4",
|
|
95
|
+
"@videojs/icons": "10.0.0-alpha.6"
|
|
61
96
|
},
|
|
62
97
|
"publishConfig": {
|
|
63
98
|
"access": "public"
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { createContainerMixin } from "../store/container-mixin.js";
|
|
2
|
-
import { createProviderMixin } from "../store/provider-mixin.js";
|
|
3
|
-
|
|
4
|
-
//#region src/player/player-mixin.ts
|
|
5
|
-
/**
|
|
6
|
-
* Creates a mixin that combines provider and container functionality.
|
|
7
|
-
*
|
|
8
|
-
* Use for a complete player element that owns the store and attaches media.
|
|
9
|
-
*
|
|
10
|
-
* @param context - Player context for descendant consumption.
|
|
11
|
-
* @param factory - Factory function that creates a store instance.
|
|
12
|
-
*/
|
|
13
|
-
function createPlayerMixin(context, factory) {
|
|
14
|
-
const ProviderMixin = createProviderMixin(context, factory);
|
|
15
|
-
const ContainerMixin = createContainerMixin(context);
|
|
16
|
-
return (BaseClass) => {
|
|
17
|
-
return ProviderMixin(ContainerMixin(BaseClass));
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
//#endregion
|
|
22
|
-
export { createPlayerMixin };
|
|
23
|
-
//# sourceMappingURL=player-mixin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"player-mixin.js","names":[],"sources":["../../../src/player/player-mixin.ts"],"sourcesContent":["import type { PlayerStore } from '@videojs/core/dom';\nimport type { MediaElementConstructor } from '@/ui/media-element';\nimport { createContainerMixin } from '../store/container-mixin';\nimport { createProviderMixin } from '../store/provider-mixin';\nimport type { PlayerProviderConstructor } from '../store/types';\nimport type { PlayerContext } from './context';\n\ntype Result<Class extends MediaElementConstructor, Store extends PlayerStore> = Class &\n PlayerProviderConstructor<Store>;\n\nexport type PlayerMixin<Store extends PlayerStore> = <Class extends MediaElementConstructor>(\n BaseClass: Class\n) => Result<Class, Store>;\n\n/**\n * Creates a mixin that combines provider and container functionality.\n *\n * Use for a complete player element that owns the store and attaches media.\n *\n * @param context - Player context for descendant consumption.\n * @param factory - Factory function that creates a store instance.\n */\nexport function createPlayerMixin<Store extends PlayerStore>(\n context: PlayerContext<Store>,\n factory: () => Store\n): PlayerMixin<Store> {\n const ProviderMixin = createProviderMixin<Store>(context, factory);\n const ContainerMixin = createContainerMixin<Store>(context);\n\n return <Class extends MediaElementConstructor>(BaseClass: Class) => {\n return ProviderMixin(ContainerMixin(BaseClass)) as unknown as Result<Class, Store>;\n };\n}\n"],"mappings":";;;;;;;;;;;;AAsBA,SAAgB,kBACd,SACA,SACoB;CACpB,MAAM,gBAAgB,oBAA2B,SAAS,QAAQ;CAClE,MAAM,iBAAiB,qBAA4B,QAAQ;AAE3D,SAA+C,cAAqB;AAClE,SAAO,cAAc,eAAe,UAAU,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { PlayerContext } from "./context.js";
|
|
2
|
-
import { MediaElementConstructor } from "../ui/media-element.js";
|
|
3
|
-
import { PlayerProviderConstructor } from "../store/types.js";
|
|
4
|
-
import { PlayerStore } from "@videojs/core/dom";
|
|
5
|
-
|
|
6
|
-
//#region src/player/player-mixin.d.ts
|
|
7
|
-
type Result<Class extends MediaElementConstructor, Store extends PlayerStore> = Class & PlayerProviderConstructor<Store>;
|
|
8
|
-
type PlayerMixin<Store extends PlayerStore> = <Class extends MediaElementConstructor>(BaseClass: Class) => Result<Class, Store>;
|
|
9
|
-
/**
|
|
10
|
-
* Creates a mixin that combines provider and container functionality.
|
|
11
|
-
*
|
|
12
|
-
* Use for a complete player element that owns the store and attaches media.
|
|
13
|
-
*
|
|
14
|
-
* @param context - Player context for descendant consumption.
|
|
15
|
-
* @param factory - Factory function that creates a store instance.
|
|
16
|
-
*/
|
|
17
|
-
declare function createPlayerMixin<Store extends PlayerStore>(context: PlayerContext<Store>, factory: () => Store): PlayerMixin<Store>;
|
|
18
|
-
//#endregion
|
|
19
|
-
export { PlayerMixin, createPlayerMixin };
|
|
20
|
-
//# sourceMappingURL=player-mixin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"player-mixin.d.ts","names":[],"sources":["../../../src/player/player-mixin.ts"],"mappings":";;;;;;KAOK,MAAA,eAAqB,uBAAA,gBAAuC,WAAA,IAAe,KAAA,GAC9E,yBAAA,CAA0B,KAAA;AAAA,KAEhB,WAAA,eAA0B,WAAA,mBAA8B,uBAAA,EAClE,SAAA,EAAW,KAAA,KACR,MAAA,CAAO,KAAA,EAAO,KAAA;AAP4B;;;;;;;;AAAA,iBAiB/B,iBAAA,eAAgC,WAAA,CAAA,CAC9C,OAAA,EAAS,aAAA,CAAc,KAAA,GACvB,OAAA,QAAe,KAAA,GACd,WAAA,CAAY,KAAA"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { createContainerMixin } from "../store/container-mixin.js";
|
|
2
|
-
import { createProviderMixin } from "../store/provider-mixin.js";
|
|
3
|
-
|
|
4
|
-
//#region src/player/player-mixin.ts
|
|
5
|
-
/**
|
|
6
|
-
* Creates a mixin that combines provider and container functionality.
|
|
7
|
-
*
|
|
8
|
-
* Use for a complete player element that owns the store and attaches media.
|
|
9
|
-
*
|
|
10
|
-
* @param context - Player context for descendant consumption.
|
|
11
|
-
* @param factory - Factory function that creates a store instance.
|
|
12
|
-
*/
|
|
13
|
-
function createPlayerMixin(context, factory) {
|
|
14
|
-
const ProviderMixin = createProviderMixin(context, factory);
|
|
15
|
-
const ContainerMixin = createContainerMixin(context);
|
|
16
|
-
return (BaseClass) => {
|
|
17
|
-
return ProviderMixin(ContainerMixin(BaseClass));
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
//#endregion
|
|
22
|
-
export { createPlayerMixin };
|
|
23
|
-
//# sourceMappingURL=player-mixin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"player-mixin.js","names":[],"sources":["../../../src/player/player-mixin.ts"],"sourcesContent":["import type { PlayerStore } from '@videojs/core/dom';\nimport type { MediaElementConstructor } from '@/ui/media-element';\nimport { createContainerMixin } from '../store/container-mixin';\nimport { createProviderMixin } from '../store/provider-mixin';\nimport type { PlayerProviderConstructor } from '../store/types';\nimport type { PlayerContext } from './context';\n\ntype Result<Class extends MediaElementConstructor, Store extends PlayerStore> = Class &\n PlayerProviderConstructor<Store>;\n\nexport type PlayerMixin<Store extends PlayerStore> = <Class extends MediaElementConstructor>(\n BaseClass: Class\n) => Result<Class, Store>;\n\n/**\n * Creates a mixin that combines provider and container functionality.\n *\n * Use for a complete player element that owns the store and attaches media.\n *\n * @param context - Player context for descendant consumption.\n * @param factory - Factory function that creates a store instance.\n */\nexport function createPlayerMixin<Store extends PlayerStore>(\n context: PlayerContext<Store>,\n factory: () => Store\n): PlayerMixin<Store> {\n const ProviderMixin = createProviderMixin<Store>(context, factory);\n const ContainerMixin = createContainerMixin<Store>(context);\n\n return <Class extends MediaElementConstructor>(BaseClass: Class) => {\n return ProviderMixin(ContainerMixin(BaseClass)) as unknown as Result<Class, Store>;\n };\n}\n"],"mappings":";;;;;;;;;;;;AAsBA,SAAgB,kBACd,SACA,SACoB;CACpB,MAAM,gBAAgB,oBAA2B,SAAS,QAAQ;CAClE,MAAM,iBAAiB,qBAA4B,QAAQ;AAE3D,SAA+C,cAAqB;AAClE,SAAO,cAAc,eAAe,UAAU,CAAC"}
|