@videojs/html 0.1.0-preview.8 → 10.0.0-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +6 -0
- package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -0
- package/dist/default/_virtual/inline-css_src/define/audio/skin.js +6 -0
- package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -0
- package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +6 -0
- package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -0
- package/dist/default/_virtual/inline-css_src/define/video/skin.js +6 -0
- package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -0
- package/dist/default/define/audio/minimal-skin.css +636 -0
- package/dist/default/define/audio/minimal-skin.js +114 -0
- package/dist/default/define/audio/minimal-skin.js.map +1 -0
- package/dist/default/define/audio/minimal-skin.tailwind.js +121 -0
- package/dist/default/define/audio/minimal-skin.tailwind.js.map +1 -0
- package/dist/default/define/audio/player.js +19 -0
- package/dist/default/define/audio/player.js.map +1 -0
- package/dist/default/define/audio/skin.css +661 -0
- package/dist/default/define/audio/skin.js +105 -0
- package/dist/default/define/audio/skin.js.map +1 -0
- package/dist/default/define/audio/skin.tailwind.js +111 -0
- package/dist/default/define/audio/skin.tailwind.js.map +1 -0
- package/dist/default/define/background/player.js +19 -0
- package/dist/default/define/background/player.js.map +1 -0
- package/dist/default/define/background/skin.css +27 -0
- package/dist/default/define/background/skin.js +35 -0
- package/dist/default/define/background/skin.js.map +1 -0
- package/dist/default/define/background/video.js +3 -0
- package/dist/default/define/media/background-video.js +14 -0
- package/dist/default/define/media/background-video.js.map +1 -0
- 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 +14 -0
- package/dist/default/define/media/hls-video.js.map +1 -0
- package/dist/default/define/media/simple-hls-video.js +13 -0
- package/dist/default/define/media/simple-hls-video.js.map +1 -0
- 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 +69 -0
- package/dist/default/define/skin-mixin.js.map +1 -0
- package/dist/default/define/ui/alert-dialog-close.js +8 -0
- package/dist/default/define/ui/alert-dialog-close.js.map +1 -0
- package/dist/default/define/ui/alert-dialog-description.js +8 -0
- package/dist/default/define/ui/alert-dialog-description.js.map +1 -0
- package/dist/default/define/ui/alert-dialog-title.js +8 -0
- package/dist/default/define/ui/alert-dialog-title.js.map +1 -0
- package/dist/default/define/ui/alert-dialog.js +14 -0
- package/dist/default/define/ui/alert-dialog.js.map +1 -0
- package/dist/default/define/ui/buffering-indicator.js +8 -0
- package/dist/default/define/ui/buffering-indicator.js.map +1 -0
- package/dist/default/define/ui/captions-button.js +7 -0
- package/dist/default/define/ui/captions-button.js.map +1 -0
- 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 +10 -0
- package/dist/default/define/ui/controls.js.map +1 -0
- package/dist/default/define/ui/fullscreen-button.js +8 -0
- package/dist/default/define/ui/fullscreen-button.js.map +1 -0
- package/dist/default/define/ui/mute-button.js +8 -0
- package/dist/default/define/ui/mute-button.js.map +1 -0
- package/dist/default/define/ui/pip-button.js +8 -0
- package/dist/default/define/ui/pip-button.js.map +1 -0
- package/dist/default/define/ui/play-button.js +8 -0
- package/dist/default/define/ui/play-button.js.map +1 -0
- 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 +8 -0
- package/dist/default/define/ui/poster.js.map +1 -0
- package/dist/default/define/ui/seek-button.js +8 -0
- package/dist/default/define/ui/seek-button.js.map +1 -0
- 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-thumbnail.js +8 -0
- package/dist/default/define/ui/slider-thumbnail.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 +18 -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 +22 -0
- package/dist/default/define/ui/time-slider.js.map +1 -0
- package/dist/default/define/ui/time.js +12 -0
- package/dist/default/define/ui/time.js.map +1 -0
- package/dist/default/define/ui/tooltip-group.js +8 -0
- package/dist/default/define/ui/tooltip-group.js.map +1 -0
- package/dist/default/define/ui/tooltip.js +8 -0
- package/dist/default/define/ui/tooltip.js.map +1 -0
- package/dist/default/define/ui/volume-slider.js +18 -0
- package/dist/default/define/ui/volume-slider.js.map +1 -0
- package/dist/default/define/video/minimal-skin.css +873 -0
- package/dist/default/define/video/minimal-skin.js +160 -0
- package/dist/default/define/video/minimal-skin.js.map +1 -0
- package/dist/default/define/video/minimal-skin.tailwind.js +180 -0
- package/dist/default/define/video/minimal-skin.tailwind.js.map +1 -0
- package/dist/default/define/video/player.js +19 -0
- package/dist/default/define/video/player.js.map +1 -0
- package/dist/default/define/video/skin.css +878 -0
- package/dist/default/define/video/skin.js +156 -0
- package/dist/default/define/video/skin.js.map +1 -0
- package/dist/default/define/video/skin.tailwind.js +170 -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 +48 -0
- package/dist/default/media/background-video/index.js +83 -0
- package/dist/default/media/background-video/index.js.map +1 -0
- package/dist/default/media/container-element.js +15 -0
- package/dist/default/media/container-element.js.map +1 -0
- package/dist/default/media/hls-video/index.js +25 -0
- package/dist/default/media/hls-video/index.js.map +1 -0
- package/dist/default/media/simple-hls-video/index.js +21 -0
- package/dist/default/media/simple-hls-video/index.js.map +1 -0
- package/dist/default/player/context.js +14 -0
- package/dist/default/player/context.js.map +1 -0
- package/dist/default/player/create-player.js +24 -0
- package/dist/default/player/create-player.js.map +1 -0
- package/dist/default/player/player-controller.js +66 -0
- package/dist/default/player/player-controller.js.map +1 -0
- package/dist/default/presets/audio.js +7 -0
- package/dist/default/presets/background.js +3 -0
- package/dist/default/presets/video.js +7 -0
- package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js +58 -0
- package/dist/default/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/buffering.js +9 -0
- package/dist/default/skins/dist/default/default/tailwind/components/buffering.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/button.js +12 -0
- package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/controls.js +8 -0
- package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/error.js +15 -0
- package/dist/default/skins/dist/default/default/tailwind/components/error.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js +29 -0
- package/dist/default/skins/dist/default/default/tailwind/components/icon-state.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/icon.js +10 -0
- package/dist/default/skins/dist/default/default/tailwind/components/icon.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/overlay.js +8 -0
- package/dist/default/skins/dist/default/default/tailwind/components/overlay.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js +6 -0
- package/dist/default/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/popup.js +13 -0
- package/dist/default/skins/dist/default/default/tailwind/components/popup.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/root.js +8 -0
- package/dist/default/skins/dist/default/default/tailwind/components/root.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/seek.js +11 -0
- package/dist/default/skins/dist/default/default/tailwind/components/seek.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js +21 -0
- package/dist/default/skins/dist/default/default/tailwind/components/slider.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/surface.js +8 -0
- package/dist/default/skins/dist/default/default/tailwind/components/surface.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/time.js +10 -0
- package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js +28 -0
- package/dist/default/skins/dist/default/default/tailwind/components/tooltip-state.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +55 -0
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js +44 -0
- package/dist/default/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js +6 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +8 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +12 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +8 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/error.js +15 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/error.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js +29 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon-state.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js +10 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js +8 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js +12 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/root.js +8 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/root.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js +11 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js +20 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +14 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/tooltip-state.js +28 -0
- package/dist/default/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +1 -0
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +44 -0
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -0
- package/dist/default/store/container-mixin.js +95 -0
- package/dist/default/store/container-mixin.js.map +1 -0
- package/dist/default/store/provider-mixin.js +39 -0
- package/dist/default/store/provider-mixin.js.map +1 -0
- package/dist/default/ui/alert-dialog/alert-dialog-close-element.js +46 -0
- package/dist/default/ui/alert-dialog/alert-dialog-close-element.js.map +1 -0
- package/dist/default/ui/alert-dialog/alert-dialog-description-element.js +26 -0
- package/dist/default/ui/alert-dialog/alert-dialog-description-element.js.map +1 -0
- package/dist/default/ui/alert-dialog/alert-dialog-element.js +73 -0
- package/dist/default/ui/alert-dialog/alert-dialog-element.js.map +1 -0
- package/dist/default/ui/alert-dialog/alert-dialog-title-element.js +26 -0
- package/dist/default/ui/alert-dialog/alert-dialog-title-element.js.map +1 -0
- package/dist/default/ui/alert-dialog/context.js +9 -0
- package/dist/default/ui/alert-dialog/context.js.map +1 -0
- package/dist/default/ui/buffering-indicator/buffering-indicator-element.js +47 -0
- package/dist/default/ui/buffering-indicator/buffering-indicator-element.js.map +1 -0
- package/dist/default/ui/captions-button/captions-button-element.js +25 -0
- package/dist/default/ui/captions-button/captions-button-element.js.map +1 -0
- 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 +36 -0
- package/dist/default/ui/controls/controls-element.js.map +1 -0
- package/dist/default/ui/controls/controls-group-element.js +25 -0
- package/dist/default/ui/controls/controls-group-element.js.map +1 -0
- package/dist/default/ui/fullscreen-button/fullscreen-button-element.js +25 -0
- package/dist/default/ui/fullscreen-button/fullscreen-button-element.js.map +1 -0
- 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-element.js +9 -0
- package/dist/default/ui/media-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 +25 -0
- package/dist/default/ui/mute-button/mute-button-element.js.map +1 -0
- package/dist/default/ui/pip-button/pip-button-element.js +25 -0
- package/dist/default/ui/pip-button/pip-button-element.js.map +1 -0
- package/dist/default/ui/play-button/play-button-element.js +25 -0
- package/dist/default/ui/play-button/play-button-element.js.map +1 -0
- 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 +168 -0
- package/dist/default/ui/popover/popover-element.js.map +1 -0
- package/dist/default/ui/poster/poster-element.js +22 -0
- package/dist/default/ui/poster/poster-element.js.map +1 -0
- package/dist/default/ui/seek-button/seek-button-element.js +32 -0
- package/dist/default/ui/seek-button/seek-button-element.js.map +1 -0
- 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 +122 -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-preview-element.js +51 -0
- package/dist/default/ui/slider/slider-preview-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-thumbnail-element.js +23 -0
- package/dist/default/ui/slider/slider-thumbnail-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 +139 -0
- package/dist/default/ui/thumbnail/thumbnail-element.js.map +1 -0
- package/dist/default/ui/time/time-element.js +59 -0
- package/dist/default/ui/time/time-element.js.map +1 -0
- package/dist/default/ui/time/time-group-element.js +12 -0
- package/dist/default/ui/time/time-group-element.js.map +1 -0
- package/dist/default/ui/time/time-separator-element.js +17 -0
- package/dist/default/ui/time/time-separator-element.js.map +1 -0
- package/dist/default/ui/time-slider/time-slider-element.js +133 -0
- package/dist/default/ui/time-slider/time-slider-element.js.map +1 -0
- package/dist/default/ui/tooltip/context.js +9 -0
- package/dist/default/ui/tooltip/context.js.map +1 -0
- package/dist/default/ui/tooltip/tooltip-element.js +154 -0
- package/dist/default/ui/tooltip/tooltip-element.js.map +1 -0
- package/dist/default/ui/tooltip/tooltip-group-element.js +38 -0
- package/dist/default/ui/tooltip/tooltip-group-element.js.map +1 -0
- package/dist/default/ui/volume-slider/volume-slider-element.js +122 -0
- package/dist/default/ui/volume-slider/volume-slider-element.js.map +1 -0
- package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +6 -0
- package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -0
- package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +6 -0
- package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -0
- package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +6 -0
- package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -0
- package/dist/dev/_virtual/inline-css_src/define/video/skin.js +6 -0
- package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -0
- package/dist/dev/define/audio/minimal-skin.css +636 -0
- package/dist/dev/define/audio/minimal-skin.d.ts +21 -0
- package/dist/dev/define/audio/minimal-skin.d.ts.map +1 -0
- package/dist/dev/define/audio/minimal-skin.js +114 -0
- package/dist/dev/define/audio/minimal-skin.js.map +1 -0
- package/dist/dev/define/audio/minimal-skin.tailwind.d.ts +20 -0
- package/dist/dev/define/audio/minimal-skin.tailwind.d.ts.map +1 -0
- package/dist/dev/define/audio/minimal-skin.tailwind.js +121 -0
- package/dist/dev/define/audio/minimal-skin.tailwind.js.map +1 -0
- package/dist/dev/define/audio/player.d.ts +17 -0
- package/dist/dev/define/audio/player.d.ts.map +1 -0
- package/dist/dev/define/audio/player.js +19 -0
- package/dist/dev/define/audio/player.js.map +1 -0
- package/dist/dev/define/audio/skin.css +661 -0
- package/dist/dev/define/audio/skin.d.ts +21 -0
- package/dist/dev/define/audio/skin.d.ts.map +1 -0
- package/dist/dev/define/audio/skin.js +105 -0
- package/dist/dev/define/audio/skin.js.map +1 -0
- package/dist/dev/define/audio/skin.tailwind.d.ts +20 -0
- package/dist/dev/define/audio/skin.tailwind.d.ts.map +1 -0
- package/dist/dev/define/audio/skin.tailwind.js +111 -0
- package/dist/dev/define/audio/skin.tailwind.js.map +1 -0
- package/dist/dev/define/background/player.d.ts +17 -0
- package/dist/dev/define/background/player.d.ts.map +1 -0
- package/dist/dev/define/background/player.js +19 -0
- package/dist/dev/define/background/player.js.map +1 -0
- package/dist/dev/define/background/skin.css +27 -0
- package/dist/dev/define/background/skin.d.ts +20 -0
- package/dist/dev/define/background/skin.d.ts.map +1 -0
- package/dist/dev/define/background/skin.js +35 -0
- package/dist/dev/define/background/skin.js.map +1 -0
- package/dist/dev/define/background/video.d.ts +2 -0
- package/dist/dev/define/background/video.js +3 -0
- package/dist/dev/define/feature/video.js +0 -0
- package/dist/dev/define/media/background-video.d.ts +14 -0
- package/dist/dev/define/media/background-video.d.ts.map +1 -0
- package/dist/dev/define/media/background-video.js +14 -0
- package/dist/dev/define/media/background-video.js.map +1 -0
- 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 +14 -0
- package/dist/dev/define/media/hls-video.d.ts.map +1 -0
- package/dist/dev/define/media/hls-video.js +14 -0
- package/dist/dev/define/media/hls-video.js.map +1 -0
- package/dist/dev/define/media/simple-hls-video.d.ts +14 -0
- package/dist/dev/define/media/simple-hls-video.d.ts.map +1 -0
- package/dist/dev/define/media/simple-hls-video.js +13 -0
- package/dist/dev/define/media/simple-hls-video.js.map +1 -0
- 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 +21 -0
- package/dist/dev/define/skin-mixin.d.ts.map +1 -0
- package/dist/dev/define/skin-mixin.js +69 -0
- package/dist/dev/define/skin-mixin.js.map +1 -0
- package/dist/dev/define/ui/alert-dialog-close.d.ts +9 -0
- package/dist/dev/define/ui/alert-dialog-close.d.ts.map +1 -0
- package/dist/dev/define/ui/alert-dialog-close.js +8 -0
- package/dist/dev/define/ui/alert-dialog-close.js.map +1 -0
- package/dist/dev/define/ui/alert-dialog-description.d.ts +9 -0
- package/dist/dev/define/ui/alert-dialog-description.d.ts.map +1 -0
- package/dist/dev/define/ui/alert-dialog-description.js +8 -0
- package/dist/dev/define/ui/alert-dialog-description.js.map +1 -0
- package/dist/dev/define/ui/alert-dialog-title.d.ts +9 -0
- package/dist/dev/define/ui/alert-dialog-title.d.ts.map +1 -0
- package/dist/dev/define/ui/alert-dialog-title.js +8 -0
- package/dist/dev/define/ui/alert-dialog-title.js.map +1 -0
- package/dist/dev/define/ui/alert-dialog.d.ts +15 -0
- package/dist/dev/define/ui/alert-dialog.d.ts.map +1 -0
- package/dist/dev/define/ui/alert-dialog.js +14 -0
- package/dist/dev/define/ui/alert-dialog.js.map +1 -0
- package/dist/dev/define/ui/buffering-indicator.d.ts +9 -0
- package/dist/dev/define/ui/buffering-indicator.d.ts.map +1 -0
- package/dist/dev/define/ui/buffering-indicator.js +8 -0
- package/dist/dev/define/ui/buffering-indicator.js.map +1 -0
- package/dist/dev/define/ui/captions-button.d.ts +9 -0
- package/dist/dev/define/ui/captions-button.d.ts.map +1 -0
- package/dist/dev/define/ui/captions-button.js +7 -0
- package/dist/dev/define/ui/captions-button.js.map +1 -0
- 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 +9 -0
- package/dist/dev/define/ui/controls.d.ts.map +1 -0
- package/dist/dev/define/ui/controls.js +10 -0
- package/dist/dev/define/ui/controls.js.map +1 -0
- package/dist/dev/define/ui/fullscreen-button.d.ts +9 -0
- package/dist/dev/define/ui/fullscreen-button.d.ts.map +1 -0
- package/dist/dev/define/ui/fullscreen-button.js +8 -0
- package/dist/dev/define/ui/fullscreen-button.js.map +1 -0
- package/dist/dev/define/ui/mute-button.d.ts +9 -0
- package/dist/dev/define/ui/mute-button.d.ts.map +1 -0
- package/dist/dev/define/ui/mute-button.js +8 -0
- package/dist/dev/define/ui/mute-button.js.map +1 -0
- package/dist/dev/define/ui/pip-button.d.ts +9 -0
- package/dist/dev/define/ui/pip-button.d.ts.map +1 -0
- package/dist/dev/define/ui/pip-button.js +8 -0
- package/dist/dev/define/ui/pip-button.js.map +1 -0
- package/dist/dev/define/ui/play-button.d.ts +9 -0
- package/dist/dev/define/ui/play-button.d.ts.map +1 -0
- package/dist/dev/define/ui/play-button.js +8 -0
- package/dist/dev/define/ui/play-button.js.map +1 -0
- 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 +9 -0
- package/dist/dev/define/ui/poster.d.ts.map +1 -0
- package/dist/dev/define/ui/poster.js +8 -0
- package/dist/dev/define/ui/poster.js.map +1 -0
- package/dist/dev/define/ui/seek-button.d.ts +9 -0
- package/dist/dev/define/ui/seek-button.d.ts.map +1 -0
- package/dist/dev/define/ui/seek-button.js +8 -0
- package/dist/dev/define/ui/seek-button.js.map +1 -0
- 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-thumbnail.d.ts +9 -0
- package/dist/dev/define/ui/slider-thumbnail.d.ts.map +1 -0
- package/dist/dev/define/ui/slider-thumbnail.js +8 -0
- package/dist/dev/define/ui/slider-thumbnail.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 +18 -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 +22 -0
- package/dist/dev/define/ui/time-slider.js.map +1 -0
- package/dist/dev/define/ui/time.d.ts +9 -0
- package/dist/dev/define/ui/time.d.ts.map +1 -0
- package/dist/dev/define/ui/time.js +12 -0
- package/dist/dev/define/ui/time.js.map +1 -0
- package/dist/dev/define/ui/tooltip-group.d.ts +9 -0
- package/dist/dev/define/ui/tooltip-group.d.ts.map +1 -0
- package/dist/dev/define/ui/tooltip-group.js +8 -0
- package/dist/dev/define/ui/tooltip-group.js.map +1 -0
- package/dist/dev/define/ui/tooltip.d.ts +9 -0
- package/dist/dev/define/ui/tooltip.d.ts.map +1 -0
- package/dist/dev/define/ui/tooltip.js +8 -0
- package/dist/dev/define/ui/tooltip.js.map +1 -0
- 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 +18 -0
- package/dist/dev/define/ui/volume-slider.js.map +1 -0
- package/dist/dev/define/video/minimal-skin.css +873 -0
- package/dist/dev/define/video/minimal-skin.d.ts +21 -0
- package/dist/dev/define/video/minimal-skin.d.ts.map +1 -0
- package/dist/dev/define/video/minimal-skin.js +160 -0
- package/dist/dev/define/video/minimal-skin.js.map +1 -0
- package/dist/dev/define/video/minimal-skin.tailwind.d.ts +20 -0
- package/dist/dev/define/video/minimal-skin.tailwind.d.ts.map +1 -0
- package/dist/dev/define/video/minimal-skin.tailwind.js +180 -0
- package/dist/dev/define/video/minimal-skin.tailwind.js.map +1 -0
- package/dist/dev/define/video/player.d.ts +17 -0
- package/dist/dev/define/video/player.d.ts.map +1 -0
- package/dist/dev/define/video/player.js +19 -0
- package/dist/dev/define/video/player.js.map +1 -0
- package/dist/dev/define/video/skin.css +878 -0
- package/dist/dev/define/video/skin.d.ts +21 -0
- package/dist/dev/define/video/skin.d.ts.map +1 -0
- package/dist/dev/define/video/skin.js +156 -0
- package/dist/dev/define/video/skin.js.map +1 -0
- package/dist/dev/define/video/skin.tailwind.d.ts +20 -0
- package/dist/dev/define/video/skin.tailwind.d.ts.map +1 -0
- package/dist/dev/define/video/skin.tailwind.js +170 -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 +48 -0
- package/dist/dev/index.js +48 -0
- package/dist/dev/media/background-video/index.d.ts +15 -0
- package/dist/dev/media/background-video/index.d.ts.map +1 -0
- package/dist/dev/media/background-video/index.js +83 -0
- package/dist/dev/media/background-video/index.js.map +1 -0
- package/dist/dev/media/container-element.d.ts +12 -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/media/hls-video/index.d.ts +12 -0
- package/dist/dev/media/hls-video/index.d.ts.map +1 -0
- package/dist/dev/media/hls-video/index.js +25 -0
- package/dist/dev/media/hls-video/index.js.map +1 -0
- package/dist/dev/media/simple-hls-video/index.d.ts +11 -0
- package/dist/dev/media/simple-hls-video/index.d.ts.map +1 -0
- package/dist/dev/media/simple-hls-video/index.js +21 -0
- package/dist/dev/media/simple-hls-video/index.js.map +1 -0
- package/dist/dev/player/context.d.ts +16 -0
- package/dist/dev/player/context.d.ts.map +1 -0
- package/dist/dev/player/context.js +14 -0
- package/dist/dev/player/context.js.map +1 -0
- package/dist/dev/player/create-player.d.ts +65 -0
- package/dist/dev/player/create-player.d.ts.map +1 -0
- package/dist/dev/player/create-player.js +24 -0
- package/dist/dev/player/create-player.js.map +1 -0
- package/dist/dev/player/player-controller.d.ts +57 -0
- package/dist/dev/player/player-controller.d.ts.map +1 -0
- package/dist/dev/player/player-controller.js +66 -0
- package/dist/dev/player/player-controller.js.map +1 -0
- package/dist/dev/presets/audio.d.ts +6 -0
- package/dist/dev/presets/audio.js +7 -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/default/tailwind/audio.tailwind.js +58 -0
- package/dist/dev/skins/dist/default/default/tailwind/audio.tailwind.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js +9 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/buffering.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/button.js +12 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/button.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +8 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/error.js +15 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/error.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js +29 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/icon-state.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/icon.js +10 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/icon.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js +8 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/overlay.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js +6 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/playback-rate.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/popup.js +13 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/popup.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/root.js +8 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/root.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/seek.js +11 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/seek.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/slider.js +21 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/slider.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/surface.js +8 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/surface.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/time.js +10 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/tooltip-state.js +28 -0
- package/dist/dev/skins/dist/default/default/tailwind/components/tooltip-state.js.map +1 -0
- package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js +55 -0
- package/dist/dev/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js +44 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/audio.tailwind.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js +6 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/buffering.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js +8 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js +12 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +8 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js +15 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/error.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js +29 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon-state.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js +10 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/icon.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js +8 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/overlay.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js +12 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/popup.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js +8 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/root.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js +11 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/seek.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js +20 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/slider.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +14 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/tooltip-state.js +28 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/components/tooltip-state.js.map +1 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js +44 -0
- package/dist/dev/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -0
- package/dist/dev/store/container-mixin.d.ts +16 -0
- package/dist/dev/store/container-mixin.d.ts.map +1 -0
- package/dist/dev/store/container-mixin.js +95 -0
- package/dist/dev/store/container-mixin.js.map +1 -0
- package/dist/dev/store/provider-mixin.d.ts +17 -0
- package/dist/dev/store/provider-mixin.d.ts.map +1 -0
- package/dist/dev/store/provider-mixin.js +39 -0
- package/dist/dev/store/provider-mixin.js.map +1 -0
- package/dist/dev/store/types.d.ts +16 -0
- package/dist/dev/store/types.d.ts.map +1 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-close-element.d.ts +20 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-close-element.d.ts.map +1 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-close-element.js +46 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-close-element.js.map +1 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-description-element.d.ts +17 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-description-element.d.ts.map +1 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-description-element.js +26 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-description-element.js.map +1 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-element.d.ts +22 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-element.d.ts.map +1 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-element.js +73 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-element.js.map +1 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-title-element.d.ts +17 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-title-element.d.ts.map +1 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-title-element.js +26 -0
- package/dist/dev/ui/alert-dialog/alert-dialog-title-element.js.map +1 -0
- package/dist/dev/ui/alert-dialog/context.d.ts +14 -0
- package/dist/dev/ui/alert-dialog/context.d.ts.map +1 -0
- package/dist/dev/ui/alert-dialog/context.js +9 -0
- package/dist/dev/ui/alert-dialog/context.js.map +1 -0
- package/dist/dev/ui/buffering-indicator/buffering-indicator-element.d.ts +21 -0
- package/dist/dev/ui/buffering-indicator/buffering-indicator-element.d.ts.map +1 -0
- package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js +48 -0
- package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js.map +1 -0
- package/dist/dev/ui/captions-button/captions-button-element.d.ts +19 -0
- package/dist/dev/ui/captions-button/captions-button-element.d.ts.map +1 -0
- package/dist/dev/ui/captions-button/captions-button-element.js +25 -0
- package/dist/dev/ui/captions-button/captions-button-element.js.map +1 -0
- 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 +13 -0
- package/dist/dev/ui/controls/controls-element.d.ts.map +1 -0
- package/dist/dev/ui/controls/controls-element.js +37 -0
- package/dist/dev/ui/controls/controls-element.js.map +1 -0
- package/dist/dev/ui/controls/controls-group-element.d.ts +16 -0
- package/dist/dev/ui/controls/controls-group-element.d.ts.map +1 -0
- package/dist/dev/ui/controls/controls-group-element.js +25 -0
- package/dist/dev/ui/controls/controls-group-element.js.map +1 -0
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts +19 -0
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts.map +1 -0
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js +25 -0
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js.map +1 -0
- 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-element.d.ts +12 -0
- package/dist/dev/ui/media-element.d.ts.map +1 -0
- package/dist/dev/ui/media-element.js +9 -0
- package/dist/dev/ui/media-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 +19 -0
- package/dist/dev/ui/mute-button/mute-button-element.d.ts.map +1 -0
- package/dist/dev/ui/mute-button/mute-button-element.js +25 -0
- package/dist/dev/ui/mute-button/mute-button-element.js.map +1 -0
- package/dist/dev/ui/pip-button/pip-button-element.d.ts +19 -0
- package/dist/dev/ui/pip-button/pip-button-element.d.ts.map +1 -0
- package/dist/dev/ui/pip-button/pip-button-element.js +25 -0
- package/dist/dev/ui/pip-button/pip-button-element.js.map +1 -0
- package/dist/dev/ui/play-button/play-button-element.d.ts +20 -0
- package/dist/dev/ui/play-button/play-button-element.d.ts.map +1 -0
- package/dist/dev/ui/play-button/play-button-element.js +25 -0
- package/dist/dev/ui/play-button/play-button-element.js.map +1 -0
- 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 +66 -0
- package/dist/dev/ui/popover/popover-element.d.ts.map +1 -0
- package/dist/dev/ui/popover/popover-element.js +168 -0
- package/dist/dev/ui/popover/popover-element.js.map +1 -0
- package/dist/dev/ui/poster/poster-element.d.ts +18 -0
- package/dist/dev/ui/poster/poster-element.d.ts.map +1 -0
- package/dist/dev/ui/poster/poster-element.js +22 -0
- package/dist/dev/ui/poster/poster-element.js.map +1 -0
- package/dist/dev/ui/seek-button/seek-button-element.d.ts +22 -0
- package/dist/dev/ui/seek-button/seek-button-element.d.ts.map +1 -0
- package/dist/dev/ui/seek-button/seek-button-element.js +32 -0
- package/dist/dev/ui/seek-button/seek-button-element.js.map +1 -0
- 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 +57 -0
- package/dist/dev/ui/slider/slider-element.d.ts.map +1 -0
- package/dist/dev/ui/slider/slider-element.js +122 -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-preview-element.js +51 -0
- package/dist/dev/ui/slider/slider-preview-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-thumbnail-element.d.ts +12 -0
- package/dist/dev/ui/slider/slider-thumbnail-element.d.ts.map +1 -0
- package/dist/dev/ui/slider/slider-thumbnail-element.js +23 -0
- package/dist/dev/ui/slider/slider-thumbnail-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 +43 -0
- package/dist/dev/ui/thumbnail/thumbnail-element.d.ts.map +1 -0
- package/dist/dev/ui/thumbnail/thumbnail-element.js +139 -0
- package/dist/dev/ui/thumbnail/thumbnail-element.js.map +1 -0
- package/dist/dev/ui/time/time-element.d.ts +32 -0
- package/dist/dev/ui/time/time-element.d.ts.map +1 -0
- package/dist/dev/ui/time/time-element.js +60 -0
- package/dist/dev/ui/time/time-element.js.map +1 -0
- package/dist/dev/ui/time/time-group-element.d.ts +9 -0
- package/dist/dev/ui/time/time-group-element.d.ts.map +1 -0
- package/dist/dev/ui/time/time-group-element.js +12 -0
- package/dist/dev/ui/time/time-group-element.js.map +1 -0
- package/dist/dev/ui/time/time-separator-element.d.ts +10 -0
- package/dist/dev/ui/time/time-separator-element.d.ts.map +1 -0
- package/dist/dev/ui/time/time-separator-element.js +17 -0
- package/dist/dev/ui/time/time-separator-element.js.map +1 -0
- package/dist/dev/ui/time-slider/time-slider-element.d.ts +50 -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 +134 -0
- package/dist/dev/ui/time-slider/time-slider-element.js.map +1 -0
- package/dist/dev/ui/tooltip/context.d.ts +9 -0
- package/dist/dev/ui/tooltip/context.d.ts.map +1 -0
- package/dist/dev/ui/tooltip/context.js +9 -0
- package/dist/dev/ui/tooltip/context.js.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-element.d.ts +54 -0
- package/dist/dev/ui/tooltip/tooltip-element.d.ts.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-element.js +154 -0
- package/dist/dev/ui/tooltip/tooltip-element.js.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-group-element.d.ts +27 -0
- package/dist/dev/ui/tooltip/tooltip-group-element.d.ts.map +1 -0
- package/dist/dev/ui/tooltip/tooltip-group-element.js +38 -0
- package/dist/dev/ui/tooltip/tooltip-group-element.js.map +1 -0
- package/dist/dev/ui/volume-slider/volume-slider-element.d.ts +45 -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 +123 -0
- package/dist/dev/ui/volume-slider/volume-slider-element.js.map +1 -0
- package/package.json +89 -40
- package/dist/button-Bu1mGG-F.js +0 -63
- package/dist/button-Bu1mGG-F.js.map +0 -1
- package/dist/component-factory-DeAN6cjC.js +0 -47
- package/dist/component-factory-DeAN6cjC.js.map +0 -1
- package/dist/current-time-display-C3qndGf5.js +0 -47
- package/dist/current-time-display-C3qndGf5.js.map +0 -1
- package/dist/custom-element-3bDlB2XO.js +0 -10
- package/dist/custom-element-3bDlB2XO.js.map +0 -1
- package/dist/define/index.d.ts +0 -12
- package/dist/define/index.js +0 -27
- package/dist/define/media-container.d.ts +0 -1
- package/dist/define/media-container.js +0 -3
- package/dist/define/media-current-time-display.d.ts +0 -1
- package/dist/define/media-current-time-display.js +0 -4
- package/dist/define/media-duration-display.d.ts +0 -1
- package/dist/define/media-duration-display.js +0 -4
- package/dist/define/media-fullscreen-button.d.ts +0 -1
- package/dist/define/media-fullscreen-button.js +0 -5
- package/dist/define/media-mute-button.d.ts +0 -1
- package/dist/define/media-mute-button.js +0 -5
- package/dist/define/media-play-button.d.ts +0 -1
- package/dist/define/media-play-button.js +0 -5
- package/dist/define/media-popover.d.ts +0 -1
- package/dist/define/media-popover.js +0 -3
- package/dist/define/media-preview-time-display.d.ts +0 -1
- package/dist/define/media-preview-time-display.js +0 -4
- package/dist/define/media-time-slider.d.ts +0 -1
- package/dist/define/media-time-slider.js +0 -4
- package/dist/define/media-tooltip.d.ts +0 -1
- package/dist/define/media-tooltip.js +0 -3
- package/dist/define/media-volume-slider.d.ts +0 -1
- package/dist/define/media-volume-slider.js +0 -4
- package/dist/define/video-provider.d.ts +0 -1
- package/dist/define/video-provider.js +0 -3
- package/dist/duration-display-JOPp3bdU.js +0 -49
- package/dist/duration-display-JOPp3bdU.js.map +0 -1
- package/dist/fullscreen-button-C1nq8yP-.js +0 -48
- package/dist/fullscreen-button-C1nq8yP-.js.map +0 -1
- package/dist/icons-CuxuONCk.js +0 -209
- package/dist/icons-CuxuONCk.js.map +0 -1
- package/dist/icons.d.ts +0 -1
- package/dist/icons.js +0 -2
- package/dist/index.d.ts +0 -154
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -17
- package/dist/media-container-BOL0PKuG.js +0 -80
- package/dist/media-container-BOL0PKuG.js.map +0 -1
- package/dist/media-container-ChS9lZvf.d.ts +0 -1
- package/dist/media-container-DwKSOa1h.js +0 -8
- package/dist/media-container-DwKSOa1h.js.map +0 -1
- package/dist/media-current-time-display-B-4Cp845.js +0 -8
- package/dist/media-current-time-display-B-4Cp845.js.map +0 -1
- package/dist/media-current-time-display-Cd0rPAuj.d.ts +0 -1
- package/dist/media-duration-display-BLMr7VHo.js +0 -8
- package/dist/media-duration-display-BLMr7VHo.js.map +0 -1
- package/dist/media-duration-display-qvm6YX-q.d.ts +0 -1
- package/dist/media-fullscreen-button-BgUK3lgu.d.ts +0 -1
- package/dist/media-fullscreen-button-CIpcLhtU.js +0 -8
- package/dist/media-fullscreen-button-CIpcLhtU.js.map +0 -1
- package/dist/media-mute-button-CHHISH91.js +0 -8
- package/dist/media-mute-button-CHHISH91.js.map +0 -1
- package/dist/media-mute-button-NVJF2EEW.d.ts +0 -1
- package/dist/media-play-button-DhSK0JQk.js +0 -8
- package/dist/media-play-button-DhSK0JQk.js.map +0 -1
- package/dist/media-play-button-oq8yDlxe.d.ts +0 -1
- package/dist/media-popover-BtJmPv0E.d.ts +0 -1
- package/dist/media-popover-Cw9d_Bh3.js +0 -8
- package/dist/media-popover-Cw9d_Bh3.js.map +0 -1
- package/dist/media-preview-time-display-4YX5Rics.d.ts +0 -1
- package/dist/media-preview-time-display-DAiMgLPX.js +0 -8
- package/dist/media-preview-time-display-DAiMgLPX.js.map +0 -1
- package/dist/media-skin-CxnuHwhu.js +0 -36
- package/dist/media-skin-CxnuHwhu.js.map +0 -1
- package/dist/media-skin-Di3vSHvS.d.ts +0 -11
- package/dist/media-skin-Di3vSHvS.d.ts.map +0 -1
- package/dist/media-time-slider-DvMnfYXZ.d.ts +0 -1
- package/dist/media-time-slider-SuxR3Rep.js +0 -12
- package/dist/media-time-slider-SuxR3Rep.js.map +0 -1
- package/dist/media-tooltip-BqV17mdM.d.ts +0 -1
- package/dist/media-tooltip-CMRN_X4D.js +0 -8
- package/dist/media-tooltip-CMRN_X4D.js.map +0 -1
- package/dist/media-volume-slider-B-n6b3Y8.js +0 -11
- package/dist/media-volume-slider-B-n6b3Y8.js.map +0 -1
- package/dist/media-volume-slider-DP47VLVi.d.ts +0 -1
- package/dist/mute-button-BSDoCZs3.js +0 -50
- package/dist/mute-button-BSDoCZs3.js.map +0 -1
- package/dist/play-button-gaqIKsrv.js +0 -44
- package/dist/play-button-gaqIKsrv.js.map +0 -1
- package/dist/popover-BUCVOjnO.js +0 -167
- package/dist/popover-BUCVOjnO.js.map +0 -1
- package/dist/preview-time-display-Dax0FQ2X.js +0 -44
- package/dist/preview-time-display-Dax0FQ2X.js.map +0 -1
- package/dist/skins/frosted.d.ts +0 -23
- package/dist/skins/frosted.d.ts.map +0 -1
- package/dist/skins/frosted.js +0 -145
- package/dist/skins/frosted.js.map +0 -1
- package/dist/skins/minimal.d.ts +0 -23
- package/dist/skins/minimal.d.ts.map +0 -1
- package/dist/skins/minimal.js +0 -150
- package/dist/skins/minimal.js.map +0 -1
- package/dist/store.d.ts +0 -1
- package/dist/time-slider-DKamO_2Q.js +0 -202
- package/dist/time-slider-DKamO_2Q.js.map +0 -1
- package/dist/tooltip-B-glki2f.js +0 -171
- package/dist/tooltip-B-glki2f.js.map +0 -1
- package/dist/video-provider-BKDqoKFf.js +0 -17
- package/dist/video-provider-BKDqoKFf.js.map +0 -1
- package/dist/video-provider-BPPI5e47.js +0 -8
- package/dist/video-provider-BPPI5e47.js.map +0 -1
- package/dist/video-provider-nSCfwA7l.d.ts +0 -1
- package/dist/volume-slider-CbFzCHX4.js +0 -206
- package/dist/volume-slider-CbFzCHX4.js.map +0 -1
- /package/dist/{store.js → default/define/feature/video.js} +0 -0
- /package/dist/{index-LKrIp3Oo.d.ts → dev/define/feature/video.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video.tailwind.js","names":[],"sources":["../../../../../../../../skins/dist/default/minimal/tailwind/video.tailwind.js"],"sourcesContent":["import { controls as controls$1 } from \"./components/controls.js\";\nimport { popup as popup$1 } from \"./components/popup.js\";\nimport { root as root$1 } from \"./components/root.js\";\nimport { bufferingIndicator } from \"./components/buffering.js\";\nimport { button } from \"./components/button.js\";\nimport { buttonGroup } from \"./components/button-group.js\";\nimport { error } from \"./components/error.js\";\nimport { icon, iconContainer, iconFlipped, iconHidden } from \"./components/icon.js\";\nimport { seek } from \"./components/seek.js\";\nimport { slider as slider$1 } from \"./components/slider.js\";\nimport { time } from \"./components/time.js\";\nimport { captions } from \"./components/captions.js\";\nimport { iconState } from \"./components/icon-state.js\";\nimport { overlay } from \"./components/overlay.js\";\nimport { tooltipState } from \"./components/tooltip-state.js\";\nimport { cn } from \"@videojs/utils/style\";\n\n//#region src/minimal/tailwind/video.tailwind.ts\nconst root = (isShadowDOM) => cn(root$1, \"bg-black\", \"after:absolute after:pointer-events-none after:rounded-[inherit] after:z-10\", \"after:inset-0 after:ring-1 after:ring-inset after:ring-black/15\", \"dark:after:ring-white/15\", {\n\t\"[&_::slotted(video)]:block [&_::slotted(video)]:w-full [&_::slotted(video)]:h-full [&_::slotted(video)]:rounded-(--media-border-radius,0.75rem)\": isShadowDOM,\n\t\"[&_video]:block [&_video]:w-full [&_video]:h-full [&_video]:rounded-[inherit]\": !isShadowDOM\n}, \"[&>img]:absolute [&>img]:inset-0 [&>img]:w-full [&>img]:h-full [&>img]:rounded-[inherit]\", \"[&>img]:object-cover [&>img]:pointer-events-none\", \"[&>img]:transition-opacity [&>img]:duration-250\", \"[&>img:not([data-visible])]:opacity-0\", \"[--media-caption-track-delay:600ms]\", \"[--media-caption-track-y:-0.5rem]\", \"has-[[data-controls][data-visible]]:[--media-caption-track-delay:25ms]\", \"has-[[data-controls][data-visible]]:[--media-caption-track-y:-3.5rem]\", !isShadowDOM ? [\n\t\"[&_video::-webkit-media-text-track-container]:transition-transform\",\n\t\"[&_video::-webkit-media-text-track-container]:duration-150\",\n\t\"[&_video::-webkit-media-text-track-container]:ease-out\",\n\t\"[&_video::-webkit-media-text-track-container]:delay-(--media-caption-track-delay)\",\n\t\"[&_video::-webkit-media-text-track-container]:translate-y-(--media-caption-track-y)\",\n\t\"[&_video::-webkit-media-text-track-container]:scale-98\",\n\t\"[&_video::-webkit-media-text-track-container]:z-1\",\n\t\"[&_video::-webkit-media-text-track-container]:font-[inherit]\",\n\t\"motion-reduce:[&_video::-webkit-media-text-track-container]:duration-50\"\n] : [], \"[&:fullscreen]:rounded-none\");\nconst controls = cn(controls$1, \"absolute bottom-0 inset-x-0\", \"pt-8 px-1.5 pb-1.5 gap-2\", \"text-white z-10\", \"will-change-[translate,filter,opacity]\", \"transition-[translate,filter,opacity] ease-out\", \"delay-0 duration-75\", \"not-data-visible:opacity-0 not-data-visible:translate-y-full\", \"not-data-visible:blur-sm not-data-visible:pointer-events-none\", \"not-data-visible:delay-500 not-data-visible:duration-500\", \"motion-reduce:not-data-visible:duration-100\", \"motion-reduce:not-data-visible:translate-y-0\", \"motion-reduce:not-data-visible:blur-none motion-reduce:not-data-visible:scale-100\", \"@sm/media-root:pt-10 @sm/media-root:px-3 @sm/media-root:pb-3\", \"@sm/media-root:gap-3.5\");\nconst slider = {\n\t...slider$1,\n\ttrack: cn(slider$1.track, \"shadow-[0_0_0_1px_oklch(0_0_0/0.05)]\")\n};\nconst popup = {\n\t...popup$1,\n\tvolume: cn(\"[--media-popover-side-offset:0.5rem] p-1 bg-transparent\")\n};\n\n//#endregion\nexport { bufferingIndicator, button, buttonGroup, captions, controls, error, icon, iconContainer, iconFlipped, iconHidden, iconState, overlay, popup, root, seek, slider, time, tooltipState };\n//# sourceMappingURL=video.tailwind.js.map"],"mappings":";;;;;;;;;;;;;;;;;AAkBA,MAAM,QAAQ,gBAAgB,GAAG,QAAQ,YAAY,+EAA+E,mEAAmE,4BAA4B;CAClO,mJAAmJ;CACnJ,iFAAiF,CAAC;CAClF,EAAE,4FAA4F,oDAAoD,mDAAmD,yCAAyC,uCAAuC,qCAAqC,0EAA0E,yEAAyE,CAAC,cAAc;CAC5d;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG,EAAE,EAAE,8BAA8B;AACtC,MAAM,WAAW,GAAG,YAAY,+BAA+B,4BAA4B,mBAAmB,0CAA0C,kDAAkD,uBAAuB,gEAAgE,iEAAiE,4DAA4D,+CAA+C,gDAAgD,qFAAqF,gEAAgE,yBAAyB;AAC3qB,MAAM,SAAS;CACd,GAAG;CACH,OAAO,GAAG,SAAS,OAAO,uCAAuC;CACjE;AACD,MAAM,QAAQ;CACb,GAAG;CACH,QAAQ,GAAG,0DAA0D;CACrE"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { ContextConsumer } from "@videojs/element/context";
|
|
2
|
+
import { noop } from "@videojs/utils/function";
|
|
3
|
+
|
|
4
|
+
//#region src/store/container-mixin.ts
|
|
5
|
+
/**
|
|
6
|
+
* Create a mixin that consumes player context and auto-attaches media elements.
|
|
7
|
+
*
|
|
8
|
+
* @param context - Player context to consume from an ancestor provider.
|
|
9
|
+
*/
|
|
10
|
+
function createContainerMixin(context) {
|
|
11
|
+
return (BaseClass) => {
|
|
12
|
+
class PlayerContainerElement extends BaseClass {
|
|
13
|
+
#detach = noop;
|
|
14
|
+
#observer = null;
|
|
15
|
+
#contextStore = null;
|
|
16
|
+
constructor(...args) {
|
|
17
|
+
super(...args);
|
|
18
|
+
new ContextConsumer(this, {
|
|
19
|
+
context,
|
|
20
|
+
callback: (value) => {
|
|
21
|
+
this.#contextStore = value ?? null;
|
|
22
|
+
this.#attachMedia();
|
|
23
|
+
},
|
|
24
|
+
subscribe: true
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
get store() {
|
|
28
|
+
return this.#contextStore;
|
|
29
|
+
}
|
|
30
|
+
connectedCallback() {
|
|
31
|
+
super.connectedCallback();
|
|
32
|
+
this.#observer = new MutationObserver((records) => {
|
|
33
|
+
if (records.some(hasMediaNode)) this.#attachMedia();
|
|
34
|
+
});
|
|
35
|
+
this.#observer.observe(this, {
|
|
36
|
+
childList: true,
|
|
37
|
+
subtree: true,
|
|
38
|
+
attributes: true,
|
|
39
|
+
attributeFilter: ["data-media-element"]
|
|
40
|
+
});
|
|
41
|
+
this.addEventListener("slotchange", this.#onSlotChange);
|
|
42
|
+
this.#attachMedia();
|
|
43
|
+
}
|
|
44
|
+
disconnectedCallback() {
|
|
45
|
+
super.disconnectedCallback();
|
|
46
|
+
this.#observer?.disconnect();
|
|
47
|
+
this.#observer = null;
|
|
48
|
+
this.removeEventListener("slotchange", this.#onSlotChange);
|
|
49
|
+
this.#detach();
|
|
50
|
+
}
|
|
51
|
+
#onSlotChange = () => {
|
|
52
|
+
this.#attachMedia();
|
|
53
|
+
};
|
|
54
|
+
#getSlottedMedia() {
|
|
55
|
+
const slot = this.querySelector("slot[name=\"media\"]");
|
|
56
|
+
if (!slot) return null;
|
|
57
|
+
for (const el of slot.assignedElements({ flatten: true })) if (el instanceof HTMLMediaElement) return el;
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
#attachMedia() {
|
|
61
|
+
const store = this.#contextStore ?? this.store;
|
|
62
|
+
if (!store) return;
|
|
63
|
+
const media = this.querySelector("video, audio, [data-media-element]") ?? this.#getSlottedMedia();
|
|
64
|
+
if (!media) {
|
|
65
|
+
this.#detach();
|
|
66
|
+
this.#detach = noop;
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const target = {
|
|
70
|
+
media,
|
|
71
|
+
container: this
|
|
72
|
+
};
|
|
73
|
+
const hasMediaChanged = store.target?.media !== target.media, hasContainerChanged = store.target?.container !== target.container;
|
|
74
|
+
if (hasMediaChanged || hasContainerChanged) {
|
|
75
|
+
this.#detach();
|
|
76
|
+
this.#detach = store.attach(target);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return PlayerContainerElement;
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
function isMediaNode(node) {
|
|
84
|
+
return node instanceof HTMLMediaElement || node instanceof Element && node.hasAttribute("data-media-element");
|
|
85
|
+
}
|
|
86
|
+
function hasMediaNode(record) {
|
|
87
|
+
if (record.type === "attributes" && record.target instanceof Element) return record.target.hasAttribute("data-media-element");
|
|
88
|
+
for (const node of record.addedNodes) if (isMediaNode(node)) return true;
|
|
89
|
+
for (const node of record.removedNodes) if (isMediaNode(node)) return true;
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
//#endregion
|
|
94
|
+
export { createContainerMixin };
|
|
95
|
+
//# sourceMappingURL=container-mixin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-mixin.js","names":["#contextStore","#attachMedia","#observer","#onSlotChange","#detach","#getSlottedMedia"],"sources":["../../../src/store/container-mixin.ts"],"sourcesContent":["import type { MediaContainer, PlayerStore, PlayerTarget } from '@videojs/core/dom';\nimport { ContextConsumer } from '@videojs/element/context';\nimport { noop } from '@videojs/utils/function';\nimport type { MediaElementConstructor } from '@/ui/media-element';\nimport type { PlayerContext } from '../player/context';\nimport type { PlayerConsumer, PlayerConsumerConstructor } from './types';\n\nexport type ContainerMixin<Store extends PlayerStore> = <Class extends MediaElementConstructor>(\n BaseClass: Class\n) => Class & PlayerConsumerConstructor<Store>;\n\n/**\n * Create a mixin that consumes player context and auto-attaches media elements.\n *\n * @param context - Player context to consume from an ancestor provider.\n */\nexport function createContainerMixin<Store extends PlayerStore>(context: PlayerContext<Store>): ContainerMixin<Store> {\n return <Class extends MediaElementConstructor>(BaseClass: Class) => {\n class PlayerContainerElement extends BaseClass implements PlayerConsumer<Store>, MediaContainer {\n #detach = noop;\n #observer: MutationObserver | null = null;\n #contextStore: Store | null = null;\n\n constructor(...args: any[]) {\n super(...args);\n\n // Created in the constructor body (after all field initializers) so\n // that #contextStore's private slot exists if the callback fires\n // synchronously — which happens when the element is already connected.\n // The host's controller list keeps the consumer alive; no field needed.\n new ContextConsumer(this, {\n context,\n callback: (value) => {\n this.#contextStore = value ?? null;\n this.#attachMedia();\n },\n subscribe: true,\n });\n }\n\n get store(): Store | null {\n return this.#contextStore;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n this.#observer = new MutationObserver((records) => {\n if (records.some(hasMediaNode)) this.#attachMedia();\n });\n\n this.#observer.observe(this, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['data-media-element'],\n });\n\n // Slotted media elements don't appear in the container's subtree,\n // so listen for slot reassignments to pick them up.\n this.addEventListener('slotchange', this.#onSlotChange);\n\n this.#attachMedia();\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.#observer?.disconnect();\n this.#observer = null;\n this.removeEventListener('slotchange', this.#onSlotChange);\n this.#detach();\n }\n\n #onSlotChange = () => {\n this.#attachMedia();\n };\n\n #getSlottedMedia(): HTMLMediaElement | null {\n const slot = this.querySelector<HTMLSlotElement>('slot[name=\"media\"]');\n if (!slot) return null;\n\n for (const el of slot.assignedElements({ flatten: true })) {\n if (el instanceof HTMLMediaElement) return el;\n }\n\n return null;\n }\n\n #attachMedia() {\n // Prefer the cached context value; fall back to `this.store` which\n // ProviderMixin overrides when both mixins are applied to one element.\n const store = this.#contextStore ?? this.store;\n if (!store) return;\n\n const media =\n this.querySelector<HTMLMediaElement>('video, audio, [data-media-element]') ?? this.#getSlottedMedia();\n\n if (!media) {\n this.#detach();\n this.#detach = noop;\n return;\n }\n\n const target: PlayerTarget = {\n media,\n container: this,\n };\n\n const hasMediaChanged = store.target?.media !== target.media,\n hasContainerChanged = store.target?.container !== target.container;\n\n if (hasMediaChanged || hasContainerChanged) {\n this.#detach();\n this.#detach = store.attach(target);\n }\n }\n }\n\n return PlayerContainerElement;\n };\n}\n\nfunction isMediaNode(node: Node): boolean {\n return node instanceof HTMLMediaElement || (node instanceof Element && node.hasAttribute('data-media-element'));\n}\n\nfunction hasMediaNode(record: MutationRecord): boolean {\n // Attribute mutation: data-media-element was added to a descendant\n if (record.type === 'attributes' && record.target instanceof Element) {\n return record.target.hasAttribute('data-media-element');\n }\n\n for (const node of record.addedNodes) {\n if (isMediaNode(node)) return true;\n }\n\n for (const node of record.removedNodes) {\n if (isMediaNode(node)) return true;\n }\n\n return false;\n}\n"],"mappings":";;;;;;;;;AAgBA,SAAgB,qBAAgD,SAAsD;AACpH,SAA+C,cAAqB;EAClE,MAAM,+BAA+B,UAA2D;GAC9F,UAAU;GACV,YAAqC;GACrC,gBAA8B;GAE9B,YAAY,GAAG,MAAa;AAC1B,UAAM,GAAG,KAAK;AAMd,QAAI,gBAAgB,MAAM;KACxB;KACA,WAAW,UAAU;AACnB,YAAKA,eAAgB,SAAS;AAC9B,YAAKC,aAAc;;KAErB,WAAW;KACZ,CAAC;;GAGJ,IAAI,QAAsB;AACxB,WAAO,MAAKD;;GAGd,AAAS,oBAAoB;AAC3B,UAAM,mBAAmB;AAEzB,UAAKE,WAAY,IAAI,kBAAkB,YAAY;AACjD,SAAI,QAAQ,KAAK,aAAa,CAAE,OAAKD,aAAc;MACnD;AAEF,UAAKC,SAAU,QAAQ,MAAM;KAC3B,WAAW;KACX,SAAS;KACT,YAAY;KACZ,iBAAiB,CAAC,qBAAqB;KACxC,CAAC;AAIF,SAAK,iBAAiB,cAAc,MAAKC,aAAc;AAEvD,UAAKF,aAAc;;GAGrB,AAAS,uBAAuB;AAC9B,UAAM,sBAAsB;AAC5B,UAAKC,UAAW,YAAY;AAC5B,UAAKA,WAAY;AACjB,SAAK,oBAAoB,cAAc,MAAKC,aAAc;AAC1D,UAAKC,QAAS;;GAGhB,sBAAsB;AACpB,UAAKH,aAAc;;GAGrB,mBAA4C;IAC1C,MAAM,OAAO,KAAK,cAA+B,uBAAqB;AACtE,QAAI,CAAC,KAAM,QAAO;AAElB,SAAK,MAAM,MAAM,KAAK,iBAAiB,EAAE,SAAS,MAAM,CAAC,CACvD,KAAI,cAAc,iBAAkB,QAAO;AAG7C,WAAO;;GAGT,eAAe;IAGb,MAAM,QAAQ,MAAKD,gBAAiB,KAAK;AACzC,QAAI,CAAC,MAAO;IAEZ,MAAM,QACJ,KAAK,cAAgC,qCAAqC,IAAI,MAAKK,iBAAkB;AAEvG,QAAI,CAAC,OAAO;AACV,WAAKD,QAAS;AACd,WAAKA,SAAU;AACf;;IAGF,MAAM,SAAuB;KAC3B;KACA,WAAW;KACZ;IAED,MAAM,kBAAkB,MAAM,QAAQ,UAAU,OAAO,OACrD,sBAAsB,MAAM,QAAQ,cAAc,OAAO;AAE3D,QAAI,mBAAmB,qBAAqB;AAC1C,WAAKA,QAAS;AACd,WAAKA,SAAU,MAAM,OAAO,OAAO;;;;AAKzC,SAAO;;;AAIX,SAAS,YAAY,MAAqB;AACxC,QAAO,gBAAgB,oBAAqB,gBAAgB,WAAW,KAAK,aAAa,qBAAqB;;AAGhH,SAAS,aAAa,QAAiC;AAErD,KAAI,OAAO,SAAS,gBAAgB,OAAO,kBAAkB,QAC3D,QAAO,OAAO,OAAO,aAAa,qBAAqB;AAGzD,MAAK,MAAM,QAAQ,OAAO,WACxB,KAAI,YAAY,KAAK,CAAE,QAAO;AAGhC,MAAK,MAAM,QAAQ,OAAO,aACxB,KAAI,YAAY,KAAK,CAAE,QAAO;AAGhC,QAAO"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ContextProvider } from "@videojs/element/context";
|
|
2
|
+
import { isNull } from "@videojs/utils/predicate";
|
|
3
|
+
|
|
4
|
+
//#region src/store/provider-mixin.ts
|
|
5
|
+
/**
|
|
6
|
+
* Create a mixin that provides player context to descendant elements.
|
|
7
|
+
*
|
|
8
|
+
* @param context - Player context to provide to descendants.
|
|
9
|
+
* @param factory - Factory function that creates a store instance.
|
|
10
|
+
*/
|
|
11
|
+
function createProviderMixin(context, factory) {
|
|
12
|
+
return (BaseClass) => {
|
|
13
|
+
class PlayerProviderElement extends BaseClass {
|
|
14
|
+
#store = factory();
|
|
15
|
+
#provider = new ContextProvider(this, {
|
|
16
|
+
context,
|
|
17
|
+
initialValue: this.store
|
|
18
|
+
});
|
|
19
|
+
get store() {
|
|
20
|
+
if (isNull(this.#store)) this.#store = factory();
|
|
21
|
+
return this.#store;
|
|
22
|
+
}
|
|
23
|
+
connectedCallback() {
|
|
24
|
+
super.connectedCallback();
|
|
25
|
+
this.#provider.setValue(this.store);
|
|
26
|
+
}
|
|
27
|
+
destroyCallback() {
|
|
28
|
+
this.#store?.destroy();
|
|
29
|
+
this.#store = null;
|
|
30
|
+
super.destroyCallback();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return PlayerProviderElement;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
//#endregion
|
|
38
|
+
export { createProviderMixin };
|
|
39
|
+
//# sourceMappingURL=provider-mixin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-mixin.js","names":["#store","#provider"],"sources":["../../../src/store/provider-mixin.ts"],"sourcesContent":["import type { PlayerStore } from '@videojs/core/dom';\nimport { ContextProvider } from '@videojs/element/context';\nimport { isNull } from '@videojs/utils/predicate';\nimport type { MediaElementConstructor } from '@/ui/media-element';\nimport type { PlayerContext } from '../player/context';\nimport type { PlayerProvider, PlayerProviderConstructor } from './types';\n\nexport type ProviderMixin<Store extends PlayerStore> = <Class extends MediaElementConstructor>(\n BaseClass: Class\n) => Class & PlayerProviderConstructor<Store>;\n\n/**\n * Create a mixin that provides player context to descendant elements.\n *\n * @param context - Player context to provide to descendants.\n * @param factory - Factory function that creates a store instance.\n */\nexport function createProviderMixin<Store extends PlayerStore>(\n context: PlayerContext<Store>,\n factory: () => Store\n): ProviderMixin<Store> {\n return <Class extends MediaElementConstructor>(BaseClass: Class) => {\n class PlayerProviderElement extends BaseClass implements PlayerProvider<Store> {\n #store: Store | null = factory();\n\n #provider = new ContextProvider(this, {\n context,\n initialValue: this.store,\n });\n\n get store(): Store {\n if (isNull(this.#store)) {\n this.#store = factory();\n }\n\n return this.#store;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this.#provider.setValue(this.store);\n }\n\n override destroyCallback() {\n this.#store?.destroy();\n this.#store = null;\n super.destroyCallback();\n }\n }\n\n return PlayerProviderElement;\n };\n}\n"],"mappings":";;;;;;;;;;AAiBA,SAAgB,oBACd,SACA,SACsB;AACtB,SAA+C,cAAqB;EAClE,MAAM,8BAA8B,UAA2C;GAC7E,SAAuB,SAAS;GAEhC,YAAY,IAAI,gBAAgB,MAAM;IACpC;IACA,cAAc,KAAK;IACpB,CAAC;GAEF,IAAI,QAAe;AACjB,QAAI,OAAO,MAAKA,MAAO,CACrB,OAAKA,QAAS,SAAS;AAGzB,WAAO,MAAKA;;GAGd,AAAS,oBAAoB;AAC3B,UAAM,mBAAmB;AACzB,UAAKC,SAAU,SAAS,KAAK,MAAM;;GAGrC,AAAS,kBAAkB;AACzB,UAAKD,OAAQ,SAAS;AACtB,UAAKA,QAAS;AACd,UAAM,iBAAiB;;;AAI3B,SAAO"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { MediaElement } from "../media-element.js";
|
|
2
|
+
import { alertDialogContext } from "./context.js";
|
|
3
|
+
import { applyElementProps, applyStateDataAttrs, createButton } from "@videojs/core/dom";
|
|
4
|
+
import { ContextConsumer } from "@videojs/element/context";
|
|
5
|
+
|
|
6
|
+
//#region src/ui/alert-dialog/alert-dialog-close-element.ts
|
|
7
|
+
var AlertDialogCloseElement = class extends MediaElement {
|
|
8
|
+
constructor(..._args) {
|
|
9
|
+
super(..._args);
|
|
10
|
+
this.disabled = false;
|
|
11
|
+
}
|
|
12
|
+
static {
|
|
13
|
+
this.tagName = "media-alert-dialog-close";
|
|
14
|
+
}
|
|
15
|
+
static {
|
|
16
|
+
this.properties = { disabled: { type: Boolean } };
|
|
17
|
+
}
|
|
18
|
+
#ctx = new ContextConsumer(this, {
|
|
19
|
+
context: alertDialogContext,
|
|
20
|
+
subscribe: true
|
|
21
|
+
});
|
|
22
|
+
#disconnect = null;
|
|
23
|
+
connectedCallback() {
|
|
24
|
+
super.connectedCallback();
|
|
25
|
+
this.#disconnect = new AbortController();
|
|
26
|
+
const buttonProps = createButton({
|
|
27
|
+
onActivate: () => this.#ctx.value?.close(),
|
|
28
|
+
isDisabled: () => this.disabled
|
|
29
|
+
});
|
|
30
|
+
applyElementProps(this, buttonProps, { signal: this.#disconnect.signal });
|
|
31
|
+
}
|
|
32
|
+
disconnectedCallback() {
|
|
33
|
+
super.disconnectedCallback();
|
|
34
|
+
this.#disconnect?.abort();
|
|
35
|
+
this.#disconnect = null;
|
|
36
|
+
}
|
|
37
|
+
update(_changed) {
|
|
38
|
+
super.update(_changed);
|
|
39
|
+
const ctx = this.#ctx.value;
|
|
40
|
+
if (ctx) applyStateDataAttrs(this, ctx.state, ctx.stateAttrMap);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
//#endregion
|
|
45
|
+
export { AlertDialogCloseElement };
|
|
46
|
+
//# sourceMappingURL=alert-dialog-close-element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-dialog-close-element.js","names":["#ctx","#disconnect"],"sources":["../../../../src/ui/alert-dialog/alert-dialog-close-element.ts"],"sourcesContent":["import { applyElementProps, applyStateDataAttrs, createButton } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\n\nimport { MediaElement } from '../media-element';\nimport { alertDialogContext } from './context';\n\nexport class AlertDialogCloseElement extends MediaElement {\n static readonly tagName = 'media-alert-dialog-close';\n\n static override properties = {\n disabled: { type: Boolean },\n } satisfies PropertyDeclarationMap<'disabled'>;\n\n disabled = false;\n\n readonly #ctx = new ContextConsumer(this, { context: alertDialogContext, subscribe: true });\n\n #disconnect: AbortController | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.#disconnect = new AbortController();\n\n const buttonProps = createButton({\n onActivate: () => this.#ctx.value?.close(),\n isDisabled: () => this.disabled,\n });\n\n applyElementProps(this, buttonProps, { signal: this.#disconnect.signal });\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#disconnect?.abort();\n this.#disconnect = null;\n }\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n const ctx = this.#ctx.value;\n if (ctx) applyStateDataAttrs(this, ctx.state, ctx.stateAttrMap);\n }\n}\n"],"mappings":";;;;;;AAOA,IAAa,0BAAb,cAA6C,aAAa;;;kBAO7C;;;iBANe;;;oBAEG,EAC3B,UAAU,EAAE,MAAM,SAAS,EAC5B;;CAID,CAASA,MAAO,IAAI,gBAAgB,MAAM;EAAE,SAAS;EAAoB,WAAW;EAAM,CAAC;CAE3F,cAAsC;CAEtC,AAAS,oBAA0B;AACjC,QAAM,mBAAmB;AACzB,QAAKC,aAAc,IAAI,iBAAiB;EAExC,MAAM,cAAc,aAAa;GAC/B,kBAAkB,MAAKD,IAAK,OAAO,OAAO;GAC1C,kBAAkB,KAAK;GACxB,CAAC;AAEF,oBAAkB,MAAM,aAAa,EAAE,QAAQ,MAAKC,WAAY,QAAQ,CAAC;;CAG3E,AAAS,uBAA6B;AACpC,QAAM,sBAAsB;AAC5B,QAAKA,YAAa,OAAO;AACzB,QAAKA,aAAc;;CAGrB,AAAmB,OAAO,UAAgC;AACxD,QAAM,OAAO,SAAS;EACtB,MAAM,MAAM,MAAKD,IAAK;AACtB,MAAI,IAAK,qBAAoB,MAAM,IAAI,OAAO,IAAI,aAAa"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { alertDialogContext } from "./context.js";
|
|
2
|
+
import { ContextPartElement } from "../context-part-element.js";
|
|
3
|
+
import { ContextConsumer } from "@videojs/element/context";
|
|
4
|
+
|
|
5
|
+
//#region src/ui/alert-dialog/alert-dialog-description-element.ts
|
|
6
|
+
var AlertDialogDescriptionElement = class extends ContextPartElement {
|
|
7
|
+
constructor(..._args) {
|
|
8
|
+
super(..._args);
|
|
9
|
+
this.consumer = new ContextConsumer(this, {
|
|
10
|
+
context: alertDialogContext,
|
|
11
|
+
subscribe: true
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
static {
|
|
15
|
+
this.tagName = "media-alert-dialog-description";
|
|
16
|
+
}
|
|
17
|
+
update(changed) {
|
|
18
|
+
super.update(changed);
|
|
19
|
+
const descriptionId = this.consumer.value?.state.descriptionId;
|
|
20
|
+
if (descriptionId) this.id = descriptionId;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
//#endregion
|
|
25
|
+
export { AlertDialogDescriptionElement };
|
|
26
|
+
//# sourceMappingURL=alert-dialog-description-element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-dialog-description-element.js","names":[],"sources":["../../../../src/ui/alert-dialog/alert-dialog-description-element.ts"],"sourcesContent":["import type { AlertDialogState } from '@videojs/core';\nimport type { PropertyValues } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\n\nimport { ContextPartElement } from '../context-part-element';\nimport { alertDialogContext } from './context';\n\nexport class AlertDialogDescriptionElement extends ContextPartElement<AlertDialogState> {\n static readonly tagName = 'media-alert-dialog-description';\n\n protected readonly consumer = new ContextConsumer(this, { context: alertDialogContext, subscribe: true });\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n const descriptionId = this.consumer.value?.state.descriptionId;\n if (descriptionId) this.id = descriptionId;\n }\n}\n"],"mappings":";;;;;AAOA,IAAa,gCAAb,cAAmD,mBAAqC;;;kBAGxD,IAAI,gBAAgB,MAAM;GAAE,SAAS;GAAoB,WAAW;GAAM,CAAC;;;iBAF/E;;CAI1B,AAAmB,OAAO,SAA+B;AACvD,QAAM,OAAO,QAAQ;EACrB,MAAM,gBAAgB,KAAK,SAAS,OAAO,MAAM;AACjD,MAAI,cAAe,MAAK,KAAK"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { MediaElement } from "../media-element.js";
|
|
2
|
+
import { alertDialogContext } from "./context.js";
|
|
3
|
+
import { applyElementProps, applyStateDataAttrs, createAlertDialog, createTransition } from "@videojs/core/dom";
|
|
4
|
+
import { ContextProvider } from "@videojs/element/context";
|
|
5
|
+
import { SnapshotController } from "@videojs/store/html";
|
|
6
|
+
import { AlertDialogCore, AlertDialogDataAttrs } from "@videojs/core";
|
|
7
|
+
|
|
8
|
+
//#region src/ui/alert-dialog/alert-dialog-element.ts
|
|
9
|
+
let idCounter = 0;
|
|
10
|
+
var AlertDialogElement = class extends MediaElement {
|
|
11
|
+
static {
|
|
12
|
+
this.tagName = "media-alert-dialog";
|
|
13
|
+
}
|
|
14
|
+
static {
|
|
15
|
+
this.properties = { open: { type: Boolean } };
|
|
16
|
+
}
|
|
17
|
+
#core = new AlertDialogCore();
|
|
18
|
+
#provider = new ContextProvider(this, { context: alertDialogContext });
|
|
19
|
+
#titleId = `vjs-alert-dialog-title-${idCounter++}`;
|
|
20
|
+
#descriptionId = `vjs-alert-dialog-desc-${idCounter++}`;
|
|
21
|
+
#dialog = null;
|
|
22
|
+
#snapshot = null;
|
|
23
|
+
constructor() {
|
|
24
|
+
super();
|
|
25
|
+
this.open = false;
|
|
26
|
+
this.#core.setTitleId(this.#titleId);
|
|
27
|
+
this.#core.setDescriptionId(this.#descriptionId);
|
|
28
|
+
}
|
|
29
|
+
connectedCallback() {
|
|
30
|
+
super.connectedCallback();
|
|
31
|
+
this.#dialog = createAlertDialog({
|
|
32
|
+
transition: createTransition(),
|
|
33
|
+
onOpenChange: (nextOpen) => {
|
|
34
|
+
this.open = nextOpen;
|
|
35
|
+
this.dispatchEvent(new CustomEvent("open-change", { detail: { open: nextOpen } }));
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
this.#dialog.setElement(this);
|
|
39
|
+
if (this.#snapshot) this.#snapshot.track(this.#dialog.input);
|
|
40
|
+
else this.#snapshot = new SnapshotController(this, this.#dialog.input);
|
|
41
|
+
}
|
|
42
|
+
disconnectedCallback() {
|
|
43
|
+
super.disconnectedCallback();
|
|
44
|
+
this.#dialog?.destroy();
|
|
45
|
+
this.#dialog = null;
|
|
46
|
+
}
|
|
47
|
+
willUpdate(changed) {
|
|
48
|
+
super.willUpdate(changed);
|
|
49
|
+
if (this.#dialog && changed.has("open")) {
|
|
50
|
+
const { active: inputOpen } = this.#dialog.input.current;
|
|
51
|
+
if (this.open !== inputOpen) if (this.open) this.#dialog.open();
|
|
52
|
+
else this.#dialog.close();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
update(_changed) {
|
|
56
|
+
super.update(_changed);
|
|
57
|
+
if (!this.#dialog) return;
|
|
58
|
+
const input = this.#dialog.input.current;
|
|
59
|
+
this.#core.setInput(input);
|
|
60
|
+
const state = this.#core.getState();
|
|
61
|
+
applyElementProps(this, this.#core.getAttrs(state));
|
|
62
|
+
applyStateDataAttrs(this, state, AlertDialogDataAttrs);
|
|
63
|
+
this.#provider.setValue({
|
|
64
|
+
state,
|
|
65
|
+
stateAttrMap: AlertDialogDataAttrs,
|
|
66
|
+
close: () => this.#dialog?.close()
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
//#endregion
|
|
72
|
+
export { AlertDialogElement };
|
|
73
|
+
//# sourceMappingURL=alert-dialog-element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-dialog-element.js","names":["#core","#provider","#titleId","#descriptionId","#dialog","#snapshot"],"sources":["../../../../src/ui/alert-dialog/alert-dialog-element.ts"],"sourcesContent":["import { AlertDialogCore, AlertDialogDataAttrs, type AlertDialogInput } from '@videojs/core';\nimport {\n type AlertDialogApi,\n applyElementProps,\n applyStateDataAttrs,\n createAlertDialog,\n createTransition,\n} from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\nimport { ContextProvider } from '@videojs/element/context';\nimport { SnapshotController } from '@videojs/store/html';\n\nimport { MediaElement } from '../media-element';\nimport { alertDialogContext } from './context';\n\nlet idCounter = 0;\n\nexport class AlertDialogElement extends MediaElement {\n static readonly tagName = 'media-alert-dialog';\n\n static override properties = {\n open: { type: Boolean },\n } satisfies PropertyDeclarationMap<'open'>;\n\n open = false;\n\n readonly #core = new AlertDialogCore();\n readonly #provider = new ContextProvider(this, { context: alertDialogContext });\n readonly #titleId = `vjs-alert-dialog-title-${idCounter++}`;\n readonly #descriptionId = `vjs-alert-dialog-desc-${idCounter++}`;\n\n #dialog: AlertDialogApi | null = null;\n #snapshot: SnapshotController<AlertDialogInput> | null = null;\n\n constructor() {\n super();\n this.#core.setTitleId(this.#titleId);\n this.#core.setDescriptionId(this.#descriptionId);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this.#dialog = createAlertDialog({\n transition: createTransition(),\n onOpenChange: (nextOpen: boolean) => {\n this.open = nextOpen;\n this.dispatchEvent(new CustomEvent('open-change', { detail: { open: nextOpen } }));\n },\n });\n\n // Register self as the dialog element.\n this.#dialog.setElement(this);\n\n if (this.#snapshot) {\n this.#snapshot.track(this.#dialog.input);\n } else {\n this.#snapshot = new SnapshotController(this, this.#dialog.input);\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#dialog?.destroy();\n this.#dialog = null;\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n\n // Sync controlled open state.\n if (this.#dialog && changed.has('open')) {\n const { active: inputOpen } = this.#dialog.input.current;\n if (this.open !== inputOpen) {\n if (this.open) {\n this.#dialog.open();\n } else {\n this.#dialog.close();\n }\n }\n }\n }\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n if (!this.#dialog) return;\n\n const input = this.#dialog.input.current;\n this.#core.setInput(input);\n const state = this.#core.getState();\n\n applyElementProps(this, this.#core.getAttrs(state));\n applyStateDataAttrs(this, state, AlertDialogDataAttrs);\n\n this.#provider.setValue({\n state,\n stateAttrMap: AlertDialogDataAttrs,\n close: () => this.#dialog?.close(),\n });\n }\n}\n"],"mappings":";;;;;;;;AAeA,IAAI,YAAY;AAEhB,IAAa,qBAAb,cAAwC,aAAa;;iBACzB;;;oBAEG,EAC3B,MAAM,EAAE,MAAM,SAAS,EACxB;;CAID,CAASA,OAAQ,IAAI,iBAAiB;CACtC,CAASC,WAAY,IAAI,gBAAgB,MAAM,EAAE,SAAS,oBAAoB,CAAC;CAC/E,CAASC,UAAW,0BAA0B;CAC9C,CAASC,gBAAiB,yBAAyB;CAEnD,UAAiC;CACjC,YAAyD;CAEzD,cAAc;AACZ,SAAO;cAXF;AAYL,QAAKH,KAAM,WAAW,MAAKE,QAAS;AACpC,QAAKF,KAAM,iBAAiB,MAAKG,cAAe;;CAGlD,AAAS,oBAA0B;AACjC,QAAM,mBAAmB;AAEzB,QAAKC,SAAU,kBAAkB;GAC/B,YAAY,kBAAkB;GAC9B,eAAe,aAAsB;AACnC,SAAK,OAAO;AACZ,SAAK,cAAc,IAAI,YAAY,eAAe,EAAE,QAAQ,EAAE,MAAM,UAAU,EAAE,CAAC,CAAC;;GAErF,CAAC;AAGF,QAAKA,OAAQ,WAAW,KAAK;AAE7B,MAAI,MAAKC,SACP,OAAKA,SAAU,MAAM,MAAKD,OAAQ,MAAM;MAExC,OAAKC,WAAY,IAAI,mBAAmB,MAAM,MAAKD,OAAQ,MAAM;;CAIrE,AAAS,uBAA6B;AACpC,QAAM,sBAAsB;AAC5B,QAAKA,QAAS,SAAS;AACvB,QAAKA,SAAU;;CAGjB,AAAmB,WAAW,SAA+B;AAC3D,QAAM,WAAW,QAAQ;AAGzB,MAAI,MAAKA,UAAW,QAAQ,IAAI,OAAO,EAAE;GACvC,MAAM,EAAE,QAAQ,cAAc,MAAKA,OAAQ,MAAM;AACjD,OAAI,KAAK,SAAS,UAChB,KAAI,KAAK,KACP,OAAKA,OAAQ,MAAM;OAEnB,OAAKA,OAAQ,OAAO;;;CAM5B,AAAmB,OAAO,UAAgC;AACxD,QAAM,OAAO,SAAS;AACtB,MAAI,CAAC,MAAKA,OAAS;EAEnB,MAAM,QAAQ,MAAKA,OAAQ,MAAM;AACjC,QAAKJ,KAAM,SAAS,MAAM;EAC1B,MAAM,QAAQ,MAAKA,KAAM,UAAU;AAEnC,oBAAkB,MAAM,MAAKA,KAAM,SAAS,MAAM,CAAC;AACnD,sBAAoB,MAAM,OAAO,qBAAqB;AAEtD,QAAKC,SAAU,SAAS;GACtB;GACA,cAAc;GACd,aAAa,MAAKG,QAAS,OAAO;GACnC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { alertDialogContext } from "./context.js";
|
|
2
|
+
import { ContextPartElement } from "../context-part-element.js";
|
|
3
|
+
import { ContextConsumer } from "@videojs/element/context";
|
|
4
|
+
|
|
5
|
+
//#region src/ui/alert-dialog/alert-dialog-title-element.ts
|
|
6
|
+
var AlertDialogTitleElement = class extends ContextPartElement {
|
|
7
|
+
constructor(..._args) {
|
|
8
|
+
super(..._args);
|
|
9
|
+
this.consumer = new ContextConsumer(this, {
|
|
10
|
+
context: alertDialogContext,
|
|
11
|
+
subscribe: true
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
static {
|
|
15
|
+
this.tagName = "media-alert-dialog-title";
|
|
16
|
+
}
|
|
17
|
+
update(changed) {
|
|
18
|
+
super.update(changed);
|
|
19
|
+
const titleId = this.consumer.value?.state.titleId;
|
|
20
|
+
if (titleId) this.id = titleId;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
//#endregion
|
|
25
|
+
export { AlertDialogTitleElement };
|
|
26
|
+
//# sourceMappingURL=alert-dialog-title-element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-dialog-title-element.js","names":[],"sources":["../../../../src/ui/alert-dialog/alert-dialog-title-element.ts"],"sourcesContent":["import type { AlertDialogState } from '@videojs/core';\nimport type { PropertyValues } from '@videojs/element';\nimport { ContextConsumer } from '@videojs/element/context';\n\nimport { ContextPartElement } from '../context-part-element';\nimport { alertDialogContext } from './context';\n\nexport class AlertDialogTitleElement extends ContextPartElement<AlertDialogState> {\n static readonly tagName = 'media-alert-dialog-title';\n\n protected readonly consumer = new ContextConsumer(this, { context: alertDialogContext, subscribe: true });\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n const titleId = this.consumer.value?.state.titleId;\n if (titleId) this.id = titleId;\n }\n}\n"],"mappings":";;;;;AAOA,IAAa,0BAAb,cAA6C,mBAAqC;;;kBAGlD,IAAI,gBAAgB,MAAM;GAAE,SAAS;GAAoB,WAAW;GAAM,CAAC;;;iBAF/E;;CAI1B,AAAmB,OAAO,SAA+B;AACvD,QAAM,OAAO,QAAQ;EACrB,MAAM,UAAU,KAAK,SAAS,OAAO,MAAM;AAC3C,MAAI,QAAS,MAAK,KAAK"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createContext } from "@videojs/element/context";
|
|
2
|
+
|
|
3
|
+
//#region src/ui/alert-dialog/context.ts
|
|
4
|
+
const ALERT_DIALOG_CONTEXT_KEY = Symbol("@videojs/alert-dialog");
|
|
5
|
+
const alertDialogContext = createContext(ALERT_DIALOG_CONTEXT_KEY);
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
export { alertDialogContext };
|
|
9
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/alert-dialog/context.ts"],"sourcesContent":["import type { AlertDialogState, StateAttrMap } from '@videojs/core';\nimport { createContext } from '@videojs/element/context';\n\nexport interface AlertDialogContextValue {\n state: AlertDialogState;\n stateAttrMap: StateAttrMap<AlertDialogState>;\n close: () => void;\n}\n\nconst ALERT_DIALOG_CONTEXT_KEY = Symbol('@videojs/alert-dialog');\n\nexport const alertDialogContext = createContext<AlertDialogContextValue>(ALERT_DIALOG_CONTEXT_KEY);\n"],"mappings":";;;AASA,MAAM,2BAA2B,OAAO,wBAAwB;AAEhE,MAAa,qBAAqB,cAAuC,yBAAyB"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { playerContext } from "../../player/context.js";
|
|
2
|
+
import { MediaElement } from "../media-element.js";
|
|
3
|
+
import { PlayerController } from "../../player/player-controller.js";
|
|
4
|
+
import { applyStateDataAttrs, selectPlayback } from "@videojs/core/dom";
|
|
5
|
+
import { BufferingIndicatorCore, BufferingIndicatorDataAttrs } from "@videojs/core";
|
|
6
|
+
|
|
7
|
+
//#region src/ui/buffering-indicator/buffering-indicator-element.ts
|
|
8
|
+
var BufferingIndicatorElement = class extends MediaElement {
|
|
9
|
+
constructor(..._args) {
|
|
10
|
+
super(..._args);
|
|
11
|
+
this.delay = BufferingIndicatorCore.defaultProps.delay;
|
|
12
|
+
}
|
|
13
|
+
static {
|
|
14
|
+
this.tagName = "media-buffering-indicator";
|
|
15
|
+
}
|
|
16
|
+
static {
|
|
17
|
+
this.properties = { delay: { type: Number } };
|
|
18
|
+
}
|
|
19
|
+
#core = new BufferingIndicatorCore();
|
|
20
|
+
#state = new PlayerController(this, playerContext, selectPlayback);
|
|
21
|
+
#disconnect = null;
|
|
22
|
+
connectedCallback() {
|
|
23
|
+
super.connectedCallback();
|
|
24
|
+
this.#disconnect = new AbortController();
|
|
25
|
+
this.#core.state.subscribe(() => this.requestUpdate(), { signal: this.#disconnect.signal });
|
|
26
|
+
}
|
|
27
|
+
disconnectedCallback() {
|
|
28
|
+
super.disconnectedCallback();
|
|
29
|
+
this.#disconnect?.abort();
|
|
30
|
+
this.#disconnect = null;
|
|
31
|
+
}
|
|
32
|
+
willUpdate(changed) {
|
|
33
|
+
super.willUpdate(changed);
|
|
34
|
+
this.#core.setProps(this);
|
|
35
|
+
}
|
|
36
|
+
update(changed) {
|
|
37
|
+
super.update(changed);
|
|
38
|
+
const media = this.#state.value;
|
|
39
|
+
if (!media) return;
|
|
40
|
+
this.#core.update(media);
|
|
41
|
+
applyStateDataAttrs(this, this.#core.state.current, BufferingIndicatorDataAttrs);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
//#endregion
|
|
46
|
+
export { BufferingIndicatorElement };
|
|
47
|
+
//# sourceMappingURL=buffering-indicator-element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffering-indicator-element.js","names":["#core","#state","#disconnect"],"sources":["../../../../src/ui/buffering-indicator/buffering-indicator-element.ts"],"sourcesContent":["import { BufferingIndicatorCore, BufferingIndicatorDataAttrs } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectPlayback } from '@videojs/core/dom';\nimport type { PropertyDeclarationMap, PropertyValues } from '@videojs/element';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\n\nexport class BufferingIndicatorElement extends MediaElement {\n static readonly tagName = 'media-buffering-indicator';\n\n static override properties = {\n delay: { type: Number },\n } satisfies PropertyDeclarationMap<keyof BufferingIndicatorCore.Props>;\n\n delay = BufferingIndicatorCore.defaultProps.delay;\n\n readonly #core = new BufferingIndicatorCore();\n readonly #state = new PlayerController(this, playerContext, selectPlayback);\n\n #disconnect: AbortController | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this.#disconnect = new AbortController();\n\n this.#core.state.subscribe(() => this.requestUpdate(), {\n signal: this.#disconnect.signal,\n });\n\n if (__DEV__ && !this.#state.value) {\n logMissingFeature(this.localName, this.#state.displayName!);\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#disconnect?.abort();\n this.#disconnect = null;\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed);\n this.#core.setProps(this);\n }\n\n protected override update(changed: PropertyValues): void {\n super.update(changed);\n\n const media = this.#state.value;\n\n if (!media) return;\n\n this.#core.update(media);\n applyStateDataAttrs(this, this.#core.state.current, BufferingIndicatorDataAttrs);\n }\n}\n"],"mappings":";;;;;;;AAQA,IAAa,4BAAb,cAA+C,aAAa;;;eAOlD,uBAAuB,aAAa;;;iBANlB;;;oBAEG,EAC3B,OAAO,EAAE,MAAM,QAAQ,EACxB;;CAID,CAASA,OAAQ,IAAI,wBAAwB;CAC7C,CAASC,QAAS,IAAI,iBAAiB,MAAM,eAAe,eAAe;CAE3E,cAAsC;CAEtC,AAAS,oBAA0B;AACjC,QAAM,mBAAmB;AAEzB,QAAKC,aAAc,IAAI,iBAAiB;AAExC,QAAKF,KAAM,MAAM,gBAAgB,KAAK,eAAe,EAAE,EACrD,QAAQ,MAAKE,WAAY,QAC1B,CAAC;;CAOJ,AAAS,uBAA6B;AACpC,QAAM,sBAAsB;AAC5B,QAAKA,YAAa,OAAO;AACzB,QAAKA,aAAc;;CAGrB,AAAmB,WAAW,SAA+B;AAC3D,QAAM,WAAW,QAAQ;AACzB,QAAKF,KAAM,SAAS,KAAK;;CAG3B,AAAmB,OAAO,SAA+B;AACvD,QAAM,OAAO,QAAQ;EAErB,MAAM,QAAQ,MAAKC,MAAO;AAE1B,MAAI,CAAC,MAAO;AAEZ,QAAKD,KAAM,OAAO,MAAM;AACxB,sBAAoB,MAAM,MAAKA,KAAM,MAAM,SAAS,4BAA4B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { playerContext } from "../../player/context.js";
|
|
2
|
+
import { PlayerController } from "../../player/player-controller.js";
|
|
3
|
+
import { MediaButtonElement } from "../media-button-element.js";
|
|
4
|
+
import { selectTextTrack } from "@videojs/core/dom";
|
|
5
|
+
import { CaptionsButtonCore, CaptionsButtonDataAttrs } from "@videojs/core";
|
|
6
|
+
|
|
7
|
+
//#region src/ui/captions-button/captions-button-element.ts
|
|
8
|
+
var CaptionsButtonElement = class extends MediaButtonElement {
|
|
9
|
+
constructor(..._args) {
|
|
10
|
+
super(..._args);
|
|
11
|
+
this.core = new CaptionsButtonCore();
|
|
12
|
+
this.stateAttrMap = CaptionsButtonDataAttrs;
|
|
13
|
+
this.mediaState = new PlayerController(this, playerContext, selectTextTrack);
|
|
14
|
+
}
|
|
15
|
+
static {
|
|
16
|
+
this.tagName = "media-captions-button";
|
|
17
|
+
}
|
|
18
|
+
activate(state) {
|
|
19
|
+
this.core.toggle(state);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
export { CaptionsButtonElement };
|
|
25
|
+
//# sourceMappingURL=captions-button-element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"captions-button-element.js","names":[],"sources":["../../../../src/ui/captions-button/captions-button-element.ts"],"sourcesContent":["import { CaptionsButtonCore, CaptionsButtonDataAttrs, type MediaTextTrackState } from '@videojs/core';\nimport { selectTextTrack } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class CaptionsButtonElement extends MediaButtonElement<CaptionsButtonCore> {\n static readonly tagName = 'media-captions-button';\n\n protected readonly core = new CaptionsButtonCore();\n protected readonly stateAttrMap = CaptionsButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectTextTrack);\n\n protected activate(state: MediaTextTrackState): void {\n this.core.toggle(state);\n }\n}\n"],"mappings":";;;;;;;AAOA,IAAa,wBAAb,cAA2C,mBAAuC;;;cAGtD,IAAI,oBAAoB;sBAChB;oBACF,IAAI,iBAAiB,MAAM,eAAe,gBAAgB;;;iBAJhE;;CAM1B,AAAU,SAAS,OAAkC;AACnD,OAAK,KAAK,OAAO,MAAM"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { MediaElement } from "./media-element.js";
|
|
2
|
+
import { applyStateDataAttrs } from "@videojs/core/dom";
|
|
3
|
+
|
|
4
|
+
//#region src/ui/context-part-element.ts
|
|
5
|
+
/**
|
|
6
|
+
* Abstract base for compound-component part elements that consume a parent
|
|
7
|
+
* context and apply data attributes from `ctx.state` + `ctx.stateAttrMap`.
|
|
8
|
+
*
|
|
9
|
+
* Subclasses only need to declare the `consumer` property:
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* export class SliderTrackElement extends ContextPartElement<SliderState> {
|
|
13
|
+
* static readonly tagName = 'media-slider-track';
|
|
14
|
+
* protected readonly consumer = new ContextConsumer(this, { context: sliderContext, subscribe: true });
|
|
15
|
+
* }
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
var ContextPartElement = class extends MediaElement {
|
|
19
|
+
update(_changed) {
|
|
20
|
+
super.update(_changed);
|
|
21
|
+
const ctx = this.consumer.value;
|
|
22
|
+
if (ctx) applyStateDataAttrs(this, ctx.state, ctx.stateAttrMap);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
//#endregion
|
|
27
|
+
export { ContextPartElement };
|
|
28
|
+
//# sourceMappingURL=context-part-element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-part-element.js","names":[],"sources":["../../../src/ui/context-part-element.ts"],"sourcesContent":["import type { StateAttrMap } from '@videojs/core';\nimport { applyStateDataAttrs } from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\n\nimport { MediaElement } from './media-element';\n\n/** Shape that compound context values must satisfy for parts to consume. */\nexport interface PartContextValue<State extends object> {\n state: State;\n stateAttrMap: StateAttrMap<State>;\n}\n\n/**\n * Abstract base for compound-component part elements that consume a parent\n * context and apply data attributes from `ctx.state` + `ctx.stateAttrMap`.\n *\n * Subclasses only need to declare the `consumer` property:\n *\n * ```ts\n * export class SliderTrackElement extends ContextPartElement<SliderState> {\n * static readonly tagName = 'media-slider-track';\n * protected readonly consumer = new ContextConsumer(this, { context: sliderContext, subscribe: true });\n * }\n * ```\n */\nexport abstract class ContextPartElement<State extends object> extends MediaElement {\n protected abstract readonly consumer: { value?: PartContextValue<State> | undefined };\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n const ctx = this.consumer.value;\n if (ctx) applyStateDataAttrs(this, ctx.state, ctx.stateAttrMap);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAyBA,IAAsB,qBAAtB,cAAuE,aAAa;CAGlF,AAAmB,OAAO,UAAgC;AACxD,QAAM,OAAO,SAAS;EACtB,MAAM,MAAM,KAAK,SAAS;AAC1B,MAAI,IAAK,qBAAoB,MAAM,IAAI,OAAO,IAAI,aAAa"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createContext } from "@videojs/element/context";
|
|
2
|
+
|
|
3
|
+
//#region src/ui/controls/context.ts
|
|
4
|
+
const CONTROLS_CONTEXT_KEY = Symbol("@videojs/controls");
|
|
5
|
+
const controlsContext = createContext(CONTROLS_CONTEXT_KEY);
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
export { controlsContext };
|
|
9
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../../src/ui/controls/context.ts"],"sourcesContent":["import type { ControlsState, StateAttrMap } from '@videojs/core';\nimport { createContext } from '@videojs/element/context';\n\nexport interface ControlsContextValue {\n state: ControlsState;\n stateAttrMap: StateAttrMap<ControlsState>;\n}\n\nconst CONTROLS_CONTEXT_KEY = Symbol('@videojs/controls');\n\nexport const controlsContext = createContext<ControlsContextValue>(CONTROLS_CONTEXT_KEY);\n"],"mappings":";;;AAQA,MAAM,uBAAuB,OAAO,oBAAoB;AAExD,MAAa,kBAAkB,cAAoC,qBAAqB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { playerContext } from "../../player/context.js";
|
|
2
|
+
import { MediaElement } from "../media-element.js";
|
|
3
|
+
import { PlayerController } from "../../player/player-controller.js";
|
|
4
|
+
import { controlsContext } from "./context.js";
|
|
5
|
+
import { applyStateDataAttrs, selectControls } from "@videojs/core/dom";
|
|
6
|
+
import { ContextProvider } from "@videojs/element/context";
|
|
7
|
+
import { ControlsCore, ControlsDataAttrs } from "@videojs/core";
|
|
8
|
+
|
|
9
|
+
//#region src/ui/controls/controls-element.ts
|
|
10
|
+
var ControlsElement = class extends MediaElement {
|
|
11
|
+
static {
|
|
12
|
+
this.tagName = "media-controls";
|
|
13
|
+
}
|
|
14
|
+
#core = new ControlsCore();
|
|
15
|
+
#mediaState = new PlayerController(this, playerContext, selectControls);
|
|
16
|
+
#provider = new ContextProvider(this, { context: controlsContext });
|
|
17
|
+
connectedCallback() {
|
|
18
|
+
super.connectedCallback();
|
|
19
|
+
}
|
|
20
|
+
update(_changed) {
|
|
21
|
+
super.update(_changed);
|
|
22
|
+
const media = this.#mediaState.value;
|
|
23
|
+
if (!media) return;
|
|
24
|
+
this.#core.setMedia(media);
|
|
25
|
+
const state = this.#core.getState();
|
|
26
|
+
applyStateDataAttrs(this, state, ControlsDataAttrs);
|
|
27
|
+
this.#provider.setValue({
|
|
28
|
+
state,
|
|
29
|
+
stateAttrMap: ControlsDataAttrs
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
//#endregion
|
|
35
|
+
export { ControlsElement };
|
|
36
|
+
//# sourceMappingURL=controls-element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controls-element.js","names":["#core","#mediaState","#provider"],"sources":["../../../../src/ui/controls/controls-element.ts"],"sourcesContent":["import { ControlsCore, ControlsDataAttrs } from '@videojs/core';\nimport { applyStateDataAttrs, logMissingFeature, selectControls } from '@videojs/core/dom';\nimport type { PropertyValues } from '@videojs/element';\nimport { ContextProvider } from '@videojs/element/context';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaElement } from '../media-element';\nimport { controlsContext } from './context';\n\nexport class ControlsElement extends MediaElement {\n static readonly tagName = 'media-controls';\n\n readonly #core = new ControlsCore();\n readonly #mediaState = new PlayerController(this, playerContext, selectControls);\n readonly #provider = new ContextProvider(this, { context: controlsContext });\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n if (__DEV__ && !this.#mediaState.value && this.#mediaState.displayName) {\n logMissingFeature(this.localName, this.#mediaState.displayName);\n }\n }\n\n protected override update(_changed: PropertyValues): void {\n super.update(_changed);\n\n const media = this.#mediaState.value;\n if (!media) return;\n\n this.#core.setMedia(media);\n const state = this.#core.getState();\n\n applyStateDataAttrs(this, state, ControlsDataAttrs);\n\n this.#provider.setValue({\n state,\n stateAttrMap: ControlsDataAttrs,\n });\n }\n}\n"],"mappings":";;;;;;;;;AAUA,IAAa,kBAAb,cAAqC,aAAa;;iBACtB;;CAE1B,CAASA,OAAQ,IAAI,cAAc;CACnC,CAASC,aAAc,IAAI,iBAAiB,MAAM,eAAe,eAAe;CAChF,CAASC,WAAY,IAAI,gBAAgB,MAAM,EAAE,SAAS,iBAAiB,CAAC;CAE5E,AAAS,oBAA0B;AACjC,QAAM,mBAAmB;;CAO3B,AAAmB,OAAO,UAAgC;AACxD,QAAM,OAAO,SAAS;EAEtB,MAAM,QAAQ,MAAKD,WAAY;AAC/B,MAAI,CAAC,MAAO;AAEZ,QAAKD,KAAM,SAAS,MAAM;EAC1B,MAAM,QAAQ,MAAKA,KAAM,UAAU;AAEnC,sBAAoB,MAAM,OAAO,kBAAkB;AAEnD,QAAKE,SAAU,SAAS;GACtB;GACA,cAAc;GACf,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ContextPartElement } from "../context-part-element.js";
|
|
2
|
+
import { controlsContext } from "./context.js";
|
|
3
|
+
import { ContextConsumer } from "@videojs/element/context";
|
|
4
|
+
|
|
5
|
+
//#region src/ui/controls/controls-group-element.ts
|
|
6
|
+
var ControlsGroupElement = class extends ContextPartElement {
|
|
7
|
+
constructor(..._args) {
|
|
8
|
+
super(..._args);
|
|
9
|
+
this.consumer = new ContextConsumer(this, {
|
|
10
|
+
context: controlsContext,
|
|
11
|
+
subscribe: true
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
static {
|
|
15
|
+
this.tagName = "media-controls-group";
|
|
16
|
+
}
|
|
17
|
+
connectedCallback() {
|
|
18
|
+
super.connectedCallback();
|
|
19
|
+
if (this.hasAttribute("aria-label") || this.hasAttribute("aria-labelledby")) this.setAttribute("role", "group");
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
export { ControlsGroupElement };
|
|
25
|
+
//# sourceMappingURL=controls-group-element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controls-group-element.js","names":[],"sources":["../../../../src/ui/controls/controls-group-element.ts"],"sourcesContent":["import type { ControlsState } from '@videojs/core';\nimport { ContextConsumer } from '@videojs/element/context';\n\nimport { ContextPartElement } from '../context-part-element';\nimport { controlsContext } from './context';\n\nexport class ControlsGroupElement extends ContextPartElement<ControlsState> {\n static readonly tagName = 'media-controls-group';\n\n protected readonly consumer = new ContextConsumer(this, { context: controlsContext, subscribe: true });\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n if (this.hasAttribute('aria-label') || this.hasAttribute('aria-labelledby')) {\n this.setAttribute('role', 'group');\n }\n }\n}\n"],"mappings":";;;;;AAMA,IAAa,uBAAb,cAA0C,mBAAkC;;;kBAG5C,IAAI,gBAAgB,MAAM;GAAE,SAAS;GAAiB,WAAW;GAAM,CAAC;;;iBAF5E;;CAI1B,AAAS,oBAA0B;AACjC,QAAM,mBAAmB;AAEzB,MAAI,KAAK,aAAa,aAAa,IAAI,KAAK,aAAa,kBAAkB,CACzE,MAAK,aAAa,QAAQ,QAAQ"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { playerContext } from "../../player/context.js";
|
|
2
|
+
import { PlayerController } from "../../player/player-controller.js";
|
|
3
|
+
import { MediaButtonElement } from "../media-button-element.js";
|
|
4
|
+
import { selectFullscreen } from "@videojs/core/dom";
|
|
5
|
+
import { FullscreenButtonCore, FullscreenButtonDataAttrs } from "@videojs/core";
|
|
6
|
+
|
|
7
|
+
//#region src/ui/fullscreen-button/fullscreen-button-element.ts
|
|
8
|
+
var FullscreenButtonElement = class extends MediaButtonElement {
|
|
9
|
+
constructor(..._args) {
|
|
10
|
+
super(..._args);
|
|
11
|
+
this.core = new FullscreenButtonCore();
|
|
12
|
+
this.stateAttrMap = FullscreenButtonDataAttrs;
|
|
13
|
+
this.mediaState = new PlayerController(this, playerContext, selectFullscreen);
|
|
14
|
+
}
|
|
15
|
+
static {
|
|
16
|
+
this.tagName = "media-fullscreen-button";
|
|
17
|
+
}
|
|
18
|
+
activate(state) {
|
|
19
|
+
this.core.toggle(state);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
export { FullscreenButtonElement };
|
|
25
|
+
//# sourceMappingURL=fullscreen-button-element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fullscreen-button-element.js","names":[],"sources":["../../../../src/ui/fullscreen-button/fullscreen-button-element.ts"],"sourcesContent":["import { FullscreenButtonCore, FullscreenButtonDataAttrs, type MediaFullscreenState } from '@videojs/core';\nimport { selectFullscreen } from '@videojs/core/dom';\n\nimport { playerContext } from '../../player/context';\nimport { PlayerController } from '../../player/player-controller';\nimport { MediaButtonElement } from '../media-button-element';\n\nexport class FullscreenButtonElement extends MediaButtonElement<FullscreenButtonCore> {\n static readonly tagName = 'media-fullscreen-button';\n\n protected readonly core = new FullscreenButtonCore();\n protected readonly stateAttrMap = FullscreenButtonDataAttrs;\n protected readonly mediaState = new PlayerController(this, playerContext, selectFullscreen);\n\n protected activate(state: MediaFullscreenState): void {\n this.core.toggle(state);\n }\n}\n"],"mappings":";;;;;;;AAOA,IAAa,0BAAb,cAA6C,mBAAyC;;;cAG1D,IAAI,sBAAsB;sBAClB;oBACF,IAAI,iBAAiB,MAAM,eAAe,iBAAiB;;;iBAJjE;;CAM1B,AAAU,SAAS,OAAmC;AACpD,OAAK,KAAK,OAAO,MAAM"}
|