@hanifhan1f/vidstack 1.12.25 → 1.12.27
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/cdn/chunks/vidstack-8JHLDxl5.js +1 -0
- package/cdn/chunks/vidstack-Bpnl-N6k.js +1 -0
- package/cdn/chunks/vidstack-CnWKPIKT.js +16 -0
- package/cdn/chunks/vidstack-CqzAnF2W.js +16 -0
- package/cdn/vidstack.js +1 -1
- package/cdn/with-layouts/chunks/vidstack-BD5YoTt5.js +937 -0
- package/cdn/with-layouts/chunks/vidstack-DCaNJN4T.js +1 -0
- package/cdn/with-layouts/chunks/vidstack-Dd3L-eQj.js +1 -0
- package/cdn/with-layouts/chunks/vidstack-T2rZVigk.js +912 -0
- package/cdn/with-layouts/vidstack.js +1 -1
- package/dev/chunks/vidstack--aukHYxl.js +1520 -0
- package/dev/chunks/vidstack-B__DfQsT.js +1621 -0
- package/dev/chunks/vidstack-BoLIUOyq.js +204 -0
- package/dev/chunks/vidstack-CSryZFvY.js +1521 -0
- package/dev/chunks/vidstack-Cky9ors4.js +297 -0
- package/dev/chunks/vidstack-Crz0ROkT.js +3009 -0
- package/dev/chunks/vidstack-D-sqb6YI.js +308 -0
- package/dev/chunks/vidstack-DLXCqdYV.js +3010 -0
- package/dev/chunks/vidstack-DS7nRfge.js +204 -0
- package/dev/chunks/vidstack-Dco6kA4h.js +104 -0
- package/dev/chunks/vidstack-DpS0Kt4b.js +297 -0
- package/dev/chunks/vidstack-zJT-7ncH.js +5182 -0
- package/dev/define/plyr-layout.js +3 -4
- package/dev/define/templates/vidstack-audio-layout.js +4 -4
- package/dev/define/templates/vidstack-video-layout.js +4 -4
- package/dev/define/vidstack-player-default-layout.js +4 -4
- package/dev/define/vidstack-player-layouts.js +4 -4
- package/dev/define/vidstack-player-ui.js +5 -6
- package/dev/define/vidstack-player.js +3 -4
- package/dev/global/plyr.js +5 -6
- package/dev/global/vidstack-player.js +3 -4
- package/dev/providers/vidstack-dash.js +1 -2
- package/dev/providers/vidstack-hls.js +1 -2
- package/dev/providers/vidstack-video.js +1 -2
- package/dev/providers/vidstack-vimeo.js +1 -2
- package/dev/vidstack-elements.js +8 -9
- package/dev/vidstack.js +6 -7
- package/package.json +2 -1
- package/prod/chunks/vidstack-BVSJtdRd.js +297 -0
- package/prod/chunks/vidstack-BnEo_Sla.js +1621 -0
- package/prod/chunks/vidstack-CFXAYpuh.js +1521 -0
- package/prod/chunks/vidstack-CIvL96_j.js +297 -0
- package/prod/chunks/vidstack-CLTPjjXX.js +4772 -0
- package/prod/chunks/vidstack-CSHHV2zO.js +201 -0
- package/prod/chunks/vidstack-CYVCrFjx.js +201 -0
- package/prod/chunks/vidstack-D_atbNqH.js +3000 -0
- package/prod/chunks/vidstack-Eo46ZHu7.js +2999 -0
- package/prod/chunks/vidstack-sP7TQMB1.js +300 -0
- package/prod/chunks/vidstack-uVm3xX8H.js +104 -0
- package/prod/chunks/vidstack-zknLxihl.js +1520 -0
- package/prod/define/plyr-layout.js +3 -4
- package/prod/define/templates/vidstack-audio-layout.js +4 -4
- package/prod/define/templates/vidstack-video-layout.js +4 -4
- package/prod/define/vidstack-player-default-layout.js +4 -4
- package/prod/define/vidstack-player-layouts.js +4 -4
- package/prod/define/vidstack-player-ui.js +5 -6
- package/prod/define/vidstack-player.js +3 -4
- package/prod/global/plyr.js +5 -6
- package/prod/global/vidstack-player.js +3 -4
- package/prod/providers/vidstack-dash.js +1 -2
- package/prod/providers/vidstack-hls.js +1 -2
- package/prod/providers/vidstack-video.js +1 -2
- package/prod/providers/vidstack-vimeo.js +1 -2
- package/prod/vidstack-elements.js +8 -9
- package/prod/vidstack.js +6 -7
- package/server/chunks/vidstack-B3eA67nX.js +205 -0
- package/server/chunks/vidstack-B8P1aUCK.js +1503 -0
- package/server/chunks/vidstack-B8_v1VQn.js +3059 -0
- package/server/chunks/vidstack-BK4xGWUK.js +207 -0
- package/server/chunks/vidstack-BO8FLks6.js +295 -0
- package/server/chunks/vidstack-BaXvZgx2.js +141 -0
- package/server/chunks/vidstack-BlvJg_5A.js +4636 -0
- package/server/chunks/vidstack-CBhikwSz.js +67 -0
- package/server/chunks/vidstack-COczNXom.js +3059 -0
- package/server/chunks/vidstack-CyZPtpwO.js +1503 -0
- package/server/chunks/vidstack-Db22EuE_.js +207 -0
- package/server/chunks/vidstack-Dh1ZDEI-.js +29 -0
- package/server/chunks/vidstack-Dm-ETAZh.js +295 -0
- package/server/chunks/vidstack-NpAD9hfP.js +620 -0
- package/server/chunks/vidstack-O4BgIcQI.js +104 -0
- package/server/chunks/vidstack-n4zAyLEV.js +2139 -0
- package/server/chunks/vidstack-za5Yh5DQ.js +566 -0
- package/server/chunks/vidstack-zoXyfYxa.js +107 -0
- package/server/define/plyr-layout.js +7 -7
- package/server/define/vidstack-player-default-layout.js +3 -3
- package/server/define/vidstack-player-layouts.js +5 -5
- package/server/define/vidstack-player-ui.js +6 -6
- package/server/define/vidstack-player.js +4 -4
- package/server/global/plyr.js +9 -9
- package/server/global/vidstack-player.js +4 -4
- package/server/vidstack-elements.js +13 -13
- package/server/vidstack.js +8 -8
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { defineCustomElement } from '../chunks/vidstack-BNpgCJJ1.js';
|
|
2
|
-
import { MediaPlayButtonElement, MediaMuteButtonElement, MediaCaptionButtonElement, MediaPIPButtonElement, MediaFullscreenButtonElement, MediaSeekButtonElement, MediaAirPlayButtonElement, MediaLiveButtonElement, MediaVolumeSliderElement, MediaTimeSliderElement, MediaSliderPreviewElement, MediaSliderThumbnailElement, MediaSliderValueElement, MediaMenuElement, MediaMenuButtonElement, MediaMenuItemsElement, MediaMenuItemElement, MediaAudioRadioGroupElement, MediaCaptionsRadioGroupElement, MediaSpeedRadioGroupElement, MediaQualityRadioGroupElement, MediaRadioElement, MediaTimeElement, MediaThumbnailElement } from '../chunks/vidstack-
|
|
2
|
+
import { MediaPlayButtonElement, MediaMuteButtonElement, MediaCaptionButtonElement, MediaPIPButtonElement, MediaFullscreenButtonElement, MediaSeekButtonElement, MediaAirPlayButtonElement, MediaLiveButtonElement, MediaVolumeSliderElement, MediaTimeSliderElement, MediaSliderPreviewElement, MediaSliderThumbnailElement, MediaSliderValueElement, MediaMenuElement, MediaMenuButtonElement, MediaMenuItemsElement, MediaMenuItemElement, MediaAudioRadioGroupElement, MediaCaptionsRadioGroupElement, MediaSpeedRadioGroupElement, MediaQualityRadioGroupElement, MediaRadioElement, MediaTimeElement, MediaThumbnailElement } from '../chunks/vidstack-CSHHV2zO.js';
|
|
3
3
|
import { MediaPlyrLayoutElement } from './templates/plyr-layout.js';
|
|
4
4
|
import { MediaPosterElement } from '../chunks/vidstack-DlLwMLBL.js';
|
|
5
|
-
import '../chunks/vidstack-
|
|
5
|
+
import '../chunks/vidstack-Eo46ZHu7.js';
|
|
6
6
|
import '../chunks/vidstack-tt3O1zL6.js';
|
|
7
7
|
import '../chunks/vidstack-DB9WDRL5.js';
|
|
8
8
|
import '@floating-ui/dom';
|
|
9
|
-
import '../chunks/vidstack-
|
|
9
|
+
import '../chunks/vidstack-sP7TQMB1.js';
|
|
10
10
|
import '../chunks/vidstack-KShKSmYu.js';
|
|
11
11
|
import '../chunks/vidstack-wTTCvdqe.js';
|
|
12
|
-
import '../chunks/vidstack-BP49Gz0m.js';
|
|
13
12
|
import '../chunks/vidstack-COLU-zPZ.js';
|
|
14
13
|
import '../chunks/vidstack-Dihypf8P.js';
|
|
15
14
|
import '../chunks/vidstack-C9vIqaYT.js';
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { signal, effect, toggleClass, Host, listenEvent } from '../../chunks/vidstack-BNpgCJJ1.js';
|
|
2
|
-
import { DefaultLayout, DefaultAnnouncer, DefaultCaptions, DefaultSeekButton, DefaultPlayButton, DefaultTimeSlider, DefaultTimeInvert, DefaultVolumePopup, DefaultCaptionButton, DefaultDownloadButton, DefaultAirPlayButton, DefaultChaptersMenu, DefaultSettingsMenu, useDefaultLayoutContext, DefaultControlsSpacer, i18n, DefaultChapterTitle, setLayoutName, createMenuContainer, DefaultLayoutIconsLoader } from '../../chunks/vidstack-
|
|
2
|
+
import { DefaultLayout, DefaultAnnouncer, DefaultCaptions, DefaultSeekButton, DefaultPlayButton, DefaultTimeSlider, DefaultTimeInvert, DefaultVolumePopup, DefaultCaptionButton, DefaultDownloadButton, DefaultAirPlayButton, DefaultChaptersMenu, DefaultSettingsMenu, useDefaultLayoutContext, DefaultControlsSpacer, i18n, DefaultChapterTitle, setLayoutName, createMenuContainer, DefaultLayoutIconsLoader } from '../../chunks/vidstack-BnEo_Sla.js';
|
|
3
3
|
import { useMediaContext, useMediaState } from '../../chunks/vidstack-tt3O1zL6.js';
|
|
4
4
|
import { useTransitionActive, useResizeObserver, isHTMLElement } from '../../chunks/vidstack-DB9WDRL5.js';
|
|
5
5
|
import { $signal, SlotManager } from '../../chunks/vidstack-zfCm-GM5.js';
|
|
6
6
|
import { LitElement } from '../../chunks/vidstack-CwTj4H1w.js';
|
|
7
7
|
import { html } from 'lit-html';
|
|
8
8
|
import { ref } from 'lit-html/directives/ref.js';
|
|
9
|
-
import '../../chunks/vidstack-
|
|
10
|
-
import '../../chunks/vidstack-BTM4ERc7.js';
|
|
11
|
-
import 'lit-html/directives/if-defined.js';
|
|
9
|
+
import '../../chunks/vidstack-sP7TQMB1.js';
|
|
12
10
|
import '../../chunks/vidstack-KShKSmYu.js';
|
|
13
11
|
import '../../chunks/vidstack-wTTCvdqe.js';
|
|
12
|
+
import '../../chunks/vidstack-BTM4ERc7.js';
|
|
13
|
+
import 'lit-html/directives/if-defined.js';
|
|
14
14
|
import '@floating-ui/dom';
|
|
15
15
|
import 'lit-html/directives/unsafe-svg.js';
|
|
16
16
|
import 'lit-html/async-directive.js';
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { computed, signal, effect, camelToKebabCase, Host } from '../../chunks/vidstack-BNpgCJJ1.js';
|
|
2
|
-
import { DefaultLayout, useDefaultLayoutContext, DefaultPlayButton, DefaultAnnouncer, DefaultCaptions, DefaultControlsSpacer, DefaultCaptionButton, DefaultDownloadButton, DefaultVolumePopup, DefaultTimeSlider, DefaultSeekButton, DefaultTimeInfo, DefaultFullscreenButton, DefaultTitle, DefaultPIPButton, DefaultChaptersMenu, DefaultSettingsMenu, DefaultEpisodeButton, setLayoutName, createMenuContainer, DefaultLayoutIconsLoader } from '../../chunks/vidstack-
|
|
2
|
+
import { DefaultLayout, useDefaultLayoutContext, DefaultPlayButton, DefaultAnnouncer, DefaultCaptions, DefaultControlsSpacer, DefaultCaptionButton, DefaultDownloadButton, DefaultVolumePopup, DefaultTimeSlider, DefaultSeekButton, DefaultTimeInfo, DefaultFullscreenButton, DefaultTitle, DefaultPIPButton, DefaultChaptersMenu, DefaultSettingsMenu, DefaultEpisodeButton, setLayoutName, createMenuContainer, DefaultLayoutIconsLoader } from '../../chunks/vidstack-BnEo_Sla.js';
|
|
3
3
|
import { useMediaContext, useMediaState } from '../../chunks/vidstack-tt3O1zL6.js';
|
|
4
4
|
import { $signal, SlotManager } from '../../chunks/vidstack-zfCm-GM5.js';
|
|
5
5
|
import { LitElement } from '../../chunks/vidstack-CwTj4H1w.js';
|
|
6
6
|
import { html } from 'lit-html';
|
|
7
7
|
import { keyed } from 'lit-html/directives/keyed.js';
|
|
8
8
|
import { createSlot } from '../../chunks/vidstack-DB9WDRL5.js';
|
|
9
|
-
import '../../chunks/vidstack-
|
|
9
|
+
import '../../chunks/vidstack-sP7TQMB1.js';
|
|
10
|
+
import '../../chunks/vidstack-KShKSmYu.js';
|
|
11
|
+
import '../../chunks/vidstack-wTTCvdqe.js';
|
|
10
12
|
import '../../chunks/vidstack-BTM4ERc7.js';
|
|
11
13
|
import 'lit-html/directives/if-defined.js';
|
|
12
14
|
import 'lit-html/directives/ref.js';
|
|
13
|
-
import '../../chunks/vidstack-KShKSmYu.js';
|
|
14
|
-
import '../../chunks/vidstack-wTTCvdqe.js';
|
|
15
15
|
import 'lit-html/directives/unsafe-svg.js';
|
|
16
16
|
import 'lit-html/async-directive.js';
|
|
17
17
|
import '@floating-ui/dom';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineCustomElement } from '../chunks/vidstack-BNpgCJJ1.js';
|
|
2
2
|
import { MediaAudioLayoutElement } from './templates/vidstack-audio-layout.js';
|
|
3
3
|
import { MediaVideoLayoutElement } from './templates/vidstack-video-layout.js';
|
|
4
|
-
import '../chunks/vidstack-
|
|
4
|
+
import '../chunks/vidstack-BnEo_Sla.js';
|
|
5
5
|
import '../chunks/vidstack-tt3O1zL6.js';
|
|
6
6
|
import '../chunks/vidstack-DB9WDRL5.js';
|
|
7
7
|
import '@floating-ui/dom';
|
|
@@ -10,11 +10,11 @@ import '../chunks/vidstack-zfCm-GM5.js';
|
|
|
10
10
|
import 'lit-html/directives/if-defined.js';
|
|
11
11
|
import 'lit-html/directives/unsafe-svg.js';
|
|
12
12
|
import 'lit-html/async-directive.js';
|
|
13
|
-
import '../chunks/vidstack-
|
|
14
|
-
import '../chunks/vidstack-BTM4ERc7.js';
|
|
15
|
-
import 'lit-html/directives/ref.js';
|
|
13
|
+
import '../chunks/vidstack-sP7TQMB1.js';
|
|
16
14
|
import '../chunks/vidstack-KShKSmYu.js';
|
|
17
15
|
import '../chunks/vidstack-wTTCvdqe.js';
|
|
16
|
+
import '../chunks/vidstack-BTM4ERc7.js';
|
|
17
|
+
import 'lit-html/directives/ref.js';
|
|
18
18
|
import '../chunks/vidstack-CwTj4H1w.js';
|
|
19
19
|
import 'lit-html/directives/keyed.js';
|
|
20
20
|
|
|
@@ -2,7 +2,7 @@ import { defineCustomElement } from '../chunks/vidstack-BNpgCJJ1.js';
|
|
|
2
2
|
import { MediaAudioLayoutElement } from './templates/vidstack-audio-layout.js';
|
|
3
3
|
import { MediaVideoLayoutElement } from './templates/vidstack-video-layout.js';
|
|
4
4
|
import { MediaPlyrLayoutElement } from './templates/plyr-layout.js';
|
|
5
|
-
import '../chunks/vidstack-
|
|
5
|
+
import '../chunks/vidstack-BnEo_Sla.js';
|
|
6
6
|
import '../chunks/vidstack-tt3O1zL6.js';
|
|
7
7
|
import '../chunks/vidstack-DB9WDRL5.js';
|
|
8
8
|
import '@floating-ui/dom';
|
|
@@ -11,11 +11,11 @@ import '../chunks/vidstack-zfCm-GM5.js';
|
|
|
11
11
|
import 'lit-html/directives/if-defined.js';
|
|
12
12
|
import 'lit-html/directives/unsafe-svg.js';
|
|
13
13
|
import 'lit-html/async-directive.js';
|
|
14
|
-
import '../chunks/vidstack-
|
|
15
|
-
import '../chunks/vidstack-BTM4ERc7.js';
|
|
16
|
-
import 'lit-html/directives/ref.js';
|
|
14
|
+
import '../chunks/vidstack-sP7TQMB1.js';
|
|
17
15
|
import '../chunks/vidstack-KShKSmYu.js';
|
|
18
16
|
import '../chunks/vidstack-wTTCvdqe.js';
|
|
17
|
+
import '../chunks/vidstack-BTM4ERc7.js';
|
|
18
|
+
import 'lit-html/directives/ref.js';
|
|
19
19
|
import '../chunks/vidstack-CwTj4H1w.js';
|
|
20
20
|
import 'lit-html/directives/keyed.js';
|
|
21
21
|
import '../chunks/vidstack-BDIzK77F.js';
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { defineCustomElement } from '../chunks/vidstack-BNpgCJJ1.js';
|
|
2
|
-
import { MediaLayoutElement, MediaControlsElement, MediaControlsGroupElement, MediaAnnouncerElement, MediaTooltipElement, MediaTooltipTriggerElement, MediaTooltipContentElement, MediaGoogleCastButtonElement, MediaToggleButtonElement, MediaSliderElement, MediaAudioGainSliderElement, MediaSpeedSliderElement, MediaQualitySliderElement, MediaSliderChaptersElement, MediaSliderStepsElement, MediaSliderVideoElement, MediaMenuPortalElement, MediaAudioGainRadioGroupElement, MediaChaptersRadioGroupElement, MediaRadioGroupElement, MediaGestureElement, MediaCaptionsElement, MediaTitleElement, MediaChapterTitleElement, MediaSpinnerElement } from '../chunks/vidstack-
|
|
3
|
-
import { MediaPlayButtonElement, MediaMuteButtonElement, MediaCaptionButtonElement, MediaFullscreenButtonElement, MediaPIPButtonElement, MediaSeekButtonElement, MediaAirPlayButtonElement, MediaVolumeSliderElement, MediaTimeSliderElement, MediaSliderPreviewElement, MediaSliderValueElement, MediaSliderThumbnailElement, MediaMenuElement, MediaMenuButtonElement, MediaMenuItemsElement, MediaMenuItemElement, MediaAudioRadioGroupElement, MediaCaptionsRadioGroupElement, MediaSpeedRadioGroupElement, MediaQualityRadioGroupElement, MediaRadioElement, MediaThumbnailElement, MediaLiveButtonElement, MediaTimeElement } from '../chunks/vidstack-
|
|
2
|
+
import { MediaLayoutElement, MediaControlsElement, MediaControlsGroupElement, MediaAnnouncerElement, MediaTooltipElement, MediaTooltipTriggerElement, MediaTooltipContentElement, MediaGoogleCastButtonElement, MediaToggleButtonElement, MediaSliderElement, MediaAudioGainSliderElement, MediaSpeedSliderElement, MediaQualitySliderElement, MediaSliderChaptersElement, MediaSliderStepsElement, MediaSliderVideoElement, MediaMenuPortalElement, MediaAudioGainRadioGroupElement, MediaChaptersRadioGroupElement, MediaRadioGroupElement, MediaGestureElement, MediaCaptionsElement, MediaTitleElement, MediaChapterTitleElement, MediaSpinnerElement } from '../chunks/vidstack-BVSJtdRd.js';
|
|
3
|
+
import { MediaPlayButtonElement, MediaMuteButtonElement, MediaCaptionButtonElement, MediaFullscreenButtonElement, MediaPIPButtonElement, MediaSeekButtonElement, MediaAirPlayButtonElement, MediaVolumeSliderElement, MediaTimeSliderElement, MediaSliderPreviewElement, MediaSliderValueElement, MediaSliderThumbnailElement, MediaMenuElement, MediaMenuButtonElement, MediaMenuItemsElement, MediaMenuItemElement, MediaAudioRadioGroupElement, MediaCaptionsRadioGroupElement, MediaSpeedRadioGroupElement, MediaQualityRadioGroupElement, MediaRadioElement, MediaThumbnailElement, MediaLiveButtonElement, MediaTimeElement } from '../chunks/vidstack-CSHHV2zO.js';
|
|
4
4
|
import { MediaPosterElement } from '../chunks/vidstack-DlLwMLBL.js';
|
|
5
|
-
import '../chunks/vidstack-
|
|
5
|
+
import '../chunks/vidstack-zknLxihl.js';
|
|
6
6
|
import '../chunks/vidstack-tt3O1zL6.js';
|
|
7
7
|
import '../chunks/vidstack-DB9WDRL5.js';
|
|
8
8
|
import '@floating-ui/dom';
|
|
9
|
-
import '../chunks/vidstack-
|
|
10
|
-
import '../chunks/vidstack-
|
|
9
|
+
import '../chunks/vidstack-Eo46ZHu7.js';
|
|
10
|
+
import '../chunks/vidstack-sP7TQMB1.js';
|
|
11
11
|
import '../chunks/vidstack-KShKSmYu.js';
|
|
12
12
|
import '../chunks/vidstack-wTTCvdqe.js';
|
|
13
|
-
import '../chunks/vidstack-BP49Gz0m.js';
|
|
14
13
|
import '../chunks/vidstack-COLU-zPZ.js';
|
|
15
14
|
import '../chunks/vidstack-Dihypf8P.js';
|
|
16
15
|
import '../chunks/vidstack-C9vIqaYT.js';
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { defineCustomElement } from '../chunks/vidstack-BNpgCJJ1.js';
|
|
2
|
-
import { MediaPlayerElement, MediaProviderElement } from '../chunks/vidstack-
|
|
3
|
-
import '../chunks/vidstack-
|
|
2
|
+
import { MediaPlayerElement, MediaProviderElement } from '../chunks/vidstack-uVm3xX8H.js';
|
|
3
|
+
import '../chunks/vidstack-CLTPjjXX.js';
|
|
4
4
|
import '../chunks/vidstack-tt3O1zL6.js';
|
|
5
5
|
import '../chunks/vidstack-wTTCvdqe.js';
|
|
6
6
|
import '../chunks/vidstack-Fem0yF3c.js';
|
|
7
|
-
import '../chunks/vidstack-
|
|
7
|
+
import '../chunks/vidstack-sP7TQMB1.js';
|
|
8
8
|
import '../chunks/vidstack-KShKSmYu.js';
|
|
9
|
-
import '../chunks/vidstack-BP49Gz0m.js';
|
|
10
9
|
import '../chunks/vidstack-D5EzK014.js';
|
|
11
10
|
import '../chunks/vidstack-B01xzxC4.js';
|
|
12
11
|
import '../chunks/vidstack-DB9WDRL5.js';
|
package/prod/global/plyr.js
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import '../define/vidstack-player.js';
|
|
2
2
|
import '../define/plyr-layout.js';
|
|
3
3
|
import { isString, listenEvent, setAttribute, kebabToCamelCase, setStyle, createDisposalBin, isBoolean, DOMEvent } from '../chunks/vidstack-BNpgCJJ1.js';
|
|
4
|
-
import { mediaState, isHTMLAudioElement, isHTMLVideoElement, isHTMLIFrameElement } from '../chunks/vidstack-
|
|
4
|
+
import { mediaState, isHTMLAudioElement, isHTMLVideoElement, isHTMLIFrameElement } from '../chunks/vidstack-CLTPjjXX.js';
|
|
5
5
|
import { isHTMLElement } from '../chunks/vidstack-DB9WDRL5.js';
|
|
6
6
|
import { canPlayVideoType } from '../chunks/vidstack-wTTCvdqe.js';
|
|
7
|
-
import '../chunks/vidstack-
|
|
7
|
+
import '../chunks/vidstack-uVm3xX8H.js';
|
|
8
8
|
import '../chunks/vidstack-tt3O1zL6.js';
|
|
9
|
-
import '../chunks/vidstack-
|
|
10
|
-
import '../chunks/vidstack-
|
|
11
|
-
import '../chunks/vidstack-
|
|
9
|
+
import '../chunks/vidstack-CSHHV2zO.js';
|
|
10
|
+
import '../chunks/vidstack-Eo46ZHu7.js';
|
|
11
|
+
import '../chunks/vidstack-sP7TQMB1.js';
|
|
12
12
|
import '../chunks/vidstack-KShKSmYu.js';
|
|
13
|
-
import '../chunks/vidstack-BP49Gz0m.js';
|
|
14
13
|
import '../chunks/vidstack-COLU-zPZ.js';
|
|
15
14
|
import '../chunks/vidstack-Dihypf8P.js';
|
|
16
15
|
import '../chunks/vidstack-C9vIqaYT.js';
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import '../define/vidstack-player.js';
|
|
2
2
|
import { isString, defineCustomElement, kebabToCamelCase } from '../chunks/vidstack-BNpgCJJ1.js';
|
|
3
|
-
import { isHTMLAudioElement, isHTMLVideoElement, isHTMLIFrameElement } from '../chunks/vidstack-
|
|
3
|
+
import { isHTMLAudioElement, isHTMLVideoElement, isHTMLIFrameElement } from '../chunks/vidstack-CLTPjjXX.js';
|
|
4
4
|
import { isHTMLElement } from '../chunks/vidstack-DB9WDRL5.js';
|
|
5
|
-
import '../chunks/vidstack-
|
|
5
|
+
import '../chunks/vidstack-uVm3xX8H.js';
|
|
6
6
|
import '../chunks/vidstack-tt3O1zL6.js';
|
|
7
7
|
import '../chunks/vidstack-wTTCvdqe.js';
|
|
8
8
|
import '../chunks/vidstack-Fem0yF3c.js';
|
|
9
|
-
import '../chunks/vidstack-
|
|
9
|
+
import '../chunks/vidstack-sP7TQMB1.js';
|
|
10
10
|
import '../chunks/vidstack-KShKSmYu.js';
|
|
11
|
-
import '../chunks/vidstack-BP49Gz0m.js';
|
|
12
11
|
import '../chunks/vidstack-D5EzK014.js';
|
|
13
12
|
import '../chunks/vidstack-B01xzxC4.js';
|
|
14
13
|
import '@floating-ui/dom';
|
|
@@ -3,14 +3,13 @@ import { canPlayVideoType, canPlayAudioType, IS_CHROME, isDASHSupported } from '
|
|
|
3
3
|
import { VideoProvider } from './vidstack-video.js';
|
|
4
4
|
import { listenEvent, effect, DOMEvent, isNumber, isString, camelToKebabCase, isUndefined, isFunction, peek } from '../chunks/vidstack-BNpgCJJ1.js';
|
|
5
5
|
import { QualitySymbol } from '../chunks/vidstack-B01xzxC4.js';
|
|
6
|
-
import { TextTrackSymbol, TextTrack } from '../chunks/vidstack-
|
|
6
|
+
import { TextTrackSymbol, TextTrack } from '../chunks/vidstack-sP7TQMB1.js';
|
|
7
7
|
import { ListSymbol } from '../chunks/vidstack-D5EzK014.js';
|
|
8
8
|
import { RAFLoop } from '../chunks/vidstack-BdFYWy6h.js';
|
|
9
9
|
import { coerceToError } from '../chunks/vidstack-C9vIqaYT.js';
|
|
10
10
|
import './vidstack-html.js';
|
|
11
11
|
import '../chunks/vidstack-Dihypf8P.js';
|
|
12
12
|
import '../chunks/vidstack-Bn9yLryd.js';
|
|
13
|
-
import '../chunks/vidstack-BP49Gz0m.js';
|
|
14
13
|
|
|
15
14
|
function getLangName(langCode) {
|
|
16
15
|
try {
|
|
@@ -3,14 +3,13 @@ import { IS_CHROME, isHLSSupported } from '../chunks/vidstack-wTTCvdqe.js';
|
|
|
3
3
|
import { VideoProvider } from './vidstack-video.js';
|
|
4
4
|
import { peek, listenEvent, effect, DOMEvent, isString, camelToKebabCase, isUndefined, isFunction } from '../chunks/vidstack-BNpgCJJ1.js';
|
|
5
5
|
import { QualitySymbol } from '../chunks/vidstack-B01xzxC4.js';
|
|
6
|
-
import { TextTrack, TextTrackSymbol } from '../chunks/vidstack-
|
|
6
|
+
import { TextTrack, TextTrackSymbol } from '../chunks/vidstack-sP7TQMB1.js';
|
|
7
7
|
import { ListSymbol } from '../chunks/vidstack-D5EzK014.js';
|
|
8
8
|
import { RAFLoop } from '../chunks/vidstack-BdFYWy6h.js';
|
|
9
9
|
import { coerceToError } from '../chunks/vidstack-C9vIqaYT.js';
|
|
10
10
|
import './vidstack-html.js';
|
|
11
11
|
import '../chunks/vidstack-Dihypf8P.js';
|
|
12
12
|
import '../chunks/vidstack-Bn9yLryd.js';
|
|
13
|
-
import '../chunks/vidstack-BP49Gz0m.js';
|
|
14
13
|
|
|
15
14
|
const toDOMEventType = (type) => camelToKebabCase(type);
|
|
16
15
|
class HLSController {
|
|
@@ -2,12 +2,11 @@ import { onDispose, EventsController, listenEvent, DOMEvent, scoped } from '../c
|
|
|
2
2
|
import { canUsePictureInPicture, canUseVideoPresentation, canPlayHLSNatively } from '../chunks/vidstack-wTTCvdqe.js';
|
|
3
3
|
import { HTMLMediaProvider } from './vidstack-html.js';
|
|
4
4
|
import { HTMLAirPlayAdapter } from '../chunks/vidstack-Bn9yLryd.js';
|
|
5
|
-
import { TextTrack, TextTrackSymbol } from '../chunks/vidstack-
|
|
5
|
+
import { TextTrack, TextTrackSymbol } from '../chunks/vidstack-sP7TQMB1.js';
|
|
6
6
|
import '../chunks/vidstack-BdFYWy6h.js';
|
|
7
7
|
import '../chunks/vidstack-Dihypf8P.js';
|
|
8
8
|
import '../chunks/vidstack-D5EzK014.js';
|
|
9
9
|
import '../chunks/vidstack-KShKSmYu.js';
|
|
10
|
-
import '../chunks/vidstack-BP49Gz0m.js';
|
|
11
10
|
|
|
12
11
|
class NativeHLSTextTracks {
|
|
13
12
|
#video;
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { createScope, signal, effect, peek, isString, deferredPromise, listenEvent, isArray } from '../chunks/vidstack-BNpgCJJ1.js';
|
|
2
2
|
import { QualitySymbol } from '../chunks/vidstack-B01xzxC4.js';
|
|
3
3
|
import { TimeRange } from '../chunks/vidstack-Fem0yF3c.js';
|
|
4
|
-
import { TextTrack } from '../chunks/vidstack-
|
|
4
|
+
import { TextTrack } from '../chunks/vidstack-sP7TQMB1.js';
|
|
5
5
|
import { ListSymbol } from '../chunks/vidstack-D5EzK014.js';
|
|
6
6
|
import { RAFLoop } from '../chunks/vidstack-BdFYWy6h.js';
|
|
7
7
|
import { preconnect } from '../chunks/vidstack-KShKSmYu.js';
|
|
8
8
|
import { EmbedProvider } from '../chunks/vidstack-Dg71uhRc.js';
|
|
9
9
|
import { resolveVimeoVideoId, getVimeoVideoInfo } from '../chunks/vidstack-krOAtKMi.js';
|
|
10
|
-
import '../chunks/vidstack-BP49Gz0m.js';
|
|
11
10
|
import '../chunks/vidstack-wTTCvdqe.js';
|
|
12
11
|
|
|
13
12
|
const trackedVimeoEvents = [
|
|
@@ -1,32 +1,31 @@
|
|
|
1
1
|
export { defineCustomElement } from './chunks/vidstack-BNpgCJJ1.js';
|
|
2
|
-
export { MediaAnnouncerElement, MediaAudioGainRadioGroupElement, MediaAudioGainSliderElement, MediaCaptionsElement, MediaChapterTitleElement, MediaChaptersRadioGroupElement, MediaControlsElement, MediaControlsGroupElement, MediaGestureElement, MediaGoogleCastButtonElement, MediaLayoutElement, MediaMenuPortalElement, MediaQualitySliderElement, MediaRadioGroupElement, MediaSliderChaptersElement, MediaSliderElement, MediaSliderStepsElement, MediaSliderVideoElement, MediaSpeedSliderElement, MediaSpinnerElement, MediaTitleElement, MediaToggleButtonElement, MediaTooltipContentElement, MediaTooltipElement, MediaTooltipTriggerElement } from './chunks/vidstack-
|
|
3
|
-
export { MediaPlayerElement, MediaProviderElement } from './chunks/vidstack-
|
|
2
|
+
export { MediaAnnouncerElement, MediaAudioGainRadioGroupElement, MediaAudioGainSliderElement, MediaCaptionsElement, MediaChapterTitleElement, MediaChaptersRadioGroupElement, MediaControlsElement, MediaControlsGroupElement, MediaGestureElement, MediaGoogleCastButtonElement, MediaLayoutElement, MediaMenuPortalElement, MediaQualitySliderElement, MediaRadioGroupElement, MediaSliderChaptersElement, MediaSliderElement, MediaSliderStepsElement, MediaSliderVideoElement, MediaSpeedSliderElement, MediaSpinnerElement, MediaTitleElement, MediaToggleButtonElement, MediaTooltipContentElement, MediaTooltipElement, MediaTooltipTriggerElement } from './chunks/vidstack-BVSJtdRd.js';
|
|
3
|
+
export { MediaPlayerElement, MediaProviderElement } from './chunks/vidstack-uVm3xX8H.js';
|
|
4
4
|
export { MediaPosterElement } from './chunks/vidstack-DlLwMLBL.js';
|
|
5
|
-
export { MediaAirPlayButtonElement, MediaAudioRadioGroupElement, MediaCaptionButtonElement, MediaCaptionsRadioGroupElement, MediaFullscreenButtonElement, MediaLiveButtonElement, MediaMenuButtonElement, MediaMenuElement, MediaMenuItemElement, MediaMenuItemsElement, MediaMuteButtonElement, MediaPIPButtonElement, MediaPlayButtonElement, MediaQualityRadioGroupElement, MediaRadioElement, MediaSeekButtonElement, MediaSliderPreviewElement, MediaSliderThumbnailElement, MediaSliderValueElement, MediaSpeedRadioGroupElement, MediaThumbnailElement, MediaTimeElement, MediaTimeSliderElement, MediaVolumeSliderElement } from './chunks/vidstack-
|
|
5
|
+
export { MediaAirPlayButtonElement, MediaAudioRadioGroupElement, MediaCaptionButtonElement, MediaCaptionsRadioGroupElement, MediaFullscreenButtonElement, MediaLiveButtonElement, MediaMenuButtonElement, MediaMenuElement, MediaMenuItemElement, MediaMenuItemsElement, MediaMuteButtonElement, MediaPIPButtonElement, MediaPlayButtonElement, MediaQualityRadioGroupElement, MediaRadioElement, MediaSeekButtonElement, MediaSliderPreviewElement, MediaSliderThumbnailElement, MediaSliderValueElement, MediaSpeedRadioGroupElement, MediaThumbnailElement, MediaTimeElement, MediaTimeSliderElement, MediaVolumeSliderElement } from './chunks/vidstack-CSHHV2zO.js';
|
|
6
6
|
export { MediaAudioLayoutElement } from './define/templates/vidstack-audio-layout.js';
|
|
7
7
|
export { MediaVideoLayoutElement } from './define/templates/vidstack-video-layout.js';
|
|
8
8
|
export { MediaPlyrLayoutElement } from './define/templates/plyr-layout.js';
|
|
9
|
-
import './chunks/vidstack-
|
|
9
|
+
import './chunks/vidstack-zknLxihl.js';
|
|
10
10
|
import './chunks/vidstack-tt3O1zL6.js';
|
|
11
11
|
import './chunks/vidstack-DB9WDRL5.js';
|
|
12
12
|
import '@floating-ui/dom';
|
|
13
|
-
import './chunks/vidstack-
|
|
14
|
-
import './chunks/vidstack-
|
|
13
|
+
import './chunks/vidstack-Eo46ZHu7.js';
|
|
14
|
+
import './chunks/vidstack-sP7TQMB1.js';
|
|
15
15
|
import './chunks/vidstack-KShKSmYu.js';
|
|
16
16
|
import './chunks/vidstack-wTTCvdqe.js';
|
|
17
|
-
import './chunks/vidstack-BP49Gz0m.js';
|
|
18
17
|
import './chunks/vidstack-COLU-zPZ.js';
|
|
19
18
|
import './chunks/vidstack-Dihypf8P.js';
|
|
20
19
|
import './chunks/vidstack-C9vIqaYT.js';
|
|
21
20
|
import './chunks/vidstack-BTM4ERc7.js';
|
|
22
21
|
import 'lit-html';
|
|
23
22
|
import './chunks/vidstack-CwTj4H1w.js';
|
|
24
|
-
import './chunks/vidstack-
|
|
23
|
+
import './chunks/vidstack-CLTPjjXX.js';
|
|
25
24
|
import './chunks/vidstack-Fem0yF3c.js';
|
|
26
25
|
import './chunks/vidstack-D5EzK014.js';
|
|
27
26
|
import './chunks/vidstack-B01xzxC4.js';
|
|
28
27
|
import './chunks/vidstack-C4PTiuot.js';
|
|
29
|
-
import './chunks/vidstack-
|
|
28
|
+
import './chunks/vidstack-BnEo_Sla.js';
|
|
30
29
|
import './chunks/vidstack-zfCm-GM5.js';
|
|
31
30
|
import 'lit-html/directives/if-defined.js';
|
|
32
31
|
import 'lit-html/directives/unsafe-svg.js';
|
package/prod/vidstack.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { DOMEvent, isString, EventsController, useState } from './chunks/vidstack-BNpgCJJ1.js';
|
|
2
2
|
export { appendTriggerEvent, findTriggerEvent, hasTriggerEvent, isKeyboardClick, isKeyboardEvent, isPointerEvent, walkTriggerEventChain } from './chunks/vidstack-BNpgCJJ1.js';
|
|
3
|
-
export { AudioProviderLoader, AudioTrackList, DASHProviderLoader, FullscreenController, HLSProviderLoader, List, LocalMediaStorage, MEDIA_KEY_SHORTCUTS, MediaControls, MediaPlayer, MediaProvider, MediaRemoteControl, ScreenOrientationController, TextRenderers, TextTrackList, VideoProviderLoader, VideoQualityList, VimeoProviderLoader, YouTubeProviderLoader, boundTime, canFullscreen, isAudioProvider, isDASHProvider, isGoogleCastProvider, isHLSProvider, isHTMLAudioElement, isHTMLIFrameElement, isHTMLMediaElement, isHTMLVideoElement, isVideoProvider, isVideoQualitySrc, isVimeoProvider, isYouTubeProvider, mediaState, softResetMediaState } from './chunks/vidstack-
|
|
3
|
+
export { AudioProviderLoader, AudioTrackList, DASHProviderLoader, FullscreenController, HLSProviderLoader, List, LocalMediaStorage, MEDIA_KEY_SHORTCUTS, MediaControls, MediaPlayer, MediaProvider, MediaRemoteControl, ScreenOrientationController, TextRenderers, TextTrackList, VideoProviderLoader, VideoQualityList, VimeoProviderLoader, YouTubeProviderLoader, boundTime, canFullscreen, isAudioProvider, isDASHProvider, isGoogleCastProvider, isHLSProvider, isHTMLAudioElement, isHTMLIFrameElement, isHTMLMediaElement, isHTMLVideoElement, isVideoProvider, isVideoQualitySrc, isVimeoProvider, isYouTubeProvider, mediaState, softResetMediaState } from './chunks/vidstack-CLTPjjXX.js';
|
|
4
4
|
export { mediaContext } from './chunks/vidstack-tt3O1zL6.js';
|
|
5
|
-
import { TextTrackSymbol } from './chunks/vidstack-
|
|
6
|
-
export { TextTrack, isTrackCaptionKind, parseJSONCaptionsFile } from './chunks/vidstack-
|
|
7
|
-
export { findActiveCue, isCueActive, watchActiveTextTrack, watchCueTextChange } from './chunks/vidstack-BP49Gz0m.js';
|
|
5
|
+
import { TextTrackSymbol } from './chunks/vidstack-sP7TQMB1.js';
|
|
6
|
+
export { TextTrack, findActiveCue, isCueActive, isTrackCaptionKind, parseJSONCaptionsFile, watchActiveTextTrack, watchCueTextChange } from './chunks/vidstack-sP7TQMB1.js';
|
|
8
7
|
export { sortVideoQualities } from './chunks/vidstack-BTM4ERc7.js';
|
|
9
|
-
import { Thumbnail, Slider } from './chunks/vidstack-
|
|
10
|
-
export { ARIAKeyShortcuts, AirPlayButton, AudioRadioGroup, CaptionButton, CaptionsRadioGroup, DEFAULT_PLAYBACK_RATES, FullscreenButton, LiveButton, Menu, MenuButton, MenuItem, MenuItems, MenuPortal, MuteButton, PIPButton, PlayButton, QualityRadioGroup, Radio, SeekButton, SliderController, SliderPreview, SliderValue, SpeedRadioGroup, ThumbnailsLoader, Time, TimeSlider, VolumeSlider, formatSpokenTime, formatTime, menuPortalContext, sliderContext, sliderState, updateSliderPreviewPlacement } from './chunks/vidstack-
|
|
8
|
+
import { Thumbnail, Slider } from './chunks/vidstack-Eo46ZHu7.js';
|
|
9
|
+
export { ARIAKeyShortcuts, AirPlayButton, AudioRadioGroup, CaptionButton, CaptionsRadioGroup, DEFAULT_PLAYBACK_RATES, FullscreenButton, LiveButton, Menu, MenuButton, MenuItem, MenuItems, MenuPortal, MuteButton, PIPButton, PlayButton, QualityRadioGroup, Radio, SeekButton, SliderController, SliderPreview, SliderValue, SpeedRadioGroup, ThumbnailsLoader, Time, TimeSlider, VolumeSlider, formatSpokenTime, formatTime, menuPortalContext, sliderContext, sliderState, updateSliderPreviewPlacement } from './chunks/vidstack-Eo46ZHu7.js';
|
|
11
10
|
export { TimeRange, getTimeRangesEnd, getTimeRangesStart, normalizeTimeIntervals, updateTimeIntervals } from './chunks/vidstack-Fem0yF3c.js';
|
|
12
|
-
export { AudioGainRadioGroup, AudioGainSlider, Captions, ChaptersRadioGroup, Controls, ControlsGroup, DEFAULT_AUDIO_GAINS, Gesture, GoogleCastButton, MediaAnnouncer, QualitySlider, RadioGroup, SliderChapters, SliderVideo, SpeedSlider, ToggleButton, Tooltip, TooltipContent, TooltipTrigger } from './chunks/vidstack-
|
|
11
|
+
export { AudioGainRadioGroup, AudioGainSlider, Captions, ChaptersRadioGroup, Controls, ControlsGroup, DEFAULT_AUDIO_GAINS, Gesture, GoogleCastButton, MediaAnnouncer, QualitySlider, RadioGroup, SliderChapters, SliderVideo, SpeedSlider, ToggleButton, Tooltip, TooltipContent, TooltipTrigger } from './chunks/vidstack-zknLxihl.js';
|
|
13
12
|
export { Poster } from './chunks/vidstack-C4PTiuot.js';
|
|
14
13
|
export { usePlyrLayoutClasses } from './chunks/vidstack-BDIzK77F.js';
|
|
15
14
|
export { getDownloadFile } from './chunks/vidstack-KShKSmYu.js';
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { computed, peek, effect, onDispose, isDOMNode, animationFrameThrottle, isString } from './vidstack-B8LynzY5.js';
|
|
2
|
+
import { nothing, render, html } from 'lit-html';
|
|
3
|
+
import { ifDefined } from 'lit-html/directives/if-defined.js';
|
|
4
|
+
import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';
|
|
5
|
+
import { directive, AsyncDirective, PartType } from 'lit-html/async-directive.js';
|
|
6
|
+
import { useMediaContext } from './vidstack-NpAD9hfP.js';
|
|
7
|
+
|
|
8
|
+
class SignalDirective extends AsyncDirective {
|
|
9
|
+
#signal = null;
|
|
10
|
+
#isAttr = false;
|
|
11
|
+
#stop = null;
|
|
12
|
+
constructor(part) {
|
|
13
|
+
super(part);
|
|
14
|
+
this.#isAttr = part.type === PartType.ATTRIBUTE || part.type === PartType.BOOLEAN_ATTRIBUTE;
|
|
15
|
+
}
|
|
16
|
+
render(signal) {
|
|
17
|
+
if (signal !== this.#signal) {
|
|
18
|
+
this.disconnected();
|
|
19
|
+
this.#signal = signal;
|
|
20
|
+
if (this.isConnected) this.#watch();
|
|
21
|
+
}
|
|
22
|
+
return this.#signal ? this.#resolveValue(peek(this.#signal)) : nothing;
|
|
23
|
+
}
|
|
24
|
+
reconnected() {
|
|
25
|
+
this.#watch();
|
|
26
|
+
}
|
|
27
|
+
disconnected() {
|
|
28
|
+
this.#stop?.();
|
|
29
|
+
this.#stop = null;
|
|
30
|
+
}
|
|
31
|
+
#watch() {
|
|
32
|
+
if (!this.#signal) return;
|
|
33
|
+
this.#stop = effect(this.#onValueChange.bind(this));
|
|
34
|
+
}
|
|
35
|
+
#resolveValue(value) {
|
|
36
|
+
return this.#isAttr ? ifDefined(value) : value;
|
|
37
|
+
}
|
|
38
|
+
#setValue(value) {
|
|
39
|
+
this.setValue(this.#resolveValue(value));
|
|
40
|
+
}
|
|
41
|
+
#onValueChange() {
|
|
42
|
+
{
|
|
43
|
+
this.#setValue(this.#signal?.());
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function $signal(compute) {
|
|
48
|
+
return directive(SignalDirective)(computed(compute));
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
class SlotObserver {
|
|
52
|
+
#roots;
|
|
53
|
+
#callback;
|
|
54
|
+
elements = /* @__PURE__ */ new Set();
|
|
55
|
+
constructor(roots, callback) {
|
|
56
|
+
this.#roots = roots;
|
|
57
|
+
this.#callback = callback;
|
|
58
|
+
}
|
|
59
|
+
connect() {
|
|
60
|
+
this.#update();
|
|
61
|
+
const observer = new MutationObserver(this.#onMutation);
|
|
62
|
+
for (const root of this.#roots) observer.observe(root, { childList: true, subtree: true });
|
|
63
|
+
onDispose(() => observer.disconnect());
|
|
64
|
+
onDispose(this.disconnect.bind(this));
|
|
65
|
+
}
|
|
66
|
+
disconnect() {
|
|
67
|
+
this.elements.clear();
|
|
68
|
+
}
|
|
69
|
+
assign(template, slot) {
|
|
70
|
+
if (isDOMNode(template)) {
|
|
71
|
+
slot.textContent = "";
|
|
72
|
+
slot.append(template);
|
|
73
|
+
} else {
|
|
74
|
+
render(null, slot);
|
|
75
|
+
render(template, slot);
|
|
76
|
+
}
|
|
77
|
+
if (!slot.style.display) {
|
|
78
|
+
slot.style.display = "contents";
|
|
79
|
+
}
|
|
80
|
+
const el = slot.firstElementChild;
|
|
81
|
+
if (!el) return;
|
|
82
|
+
const classList = slot.getAttribute("data-class");
|
|
83
|
+
if (classList) el.classList.add(...classList.split(" "));
|
|
84
|
+
}
|
|
85
|
+
#onMutation = animationFrameThrottle(this.#update.bind(this));
|
|
86
|
+
#update(entries) {
|
|
87
|
+
if (entries && !entries.some((e) => e.addedNodes.length)) return;
|
|
88
|
+
let changed = false, slots = this.#roots.flatMap((root) => [...root.querySelectorAll("slot")]);
|
|
89
|
+
for (const slot of slots) {
|
|
90
|
+
if (!slot.hasAttribute("name") || this.elements.has(slot)) continue;
|
|
91
|
+
this.elements.add(slot);
|
|
92
|
+
changed = true;
|
|
93
|
+
}
|
|
94
|
+
if (changed) this.#callback(this.elements);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
let id = 0, slotIdAttr = "data-slot-id";
|
|
99
|
+
class SlotManager {
|
|
100
|
+
#roots;
|
|
101
|
+
slots;
|
|
102
|
+
constructor(roots) {
|
|
103
|
+
this.#roots = roots;
|
|
104
|
+
this.slots = new SlotObserver(roots, this.#update.bind(this));
|
|
105
|
+
}
|
|
106
|
+
connect() {
|
|
107
|
+
this.slots.connect();
|
|
108
|
+
this.#update();
|
|
109
|
+
const mutations = new MutationObserver(this.#onMutation);
|
|
110
|
+
for (const root of this.#roots) mutations.observe(root, { childList: true });
|
|
111
|
+
onDispose(() => mutations.disconnect());
|
|
112
|
+
}
|
|
113
|
+
#onMutation = animationFrameThrottle(this.#update.bind(this));
|
|
114
|
+
#update() {
|
|
115
|
+
for (const root of this.#roots) {
|
|
116
|
+
for (const node of root.children) {
|
|
117
|
+
if (node.nodeType !== 1) continue;
|
|
118
|
+
const name = node.getAttribute("slot");
|
|
119
|
+
if (!name) continue;
|
|
120
|
+
node.style.display = "none";
|
|
121
|
+
let slotId = node.getAttribute(slotIdAttr);
|
|
122
|
+
if (!slotId) {
|
|
123
|
+
node.setAttribute(slotIdAttr, slotId = ++id + "");
|
|
124
|
+
}
|
|
125
|
+
for (const slot of this.slots.elements) {
|
|
126
|
+
if (slot.getAttribute("name") !== name || slot.getAttribute(slotIdAttr) === slotId) {
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
const clone = document.importNode(node, true);
|
|
130
|
+
if (name.includes("-icon")) clone.classList.add("vds-icon");
|
|
131
|
+
clone.style.display = "";
|
|
132
|
+
clone.removeAttribute("slot");
|
|
133
|
+
this.slots.assign(clone, slot);
|
|
134
|
+
slot.setAttribute(slotIdAttr, slotId);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
function Icon({ name, class: _class, state, paths, viewBox = "0 0 32 32" }) {
|
|
142
|
+
return html`<svg
|
|
143
|
+
class="${"vds-icon" + (_class ? ` ${_class}` : "")}"
|
|
144
|
+
viewBox="${viewBox}"
|
|
145
|
+
fill="none"
|
|
146
|
+
aria-hidden="true"
|
|
147
|
+
focusable="false"
|
|
148
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
149
|
+
data-icon=${ifDefined(name ?? state)}
|
|
150
|
+
>
|
|
151
|
+
${!isString(paths) ? $signal(paths) : unsafeSVG(paths)}
|
|
152
|
+
</svg>`;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
class IconsLoader {
|
|
156
|
+
#icons = {};
|
|
157
|
+
#loaded = false;
|
|
158
|
+
slots;
|
|
159
|
+
constructor(roots) {
|
|
160
|
+
this.slots = new SlotObserver(roots, this.#insertIcons.bind(this));
|
|
161
|
+
}
|
|
162
|
+
connect() {
|
|
163
|
+
this.slots.connect();
|
|
164
|
+
}
|
|
165
|
+
load() {
|
|
166
|
+
this.loadIcons().then((icons) => {
|
|
167
|
+
this.#icons = icons;
|
|
168
|
+
this.#loaded = true;
|
|
169
|
+
this.#insertIcons();
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
*#iterate() {
|
|
173
|
+
for (const iconName of Object.keys(this.#icons)) {
|
|
174
|
+
const slotName = `${iconName}-icon`;
|
|
175
|
+
for (const slot of this.slots.elements) {
|
|
176
|
+
if (slot.name !== slotName) continue;
|
|
177
|
+
yield { icon: this.#icons[iconName], slot };
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
#insertIcons() {
|
|
182
|
+
if (!this.#loaded) return;
|
|
183
|
+
for (const { icon, slot } of this.#iterate()) {
|
|
184
|
+
this.slots.assign(icon, slot);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
class LayoutIconsLoader extends IconsLoader {
|
|
190
|
+
connect() {
|
|
191
|
+
super.connect();
|
|
192
|
+
const { player } = useMediaContext();
|
|
193
|
+
if (!player.el) return;
|
|
194
|
+
let dispose, observer = new IntersectionObserver((entries) => {
|
|
195
|
+
if (!entries[0]?.isIntersecting) return;
|
|
196
|
+
dispose?.();
|
|
197
|
+
dispose = void 0;
|
|
198
|
+
this.load();
|
|
199
|
+
});
|
|
200
|
+
observer.observe(player.el);
|
|
201
|
+
dispose = onDispose(() => observer.disconnect());
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
export { $signal, Icon, LayoutIconsLoader, SlotManager };
|