@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
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { SkinMixin } from "../skin-mixin.js";
|
|
2
|
+
import "../media/container.js";
|
|
3
|
+
import "../ui/buffering-indicator.js";
|
|
4
|
+
import "../ui/controls.js";
|
|
5
|
+
import "../ui/fullscreen-button.js";
|
|
6
|
+
import "../ui/mute-button.js";
|
|
7
|
+
import "../ui/pip-button.js";
|
|
8
|
+
import "../ui/play-button.js";
|
|
9
|
+
import "../ui/playback-rate-button.js";
|
|
10
|
+
import "../ui/popover.js";
|
|
11
|
+
import "../ui/seek-button.js";
|
|
12
|
+
import "../ui/time.js";
|
|
13
|
+
import "../ui/time-slider.js";
|
|
14
|
+
import "../ui/volume-slider.js";
|
|
15
|
+
import { renderIcon } from "../../icons/dist/render/default/index.js";
|
|
16
|
+
import { ReactiveElement } from "@videojs/element";
|
|
17
|
+
|
|
18
|
+
//#region src/define/video/skin.ts
|
|
19
|
+
const SEEK_TIME = 10;
|
|
20
|
+
function getTemplateHTML() {
|
|
21
|
+
return `
|
|
22
|
+
<media-container class="media-default-skin">
|
|
23
|
+
<media-buffering-indicator class="media-buffering-indicator">
|
|
24
|
+
<div class="media-surface">
|
|
25
|
+
${renderIcon("spinner", { class: "media-icon" })}
|
|
26
|
+
</div>
|
|
27
|
+
</media-buffering-indicator>
|
|
28
|
+
|
|
29
|
+
<!--<div class="media-error" role="alertdialog" aria-labelledby="media-error-title" aria-describedby="media-error-description">
|
|
30
|
+
<div class="media-error__dialog media-surface">
|
|
31
|
+
<div class="media-error__content">
|
|
32
|
+
<p id="media-error-title" class="media-error__title">Something went wrong.</p>
|
|
33
|
+
<p id="media-error-description" class="media-error__description">An error occurred while trying to play the video. Please try again.</p>
|
|
34
|
+
</div>
|
|
35
|
+
<div class="media-error__actions">
|
|
36
|
+
<button type="button" class="media-button">OK</button>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
</div>-->
|
|
40
|
+
|
|
41
|
+
<media-controls class="media-surface media-controls">
|
|
42
|
+
<media-play-button class="media-button media-button--icon media-button--play">
|
|
43
|
+
${renderIcon("restart", { class: "media-icon media-icon--restart" })}
|
|
44
|
+
${renderIcon("play", { class: "media-icon media-icon--play" })}
|
|
45
|
+
${renderIcon("pause", { class: "media-icon media-icon--pause" })}
|
|
46
|
+
</media-play-button>
|
|
47
|
+
|
|
48
|
+
<media-seek-button seconds="${-SEEK_TIME}" class="media-button media-button--icon media-button--seek">
|
|
49
|
+
<span class="media-icon__container">
|
|
50
|
+
${renderIcon("seek", { class: "media-icon media-icon--flipped" })}
|
|
51
|
+
<span class="media-icon__label">${SEEK_TIME}</span>
|
|
52
|
+
</span>
|
|
53
|
+
</media-seek-button>
|
|
54
|
+
|
|
55
|
+
<media-seek-button seconds="${SEEK_TIME}" class="media-button media-button--icon media-button--seek">
|
|
56
|
+
<span class="media-icon__container">
|
|
57
|
+
${renderIcon("seek", { class: "media-icon" })}
|
|
58
|
+
<span class="media-icon__label">${SEEK_TIME}</span>
|
|
59
|
+
</span>
|
|
60
|
+
</media-seek-button>
|
|
61
|
+
|
|
62
|
+
<media-time-group class="media-time">
|
|
63
|
+
<media-time type="current" class="media-time__value"></media-time>
|
|
64
|
+
<media-time-slider class="media-slider">
|
|
65
|
+
<media-slider-track class="media-slider__track">
|
|
66
|
+
<media-slider-fill class="media-slider__fill"></media-slider-fill>
|
|
67
|
+
<media-slider-buffer class="media-slider__buffer"></media-slider-buffer>
|
|
68
|
+
</media-slider-track>
|
|
69
|
+
<media-slider-thumb class="media-slider__thumb"></media-slider-thumb>
|
|
70
|
+
</media-time-slider>
|
|
71
|
+
<media-time type="duration" class="media-time__value"></media-time>
|
|
72
|
+
</media-time-group>
|
|
73
|
+
|
|
74
|
+
<media-playback-rate-button class="media-button media-button--icon media-button--playback-rate">
|
|
75
|
+
</media-playback-rate-button>
|
|
76
|
+
|
|
77
|
+
<media-mute-button commandfor="volume-popover" class="media-button media-button--icon media-button--mute">
|
|
78
|
+
${renderIcon("volume-off", { class: "media-icon media-icon--volume-off" })}
|
|
79
|
+
${renderIcon("volume-low", { class: "media-icon media-icon--volume-low" })}
|
|
80
|
+
${renderIcon("volume-high", { class: "media-icon media-icon--volume-high" })}
|
|
81
|
+
</media-mute-button>
|
|
82
|
+
|
|
83
|
+
<media-popover id="volume-popover" open-on-hover delay="200" close-delay="100" side="top" class="media-surface media-popup media-popup--volume media-popup-animation">
|
|
84
|
+
<media-volume-slider class="media-slider" orientation="vertical" thumb-alignment="edge">
|
|
85
|
+
<media-slider-track class="media-slider__track">
|
|
86
|
+
<media-slider-fill class="media-slider__fill"></media-slider-fill>
|
|
87
|
+
</media-slider-track>
|
|
88
|
+
<media-slider-thumb class="media-slider__thumb media-slider__thumb--persistent"></media-slider-thumb>
|
|
89
|
+
</media-volume-slider>
|
|
90
|
+
</media-popover>
|
|
91
|
+
|
|
92
|
+
<!--<button type="button" class="media-button media-button--icon media-button--captions" aria-label="Captions">
|
|
93
|
+
${renderIcon("captions-off", { class: "media-icon media-icon--captions-off" })}
|
|
94
|
+
${renderIcon("captions-on", { class: "media-icon media-icon--captions-on" })}
|
|
95
|
+
</button>-->
|
|
96
|
+
|
|
97
|
+
<media-pip-button class="media-button media-button--icon">
|
|
98
|
+
${renderIcon("pip", { class: "media-icon" })}
|
|
99
|
+
</media-pip-button>
|
|
100
|
+
|
|
101
|
+
<media-fullscreen-button class="media-button media-button--icon media-button--fullscreen">
|
|
102
|
+
${renderIcon("fullscreen-enter", { class: "media-icon media-icon--fullscreen-enter" })}
|
|
103
|
+
${renderIcon("fullscreen-exit", { class: "media-icon media-icon--fullscreen-exit" })}
|
|
104
|
+
</media-fullscreen-button>
|
|
105
|
+
</media-controls>
|
|
106
|
+
|
|
107
|
+
<div class="media-overlay"></div>
|
|
108
|
+
|
|
109
|
+
<slot name="media"></slot>
|
|
110
|
+
</media-container>
|
|
111
|
+
`;
|
|
112
|
+
}
|
|
113
|
+
var VideoSkinElement = class extends SkinMixin(ReactiveElement) {
|
|
114
|
+
static {
|
|
115
|
+
this.tagName = "video-skin";
|
|
116
|
+
}
|
|
117
|
+
static {
|
|
118
|
+
this.getTemplateHTML = getTemplateHTML;
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
customElements.define(VideoSkinElement.tagName, VideoSkinElement);
|
|
122
|
+
|
|
123
|
+
//#endregion
|
|
124
|
+
export { VideoSkinElement };
|
|
125
|
+
//# sourceMappingURL=skin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skin.js","names":[],"sources":["../../../../src/define/video/skin.ts"],"sourcesContent":["import { ReactiveElement } from '@videojs/element';\nimport { renderIcon } from '@videojs/icons/render';\nimport { SkinMixin } from '../skin-mixin';\n\n// Side-effect imports: register all custom elements used in the template.\nimport '../media/container';\nimport '../ui/buffering-indicator';\nimport '../ui/controls';\nimport '../ui/fullscreen-button';\nimport '../ui/mute-button';\nimport '../ui/pip-button';\nimport '../ui/play-button';\nimport '../ui/playback-rate-button';\nimport '../ui/popover';\nimport '../ui/seek-button';\nimport '../ui/time';\nimport '../ui/time-slider';\nimport '../ui/volume-slider';\n\nconst SEEK_TIME = 10;\n\nfunction getTemplateHTML() {\n return /*html*/ `\n <media-container class=\"media-default-skin\">\n <media-buffering-indicator class=\"media-buffering-indicator\">\n <div class=\"media-surface\">\n ${renderIcon('spinner', { class: 'media-icon' })}\n </div>\n </media-buffering-indicator>\n\n <!--<div class=\"media-error\" role=\"alertdialog\" aria-labelledby=\"media-error-title\" aria-describedby=\"media-error-description\">\n <div class=\"media-error__dialog media-surface\">\n <div class=\"media-error__content\">\n <p id=\"media-error-title\" class=\"media-error__title\">Something went wrong.</p>\n <p id=\"media-error-description\" class=\"media-error__description\">An error occurred while trying to play the video. Please try again.</p>\n </div>\n <div class=\"media-error__actions\">\n <button type=\"button\" class=\"media-button\">OK</button>\n </div>\n </div>\n </div>-->\n\n <media-controls class=\"media-surface media-controls\">\n <media-play-button class=\"media-button media-button--icon media-button--play\">\n ${renderIcon('restart', { class: 'media-icon media-icon--restart' })}\n ${renderIcon('play', { class: 'media-icon media-icon--play' })}\n ${renderIcon('pause', { class: 'media-icon media-icon--pause' })}\n </media-play-button>\n\n <media-seek-button seconds=\"${-SEEK_TIME}\" class=\"media-button media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon media-icon--flipped' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n\n <media-seek-button seconds=\"${SEEK_TIME}\" class=\"media-button media-button--icon media-button--seek\">\n <span class=\"media-icon__container\">\n ${renderIcon('seek', { class: 'media-icon' })}\n <span class=\"media-icon__label\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n\n <media-time-group class=\"media-time\">\n <media-time type=\"current\" class=\"media-time__value\"></media-time>\n <media-time-slider class=\"media-slider\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n <media-slider-buffer class=\"media-slider__buffer\"></media-slider-buffer>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb\"></media-slider-thumb>\n </media-time-slider>\n <media-time type=\"duration\" class=\"media-time__value\"></media-time>\n </media-time-group>\n\n <media-playback-rate-button class=\"media-button media-button--icon media-button--playback-rate\">\n </media-playback-rate-button>\n\n <media-mute-button commandfor=\"volume-popover\" class=\"media-button media-button--icon media-button--mute\">\n ${renderIcon('volume-off', { class: 'media-icon media-icon--volume-off' })}\n ${renderIcon('volume-low', { class: 'media-icon media-icon--volume-low' })}\n ${renderIcon('volume-high', { class: 'media-icon media-icon--volume-high' })}\n </media-mute-button>\n\n <media-popover id=\"volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"top\" class=\"media-surface media-popup media-popup--volume media-popup-animation\">\n <media-volume-slider class=\"media-slider\" orientation=\"vertical\" thumb-alignment=\"edge\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb media-slider__thumb--persistent\"></media-slider-thumb>\n </media-volume-slider>\n </media-popover>\n\n <!--<button type=\"button\" class=\"media-button media-button--icon media-button--captions\" aria-label=\"Captions\">\n ${renderIcon('captions-off', { class: 'media-icon media-icon--captions-off' })}\n ${renderIcon('captions-on', { class: 'media-icon media-icon--captions-on' })}\n </button>-->\n\n <media-pip-button class=\"media-button media-button--icon\">\n ${renderIcon('pip', { class: 'media-icon' })}\n </media-pip-button>\n\n <media-fullscreen-button class=\"media-button media-button--icon media-button--fullscreen\">\n ${renderIcon('fullscreen-enter', { class: 'media-icon media-icon--fullscreen-enter' })}\n ${renderIcon('fullscreen-exit', { class: 'media-icon media-icon--fullscreen-exit' })}\n </media-fullscreen-button>\n </media-controls>\n\n <div class=\"media-overlay\"></div>\n\n <slot name=\"media\"></slot>\n </media-container>\n `;\n}\n\nexport class VideoSkinElement extends SkinMixin(ReactiveElement) {\n static readonly tagName = 'video-skin';\n static getTemplateHTML = getTemplateHTML;\n}\n\ncustomElements.define(VideoSkinElement.tagName, VideoSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [VideoSkinElement.tagName]: VideoSkinElement;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAmBA,MAAM,YAAY;AAElB,SAAS,kBAAkB;AACzB,QAAgB;;;;YAIN,WAAW,WAAW,EAAE,OAAO,cAAc,CAAC,CAAC;;;;;;;;;;;;;;;;;;YAkB/C,WAAW,WAAW,EAAE,OAAO,kCAAkC,CAAC,CAAC;YACnE,WAAW,QAAQ,EAAE,OAAO,+BAA+B,CAAC,CAAC;YAC7D,WAAW,SAAS,EAAE,OAAO,gCAAgC,CAAC,CAAC;;;sCAGrC,CAAC,UAAU;;cAEnC,WAAW,QAAQ,EAAE,OAAO,kCAAkC,CAAC,CAAC;8CAChC,UAAU;;;;sCAIlB,UAAU;;cAElC,WAAW,QAAQ,EAAE,OAAO,cAAc,CAAC,CAAC;8CACZ,UAAU;;;;;;;;;;;;;;;;;;;;YAoB5C,WAAW,cAAc,EAAE,OAAO,qCAAqC,CAAC,CAAC;YACzE,WAAW,cAAc,EAAE,OAAO,qCAAqC,CAAC,CAAC;YACzE,WAAW,eAAe,EAAE,OAAO,sCAAsC,CAAC,CAAC;;;;;;;;;;;;;YAa3E,WAAW,gBAAgB,EAAE,OAAO,uCAAuC,CAAC,CAAC;YAC7E,WAAW,eAAe,EAAE,OAAO,sCAAsC,CAAC,CAAC;;;;YAI3E,WAAW,OAAO,EAAE,OAAO,cAAc,CAAC,CAAC;;;;YAI3C,WAAW,oBAAoB,EAAE,OAAO,2CAA2C,CAAC,CAAC;YACrF,WAAW,mBAAmB,EAAE,OAAO,0CAA0C,CAAC,CAAC;;;;;;;;;;AAW/F,IAAa,mBAAb,cAAsC,UAAU,gBAAgB,CAAC;;iBACrC;;;yBACD;;;AAG3B,eAAe,OAAO,iBAAiB,SAAS,iBAAiB"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { SkinMixin } from "../skin-mixin.js";
|
|
2
|
+
import "../media/container.js";
|
|
3
|
+
import "../ui/buffering-indicator.js";
|
|
4
|
+
import "../ui/controls.js";
|
|
5
|
+
import "../ui/fullscreen-button.js";
|
|
6
|
+
import "../ui/mute-button.js";
|
|
7
|
+
import "../ui/pip-button.js";
|
|
8
|
+
import "../ui/play-button.js";
|
|
9
|
+
import "../ui/playback-rate-button.js";
|
|
10
|
+
import "../ui/popover.js";
|
|
11
|
+
import "../ui/seek-button.js";
|
|
12
|
+
import "../ui/time.js";
|
|
13
|
+
import "../ui/time-slider.js";
|
|
14
|
+
import "../ui/volume-slider.js";
|
|
15
|
+
import { bufferingIndicator, button, controls, error, icon, iconContainer, iconFlipped, iconState, overlay, playbackRate, popup, root, seek, slider, time } from "../../skins/dist/default/video/default.tailwind.js";
|
|
16
|
+
import { renderIcon } from "../../icons/dist/render/default/index.js";
|
|
17
|
+
import { ReactiveElement } from "@videojs/element";
|
|
18
|
+
import { cn } from "@videojs/utils/style";
|
|
19
|
+
|
|
20
|
+
//#region src/define/video/skin.tailwind.ts
|
|
21
|
+
const SEEK_TIME = 10;
|
|
22
|
+
function getTemplateHTML() {
|
|
23
|
+
return `
|
|
24
|
+
<media-container class="${root}">
|
|
25
|
+
<media-buffering-indicator class="${bufferingIndicator.root}">
|
|
26
|
+
<div class="${bufferingIndicator.container}">
|
|
27
|
+
${renderIcon("spinner")}
|
|
28
|
+
</div>
|
|
29
|
+
</media-buffering-indicator>
|
|
30
|
+
|
|
31
|
+
<div class="${error.root}" role="alertdialog" aria-labelledby="media-error-title" aria-describedby="media-error-description">
|
|
32
|
+
<div class="${error.dialog}">
|
|
33
|
+
<div class="${error.content}">
|
|
34
|
+
<p id="media-error-title" class="${error.title}">Something went wrong.</p>
|
|
35
|
+
<p id="media-error-description" class="${error.description}">An error occurred while trying to play the video. Please try again.</p>
|
|
36
|
+
</div>
|
|
37
|
+
<div class="${error.actions}">
|
|
38
|
+
<button type="button" class="${cn(button.base, button.default)}">OK</button>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
|
|
43
|
+
<media-controls data-controls="" class="${controls}">
|
|
44
|
+
<media-play-button class="${cn(button.base, button.icon, iconState.play.button)}">
|
|
45
|
+
${renderIcon("restart", { class: cn(icon, iconState.play.restart) })}
|
|
46
|
+
${renderIcon("play", { class: cn(icon, iconState.play.play) })}
|
|
47
|
+
${renderIcon("pause", { class: cn(icon, iconState.play.pause) })}
|
|
48
|
+
</media-play-button>
|
|
49
|
+
|
|
50
|
+
<media-seek-button seconds="${-SEEK_TIME}" class="${cn(button.base, button.icon, seek.button)}">
|
|
51
|
+
<span class="${iconContainer}">
|
|
52
|
+
${renderIcon("seek", { class: cn(icon, iconFlipped) })}
|
|
53
|
+
<span class="${cn(seek.label, seek.labelBackward)}">${SEEK_TIME}</span>
|
|
54
|
+
</span>
|
|
55
|
+
</media-seek-button>
|
|
56
|
+
|
|
57
|
+
<media-seek-button seconds="${SEEK_TIME}" class="${cn(button.base, button.icon, seek.button)}">
|
|
58
|
+
<span class="${iconContainer}">
|
|
59
|
+
${renderIcon("seek", { class: icon })}
|
|
60
|
+
<span class="${cn(seek.label, seek.labelForward)}">${SEEK_TIME}</span>
|
|
61
|
+
</span>
|
|
62
|
+
</media-seek-button>
|
|
63
|
+
|
|
64
|
+
<media-time-group class="${time.group}">
|
|
65
|
+
<media-time type="current" class="${time.current}"></media-time>
|
|
66
|
+
<media-time-slider class="${slider.root}">
|
|
67
|
+
<media-slider-track class="${slider.track}">
|
|
68
|
+
<media-slider-fill class="${cn(slider.fill.base, slider.fill.fill)}"></media-slider-fill>
|
|
69
|
+
<media-slider-buffer class="${cn(slider.fill.base, slider.fill.buffer)}"></media-slider-buffer>
|
|
70
|
+
</media-slider-track>
|
|
71
|
+
<media-slider-thumb class="${cn(slider.thumb.base, slider.thumb.interactive)}"></media-slider-thumb>
|
|
72
|
+
</media-time-slider>
|
|
73
|
+
<media-time type="duration" class="${time.duration}"></media-time>
|
|
74
|
+
</media-time-group>
|
|
75
|
+
|
|
76
|
+
<media-playback-rate-button class="${cn(button.base, button.icon, playbackRate.button)}">
|
|
77
|
+
</media-playback-rate-button>
|
|
78
|
+
|
|
79
|
+
<media-mute-button commandfor="volume-popover" class="${cn(button.base, button.icon, iconState.mute.button)}">
|
|
80
|
+
${renderIcon("volume-off", { class: cn(icon, iconState.mute.volumeOff) })}
|
|
81
|
+
${renderIcon("volume-low", { class: cn(icon, iconState.mute.volumeLow) })}
|
|
82
|
+
${renderIcon("volume-high", { class: cn(icon, iconState.mute.volumeHigh) })}
|
|
83
|
+
</media-mute-button>
|
|
84
|
+
|
|
85
|
+
<media-popover id="volume-popover" open-on-hover delay="200" close-delay="100" side="top" class="${cn(popup.base, popup.volume)}">
|
|
86
|
+
<media-volume-slider class="${slider.root}" orientation="vertical" thumb-alignment="edge">
|
|
87
|
+
<media-slider-track class="${slider.track}">
|
|
88
|
+
<media-slider-fill class="${cn(slider.fill.base, slider.fill.fill)}"></media-slider-fill>
|
|
89
|
+
</media-slider-track>
|
|
90
|
+
<media-slider-thumb class="${cn(slider.thumb.base, slider.thumb.persistent)}"></media-slider-thumb>
|
|
91
|
+
</media-volume-slider>
|
|
92
|
+
</media-popover>
|
|
93
|
+
|
|
94
|
+
<!--<button type="button" class="${cn(button.base, button.icon)}" aria-label="Captions">
|
|
95
|
+
${renderIcon("captions-off", { class: icon })}
|
|
96
|
+
${renderIcon("captions-on", { class: icon })}
|
|
97
|
+
</button>-->
|
|
98
|
+
|
|
99
|
+
<media-pip-button class="${cn(button.base, button.icon)}">
|
|
100
|
+
${renderIcon("pip", { class: icon })}
|
|
101
|
+
</media-pip-button>
|
|
102
|
+
|
|
103
|
+
<media-fullscreen-button class="${cn(button.base, button.icon, iconState.fullscreen.button)}">
|
|
104
|
+
${renderIcon("fullscreen-enter", { class: cn(icon, iconState.fullscreen.enter) })}
|
|
105
|
+
${renderIcon("fullscreen-exit", { class: cn(icon, iconState.fullscreen.exit) })}
|
|
106
|
+
</media-fullscreen-button>
|
|
107
|
+
</media-controls>
|
|
108
|
+
|
|
109
|
+
<div class="${overlay}"></div>
|
|
110
|
+
|
|
111
|
+
<slot name="media"></slot>
|
|
112
|
+
</media-container>
|
|
113
|
+
`;
|
|
114
|
+
}
|
|
115
|
+
var VideoSkinTailwindElement = class extends SkinMixin(ReactiveElement) {
|
|
116
|
+
static {
|
|
117
|
+
this.tagName = "video-skin-tailwind";
|
|
118
|
+
}
|
|
119
|
+
static {
|
|
120
|
+
this.getTemplateHTML = getTemplateHTML;
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
customElements.define(VideoSkinTailwindElement.tagName, VideoSkinTailwindElement);
|
|
124
|
+
|
|
125
|
+
//#endregion
|
|
126
|
+
export { VideoSkinTailwindElement };
|
|
127
|
+
//# sourceMappingURL=skin.tailwind.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skin.tailwind.js","names":[],"sources":["../../../../src/define/video/skin.tailwind.ts"],"sourcesContent":["import { ReactiveElement } from '@videojs/element';\nimport { renderIcon } from '@videojs/icons/render';\nimport {\n bufferingIndicator,\n button,\n controls,\n error,\n icon,\n iconContainer,\n iconFlipped,\n iconState,\n overlay,\n playbackRate,\n popup,\n root,\n seek,\n slider,\n time,\n} from '@videojs/skins/video/default.tailwind';\nimport { cn } from '@videojs/utils/style';\nimport { SkinMixin } from '../skin-mixin';\n\n// Side-effect imports: register all custom elements used in the template.\nimport '../media/container';\nimport '../ui/buffering-indicator';\nimport '../ui/controls';\nimport '../ui/fullscreen-button';\nimport '../ui/mute-button';\nimport '../ui/pip-button';\nimport '../ui/play-button';\nimport '../ui/playback-rate-button';\nimport '../ui/popover';\nimport '../ui/seek-button';\nimport '../ui/time';\nimport '../ui/time-slider';\nimport '../ui/volume-slider';\n\nconst SEEK_TIME = 10;\n\nfunction getTemplateHTML() {\n return /*html*/ `\n <media-container class=\"${root}\">\n <media-buffering-indicator class=\"${bufferingIndicator.root}\">\n <div class=\"${bufferingIndicator.container}\">\n ${renderIcon('spinner')}\n </div>\n </media-buffering-indicator>\n\n <div class=\"${error.root}\" role=\"alertdialog\" aria-labelledby=\"media-error-title\" aria-describedby=\"media-error-description\">\n <div class=\"${error.dialog}\">\n <div class=\"${error.content}\">\n <p id=\"media-error-title\" class=\"${error.title}\">Something went wrong.</p>\n <p id=\"media-error-description\" class=\"${error.description}\">An error occurred while trying to play the video. Please try again.</p>\n </div>\n <div class=\"${error.actions}\">\n <button type=\"button\" class=\"${cn(button.base, button.default)}\">OK</button>\n </div>\n </div>\n </div>\n\n <media-controls data-controls=\"\" class=\"${controls}\">\n <media-play-button class=\"${cn(button.base, button.icon, iconState.play.button)}\">\n ${renderIcon('restart', { class: cn(icon, iconState.play.restart) })}\n ${renderIcon('play', { class: cn(icon, iconState.play.play) })}\n ${renderIcon('pause', { class: cn(icon, iconState.play.pause) })}\n </media-play-button>\n\n <media-seek-button seconds=\"${-SEEK_TIME}\" class=\"${cn(button.base, button.icon, seek.button)}\">\n <span class=\"${iconContainer}\">\n ${renderIcon('seek', { class: cn(icon, iconFlipped) })}\n <span class=\"${cn(seek.label, seek.labelBackward)}\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n\n <media-seek-button seconds=\"${SEEK_TIME}\" class=\"${cn(button.base, button.icon, seek.button)}\">\n <span class=\"${iconContainer}\">\n ${renderIcon('seek', { class: icon })}\n <span class=\"${cn(seek.label, seek.labelForward)}\">${SEEK_TIME}</span>\n </span>\n </media-seek-button>\n\n <media-time-group class=\"${time.group}\">\n <media-time type=\"current\" class=\"${time.current}\"></media-time>\n <media-time-slider class=\"${slider.root}\">\n <media-slider-track class=\"${slider.track}\">\n <media-slider-fill class=\"${cn(slider.fill.base, slider.fill.fill)}\"></media-slider-fill>\n <media-slider-buffer class=\"${cn(slider.fill.base, slider.fill.buffer)}\"></media-slider-buffer>\n </media-slider-track>\n <media-slider-thumb class=\"${cn(slider.thumb.base, slider.thumb.interactive)}\"></media-slider-thumb>\n </media-time-slider>\n <media-time type=\"duration\" class=\"${time.duration}\"></media-time>\n </media-time-group>\n\n <media-playback-rate-button class=\"${cn(button.base, button.icon, playbackRate.button)}\">\n </media-playback-rate-button>\n\n <media-mute-button commandfor=\"volume-popover\" class=\"${cn(button.base, button.icon, iconState.mute.button)}\">\n ${renderIcon('volume-off', { class: cn(icon, iconState.mute.volumeOff) })}\n ${renderIcon('volume-low', { class: cn(icon, iconState.mute.volumeLow) })}\n ${renderIcon('volume-high', { class: cn(icon, iconState.mute.volumeHigh) })}\n </media-mute-button>\n\n <media-popover id=\"volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"top\" class=\"${cn(popup.base, popup.volume)}\">\n <media-volume-slider class=\"${slider.root}\" orientation=\"vertical\" thumb-alignment=\"edge\">\n <media-slider-track class=\"${slider.track}\">\n <media-slider-fill class=\"${cn(slider.fill.base, slider.fill.fill)}\"></media-slider-fill>\n </media-slider-track>\n <media-slider-thumb class=\"${cn(slider.thumb.base, slider.thumb.persistent)}\"></media-slider-thumb>\n </media-volume-slider>\n </media-popover>\n\n <!--<button type=\"button\" class=\"${cn(button.base, button.icon)}\" aria-label=\"Captions\">\n ${renderIcon('captions-off', { class: icon })}\n ${renderIcon('captions-on', { class: icon })}\n </button>-->\n\n <media-pip-button class=\"${cn(button.base, button.icon)}\">\n ${renderIcon('pip', { class: icon })}\n </media-pip-button>\n\n <media-fullscreen-button class=\"${cn(button.base, button.icon, iconState.fullscreen.button)}\">\n ${renderIcon('fullscreen-enter', { class: cn(icon, iconState.fullscreen.enter) })}\n ${renderIcon('fullscreen-exit', { class: cn(icon, iconState.fullscreen.exit) })}\n </media-fullscreen-button>\n </media-controls>\n\n <div class=\"${overlay}\"></div>\n\n <slot name=\"media\"></slot>\n </media-container>\n `;\n}\n\nexport class VideoSkinTailwindElement extends SkinMixin(ReactiveElement) {\n static readonly tagName = 'video-skin-tailwind';\n static getTemplateHTML = getTemplateHTML;\n}\n\ncustomElements.define(VideoSkinTailwindElement.tagName, VideoSkinTailwindElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [VideoSkinTailwindElement.tagName]: VideoSkinTailwindElement;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAqCA,MAAM,YAAY;AAElB,SAAS,kBAAkB;AACzB,QAAgB;8BACY,KAAK;0CACO,mBAAmB,KAAK;sBAC5C,mBAAmB,UAAU;YACvC,WAAW,UAAU,CAAC;;;;oBAId,MAAM,KAAK;sBACT,MAAM,OAAO;wBACX,MAAM,QAAQ;+CACS,MAAM,MAAM;qDACN,MAAM,YAAY;;wBAE/C,MAAM,QAAQ;2CACK,GAAG,OAAO,MAAM,OAAO,QAAQ,CAAC;;;;;gDAK3B,SAAS;oCACrB,GAAG,OAAO,MAAM,OAAO,MAAM,UAAU,KAAK,OAAO,CAAC;YAC5E,WAAW,WAAW,EAAE,OAAO,GAAG,MAAM,UAAU,KAAK,QAAQ,EAAE,CAAC,CAAC;YACnE,WAAW,QAAQ,EAAE,OAAO,GAAG,MAAM,UAAU,KAAK,KAAK,EAAE,CAAC,CAAC;YAC7D,WAAW,SAAS,EAAE,OAAO,GAAG,MAAM,UAAU,KAAK,MAAM,EAAE,CAAC,CAAC;;;sCAGrC,CAAC,UAAU,WAAW,GAAG,OAAO,MAAM,OAAO,MAAM,KAAK,OAAO,CAAC;yBAC7E,cAAc;cACzB,WAAW,QAAQ,EAAE,OAAO,GAAG,MAAM,YAAY,EAAE,CAAC,CAAC;2BACxC,GAAG,KAAK,OAAO,KAAK,cAAc,CAAC,IAAI,UAAU;;;;sCAItC,UAAU,WAAW,GAAG,OAAO,MAAM,OAAO,MAAM,KAAK,OAAO,CAAC;yBAC5E,cAAc;cACzB,WAAW,QAAQ,EAAE,OAAO,MAAM,CAAC,CAAC;2BACvB,GAAG,KAAK,OAAO,KAAK,aAAa,CAAC,IAAI,UAAU;;;;mCAIxC,KAAK,MAAM;8CACA,KAAK,QAAQ;sCACrB,OAAO,KAAK;yCACT,OAAO,MAAM;0CACZ,GAAG,OAAO,KAAK,MAAM,OAAO,KAAK,KAAK,CAAC;4CACrC,GAAG,OAAO,KAAK,MAAM,OAAO,KAAK,OAAO,CAAC;;yCAE5C,GAAG,OAAO,MAAM,MAAM,OAAO,MAAM,YAAY,CAAC;;+CAE1C,KAAK,SAAS;;;6CAGhB,GAAG,OAAO,MAAM,OAAO,MAAM,aAAa,OAAO,CAAC;;;gEAG/B,GAAG,OAAO,MAAM,OAAO,MAAM,UAAU,KAAK,OAAO,CAAC;YACxG,WAAW,cAAc,EAAE,OAAO,GAAG,MAAM,UAAU,KAAK,UAAU,EAAE,CAAC,CAAC;YACxE,WAAW,cAAc,EAAE,OAAO,GAAG,MAAM,UAAU,KAAK,UAAU,EAAE,CAAC,CAAC;YACxE,WAAW,eAAe,EAAE,OAAO,GAAG,MAAM,UAAU,KAAK,WAAW,EAAE,CAAC,CAAC;;;2GAGqB,GAAG,MAAM,MAAM,MAAM,OAAO,CAAC;wCAChG,OAAO,KAAK;yCACX,OAAO,MAAM;0CACZ,GAAG,OAAO,KAAK,MAAM,OAAO,KAAK,KAAK,CAAC;;yCAExC,GAAG,OAAO,MAAM,MAAM,OAAO,MAAM,WAAW,CAAC;;;;2CAI7C,GAAG,OAAO,MAAM,OAAO,KAAK,CAAC;YAC5D,WAAW,gBAAgB,EAAE,OAAO,MAAM,CAAC,CAAC;YAC5C,WAAW,eAAe,EAAE,OAAO,MAAM,CAAC,CAAC;;;mCAGpB,GAAG,OAAO,MAAM,OAAO,KAAK,CAAC;YACpD,WAAW,OAAO,EAAE,OAAO,MAAM,CAAC,CAAC;;;0CAGL,GAAG,OAAO,MAAM,OAAO,MAAM,UAAU,WAAW,OAAO,CAAC;YACxF,WAAW,oBAAoB,EAAE,OAAO,GAAG,MAAM,UAAU,WAAW,MAAM,EAAE,CAAC,CAAC;YAChF,WAAW,mBAAmB,EAAE,OAAO,GAAG,MAAM,UAAU,WAAW,KAAK,EAAE,CAAC,CAAC;;;;oBAItE,QAAQ;;;;;;AAO5B,IAAa,2BAAb,cAA8C,UAAU,gBAAgB,CAAC;;iBAC7C;;;yBACD;;;AAG3B,eAAe,OAAO,yBAAyB,SAAS,yBAAyB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region ../icons/dist/render/default/index.js
|
|
2
|
+
const icons = {
|
|
3
|
+
"captions-off": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><rect width="16" height="12" x="1" y="3" stroke="currentColor" stroke-width="2" rx="3"/><rect width="3" height="2" x="3" y="8" fill="currentColor" rx="1"/><rect width="2" height="2" x="13" y="8" fill="currentColor" rx="1"/><rect width="4" height="2" x="11" y="11" fill="currentColor" rx="1"/><rect width="5" height="2" x="7" y="8" fill="currentColor" rx="1"/><rect width="7" height="2" x="3" y="11" fill="currentColor" rx="1"/></svg>`,
|
|
4
|
+
"captions-on": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><path fill="currentColor" d="M15 2a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3zM4 11a1 1 0 1 0 0 2h5a1 1 0 1 0 0-2zm8 0a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2zM4 8a1 1 0 0 0 0 2h1a1 1 0 0 0 0-2zm4 0a1 1 0 0 0 0 2h3a1 1 0 1 0 0-2zm6 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2"/></svg>`,
|
|
5
|
+
"fullscreen-enter": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><path fill="currentColor" d="M9.57 3.617A1 1 0 0 0 8.646 3H4c-.552 0-1 .449-1 1v4.646a.996.996 0 0 0 1.001 1 1 1 0 0 0 .706-.293l4.647-4.647a1 1 0 0 0 .216-1.089m4.812 4.812a1 1 0 0 0-1.089.217l-4.647 4.647a.998.998 0 0 0 .708 1.706H14c.552 0 1-.449 1-1V9.353a1 1 0 0 0-.618-.924"/></svg>`,
|
|
6
|
+
"fullscreen-exit": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><path fill="currentColor" d="M7.883 1.93a.99.99 0 0 0-1.09.217L2.146 6.793A.998.998 0 0 0 2.853 8.5H7.5c.551 0 1-.449 1-1V2.854a1 1 0 0 0-.617-.924m7.263 7.57H10.5c-.551 0-1 .449-1 1v4.646a.996.996 0 0 0 1.001 1.001 1 1 0 0 0 .706-.293l4.646-4.646a.998.998 0 0 0-.707-1.707z"/></svg>`,
|
|
7
|
+
"pause": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><rect width="5" height="14" x="2" y="2" fill="currentColor" rx="1.75"/><rect width="5" height="14" x="11" y="2" fill="currentColor" rx="1.75"/></svg>`,
|
|
8
|
+
"pip": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><path fill="currentColor" d="M13 2a4 4 0 0 1 4 4v2.035A3.5 3.5 0 0 0 16.5 8H15V6.273C15 5.018 13.96 4 12.679 4H4.32C3.04 4 2 5.018 2 6.273v5.454C2 12.982 3.04 14 4.321 14H6v1.5q0 .255.035.5H4a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4z"/><rect width="10" height="7" x="8" y="10" fill="currentColor" rx="2"/></svg>`,
|
|
9
|
+
"play": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><path fill="currentColor" d="m14.051 10.723-7.985 4.964a1.98 1.98 0 0 1-2.758-.638A2.06 2.06 0 0 1 3 13.964V4.036C3 2.91 3.895 2 5 2c.377 0 .747.109 1.066.313l7.985 4.964a2.057 2.057 0 0 1 .627 2.808c-.16.257-.373.475-.627.637"/></svg>`,
|
|
10
|
+
"restart": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><path fill="currentColor" d="M9 17a8 8 0 0 1-8-8h2a6 6 0 1 0 1.287-3.713l1.286 1.286A.25.25 0 0 1 5.396 7H1.25A.25.25 0 0 1 1 6.75V2.604a.25.25 0 0 1 .427-.177l1.438 1.438A8 8 0 1 1 9 17"/><path fill="currentColor" d="m11.61 9.639-3.331 2.07a.826.826 0 0 1-1.15-.266.86.86 0 0 1-.129-.452V6.849C7 6.38 7.374 6 7.834 6c.158 0 .312.045.445.13l3.331 2.071a.858.858 0 0 1 0 1.438"/></svg>`,
|
|
11
|
+
"seek": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><path fill="currentColor" d="M1 9c0 2.21.895 4.21 2.343 5.657l1.414-1.414a6 6 0 1 1 8.956-7.956l-1.286 1.286a.25.25 0 0 0 .177.427h4.146a.25.25 0 0 0 .25-.25V2.604a.25.25 0 0 0-.427-.177l-1.438 1.438A8 8 0 0 0 1 9"/></svg>`,
|
|
12
|
+
"spinner": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 18 18"><rect width="2" height="5" x="8" y=".5" opacity=".5" rx="1"><animate attributeName="opacity" begin="0s" calcMode="linear" dur="1s" repeatCount="indefinite" values="1;0"/></rect><rect width="2" height="5" x="12.243" y="2.257" opacity=".45" rx="1" transform="rotate(45 13.243 4.757)"><animate attributeName="opacity" begin="0.125s" calcMode="linear" dur="1s" repeatCount="indefinite" values="1;0"/></rect><rect width="5" height="2" x="12.5" y="8" opacity=".4" rx="1"><animate attributeName="opacity" begin="0.25s" calcMode="linear" dur="1s" repeatCount="indefinite" values="1;0"/></rect><rect width="5" height="2" x="10.743" y="12.243" opacity=".35" rx="1" transform="rotate(45 13.243 13.243)"><animate attributeName="opacity" begin="0.375s" calcMode="linear" dur="1s" repeatCount="indefinite" values="1;0"/></rect><rect width="2" height="5" x="8" y="12.5" opacity=".3" rx="1"><animate attributeName="opacity" begin="0.5s" calcMode="linear" dur="1s" repeatCount="indefinite" values="1;0"/></rect><rect width="2" height="5" x="3.757" y="10.743" opacity=".25" rx="1" transform="rotate(45 4.757 13.243)"><animate attributeName="opacity" begin="0.625s" calcMode="linear" dur="1s" repeatCount="indefinite" values="1;0"/></rect><rect width="5" height="2" x=".5" y="8" opacity=".15" rx="1"><animate attributeName="opacity" begin="0.75s" calcMode="linear" dur="1s" repeatCount="indefinite" values="1;0"/></rect><rect width="5" height="2" x="2.257" y="3.757" opacity=".1" rx="1" transform="rotate(45 4.757 4.757)"><animate attributeName="opacity" begin="0.875s" calcMode="linear" dur="1s" repeatCount="indefinite" values="1;0"/></rect></svg>`,
|
|
13
|
+
"volume-high": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><path fill="currentColor" d="M15.6 3.3c-.4-.4-1-.4-1.4 0s-.4 1 0 1.4C15.4 5.9 16 7.4 16 9s-.6 3.1-1.8 4.3c-.4.4-.4 1 0 1.4.2.2.5.3.7.3.3 0 .5-.1.7-.3C17.1 13.2 18 11.2 18 9s-.9-4.2-2.4-5.7"/><path fill="currentColor" d="M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752m10.568.59a.91.91 0 0 1 0-1.316.91.91 0 0 1 1.316 0c1.203 1.203 1.47 2.216 1.522 3.208q.012.255.011.51c0 1.16-.358 2.733-1.533 3.803a.7.7 0 0 1-.298.156c-.382.106-.873-.011-1.018-.156a.91.91 0 0 1 0-1.316c.57-.57.995-1.551.995-2.487 0-.944-.26-1.667-.995-2.402"/></svg>`,
|
|
14
|
+
"volume-low": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><path fill="currentColor" d="M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752m10.568.59a.91.91 0 0 1 0-1.316.91.91 0 0 1 1.316 0c1.203 1.203 1.47 2.216 1.522 3.208q.012.255.011.51c0 1.16-.358 2.733-1.533 3.803a.7.7 0 0 1-.298.156c-.382.106-.873-.011-1.018-.156a.91.91 0 0 1 0-1.316c.57-.57.995-1.551.995-2.487 0-.944-.26-1.667-.995-2.402"/></svg>`,
|
|
15
|
+
"volume-off": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><path fill="currentColor" d="M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752M14.5 7.586l-1.768-1.768a1 1 0 1 0-1.414 1.414L13.085 9l-1.767 1.768a1 1 0 0 0 1.414 1.414l1.768-1.768 1.768 1.768a1 1 0 0 0 1.414-1.414L15.914 9l1.768-1.768a1 1 0 0 0-1.414-1.414z"/></svg>`
|
|
16
|
+
};
|
|
17
|
+
function renderIcon(name, attrs) {
|
|
18
|
+
const svg = icons[name];
|
|
19
|
+
if (!svg) return "";
|
|
20
|
+
if (!attrs) return svg;
|
|
21
|
+
const attrStr = Object.entries(attrs).map(([k, v]) => ` ${k}="${v}"`).join("");
|
|
22
|
+
return svg.replace("<svg", `<svg${attrStr}`);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
//#endregion
|
|
26
|
+
export { renderIcon };
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../../icons/dist/render/default/index.js"],"sourcesContent":["const icons = {\n \"captions-off\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><rect width=\"16\" height=\"12\" x=\"1\" y=\"3\" stroke=\"currentColor\" stroke-width=\"2\" rx=\"3\"/><rect width=\"3\" height=\"2\" x=\"3\" y=\"8\" fill=\"currentColor\" rx=\"1\"/><rect width=\"2\" height=\"2\" x=\"13\" y=\"8\" fill=\"currentColor\" rx=\"1\"/><rect width=\"4\" height=\"2\" x=\"11\" y=\"11\" fill=\"currentColor\" rx=\"1\"/><rect width=\"5\" height=\"2\" x=\"7\" y=\"8\" fill=\"currentColor\" rx=\"1\"/><rect width=\"7\" height=\"2\" x=\"3\" y=\"11\" fill=\"currentColor\" rx=\"1\"/></svg>`,\n \"captions-on\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><path fill=\"currentColor\" d=\"M15 2a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3zM4 11a1 1 0 1 0 0 2h5a1 1 0 1 0 0-2zm8 0a1 1 0 1 0 0 2h2a1 1 0 1 0 0-2zM4 8a1 1 0 0 0 0 2h1a1 1 0 0 0 0-2zm4 0a1 1 0 0 0 0 2h3a1 1 0 1 0 0-2zm6 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2\"/></svg>`,\n \"fullscreen-enter\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><path fill=\"currentColor\" d=\"M9.57 3.617A1 1 0 0 0 8.646 3H4c-.552 0-1 .449-1 1v4.646a.996.996 0 0 0 1.001 1 1 1 0 0 0 .706-.293l4.647-4.647a1 1 0 0 0 .216-1.089m4.812 4.812a1 1 0 0 0-1.089.217l-4.647 4.647a.998.998 0 0 0 .708 1.706H14c.552 0 1-.449 1-1V9.353a1 1 0 0 0-.618-.924\"/></svg>`,\n \"fullscreen-exit\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><path fill=\"currentColor\" d=\"M7.883 1.93a.99.99 0 0 0-1.09.217L2.146 6.793A.998.998 0 0 0 2.853 8.5H7.5c.551 0 1-.449 1-1V2.854a1 1 0 0 0-.617-.924m7.263 7.57H10.5c-.551 0-1 .449-1 1v4.646a.996.996 0 0 0 1.001 1.001 1 1 0 0 0 .706-.293l4.646-4.646a.998.998 0 0 0-.707-1.707z\"/></svg>`,\n \"pause\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><rect width=\"5\" height=\"14\" x=\"2\" y=\"2\" fill=\"currentColor\" rx=\"1.75\"/><rect width=\"5\" height=\"14\" x=\"11\" y=\"2\" fill=\"currentColor\" rx=\"1.75\"/></svg>`,\n \"pip\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><path fill=\"currentColor\" d=\"M13 2a4 4 0 0 1 4 4v2.035A3.5 3.5 0 0 0 16.5 8H15V6.273C15 5.018 13.96 4 12.679 4H4.32C3.04 4 2 5.018 2 6.273v5.454C2 12.982 3.04 14 4.321 14H6v1.5q0 .255.035.5H4a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4z\"/><rect width=\"10\" height=\"7\" x=\"8\" y=\"10\" fill=\"currentColor\" rx=\"2\"/></svg>`,\n \"play\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><path fill=\"currentColor\" d=\"m14.051 10.723-7.985 4.964a1.98 1.98 0 0 1-2.758-.638A2.06 2.06 0 0 1 3 13.964V4.036C3 2.91 3.895 2 5 2c.377 0 .747.109 1.066.313l7.985 4.964a2.057 2.057 0 0 1 .627 2.808c-.16.257-.373.475-.627.637\"/></svg>`,\n \"restart\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><path fill=\"currentColor\" d=\"M9 17a8 8 0 0 1-8-8h2a6 6 0 1 0 1.287-3.713l1.286 1.286A.25.25 0 0 1 5.396 7H1.25A.25.25 0 0 1 1 6.75V2.604a.25.25 0 0 1 .427-.177l1.438 1.438A8 8 0 1 1 9 17\"/><path fill=\"currentColor\" d=\"m11.61 9.639-3.331 2.07a.826.826 0 0 1-1.15-.266.86.86 0 0 1-.129-.452V6.849C7 6.38 7.374 6 7.834 6c.158 0 .312.045.445.13l3.331 2.071a.858.858 0 0 1 0 1.438\"/></svg>`,\n \"seek\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><path fill=\"currentColor\" d=\"M1 9c0 2.21.895 4.21 2.343 5.657l1.414-1.414a6 6 0 1 1 8.956-7.956l-1.286 1.286a.25.25 0 0 0 .177.427h4.146a.25.25 0 0 0 .25-.25V2.604a.25.25 0 0 0-.427-.177l-1.438 1.438A8 8 0 0 0 1 9\"/></svg>`,\n \"spinner\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" viewBox=\"0 0 18 18\"><rect width=\"2\" height=\"5\" x=\"8\" y=\".5\" opacity=\".5\" rx=\"1\"><animate attributeName=\"opacity\" begin=\"0s\" calcMode=\"linear\" dur=\"1s\" repeatCount=\"indefinite\" values=\"1;0\"/></rect><rect width=\"2\" height=\"5\" x=\"12.243\" y=\"2.257\" opacity=\".45\" rx=\"1\" transform=\"rotate(45 13.243 4.757)\"><animate attributeName=\"opacity\" begin=\"0.125s\" calcMode=\"linear\" dur=\"1s\" repeatCount=\"indefinite\" values=\"1;0\"/></rect><rect width=\"5\" height=\"2\" x=\"12.5\" y=\"8\" opacity=\".4\" rx=\"1\"><animate attributeName=\"opacity\" begin=\"0.25s\" calcMode=\"linear\" dur=\"1s\" repeatCount=\"indefinite\" values=\"1;0\"/></rect><rect width=\"5\" height=\"2\" x=\"10.743\" y=\"12.243\" opacity=\".35\" rx=\"1\" transform=\"rotate(45 13.243 13.243)\"><animate attributeName=\"opacity\" begin=\"0.375s\" calcMode=\"linear\" dur=\"1s\" repeatCount=\"indefinite\" values=\"1;0\"/></rect><rect width=\"2\" height=\"5\" x=\"8\" y=\"12.5\" opacity=\".3\" rx=\"1\"><animate attributeName=\"opacity\" begin=\"0.5s\" calcMode=\"linear\" dur=\"1s\" repeatCount=\"indefinite\" values=\"1;0\"/></rect><rect width=\"2\" height=\"5\" x=\"3.757\" y=\"10.743\" opacity=\".25\" rx=\"1\" transform=\"rotate(45 4.757 13.243)\"><animate attributeName=\"opacity\" begin=\"0.625s\" calcMode=\"linear\" dur=\"1s\" repeatCount=\"indefinite\" values=\"1;0\"/></rect><rect width=\"5\" height=\"2\" x=\".5\" y=\"8\" opacity=\".15\" rx=\"1\"><animate attributeName=\"opacity\" begin=\"0.75s\" calcMode=\"linear\" dur=\"1s\" repeatCount=\"indefinite\" values=\"1;0\"/></rect><rect width=\"5\" height=\"2\" x=\"2.257\" y=\"3.757\" opacity=\".1\" rx=\"1\" transform=\"rotate(45 4.757 4.757)\"><animate attributeName=\"opacity\" begin=\"0.875s\" calcMode=\"linear\" dur=\"1s\" repeatCount=\"indefinite\" values=\"1;0\"/></rect></svg>`,\n \"volume-high\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><path fill=\"currentColor\" d=\"M15.6 3.3c-.4-.4-1-.4-1.4 0s-.4 1 0 1.4C15.4 5.9 16 7.4 16 9s-.6 3.1-1.8 4.3c-.4.4-.4 1 0 1.4.2.2.5.3.7.3.3 0 .5-.1.7-.3C17.1 13.2 18 11.2 18 9s-.9-4.2-2.4-5.7\"/><path fill=\"currentColor\" d=\"M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752m10.568.59a.91.91 0 0 1 0-1.316.91.91 0 0 1 1.316 0c1.203 1.203 1.47 2.216 1.522 3.208q.012.255.011.51c0 1.16-.358 2.733-1.533 3.803a.7.7 0 0 1-.298.156c-.382.106-.873-.011-1.018-.156a.91.91 0 0 1 0-1.316c.57-.57.995-1.551.995-2.487 0-.944-.26-1.667-.995-2.402\"/></svg>`,\n \"volume-low\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><path fill=\"currentColor\" d=\"M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752m10.568.59a.91.91 0 0 1 0-1.316.91.91 0 0 1 1.316 0c1.203 1.203 1.47 2.216 1.522 3.208q.012.255.011.51c0 1.16-.358 2.733-1.533 3.803a.7.7 0 0 1-.298.156c-.382.106-.873-.011-1.018-.156a.91.91 0 0 1 0-1.316c.57-.57.995-1.551.995-2.487 0-.944-.26-1.667-.995-2.402\"/></svg>`,\n \"volume-off\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><path fill=\"currentColor\" d=\"M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752M14.5 7.586l-1.768-1.768a1 1 0 1 0-1.414 1.414L13.085 9l-1.767 1.768a1 1 0 0 0 1.414 1.414l1.768-1.768 1.768 1.768a1 1 0 0 0 1.414-1.414L15.914 9l1.768-1.768a1 1 0 0 0-1.414-1.414z\"/></svg>`,\n};\n\nexport function renderIcon(name, attrs) {\n const svg = icons[name];\n if (!svg) return '';\n if (!attrs) return svg;\n const attrStr = Object.entries(attrs)\n .map(([k, v]) => ` ${k}=\"${v}\"`)\n .join('');\n return svg.replace('<svg', `<svg${attrStr}`);\n}\n"],"mappings":";AAAA,MAAM,QAAQ;CACZ,gBAAgB;CAChB,eAAe;CACf,oBAAoB;CACpB,mBAAmB;CACnB,SAAS;CACT,OAAO;CACP,QAAQ;CACR,WAAW;CACX,QAAQ;CACR,WAAW;CACX,eAAe;CACf,cAAc;CACd,cAAc;CACf;AAED,SAAgB,WAAW,MAAM,OAAO;CACtC,MAAM,MAAM,MAAM;AAClB,KAAI,CAAC,IAAK,QAAO;AACjB,KAAI,CAAC,MAAO,QAAO;CACnB,MAAM,UAAU,OAAO,QAAQ,MAAM,CAClC,KAAK,CAAC,GAAG,OAAO,IAAI,EAAE,IAAI,EAAE,GAAG,CAC/B,KAAK,GAAG;AACX,QAAO,IAAI,QAAQ,QAAQ,OAAO,UAAU"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region ../icons/dist/render/minimal/index.js
|
|
2
|
+
const icons = {
|
|
3
|
+
"captions-off": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><rect width="16.5" height="12.5" x=".75" y="2.75" stroke="currentColor" stroke-width="1.5" rx="3"/><rect width="3" height="1.5" x="3" y="8.5" fill="currentColor" rx=".75"/><rect width="2" height="1.5" x="13" y="8.5" fill="currentColor" rx=".75"/><rect width="4" height="1.5" x="11" y="11.5" fill="currentColor" rx=".75"/><rect width="5" height="1.5" x="7" y="8.5" fill="currentColor" rx=".75"/><rect width="7" height="1.5" x="3" y="11.5" fill="currentColor" rx=".75"/></svg>`,
|
|
4
|
+
"captions-on": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><path fill="currentColor" d="M15 2a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3zM3.75 11.5a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5zm8 0a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5zm-8-3a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5zm4 0a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5zm6 0a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5z"/></svg>`,
|
|
5
|
+
"fullscreen-enter": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><path fill="currentColor" d="M15.25 2a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-1.5 0V3.5h-3.75a.75.75 0 0 1-.743-.648L10 2.75a.75.75 0 0 1 .75-.75z"/><path fill="currentColor" d="M14.72 2.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 1 1-1.06-1.06zM2.75 10a.75.75 0 0 1 .75.75v3.75h3.75a.75.75 0 0 1 .743.648L8 15.25a.75.75 0 0 1-.75.75h-4.5a.75.75 0 0 1-.75-.75v-4.5a.75.75 0 0 1 .75-.75"/><path fill="currentColor" d="M6.72 10.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 0 1-1.06-1.06z"/></svg>`,
|
|
6
|
+
"fullscreen-exit": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><path fill="currentColor" d="M10.75 2a.75.75 0 0 1 .75.75V6.5h3.75a.75.75 0 0 1 .743.648L16 7.25a.75.75 0 0 1-.75.75h-4.5a.75.75 0 0 1-.75-.75v-4.5a.75.75 0 0 1 .75-.75"/><path fill="currentColor" d="M14.72 2.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 1 1-1.06-1.06zM7.25 10a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-1.5 0V11.5H2.75a.75.75 0 0 1-.743-.648L2 10.75a.75.75 0 0 1 .75-.75z"/><path fill="currentColor" d="M6.72 10.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 0 1-1.06-1.06z"/></svg>`,
|
|
7
|
+
"pause": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><rect width="4" height="12" x="3" y="3" fill="currentColor" rx="1.75"/><rect width="4" height="12" x="11" y="3" fill="currentColor" rx="1.75"/></svg>`,
|
|
8
|
+
"pip": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><path fill="currentColor" d="M13 2a4 4 0 0 1 4 4v2.645a3.5 3.5 0 0 0-1-.145h-.5V6A2.5 2.5 0 0 0 13 3.5H4A2.5 2.5 0 0 0 1.5 6v6A2.5 2.5 0 0 0 4 14.5h2.5v.5c0 .347.05.683.145 1H4a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4z"/><rect width="10" height="7" x="8" y="10" fill="currentColor" rx="2"/></svg>`,
|
|
9
|
+
"play": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><path fill="currentColor" d="m13.473 10.476-6.845 4.256a1.697 1.697 0 0 1-2.364-.547 1.77 1.77 0 0 1-.264-.93v-8.51C4 3.78 4.768 3 5.714 3c.324 0 .64.093.914.268l6.845 4.255a1.763 1.763 0 0 1 0 2.953"/></svg>`,
|
|
10
|
+
"restart": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><path fill="currentColor" d="M9 17a8 8 0 0 1-8-8h1.5a6.5 6.5 0 1 0 1.43-4.07l1.643 1.643A.25.25 0 0 1 5.396 7H1.25A.25.25 0 0 1 1 6.75V2.604a.25.25 0 0 1 .427-.177l1.438 1.438A8 8 0 1 1 9 17"/><path fill="currentColor" d="m11.61 9.639-3.331 2.07a.826.826 0 0 1-1.15-.266.86.86 0 0 1-.129-.452V6.849C7 6.38 7.374 6 7.834 6c.158 0 .312.045.445.13l3.331 2.071a.858.858 0 0 1 0 1.438"/></svg>`,
|
|
11
|
+
"seek": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><path fill="currentColor" d="M1 9c0 2.21.895 4.21 2.343 5.657l1.06-1.06a6.5 6.5 0 1 1 9.665-8.665l-1.641 1.641a.25.25 0 0 0 .177.427h4.146a.25.25 0 0 0 .25-.25V2.604a.25.25 0 0 0-.427-.177l-1.438 1.438A8 8 0 0 0 1 9"/></svg>`,
|
|
12
|
+
"spinner": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 18 18"><rect width="2" height="5" x="8" y=".5" opacity=".5" rx="1"><animate attributeName="opacity" begin="0s" calcMode="linear" dur="1s" repeatCount="indefinite" values="1;0"/></rect><rect width="2" height="5" x="12.243" y="2.257" opacity=".45" rx="1" transform="rotate(45 13.243 4.757)"><animate attributeName="opacity" begin="0.125s" calcMode="linear" dur="1s" repeatCount="indefinite" values="1;0"/></rect><rect width="5" height="2" x="12.5" y="8" opacity=".4" rx="1"><animate attributeName="opacity" begin="0.25s" calcMode="linear" dur="1s" repeatCount="indefinite" values="1;0"/></rect><rect width="5" height="2" x="10.743" y="12.243" opacity=".35" rx="1" transform="rotate(45 13.243 13.243)"><animate attributeName="opacity" begin="0.375s" calcMode="linear" dur="1s" repeatCount="indefinite" values="1;0"/></rect><rect width="2" height="5" x="8" y="12.5" opacity=".3" rx="1"><animate attributeName="opacity" begin="0.5s" calcMode="linear" dur="1s" repeatCount="indefinite" values="1;0"/></rect><rect width="2" height="5" x="3.757" y="10.743" opacity=".25" rx="1" transform="rotate(45 4.757 13.243)"><animate attributeName="opacity" begin="0.625s" calcMode="linear" dur="1s" repeatCount="indefinite" values="1;0"/></rect><rect width="5" height="2" x=".5" y="8" opacity=".15" rx="1"><animate attributeName="opacity" begin="0.75s" calcMode="linear" dur="1s" repeatCount="indefinite" values="1;0"/></rect><rect width="5" height="2" x="2.257" y="3.757" opacity=".1" rx="1" transform="rotate(45 4.757 4.757)"><animate attributeName="opacity" begin="0.875s" calcMode="linear" dur="1s" repeatCount="indefinite" values="1;0"/></rect></svg>`,
|
|
13
|
+
"volume-high": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><path fill="currentColor" d="M15.6 3.3c-.4-.4-1-.4-1.4 0s-.4 1 0 1.4C15.4 5.9 16 7.4 16 9s-.6 3.1-1.8 4.3c-.4.4-.4 1 0 1.4.2.2.5.3.7.3.3 0 .5-.1.7-.3C17.1 13.2 18 11.2 18 9s-.9-4.2-2.4-5.7"/><path fill="currentColor" d="M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752m10.568.59a.91.91 0 0 1 0-1.316.91.91 0 0 1 1.316 0c1.203 1.203 1.47 2.216 1.522 3.208q.012.255.011.51c0 1.16-.358 2.733-1.533 3.803a.7.7 0 0 1-.298.156c-.382.106-.873-.011-1.018-.156a.91.91 0 0 1 0-1.316c.57-.57.995-1.551.995-2.487 0-.944-.26-1.667-.995-2.402"/></svg>`,
|
|
14
|
+
"volume-low": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><path fill="currentColor" d="M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752m10.568.59a.91.91 0 0 1 0-1.316.91.91 0 0 1 1.316 0c1.203 1.203 1.47 2.216 1.522 3.208q.012.255.011.51c0 1.16-.358 2.733-1.533 3.803a.7.7 0 0 1-.298.156c-.382.106-.873-.011-1.018-.156a.91.91 0 0 1 0-1.316c.57-.57.995-1.551.995-2.487 0-.944-.26-1.667-.995-2.402"/></svg>`,
|
|
15
|
+
"volume-off": `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"><path fill="currentColor" d="M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752M14.5 7.586l-1.768-1.768a1 1 0 1 0-1.414 1.414L13.085 9l-1.767 1.768a1 1 0 0 0 1.414 1.414l1.768-1.768 1.768 1.768a1 1 0 0 0 1.414-1.414L15.914 9l1.768-1.768a1 1 0 0 0-1.414-1.414z"/></svg>`
|
|
16
|
+
};
|
|
17
|
+
function renderIcon(name, attrs) {
|
|
18
|
+
const svg = icons[name];
|
|
19
|
+
if (!svg) return "";
|
|
20
|
+
if (!attrs) return svg;
|
|
21
|
+
const attrStr = Object.entries(attrs).map(([k, v]) => ` ${k}="${v}"`).join("");
|
|
22
|
+
return svg.replace("<svg", `<svg${attrStr}`);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
//#endregion
|
|
26
|
+
export { renderIcon };
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../../icons/dist/render/minimal/index.js"],"sourcesContent":["const icons = {\n \"captions-off\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><rect width=\"16.5\" height=\"12.5\" x=\".75\" y=\"2.75\" stroke=\"currentColor\" stroke-width=\"1.5\" rx=\"3\"/><rect width=\"3\" height=\"1.5\" x=\"3\" y=\"8.5\" fill=\"currentColor\" rx=\".75\"/><rect width=\"2\" height=\"1.5\" x=\"13\" y=\"8.5\" fill=\"currentColor\" rx=\".75\"/><rect width=\"4\" height=\"1.5\" x=\"11\" y=\"11.5\" fill=\"currentColor\" rx=\".75\"/><rect width=\"5\" height=\"1.5\" x=\"7\" y=\"8.5\" fill=\"currentColor\" rx=\".75\"/><rect width=\"7\" height=\"1.5\" x=\"3\" y=\"11.5\" fill=\"currentColor\" rx=\".75\"/></svg>`,\n \"captions-on\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><path fill=\"currentColor\" d=\"M15 2a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3zM3.75 11.5a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5zm8 0a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5zm-8-3a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5zm4 0a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5zm6 0a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5z\"/></svg>`,\n \"fullscreen-enter\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><path fill=\"currentColor\" d=\"M15.25 2a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-1.5 0V3.5h-3.75a.75.75 0 0 1-.743-.648L10 2.75a.75.75 0 0 1 .75-.75z\"/><path fill=\"currentColor\" d=\"M14.72 2.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 1 1-1.06-1.06zM2.75 10a.75.75 0 0 1 .75.75v3.75h3.75a.75.75 0 0 1 .743.648L8 15.25a.75.75 0 0 1-.75.75h-4.5a.75.75 0 0 1-.75-.75v-4.5a.75.75 0 0 1 .75-.75\"/><path fill=\"currentColor\" d=\"M6.72 10.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 0 1-1.06-1.06z\"/></svg>`,\n \"fullscreen-exit\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><path fill=\"currentColor\" d=\"M10.75 2a.75.75 0 0 1 .75.75V6.5h3.75a.75.75 0 0 1 .743.648L16 7.25a.75.75 0 0 1-.75.75h-4.5a.75.75 0 0 1-.75-.75v-4.5a.75.75 0 0 1 .75-.75\"/><path fill=\"currentColor\" d=\"M14.72 2.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 1 1-1.06-1.06zM7.25 10a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-1.5 0V11.5H2.75a.75.75 0 0 1-.743-.648L2 10.75a.75.75 0 0 1 .75-.75z\"/><path fill=\"currentColor\" d=\"M6.72 10.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 0 1-1.06-1.06z\"/></svg>`,\n \"pause\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><rect width=\"4\" height=\"12\" x=\"3\" y=\"3\" fill=\"currentColor\" rx=\"1.75\"/><rect width=\"4\" height=\"12\" x=\"11\" y=\"3\" fill=\"currentColor\" rx=\"1.75\"/></svg>`,\n \"pip\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><path fill=\"currentColor\" d=\"M13 2a4 4 0 0 1 4 4v2.645a3.5 3.5 0 0 0-1-.145h-.5V6A2.5 2.5 0 0 0 13 3.5H4A2.5 2.5 0 0 0 1.5 6v6A2.5 2.5 0 0 0 4 14.5h2.5v.5c0 .347.05.683.145 1H4a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4z\"/><rect width=\"10\" height=\"7\" x=\"8\" y=\"10\" fill=\"currentColor\" rx=\"2\"/></svg>`,\n \"play\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><path fill=\"currentColor\" d=\"m13.473 10.476-6.845 4.256a1.697 1.697 0 0 1-2.364-.547 1.77 1.77 0 0 1-.264-.93v-8.51C4 3.78 4.768 3 5.714 3c.324 0 .64.093.914.268l6.845 4.255a1.763 1.763 0 0 1 0 2.953\"/></svg>`,\n \"restart\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><path fill=\"currentColor\" d=\"M9 17a8 8 0 0 1-8-8h1.5a6.5 6.5 0 1 0 1.43-4.07l1.643 1.643A.25.25 0 0 1 5.396 7H1.25A.25.25 0 0 1 1 6.75V2.604a.25.25 0 0 1 .427-.177l1.438 1.438A8 8 0 1 1 9 17\"/><path fill=\"currentColor\" d=\"m11.61 9.639-3.331 2.07a.826.826 0 0 1-1.15-.266.86.86 0 0 1-.129-.452V6.849C7 6.38 7.374 6 7.834 6c.158 0 .312.045.445.13l3.331 2.071a.858.858 0 0 1 0 1.438\"/></svg>`,\n \"seek\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><path fill=\"currentColor\" d=\"M1 9c0 2.21.895 4.21 2.343 5.657l1.06-1.06a6.5 6.5 0 1 1 9.665-8.665l-1.641 1.641a.25.25 0 0 0 .177.427h4.146a.25.25 0 0 0 .25-.25V2.604a.25.25 0 0 0-.427-.177l-1.438 1.438A8 8 0 0 0 1 9\"/></svg>`,\n \"spinner\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"currentColor\" viewBox=\"0 0 18 18\"><rect width=\"2\" height=\"5\" x=\"8\" y=\".5\" opacity=\".5\" rx=\"1\"><animate attributeName=\"opacity\" begin=\"0s\" calcMode=\"linear\" dur=\"1s\" repeatCount=\"indefinite\" values=\"1;0\"/></rect><rect width=\"2\" height=\"5\" x=\"12.243\" y=\"2.257\" opacity=\".45\" rx=\"1\" transform=\"rotate(45 13.243 4.757)\"><animate attributeName=\"opacity\" begin=\"0.125s\" calcMode=\"linear\" dur=\"1s\" repeatCount=\"indefinite\" values=\"1;0\"/></rect><rect width=\"5\" height=\"2\" x=\"12.5\" y=\"8\" opacity=\".4\" rx=\"1\"><animate attributeName=\"opacity\" begin=\"0.25s\" calcMode=\"linear\" dur=\"1s\" repeatCount=\"indefinite\" values=\"1;0\"/></rect><rect width=\"5\" height=\"2\" x=\"10.743\" y=\"12.243\" opacity=\".35\" rx=\"1\" transform=\"rotate(45 13.243 13.243)\"><animate attributeName=\"opacity\" begin=\"0.375s\" calcMode=\"linear\" dur=\"1s\" repeatCount=\"indefinite\" values=\"1;0\"/></rect><rect width=\"2\" height=\"5\" x=\"8\" y=\"12.5\" opacity=\".3\" rx=\"1\"><animate attributeName=\"opacity\" begin=\"0.5s\" calcMode=\"linear\" dur=\"1s\" repeatCount=\"indefinite\" values=\"1;0\"/></rect><rect width=\"2\" height=\"5\" x=\"3.757\" y=\"10.743\" opacity=\".25\" rx=\"1\" transform=\"rotate(45 4.757 13.243)\"><animate attributeName=\"opacity\" begin=\"0.625s\" calcMode=\"linear\" dur=\"1s\" repeatCount=\"indefinite\" values=\"1;0\"/></rect><rect width=\"5\" height=\"2\" x=\".5\" y=\"8\" opacity=\".15\" rx=\"1\"><animate attributeName=\"opacity\" begin=\"0.75s\" calcMode=\"linear\" dur=\"1s\" repeatCount=\"indefinite\" values=\"1;0\"/></rect><rect width=\"5\" height=\"2\" x=\"2.257\" y=\"3.757\" opacity=\".1\" rx=\"1\" transform=\"rotate(45 4.757 4.757)\"><animate attributeName=\"opacity\" begin=\"0.875s\" calcMode=\"linear\" dur=\"1s\" repeatCount=\"indefinite\" values=\"1;0\"/></rect></svg>`,\n \"volume-high\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><path fill=\"currentColor\" d=\"M15.6 3.3c-.4-.4-1-.4-1.4 0s-.4 1 0 1.4C15.4 5.9 16 7.4 16 9s-.6 3.1-1.8 4.3c-.4.4-.4 1 0 1.4.2.2.5.3.7.3.3 0 .5-.1.7-.3C17.1 13.2 18 11.2 18 9s-.9-4.2-2.4-5.7\"/><path fill=\"currentColor\" d=\"M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752m10.568.59a.91.91 0 0 1 0-1.316.91.91 0 0 1 1.316 0c1.203 1.203 1.47 2.216 1.522 3.208q.012.255.011.51c0 1.16-.358 2.733-1.533 3.803a.7.7 0 0 1-.298.156c-.382.106-.873-.011-1.018-.156a.91.91 0 0 1 0-1.316c.57-.57.995-1.551.995-2.487 0-.944-.26-1.667-.995-2.402\"/></svg>`,\n \"volume-low\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><path fill=\"currentColor\" d=\"M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752m10.568.59a.91.91 0 0 1 0-1.316.91.91 0 0 1 1.316 0c1.203 1.203 1.47 2.216 1.522 3.208q.012.255.011.51c0 1.16-.358 2.733-1.533 3.803a.7.7 0 0 1-.298.156c-.382.106-.873-.011-1.018-.156a.91.91 0 0 1 0-1.316c.57-.57.995-1.551.995-2.487 0-.944-.26-1.667-.995-2.402\"/></svg>`,\n \"volume-off\": `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 18 18\"><path fill=\"currentColor\" d=\"M.714 6.008h3.072l4.071-3.857c.5-.376 1.143 0 1.143.601V15.28c0 .602-.643.903-1.143.602l-4.071-3.858H.714c-.428 0-.714-.3-.714-.752V6.76c0-.451.286-.752.714-.752M14.5 7.586l-1.768-1.768a1 1 0 1 0-1.414 1.414L13.085 9l-1.767 1.768a1 1 0 0 0 1.414 1.414l1.768-1.768 1.768 1.768a1 1 0 0 0 1.414-1.414L15.914 9l1.768-1.768a1 1 0 0 0-1.414-1.414z\"/></svg>`,\n};\n\nexport function renderIcon(name, attrs) {\n const svg = icons[name];\n if (!svg) return '';\n if (!attrs) return svg;\n const attrStr = Object.entries(attrs)\n .map(([k, v]) => ` ${k}=\"${v}\"`)\n .join('');\n return svg.replace('<svg', `<svg${attrStr}`);\n}\n"],"mappings":";AAAA,MAAM,QAAQ;CACZ,gBAAgB;CAChB,eAAe;CACf,oBAAoB;CACpB,mBAAmB;CACnB,SAAS;CACT,OAAO;CACP,QAAQ;CACR,WAAW;CACX,QAAQ;CACR,WAAW;CACX,eAAe;CACf,cAAc;CACd,cAAc;CACf;AAED,SAAgB,WAAW,MAAM,OAAO;CACtC,MAAM,MAAM,MAAM;AAClB,KAAI,CAAC,IAAK,QAAO;AACjB,KAAI,CAAC,MAAO,QAAO;CACnB,MAAM,UAAU,OAAO,QAAQ,MAAM,CAClC,KAAK,CAAC,GAAG,OAAO,IAAI,EAAE,IAAI,EAAE,GAAG,CAC/B,KAAK,GAAG;AACX,QAAO,IAAI,QAAQ,QAAQ,OAAO,UAAU"}
|
package/dist/default/index.js
CHANGED
|
@@ -1,24 +1,38 @@
|
|
|
1
1
|
import { PLAYER_CONTEXT_KEY, playerContext } from "./player/context.js";
|
|
2
2
|
import { createContainerMixin } from "./store/container-mixin.js";
|
|
3
|
-
import { createProviderMixin } from "./store/provider-mixin.js";
|
|
4
3
|
import { MediaElement } from "./ui/media-element.js";
|
|
4
|
+
import { MediaContainerElement } from "./media/container-element.js";
|
|
5
|
+
import { createProviderMixin } from "./store/provider-mixin.js";
|
|
5
6
|
import { PlayerController } from "./player/player-controller.js";
|
|
6
|
-
import { createPlayerMixin } from "./player/player-mixin.js";
|
|
7
7
|
import { createPlayer } from "./player/create-player.js";
|
|
8
8
|
import { BufferingIndicatorElement } from "./ui/buffering-indicator/buffering-indicator-element.js";
|
|
9
9
|
import { ControlsElement } from "./ui/controls/controls-element.js";
|
|
10
10
|
import { ControlsGroupElement } from "./ui/controls/controls-group-element.js";
|
|
11
|
+
import { MediaButtonElement } from "./ui/media-button-element.js";
|
|
11
12
|
import { FullscreenButtonElement } from "./ui/fullscreen-button/fullscreen-button-element.js";
|
|
13
|
+
import { MediaUIElement } from "./ui/media-ui-element.js";
|
|
12
14
|
import { MuteButtonElement } from "./ui/mute-button/mute-button-element.js";
|
|
13
15
|
import { PiPButtonElement } from "./ui/pip-button/pip-button-element.js";
|
|
14
16
|
import { PlayButtonElement } from "./ui/play-button/play-button-element.js";
|
|
17
|
+
import { PlaybackRateButtonElement } from "./ui/playback-rate-button/playback-rate-button-element.js";
|
|
18
|
+
import { PopoverElement } from "./ui/popover/popover-element.js";
|
|
15
19
|
import { PosterElement } from "./ui/poster/poster-element.js";
|
|
16
20
|
import { SeekButtonElement } from "./ui/seek-button/seek-button-element.js";
|
|
21
|
+
import { sliderContext } from "./ui/slider/context.js";
|
|
22
|
+
import { SliderBufferElement } from "./ui/slider/slider-buffer-element.js";
|
|
23
|
+
import { SliderElement } from "./ui/slider/slider-element.js";
|
|
24
|
+
import { SliderFillElement } from "./ui/slider/slider-fill-element.js";
|
|
25
|
+
import { SliderThumbElement } from "./ui/slider/slider-thumb-element.js";
|
|
26
|
+
import { SliderTrackElement } from "./ui/slider/slider-track-element.js";
|
|
27
|
+
import { SliderValueElement } from "./ui/slider/slider-value-element.js";
|
|
28
|
+
import { ThumbnailElement } from "./ui/thumbnail/thumbnail-element.js";
|
|
17
29
|
import { TimeElement } from "./ui/time/time-element.js";
|
|
18
30
|
import { TimeGroupElement } from "./ui/time/time-group-element.js";
|
|
19
31
|
import { TimeSeparatorElement } from "./ui/time/time-separator-element.js";
|
|
32
|
+
import { TimeSliderElement } from "./ui/time-slider/time-slider-element.js";
|
|
33
|
+
import { VolumeSliderElement } from "./ui/volume-slider/volume-slider-element.js";
|
|
20
34
|
import { createSelector, shallowEqual } from "@videojs/store";
|
|
21
35
|
|
|
22
36
|
export * from "@videojs/core/dom"
|
|
23
37
|
|
|
24
|
-
export { BufferingIndicatorElement, ControlsElement, ControlsGroupElement, FullscreenButtonElement, MediaElement, MuteButtonElement, PLAYER_CONTEXT_KEY, PiPButtonElement, PlayButtonElement, PlayerController, PosterElement, SeekButtonElement, TimeElement, TimeGroupElement, TimeSeparatorElement, createContainerMixin, createPlayer,
|
|
38
|
+
export { BufferingIndicatorElement, ControlsElement, ControlsGroupElement, FullscreenButtonElement, MediaButtonElement, MediaContainerElement, MediaElement, MediaUIElement, MuteButtonElement, PLAYER_CONTEXT_KEY, PiPButtonElement, PlayButtonElement, PlaybackRateButtonElement, PlayerController, PopoverElement, PosterElement, SeekButtonElement, SliderBufferElement, SliderElement, SliderFillElement, SliderThumbElement, SliderTrackElement, SliderValueElement, ThumbnailElement, TimeElement, TimeGroupElement, TimeSeparatorElement, TimeSliderElement, VolumeSliderElement, createContainerMixin, createPlayer, createProviderMixin, createSelector, playerContext, shallowEqual, sliderContext };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { playerContext } from "../player/context.js";
|
|
2
|
+
import { createContainerMixin } from "../store/container-mixin.js";
|
|
3
|
+
import { MediaElement } from "../ui/media-element.js";
|
|
4
|
+
|
|
5
|
+
//#region src/media/container-element.ts
|
|
6
|
+
const ContainerMixin = createContainerMixin(playerContext);
|
|
7
|
+
var MediaContainerElement = class extends ContainerMixin(MediaElement) {
|
|
8
|
+
static {
|
|
9
|
+
this.tagName = "media-container";
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { MediaContainerElement };
|
|
15
|
+
//# sourceMappingURL=container-element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-element.js","names":[],"sources":["../../../src/media/container-element.ts"],"sourcesContent":["import { playerContext } from '../player/context';\nimport { createContainerMixin } from '../store/container-mixin';\nimport { MediaElement } from '../ui/media-element';\n\nconst ContainerMixin = createContainerMixin(playerContext);\n\nexport class MediaContainerElement extends ContainerMixin(MediaElement) {\n static readonly tagName = 'media-container';\n}\n"],"mappings":";;;;;AAIA,MAAM,iBAAiB,qBAAqB,cAAc;AAE1D,IAAa,wBAAb,cAA2C,eAAe,aAAa,CAAC;;iBAC5C"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { playerContext } from "./context.js";
|
|
2
2
|
import { createContainerMixin } from "../store/container-mixin.js";
|
|
3
3
|
import { createProviderMixin } from "../store/provider-mixin.js";
|
|
4
|
-
import { MediaElement } from "../ui/media-element.js";
|
|
5
4
|
import { PlayerController } from "./player-controller.js";
|
|
6
|
-
import { createPlayerMixin } from "./player-mixin.js";
|
|
7
5
|
import { combine, createStore } from "@videojs/store";
|
|
8
6
|
|
|
9
7
|
//#region src/player/create-player.ts
|
|
@@ -12,13 +10,10 @@ function createPlayer(config) {
|
|
|
12
10
|
function create() {
|
|
13
11
|
return createStore()(slice);
|
|
14
12
|
}
|
|
15
|
-
const PlayerMixin = createPlayerMixin(playerContext, create);
|
|
16
13
|
return {
|
|
17
14
|
context: playerContext,
|
|
18
15
|
create,
|
|
19
16
|
PlayerController,
|
|
20
|
-
PlayerElement: PlayerMixin(MediaElement),
|
|
21
|
-
PlayerMixin,
|
|
22
17
|
ProviderMixin: createProviderMixin(playerContext, create),
|
|
23
18
|
ContainerMixin: createContainerMixin(playerContext)
|
|
24
19
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-player.js","names":[],"sources":["../../../src/player/create-player.ts"],"sourcesContent":["import type {\n AnyPlayerFeature,\n AudioFeatures,\n AudioPlayerStore,\n PlayerStore,\n PlayerTarget,\n VideoFeatures,\n VideoPlayerStore,\n} from '@videojs/core/dom';\nimport { combine, createStore } from '@videojs/store';\n\nimport { type ContainerMixin, createContainerMixin } from '../store/container-mixin';\nimport { createProviderMixin, type ProviderMixin } from '../store/provider-mixin';\nimport
|
|
1
|
+
{"version":3,"file":"create-player.js","names":[],"sources":["../../../src/player/create-player.ts"],"sourcesContent":["import type {\n AnyPlayerFeature,\n AudioFeatures,\n AudioPlayerStore,\n PlayerStore,\n PlayerTarget,\n VideoFeatures,\n VideoPlayerStore,\n} from '@videojs/core/dom';\nimport { combine, createStore } from '@videojs/store';\n\nimport { type ContainerMixin, createContainerMixin } from '../store/container-mixin';\nimport { createProviderMixin, type ProviderMixin } from '../store/provider-mixin';\nimport { type PlayerContext, playerContext } from './context';\nimport { PlayerController } from './player-controller';\n\nexport interface CreatePlayerConfig<Features extends AnyPlayerFeature[]> {\n features: Features;\n}\n\nexport interface CreatePlayerResult<Store extends PlayerStore> {\n /** Context for consuming player in controllers. */\n context: PlayerContext<Store>;\n\n /** Creates a store instance for imperative access. */\n create: () => Store;\n\n /** Player controller bound to this player's context. */\n PlayerController: PlayerController.Constructor<Store>;\n\n /** Mixin that provides player context to descendants. */\n ProviderMixin: ProviderMixin<Store>;\n\n /** Mixin that consumes player context and auto-attaches media elements. */\n ContainerMixin: ContainerMixin<Store>;\n}\n\n/**\n * Creates a player factory with typed store, mixins, and controller.\n *\n * @example\n * ```ts\n * import { createPlayer, MediaElement } from '@videojs/html';\n * import { videoFeatures } from '@videojs/html/video';\n *\n * const { ProviderMixin, ContainerMixin, PlayerController, context } = createPlayer({\n * features: videoFeatures,\n * });\n *\n * // Provider element: owns the store, provides context to descendants\n * class VideoPlayer extends ProviderMixin(MediaElement) {}\n * customElements.define('video-player', VideoPlayer);\n *\n * // Control element with selector\n * class PlayButton extends MediaElement {\n * #playback = new PlayerController(this, context, selectPlayback);\n * }\n * ```\n *\n * @label Video\n * @param config - Player configuration with features.\n */\nexport function createPlayer(config: CreatePlayerConfig<VideoFeatures>): CreatePlayerResult<VideoPlayerStore>;\n\n/**\n * Creates a player factory for audio media.\n *\n * @label Audio\n * @param config - Player configuration with features.\n */\nexport function createPlayer(config: CreatePlayerConfig<AudioFeatures>): CreatePlayerResult<AudioPlayerStore>;\n\n/**\n * Creates a player factory with custom features.\n *\n * @label Generic\n * @param config - Player configuration with features.\n */\nexport function createPlayer<const Features extends AnyPlayerFeature[]>(\n config: CreatePlayerConfig<Features>\n): CreatePlayerResult<PlayerStore<Features>>;\n\nexport function createPlayer(config: CreatePlayerConfig<AnyPlayerFeature[]>): CreatePlayerResult<PlayerStore> {\n const slice = combine<PlayerTarget, AnyPlayerFeature[]>(...config.features);\n\n function create(): PlayerStore {\n return createStore<PlayerTarget>()(slice);\n }\n\n const ProviderMixin = createProviderMixin<PlayerStore>(playerContext, create);\n const ContainerMixin = createContainerMixin<PlayerStore>(playerContext);\n\n return {\n context: playerContext,\n create,\n PlayerController,\n ProviderMixin,\n ContainerMixin,\n };\n}\n"],"mappings":";;;;;;;AAkFA,SAAgB,aAAa,QAAiF;CAC5G,MAAM,QAAQ,QAA0C,GAAG,OAAO,SAAS;CAE3E,SAAS,SAAsB;AAC7B,SAAO,aAA2B,CAAC,MAAM;;AAM3C,QAAO;EACL,SAAS;EACT;EACA;EACA,eAPoB,oBAAiC,eAAe,OAAO;EAQ3E,gBAPqB,qBAAkC,cAAc;EAQtE"}
|
|
@@ -46,6 +46,9 @@ var PlayerController = class {
|
|
|
46
46
|
if (!this.#selector) return store;
|
|
47
47
|
return this.#store?.value;
|
|
48
48
|
}
|
|
49
|
+
get displayName() {
|
|
50
|
+
return this.#selector?.displayName;
|
|
51
|
+
}
|
|
49
52
|
hostConnected() {
|
|
50
53
|
const store = this.#consumer.value;
|
|
51
54
|
if (store) this.#connect(store);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"player-controller.js","names":["#host","#selector","#consumer","#connect","#store"],"sources":["../../../src/player/player-controller.ts"],"sourcesContent":["import type { PlayerStore } from '@videojs/core/dom';\nimport type { ReactiveController, ReactiveControllerHost } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\nimport type { InferStoreState, Selector } from '@videojs/store';\nimport { StoreController } from '@videojs/store/html';\n\nimport type { PlayerContext } from './context';\n\nexport type PlayerControllerHost = ReactiveControllerHost & HTMLElement;\n\n/**\n * Reactive controller for accessing player store state.\n *\n * Without selector: Returns the store, does NOT subscribe to changes.\n * With selector: Returns selected state, subscribes with shallowEqual comparison.\n *\n * @example\n * ```ts\n * // Store access (no subscription)\n * class Controls extends MediaElement {\n * #player = new PlayerController(this, playerContext);\n *\n * handleClick() {\n * this.#player.value.setVolume(0.5);\n * }\n * }\n *\n * // Selector-based subscription\n * class PlayButton extends MediaElement {\n * #playback = new PlayerController(this, playerContext, selectPlayback);\n * }\n * ```\n */\nexport class PlayerController<Store extends PlayerStore, Result = Store> implements ReactiveController {\n readonly #host: PlayerControllerHost;\n readonly #selector: Selector<InferStoreState<Store>, Result> | undefined;\n\n #consumer: ContextConsumer<PlayerContext<Store>, PlayerControllerHost>;\n #store: StoreController<Store, Result> | null = null;\n\n /**\n * @label Without Selector\n * @param host - The host element that owns this controller.\n * @param context - Player context to resolve the store from.\n */\n constructor(host: PlayerControllerHost, context: PlayerContext<Store>);\n /**\n * @label With Selector\n * @param host - The host element that owns this controller.\n * @param context - Player context to resolve the store from.\n * @param selector - Derives a value from the player store state.\n */\n constructor(\n host: PlayerControllerHost,\n context: PlayerContext<Store>,\n selector: Selector<InferStoreState<Store>, Result>\n );\n constructor(\n host: PlayerControllerHost,\n context: PlayerContext<Store>,\n selector?: Selector<InferStoreState<Store>, Result>\n ) {\n this.#host = host;\n this.#selector = selector;\n\n this.#consumer = new ContextConsumer(host, {\n context,\n callback: (ctx) => this.#connect(ctx),\n subscribe: true,\n });\n\n host.addController(this);\n }\n\n get value(): Result | undefined {\n const store = this.#consumer.value;\n if (!store) return undefined;\n\n // Without selector: return store directly\n if (!this.#selector) return store as unknown as Result;\n\n // With selector: use StoreController\n return this.#store?.value;\n }\n\n hostConnected(): void {\n const store = this.#consumer.value;\n if (store) this.#connect(store);\n }\n\n hostDisconnected(): void {\n this.#store = null;\n }\n\n #connect(store: Store): void {\n if (!this.#store && this.#selector) {\n this.#store = new StoreController(this.#host, store, this.#selector);\n }\n }\n}\n\nexport namespace PlayerController {\n export type Host = PlayerControllerHost;\n\n export type Constructor<Store extends PlayerStore = PlayerStore, Result = Store> = typeof PlayerController<\n Store,\n Result\n >;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,IAAa,mBAAb,MAAuG;CACrG,CAASA;CACT,CAASC;CAET;CACA,SAAgD;CAmBhD,YACE,MACA,SACA,UACA;AACA,QAAKD,OAAQ;AACb,QAAKC,WAAY;AAEjB,QAAKC,WAAY,IAAI,gBAAgB,MAAM;GACzC;GACA,WAAW,QAAQ,MAAKC,QAAS,IAAI;GACrC,WAAW;GACZ,CAAC;AAEF,OAAK,cAAc,KAAK;;CAG1B,IAAI,QAA4B;EAC9B,MAAM,QAAQ,MAAKD,SAAU;AAC7B,MAAI,CAAC,MAAO,QAAO;AAGnB,MAAI,CAAC,MAAKD,SAAW,QAAO;AAG5B,SAAO,MAAKG,OAAQ;;CAGtB,gBAAsB;EACpB,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"player-controller.js","names":["#host","#selector","#consumer","#connect","#store"],"sources":["../../../src/player/player-controller.ts"],"sourcesContent":["import type { PlayerStore } from '@videojs/core/dom';\nimport type { ReactiveController, ReactiveControllerHost } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\nimport type { InferStoreState, Selector } from '@videojs/store';\nimport { StoreController } from '@videojs/store/html';\n\nimport type { PlayerContext } from './context';\n\nexport type PlayerControllerHost = ReactiveControllerHost & HTMLElement;\n\n/**\n * Reactive controller for accessing player store state.\n *\n * Without selector: Returns the store, does NOT subscribe to changes.\n * With selector: Returns selected state, subscribes with shallowEqual comparison.\n *\n * @example\n * ```ts\n * // Store access (no subscription)\n * class Controls extends MediaElement {\n * #player = new PlayerController(this, playerContext);\n *\n * handleClick() {\n * this.#player.value.setVolume(0.5);\n * }\n * }\n *\n * // Selector-based subscription\n * class PlayButton extends MediaElement {\n * #playback = new PlayerController(this, playerContext, selectPlayback);\n * }\n * ```\n */\nexport class PlayerController<Store extends PlayerStore, Result = Store> implements ReactiveController {\n readonly #host: PlayerControllerHost;\n readonly #selector: Selector<InferStoreState<Store>, Result> | undefined;\n\n #consumer: ContextConsumer<PlayerContext<Store>, PlayerControllerHost>;\n #store: StoreController<Store, Result> | null = null;\n\n /**\n * @label Without Selector\n * @param host - The host element that owns this controller.\n * @param context - Player context to resolve the store from.\n */\n constructor(host: PlayerControllerHost, context: PlayerContext<Store>);\n /**\n * @label With Selector\n * @param host - The host element that owns this controller.\n * @param context - Player context to resolve the store from.\n * @param selector - Derives a value from the player store state.\n */\n constructor(\n host: PlayerControllerHost,\n context: PlayerContext<Store>,\n selector: Selector<InferStoreState<Store>, Result>\n );\n constructor(\n host: PlayerControllerHost,\n context: PlayerContext<Store>,\n selector?: Selector<InferStoreState<Store>, Result>\n ) {\n this.#host = host;\n this.#selector = selector;\n\n this.#consumer = new ContextConsumer(host, {\n context,\n callback: (ctx) => this.#connect(ctx),\n subscribe: true,\n });\n\n host.addController(this);\n }\n\n get value(): Result | undefined {\n const store = this.#consumer.value;\n if (!store) return undefined;\n\n // Without selector: return store directly\n if (!this.#selector) return store as unknown as Result;\n\n // With selector: use StoreController\n return this.#store?.value;\n }\n\n get displayName(): string | undefined {\n return this.#selector?.displayName;\n }\n\n hostConnected(): void {\n const store = this.#consumer.value;\n if (store) this.#connect(store);\n }\n\n hostDisconnected(): void {\n this.#store = null;\n }\n\n #connect(store: Store): void {\n if (!this.#store && this.#selector) {\n this.#store = new StoreController(this.#host, store, this.#selector);\n }\n }\n}\n\nexport namespace PlayerController {\n export type Host = PlayerControllerHost;\n\n export type Constructor<Store extends PlayerStore = PlayerStore, Result = Store> = typeof PlayerController<\n Store,\n Result\n >;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,IAAa,mBAAb,MAAuG;CACrG,CAASA;CACT,CAASC;CAET;CACA,SAAgD;CAmBhD,YACE,MACA,SACA,UACA;AACA,QAAKD,OAAQ;AACb,QAAKC,WAAY;AAEjB,QAAKC,WAAY,IAAI,gBAAgB,MAAM;GACzC;GACA,WAAW,QAAQ,MAAKC,QAAS,IAAI;GACrC,WAAW;GACZ,CAAC;AAEF,OAAK,cAAc,KAAK;;CAG1B,IAAI,QAA4B;EAC9B,MAAM,QAAQ,MAAKD,SAAU;AAC7B,MAAI,CAAC,MAAO,QAAO;AAGnB,MAAI,CAAC,MAAKD,SAAW,QAAO;AAG5B,SAAO,MAAKG,OAAQ;;CAGtB,IAAI,cAAkC;AACpC,SAAO,MAAKH,UAAW;;CAGzB,gBAAsB;EACpB,MAAM,QAAQ,MAAKC,SAAU;AAC7B,MAAI,MAAO,OAAKC,QAAS,MAAM;;CAGjC,mBAAyB;AACvB,QAAKC,QAAS;;CAGhB,SAAS,OAAoB;AAC3B,MAAI,CAAC,MAAKA,SAAU,MAAKH,SACvB,OAAKG,QAAS,IAAI,gBAAgB,MAAKJ,MAAO,OAAO,MAAKC,SAAU"}
|