@videojs/html 10.0.0-beta.10 → 10.0.0-beta.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/cdn/audio-minimal.dev.js +4 -3
- package/cdn/audio-minimal.dev.js.map +1 -1
- package/cdn/audio-minimal.js +1 -1
- package/cdn/audio-minimal.js.map +1 -1
- package/cdn/audio.dev.js +4 -3
- package/cdn/audio.dev.js.map +1 -1
- package/cdn/audio.js +1 -1
- package/cdn/audio.js.map +1 -1
- package/cdn/background.dev.js +3 -2
- package/cdn/background.dev.js.map +1 -1
- package/cdn/background.js +1 -1
- package/cdn/background.js.map +1 -1
- package/cdn/{context-DTY0nOpS.js → context-Be8C5kVd.js} +70 -2
- package/cdn/context-Be8C5kVd.js.map +1 -0
- package/cdn/context-CUBywtsB.js +14 -0
- package/cdn/context-CUBywtsB.js.map +1 -0
- package/cdn/{create-player-Cwxvswyv.js → create-player-AcfnN3li.js} +3 -3
- package/cdn/{create-player-Cwxvswyv.js.map → create-player-AcfnN3li.js.map} +1 -1
- package/cdn/create-player-s_qISCpw.js +7 -0
- package/cdn/{create-player-BTIU8EwT.js.map → create-player-s_qISCpw.js.map} +1 -1
- package/cdn/{proxy-2oO2ph3m.js → custom-media-element-DqevSVgS.js} +6 -6
- package/cdn/custom-media-element-DqevSVgS.js.map +1 -0
- package/cdn/{proxy-dR7IDk37.js → custom-media-element-moFa3UZp.js} +2 -48
- package/cdn/custom-media-element-moFa3UZp.js.map +1 -0
- package/cdn/delegate-CzAcT1xm.js +44 -0
- package/cdn/delegate-CzAcT1xm.js.map +1 -0
- package/cdn/delegate-Uc-6tQDR.js +2 -0
- package/cdn/delegate-Uc-6tQDR.js.map +1 -0
- package/cdn/{listen-DX5vU4s4.js → listen-4jqsRSKo.js} +1 -1
- package/cdn/{listen-DX5vU4s4.js.map → listen-4jqsRSKo.js.map} +1 -1
- package/cdn/{listen-BXAYCbZA.js → listen-YSH3Jfyk.js} +1 -1
- package/cdn/{listen-BXAYCbZA.js.map → listen-YSH3Jfyk.js.map} +1 -1
- package/cdn/media/dash-video.dev.js +4 -2
- package/cdn/media/dash-video.dev.js.map +1 -1
- package/cdn/media/dash-video.js +2 -2
- package/cdn/media/dash-video.js.map +1 -1
- package/cdn/media/hls-video.dev.js +5 -3
- package/cdn/media/hls-video.dev.js.map +1 -1
- package/cdn/media/hls-video.js +2 -2
- package/cdn/media/hls-video.js.map +1 -1
- package/cdn/media/simple-hls-video.dev.js +684 -546
- package/cdn/media/simple-hls-video.dev.js.map +1 -1
- package/cdn/media/simple-hls-video.js +1 -1
- package/cdn/media/simple-hls-video.js.map +1 -1
- package/cdn/{media-attach-mixin-tFNcHnvo.js → media-attach-mixin-D5_nfJpa.js} +2 -2
- package/cdn/{media-attach-mixin-tFNcHnvo.js.map → media-attach-mixin-D5_nfJpa.js.map} +1 -1
- package/cdn/{media-attach-mixin-ChyNp2eK.js → media-attach-mixin-U_KQB_9O.js} +2 -2
- package/cdn/{media-attach-mixin-ChyNp2eK.js.map → media-attach-mixin-U_KQB_9O.js.map} +1 -1
- package/cdn/{player-BHhLXO-R.js → player-C46h14iP.js} +2 -2
- package/cdn/{player-BHhLXO-R.js.map → player-C46h14iP.js.map} +1 -1
- package/cdn/{player-DEfj0RU6.js → player-CvrOeLpy.js} +2 -2
- package/cdn/{player-DEfj0RU6.js.map → player-CvrOeLpy.js.map} +1 -1
- package/cdn/{poster-Dd0F1rRd.js → poster-Olv5zDI_.js} +4 -4
- package/cdn/{poster-Dd0F1rRd.js.map → poster-Olv5zDI_.js.map} +1 -1
- package/cdn/{poster-DwQ3RAch.js → poster-odJ4iwIv.js} +2 -2
- package/cdn/{poster-DwQ3RAch.js.map → poster-odJ4iwIv.js.map} +1 -1
- package/cdn/video-minimal.dev.js +4 -3
- package/cdn/video-minimal.dev.js.map +1 -1
- package/cdn/video-minimal.js +1 -1
- package/cdn/video-minimal.js.map +1 -1
- package/cdn/video.dev.js +4 -4
- package/cdn/video.js +1 -1
- package/cdn/{volume-slider-DgJ0rAfC.js → volume-slider-D7BOdSDF.js} +3 -3
- package/cdn/{volume-slider-DgJ0rAfC.js.map → volume-slider-D7BOdSDF.js.map} +1 -1
- package/cdn/{volume-slider-Pd0AMTCH.js → volume-slider-DPeFF5tt.js} +2 -2
- package/cdn/{volume-slider-Pd0AMTCH.js.map → volume-slider-DPeFF5tt.js.map} +1 -1
- package/dist/default/index.js +2 -1
- package/dist/default/ui/alert-dialog/alert-dialog-element.js +1 -1
- package/dist/default/ui/buffering-indicator/buffering-indicator-element.js +1 -1
- package/dist/default/ui/captions-button/captions-button-element.js +1 -1
- package/dist/default/ui/controls/controls-element.js +1 -1
- package/dist/default/ui/fullscreen-button/fullscreen-button-element.js +1 -1
- package/dist/default/ui/mute-button/mute-button-element.js +1 -1
- package/dist/default/ui/pip-button/pip-button-element.js +1 -1
- package/dist/default/ui/play-button/play-button-element.js +1 -1
- package/dist/default/ui/playback-rate-button/playback-rate-button-element.js +1 -1
- package/dist/default/ui/popover/popover-element.js +1 -1
- package/dist/default/ui/poster/poster-element.js +1 -1
- package/dist/default/ui/seek-button/seek-button-element.js +1 -1
- package/dist/default/ui/slider/slider-element.js +1 -1
- package/dist/default/ui/thumbnail/thumbnail-element.js +1 -1
- package/dist/default/ui/time/time-element.js +1 -1
- package/dist/default/ui/time-slider/time-slider-element.js +1 -1
- package/dist/default/ui/tooltip/tooltip-element.js +1 -1
- package/dist/default/ui/tooltip/tooltip-group-element.js +1 -1
- package/dist/default/ui/volume-slider/volume-slider-element.js +1 -1
- package/dist/dev/index.d.ts +2 -1
- package/dist/dev/index.js +2 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-description-element.d.ts +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-element.js +1 -1
- package/dist/dev/ui/alert-dialog/alert-dialog-title-element.d.ts +1 -1
- package/dist/dev/ui/buffering-indicator/buffering-indicator-element.js +1 -1
- package/dist/dev/ui/captions-button/captions-button-element.d.ts +1 -1
- package/dist/dev/ui/captions-button/captions-button-element.js +1 -1
- package/dist/dev/ui/context-part-element.d.ts +1 -1
- package/dist/dev/ui/controls/controls-element.js +1 -1
- package/dist/dev/ui/controls/controls-group-element.d.ts +1 -1
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.d.ts +1 -1
- package/dist/dev/ui/fullscreen-button/fullscreen-button-element.js +1 -1
- package/dist/dev/ui/media-button-element.d.ts +1 -1
- package/dist/dev/ui/media-ui-element.d.ts +1 -1
- package/dist/dev/ui/mute-button/mute-button-element.d.ts +1 -1
- package/dist/dev/ui/mute-button/mute-button-element.js +1 -1
- package/dist/dev/ui/pip-button/pip-button-element.d.ts +1 -1
- package/dist/dev/ui/pip-button/pip-button-element.js +1 -1
- package/dist/dev/ui/play-button/play-button-element.d.ts +1 -1
- package/dist/dev/ui/play-button/play-button-element.js +1 -1
- package/dist/dev/ui/playback-rate-button/playback-rate-button-element.d.ts +1 -1
- package/dist/dev/ui/playback-rate-button/playback-rate-button-element.js +1 -1
- package/dist/dev/ui/popover/popover-element.d.ts +1 -1
- package/dist/dev/ui/popover/popover-element.js +1 -1
- package/dist/dev/ui/poster/poster-element.d.ts +1 -1
- package/dist/dev/ui/poster/poster-element.js +1 -1
- package/dist/dev/ui/seek-button/seek-button-element.d.ts +1 -1
- package/dist/dev/ui/seek-button/seek-button-element.js +1 -1
- package/dist/dev/ui/slider/context.d.ts +1 -1
- package/dist/dev/ui/slider/slider-buffer-element.d.ts +1 -1
- package/dist/dev/ui/slider/slider-element.d.ts +1 -1
- package/dist/dev/ui/slider/slider-element.js +1 -1
- package/dist/dev/ui/slider/slider-fill-element.d.ts +1 -1
- package/dist/dev/ui/slider/slider-track-element.d.ts +1 -1
- package/dist/dev/ui/thumbnail/thumbnail-element.d.ts +1 -1
- package/dist/dev/ui/thumbnail/thumbnail-element.js +1 -1
- package/dist/dev/ui/time/time-element.d.ts +1 -1
- package/dist/dev/ui/time/time-element.js +1 -1
- package/dist/dev/ui/time-slider/time-slider-element.d.ts +1 -1
- package/dist/dev/ui/time-slider/time-slider-element.js +1 -1
- package/dist/dev/ui/tooltip/tooltip-element.d.ts +1 -1
- package/dist/dev/ui/tooltip/tooltip-element.js +1 -1
- package/dist/dev/ui/tooltip/tooltip-group-element.js +1 -1
- package/dist/dev/ui/volume-slider/volume-slider-element.d.ts +1 -1
- package/dist/dev/ui/volume-slider/volume-slider-element.js +1 -1
- package/package.json +10 -10
- package/cdn/context-C_e06fGU.js +0 -13
- package/cdn/context-C_e06fGU.js.map +0 -1
- package/cdn/context-DTY0nOpS.js.map +0 -1
- package/cdn/create-player-BTIU8EwT.js +0 -7
- package/cdn/proxy-2oO2ph3m.js.map +0 -1
- package/cdn/proxy-6KS6wy69.js +0 -2
- package/cdn/proxy-6KS6wy69.js.map +0 -1
- package/cdn/proxy-XzDf9gyk.js +0 -66
- package/cdn/proxy-XzDf9gyk.js.map +0 -1
- package/cdn/proxy-dR7IDk37.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ContextPartElement } from "../context-part-element.js";
|
|
2
2
|
import { SliderContextValue } from "./context.js";
|
|
3
|
-
import { ContextConsumer } from "@videojs/element/context";
|
|
4
3
|
import { SliderState } from "@videojs/core";
|
|
4
|
+
import { ContextConsumer } from "@videojs/element/context";
|
|
5
5
|
|
|
6
6
|
//#region src/ui/slider/slider-track-element.d.ts
|
|
7
7
|
declare class SliderTrackElement extends ContextPartElement<SliderState> {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MediaElement } from "../media-element.js";
|
|
2
|
-
import { PropertyValues } from "@videojs/element";
|
|
3
2
|
import { ThumbnailCore, ThumbnailImage } from "@videojs/core";
|
|
3
|
+
import { PropertyValues } from "@videojs/element";
|
|
4
4
|
|
|
5
5
|
//#region src/ui/thumbnail/thumbnail-element.d.ts
|
|
6
6
|
declare class ThumbnailElement extends MediaElement {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { playerContext } from "../../player/context.js";
|
|
2
2
|
import { MediaElement } from "../media-element.js";
|
|
3
3
|
import { PlayerController } from "../../player/player-controller.js";
|
|
4
|
-
import { applyElementProps, applyStateDataAttrs, createThumbnail, selectTextTrack } from "@videojs/core/dom";
|
|
5
4
|
import { ThumbnailCore, ThumbnailDataAttrs, mapCuesToThumbnails } from "@videojs/core";
|
|
5
|
+
import { applyElementProps, applyStateDataAttrs, createThumbnail, selectTextTrack } from "@videojs/core/dom";
|
|
6
6
|
|
|
7
7
|
//#region src/ui/thumbnail/thumbnail-element.ts
|
|
8
8
|
const SHADOW_CSS = `\
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MediaElement } from "../media-element.js";
|
|
2
|
-
import { PropertyValues } from "@videojs/element";
|
|
3
2
|
import * as _videojs_core0 from "@videojs/core";
|
|
4
3
|
import { TimeType } from "@videojs/core";
|
|
4
|
+
import { PropertyValues } from "@videojs/element";
|
|
5
5
|
|
|
6
6
|
//#region src/ui/time/time-element.d.ts
|
|
7
7
|
declare class TimeElement extends MediaElement {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { playerContext } from "../../player/context.js";
|
|
2
2
|
import { MediaElement } from "../media-element.js";
|
|
3
3
|
import { PlayerController } from "../../player/player-controller.js";
|
|
4
|
-
import { applyElementProps, applyStateDataAttrs, logMissingFeature, selectTime } from "@videojs/core/dom";
|
|
5
4
|
import { TimeCore, TimeDataAttrs } from "@videojs/core";
|
|
5
|
+
import { applyElementProps, applyStateDataAttrs, logMissingFeature, selectTime } from "@videojs/core/dom";
|
|
6
6
|
|
|
7
7
|
//#region src/ui/time/time-element.ts
|
|
8
8
|
var TimeElement = class extends MediaElement {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MediaElement } from "../media-element.js";
|
|
2
|
-
import { PropertyValues } from "@videojs/element";
|
|
3
2
|
import * as _videojs_core0 from "@videojs/core";
|
|
3
|
+
import { PropertyValues } from "@videojs/element";
|
|
4
4
|
|
|
5
5
|
//#region src/ui/time-slider/time-slider-element.d.ts
|
|
6
6
|
declare class TimeSliderElement extends MediaElement {
|
|
@@ -2,9 +2,9 @@ import { playerContext } from "../../player/context.js";
|
|
|
2
2
|
import { MediaElement } from "../media-element.js";
|
|
3
3
|
import { PlayerController } from "../../player/player-controller.js";
|
|
4
4
|
import { sliderContext } from "../slider/context.js";
|
|
5
|
+
import { TimeSliderCore, TimeSliderDataAttrs } from "@videojs/core";
|
|
5
6
|
import { applyElementProps, applyStateDataAttrs, createSlider, getTimeSliderCSSVars, logMissingFeature, selectBuffer, selectTime } from "@videojs/core/dom";
|
|
6
7
|
import { ContextProvider } from "@videojs/element/context";
|
|
7
|
-
import { TimeSliderCore, TimeSliderDataAttrs } from "@videojs/core";
|
|
8
8
|
import { applyStyles, isRTL } from "@videojs/utils/dom";
|
|
9
9
|
import { formatTime } from "@videojs/utils/time";
|
|
10
10
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MediaElement } from "../media-element.js";
|
|
2
|
-
import { PropertyValues } from "@videojs/element";
|
|
3
2
|
import * as _videojs_core0 from "@videojs/core";
|
|
3
|
+
import { PropertyValues } from "@videojs/element";
|
|
4
4
|
|
|
5
5
|
//#region src/ui/tooltip/tooltip-element.d.ts
|
|
6
6
|
declare class TooltipElement extends MediaElement {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { MediaElement } from "../media-element.js";
|
|
2
2
|
import { tooltipGroupContext } from "./context.js";
|
|
3
|
+
import { TooltipCSSVars, TooltipCore, TooltipDataAttrs } from "@videojs/core";
|
|
3
4
|
import { applyElementProps, applyStateDataAttrs, createTooltip, createTransition, getAnchorNameStyle, getAnchorPositionStyle, getPopupPositionRect, resolveOffsets } from "@videojs/core/dom";
|
|
4
5
|
import { ContextConsumer } from "@videojs/element/context";
|
|
5
6
|
import { SnapshotController } from "@videojs/store/html";
|
|
6
|
-
import { TooltipCSSVars, TooltipCore, TooltipDataAttrs } from "@videojs/core";
|
|
7
7
|
import { applyStyles, supportsAnchorPositioning, tryHidePopover, tryShowPopover } from "@videojs/utils/dom";
|
|
8
8
|
|
|
9
9
|
//#region src/ui/tooltip/tooltip-element.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MediaElement } from "../media-element.js";
|
|
2
2
|
import { tooltipGroupContext } from "./context.js";
|
|
3
|
-
import { ContextProvider } from "@videojs/element/context";
|
|
4
3
|
import { TooltipGroupCore } from "@videojs/core";
|
|
4
|
+
import { ContextProvider } from "@videojs/element/context";
|
|
5
5
|
|
|
6
6
|
//#region src/ui/tooltip/tooltip-group-element.ts
|
|
7
7
|
var TooltipGroupElement = class extends MediaElement {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MediaElement } from "../media-element.js";
|
|
2
|
-
import { PropertyValues } from "@videojs/element";
|
|
3
2
|
import * as _videojs_core0 from "@videojs/core";
|
|
3
|
+
import { PropertyValues } from "@videojs/element";
|
|
4
4
|
|
|
5
5
|
//#region src/ui/volume-slider/volume-slider-element.d.ts
|
|
6
6
|
declare class VolumeSliderElement extends MediaElement {
|
|
@@ -2,9 +2,9 @@ import { playerContext } from "../../player/context.js";
|
|
|
2
2
|
import { MediaElement } from "../media-element.js";
|
|
3
3
|
import { PlayerController } from "../../player/player-controller.js";
|
|
4
4
|
import { sliderContext } from "../slider/context.js";
|
|
5
|
+
import { VolumeSliderCore, VolumeSliderDataAttrs } from "@videojs/core";
|
|
5
6
|
import { applyElementProps, applyStateDataAttrs, createSlider, getSliderCSSVars, logMissingFeature, selectVolume } from "@videojs/core/dom";
|
|
6
7
|
import { ContextProvider } from "@videojs/element/context";
|
|
7
|
-
import { VolumeSliderCore, VolumeSliderDataAttrs } from "@videojs/core";
|
|
8
8
|
import { applyStyles, isRTL } from "@videojs/utils/dom";
|
|
9
9
|
|
|
10
10
|
//#region src/ui/volume-slider/volume-slider-element.ts
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@videojs/html",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "10.0.0-beta.
|
|
4
|
+
"version": "10.0.0-beta.11",
|
|
5
5
|
"description": "HTML library for building media players",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"repository": {
|
|
@@ -92,20 +92,20 @@
|
|
|
92
92
|
}
|
|
93
93
|
},
|
|
94
94
|
"dependencies": {
|
|
95
|
-
"@videojs/
|
|
96
|
-
"@videojs/
|
|
97
|
-
"@videojs/
|
|
98
|
-
"@videojs/
|
|
99
|
-
"@videojs/store": "10.0.0-beta.
|
|
95
|
+
"@videojs/core": "10.0.0-beta.11",
|
|
96
|
+
"@videojs/element": "10.0.0-beta.11",
|
|
97
|
+
"@videojs/spf": "10.0.0-beta.11",
|
|
98
|
+
"@videojs/utils": "10.0.0-beta.11",
|
|
99
|
+
"@videojs/store": "10.0.0-beta.11"
|
|
100
100
|
},
|
|
101
101
|
"devDependencies": {
|
|
102
102
|
"@testing-library/dom": "^10.4.0",
|
|
103
103
|
"happy-dom": "^18.0.1",
|
|
104
104
|
"tsdown": "^0.20.3",
|
|
105
|
-
"typescript": "^
|
|
106
|
-
"vitest": "^
|
|
107
|
-
"@videojs/icons": "10.0.0-beta.
|
|
108
|
-
"@videojs/skins": "10.0.0-beta.
|
|
105
|
+
"typescript": "^6.0.2",
|
|
106
|
+
"vitest": "^4.1.0",
|
|
107
|
+
"@videojs/icons": "10.0.0-beta.11",
|
|
108
|
+
"@videojs/skins": "10.0.0-beta.11"
|
|
109
109
|
},
|
|
110
110
|
"publishConfig": {
|
|
111
111
|
"access": "public"
|
package/cdn/context-C_e06fGU.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2021 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
-
*/
|
|
6
|
-
var e=class extends Event{constructor(e,t,n,r){super(`context-request`,{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t,this.callback=n,this.subscribe=r??!1}};
|
|
7
|
-
/**
|
|
8
|
-
* @license
|
|
9
|
-
* Copyright 2021 Google LLC
|
|
10
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
11
|
-
*/
|
|
12
|
-
function t(e){return e}const n=t(Symbol.for(`@videojs/player`)),r=t(Symbol.for(`@videojs/media`)),i=t(Symbol.for(`@videojs/container`));export{e as a,t as i,r as n,n as r,i as t};
|
|
13
|
-
//# sourceMappingURL=context-C_e06fGU.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-C_e06fGU.js","names":["createContext"],"sources":["../../../node_modules/.pnpm/@lit+context@1.1.6/node_modules/@lit/context/lib/context-request-event.js","../../../node_modules/.pnpm/@lit+context@1.1.6/node_modules/@lit/context/lib/create-context.js","../src/player/context.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nclass s extends Event{constructor(s,t,e,o){super(\"context-request\",{bubbles:!0,composed:!0}),this.context=s,this.contextTarget=t,this.callback=e,this.subscribe=o??!1}}export{s as ContextRequestEvent};\n//# sourceMappingURL=context-request-event.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nfunction n(n){return n}export{n as createContext};\n//# sourceMappingURL=create-context.js.map\n","import type { AnyPlayerStore, Media, MediaContainer, PlayerStore } from '@videojs/core/dom';\nimport { type Context, createContext } from '@videojs/element/context';\n\n// ----------------------------------------\n// Player Context\n// ----------------------------------------\n\nexport const PLAYER_CONTEXT_KEY = Symbol.for('@videojs/player');\n\nexport type PlayerContextValue<Store extends PlayerStore = AnyPlayerStore> = Store;\n\nexport type PlayerContext<Store extends PlayerStore = AnyPlayerStore> = Context<\n typeof PLAYER_CONTEXT_KEY,\n PlayerContextValue<Store>\n>;\n\n/**\n * The default player context instance for consuming the player store in controllers.\n *\n * @public\n */\nexport const playerContext = createContext<PlayerContextValue, typeof PLAYER_CONTEXT_KEY>(PLAYER_CONTEXT_KEY);\n\n// ----------------------------------------\n// Media Context\n// ----------------------------------------\n\nexport const MEDIA_CONTEXT_KEY = Symbol.for('@videojs/media');\n\nexport interface MediaContextValue {\n media: Media | null;\n setMedia: (media: Media | null) => void;\n}\n\nexport type MediaContext = Context<typeof MEDIA_CONTEXT_KEY, MediaContextValue>;\n\nexport const mediaContext = createContext<MediaContextValue, typeof MEDIA_CONTEXT_KEY>(MEDIA_CONTEXT_KEY);\n\n// ----------------------------------------\n// Container Context\n// ----------------------------------------\n\nexport const CONTAINER_CONTEXT_KEY = Symbol.for('@videojs/container');\n\nexport interface ContainerContextValue {\n container: MediaContainer | null;\n setContainer: (container: MediaContainer | null) => void;\n}\n\nexport type ContainerContext = Context<typeof CONTAINER_CONTEXT_KEY, ContainerContextValue>;\n\nexport const containerContext = createContext<ContainerContextValue, typeof CONTAINER_CONTEXT_KEY>(\n CONTAINER_CONTEXT_KEY\n);\n"],"x_google_ignoreList":[0,1],"mappings":";;;;;AAKA,IAAM,EAAN,cAAgB,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,kBAAkB,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,GAAG,CAAC;;;;;;ACApK,SAAS,EAAE,EAAE,CAAC,OAAO,ECgBrB,MAAa,EAAgBA,EAdK,OAAO,IAAI,kBAAkB,CAc8C,CAehG,EAAeA,EATK,OAAO,IAAI,iBAAiB,CAS4C,CAe5F,EAAmBA,EATK,OAAO,IAAI,qBAAqB,CAWpE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-DTY0nOpS.js","names":[],"sources":["../../../node_modules/.pnpm/@lit+context@1.1.6/node_modules/@lit/context/development/lib/context-request-event.js","../../../node_modules/.pnpm/@lit+context@1.1.6/node_modules/@lit/context/development/lib/create-context.js","../src/player/context.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n/**\n * An event fired by a context requester to signal it desires a specified context with the given key.\n *\n * A provider should inspect the `context` property of the event to determine if it has a value that can\n * satisfy the request, calling the `callback` with the requested value if so.\n *\n * If the requested context event contains a truthy `subscribe` value, then a provider can call the callback\n * multiple times if the value is changed, if this is the case the provider should pass an `unsubscribe`\n * method to the callback which consumers can invoke to indicate they no longer wish to receive these updates.\n *\n * If no `subscribe` value is present in the event, then the provider can assume that this is a 'one time'\n * request for the context and can therefore not track the consumer.\n */\nexport class ContextRequestEvent extends Event {\n /**\n *\n * @param context the context key to request\n * @param contextTarget the original context target of the requester\n * @param callback the callback that should be invoked when the context with the specified key is available\n * @param subscribe when, true indicates we want to subscribe to future updates\n */\n constructor(context, contextTarget, callback, subscribe) {\n super('context-request', { bubbles: true, composed: true });\n this.context = context;\n this.contextTarget = contextTarget;\n this.callback = callback;\n this.subscribe = subscribe ?? false;\n }\n}\n//# sourceMappingURL=context-request-event.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n/**\n * Creates a typed Context.\n *\n * Contexts are compared with strict equality.\n *\n * If you want two separate `createContext()` calls to referer to the same\n * context, then use a key that will by equal under strict equality like a\n * string for `Symbol.for()`:\n *\n * ```ts\n * // true\n * createContext('my-context') === createContext('my-context')\n * // true\n * createContext(Symbol.for('my-context')) === createContext(Symbol.for('my-context'))\n * ```\n *\n * If you want a context to be unique so that it's guaranteed to not collide\n * with other contexts, use a key that's unique under strict equality, like\n * a `Symbol()` or object.:\n *\n * ```\n * // false\n * createContext({}) === createContext({})\n * // false\n * createContext(Symbol('my-context')) === createContext(Symbol('my-context'))\n * ```\n *\n * @param key a context key value\n * @template ValueType the type of value that can be provided by this context.\n * @returns the context key value cast to `Context<K, ValueType>`\n */\nexport function createContext(key) {\n return key;\n}\n//# sourceMappingURL=create-context.js.map","import type { AnyPlayerStore, Media, MediaContainer, PlayerStore } from '@videojs/core/dom';\nimport { type Context, createContext } from '@videojs/element/context';\n\n// ----------------------------------------\n// Player Context\n// ----------------------------------------\n\nexport const PLAYER_CONTEXT_KEY = Symbol.for('@videojs/player');\n\nexport type PlayerContextValue<Store extends PlayerStore = AnyPlayerStore> = Store;\n\nexport type PlayerContext<Store extends PlayerStore = AnyPlayerStore> = Context<\n typeof PLAYER_CONTEXT_KEY,\n PlayerContextValue<Store>\n>;\n\n/**\n * The default player context instance for consuming the player store in controllers.\n *\n * @public\n */\nexport const playerContext = createContext<PlayerContextValue, typeof PLAYER_CONTEXT_KEY>(PLAYER_CONTEXT_KEY);\n\n// ----------------------------------------\n// Media Context\n// ----------------------------------------\n\nexport const MEDIA_CONTEXT_KEY = Symbol.for('@videojs/media');\n\nexport interface MediaContextValue {\n media: Media | null;\n setMedia: (media: Media | null) => void;\n}\n\nexport type MediaContext = Context<typeof MEDIA_CONTEXT_KEY, MediaContextValue>;\n\nexport const mediaContext = createContext<MediaContextValue, typeof MEDIA_CONTEXT_KEY>(MEDIA_CONTEXT_KEY);\n\n// ----------------------------------------\n// Container Context\n// ----------------------------------------\n\nexport const CONTAINER_CONTEXT_KEY = Symbol.for('@videojs/container');\n\nexport interface ContainerContextValue {\n container: MediaContainer | null;\n setContainer: (container: MediaContainer | null) => void;\n}\n\nexport type ContainerContext = Context<typeof CONTAINER_CONTEXT_KEY, ContainerContextValue>;\n\nexport const containerContext = createContext<ContainerContextValue, typeof CONTAINER_CONTEXT_KEY>(\n CONTAINER_CONTEXT_KEY\n);\n"],"x_google_ignoreList":[0,1],"mappings":";;;;;;;;;;;;;;;;;;;AAkBA,IAAa,sBAAb,cAAyC,MAAM;;;;;;;;CAQ3C,YAAY,SAAS,eAAe,UAAU,WAAW;AACrD,QAAM,mBAAmB;GAAE,SAAS;GAAM,UAAU;GAAM,CAAC;AAC3D,OAAK,UAAU;AACf,OAAK,gBAAgB;AACrB,OAAK,WAAW;AAChB,OAAK,YAAY,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACKtC,SAAgB,cAAc,KAAK;AAC/B,QAAO;;;;;AC9BX,MAAa,qBAAqB,OAAO,IAAI,kBAAkB;;;;;;AAc/D,MAAa,gBAAgB,cAA6D,mBAAmB;AAM7G,MAAa,oBAAoB,OAAO,IAAI,iBAAiB;AAS7D,MAAa,eAAe,cAA2D,kBAAkB;AAMzG,MAAa,wBAAwB,OAAO,IAAI,qBAAqB;AASrE,MAAa,mBAAmB,cAC9B,sBACD"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{a as e,o as t,r as n,t as r}from"./predicate-Y9jDHLpX.js";import{t as i}from"./listen-DX5vU4s4.js";import{a,n as o,r as s,t as c}from"./context-C_e06fGU.js";var l=class{#e=new AbortController;#t=new Map;get base(){return this.#e.signal}clear(){for(let e of this.#t.values())e.abort();this.#t.clear()}reset(){this.clear(),this.#e.abort(),this.#e=new AbortController}supersede(e){this.#t.get(e)?.abort();let t=new AbortController;return this.#t.set(e,t),AbortSignal.any([this.#e.signal,t.signal])}};function u(...e){return{state:t=>{let n=e.map(e=>e.state(t));return Object.assign({},...n)},attach:t=>{for(let n of e)try{n.attach?.(t)}catch(e){t.reportError(e)}}}}var d=class extends Error{code;cause;constructor(e,t){super(t?.message??e),this.name=`StoreError`,this.code=e,this.cause=t?.cause}};function f(){throw new d(`NO_TARGET`)}function p(){throw new d(`DESTROYED`)}function m(e,t){let n={};for(let r of t)n[r]=e[r];return n}const h={target:f,signals:new l,set:f};function g(e){let t=e.state(h),n=Object.keys(t),r=n[0];return r?Object.assign(e=>{if(r in e)return m(e,n)},{displayName:e.name}):Object.assign(()=>void 0,{displayName:e.name})}const _=Object.prototype.hasOwnProperty;function v(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!_.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}function y(){return e=>e}function b(...e){}function x(e,t){let n=null,r,i=(...i)=>{r=i,n===null&&(n=setTimeout(()=>{n=null,e(...r)},t))};return i.cancel=()=>{n!==null&&(clearTimeout(n),n=null)},i}let S=!1;function ee(){S||(S=!0,queueMicrotask(te))}const C=new Set;function te(){S=!1;for(let e of C)e.flush();C.clear()}const ne=Object.prototype.hasOwnProperty;var re=class{#e;#t=new Set;#n=!1;constructor(e){this.#e=Object.freeze({...e})}get current(){return this.#e}patch(e){let t={...this.#e},n=!1;for(let r in e){if(!ne.call(e,r))continue;let i=e[r];Object.is(this.#e[r],i)||(t[r]=i,n=!0)}n&&(this.#e=Object.freeze(t),this.#r())}subscribe(e,t){let n=t?.signal;if(n?.aborted)return b;if(this.#t.add(e),!n)return()=>this.#t.delete(e);let r=()=>this.#t.delete(e);return n.addEventListener(`abort`,r,{once:!0}),()=>{n.removeEventListener(`abort`,r),this.#t.delete(e)}}flush(){if(this.#n){this.#n=!1;for(let e of this.#t)e()}}#r(){this.#n=!0,C.add(this),ee()}};function w(e){return new re(e)}const T=Symbol(`@videojs/store`);function ie(){return(e,t={})=>{let r=null,i=!1,a=new AbortController,o=new l,s;function c(){i&&p(),r||f()}let u=e.state({target:()=>(c(),r),signals:o,set:e=>s.patch(e)});s=w(u);let d={[T]:!0,get $state(){return s},get target(){return r},get destroyed(){return i},get state(){return s.current},attach:m,destroy:g,subscribe:_};for(let e of Object.keys(u))Object.defineProperty(d,e,{get:()=>s.current[e],enumerable:!0});try{t.onSetup?.({store:d,signal:a.signal})}catch(e){v(e)}return d;function m(n){i&&p(),o.reset(),r=n;let a={target:n,signal:o.base,get:()=>s.current,set:e=>s.patch(e),reportError:v,store:{get state(){return s.current},subscribe:_}};try{e.attach?.(a)}catch(e){v(e)}try{t.onAttach?.({store:d,target:n,signal:o.base})}catch(e){v(e)}return h}function h(){n(r)||(o.reset(),r=null,s.patch(u))}function g(){i||(i=!0,h(),a.abort())}function _(e,t){return s.subscribe(e,t)}function v(e){t.onError?t.onError({store:d,error:e}):console.error(`[vjs-store]`,e)}}}function ae(t){return e(t)&&T in t}const E=y();function D(e,t,n){return new Promise((r,i)=>{let a=()=>{i(n?.signal?.reason??`Aborted`)};if(n?.signal?.aborted){a();return}n?.signal?.addEventListener(`abort`,a,{once:!0}),e.addEventListener(t,e=>{n?.signal?.removeEventListener(`abort`,a),r(e)},{...n,once:!0})})}function O(){return typeof CSS<`u`&&CSS.supports(`anchor-name: --a`)}function k(e){try{e?.showPopover?.()}catch{}}function A(e){try{e?.hidePopover?.()}catch{}}function oe(e){return e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}function se(e,t){for(let[n,r]of Object.entries(t))if(typeof r==`string`){let t=n.startsWith(`--`)?n:oe(n);e.style.setProperty(t,r)}}function ce(e,t){let n=t.trim();if(!n)return 0;let r=Number.parseFloat(n);if(Number.isNaN(r))return 0;if(/^-?\d*\.?\d+$/.test(n)||n.endsWith(`px`))return r;let i=e.ownerDocument,a=i?.documentElement;if(n.endsWith(`rem`))return r*(a&&Number.parseFloat(getComputedStyle(a).fontSize)||16);if(n.endsWith(`em`))return r*(e instanceof HTMLElement&&Number.parseFloat(getComputedStyle(e).fontSize)||16);if(!i)return r;let o=i.createElement(`div`);o.style.position=`absolute`,o.style.visibility=`hidden`,o.style.pointerEvents=`none`,o.style.inlineSize=n,o.style.blockSize=`0`,o.style.padding=`0`,o.style.border=`0`,o.style.inset=`0`;let s=i.body??i.documentElement;if(!s)return r;s.appendChild(o);let c=o.getBoundingClientRect().width;return o.remove(),Number.isFinite(c)?c:r}function le(e,t){for(let n of e.querySelectorAll?.(`track`)??[])if(n.track===t)return n;return null}function ue(e,t){return e?.textTracks?Array.from(e.textTracks).filter(t).sort(de):[]}function de(e,t){return e.kind>=t.kind?1:-1}function fe(e){let t=[];for(let n=0;n<e.length;n++)t.push([e.start(n),e.end(n)]);return t}const j=E({name:`buffer`,state:()=>({buffered:[],seekable:[]}),attach({target:e,signal:t,set:n}){let{media:r}=e,a=()=>n({buffered:fe(r.buffered),seekable:fe(r.seekable)});a(),i(r,`progress`,a,{signal:t}),i(r,`emptied`,a,{signal:t})}}),M=E({name:`controls`,state:()=>({userActive:!0,controlsVisible:!0}),attach({target:e,signal:t,get:r,set:a}){let{media:o,container:s}=e;if(n(s))return;function c(e){return e||o.paused}let l;function u(){clearTimeout(l),l=void 0}function d(){u(),l=setTimeout(p,2e3)}function f(){r().userActive||a({userActive:!0,controlsVisible:!0}),d()}function p(){u(),a({userActive:!1,controlsVisible:c(!1)})}let m=0;function h(){m=Date.now()}function g(e){if(e.pointerType===`touch`&&Date.now()-m<250){let t=[o,s].includes(e.target);r().controlsVisible&&t?p():f()}else f()}function _(){let{userActive:e}=r();a({controlsVisible:c(e)}),!o.paused&&e&&d()}i(s,`pointermove`,f,{signal:t}),i(s,`pointerdown`,h,{signal:t}),i(s,`pointerup`,g,{signal:t}),i(s,`keyup`,f,{signal:t}),i(s,`focusin`,f,{signal:t}),i(s,`mouseleave`,p,{signal:t}),i(o,`play`,_,{signal:t}),i(o,`pause`,_,{signal:t}),i(o,`ended`,_,{signal:t}),t.addEventListener(`abort`,u,{once:!0}),d()}}),N=E({name:`error`,state:({set:e})=>({error:null,dismissError(){e({error:null})}}),attach({target:e,signal:t,set:n}){let{media:r}=e;i(r,`error`,()=>n({error:r.error}),{signal:t}),i(r,`emptied`,()=>n({error:null}),{signal:t})}});function pe(){let e=document;return e.fullscreenEnabled||e.webkitFullscreenEnabled?!0:r(document.createElement(`video`).webkitEnterFullscreen)}function me(){let e=document;return e.fullscreenElement??e.webkitFullscreenElement??null}function P(e,t){let n=t;if(n.webkitDisplayingFullscreen&&n.webkitPresentationMode===`fullscreen`)return!0;let r=e??t;if(me()===r)return!0;try{return r.matches(`:fullscreen`)}catch{return!1}}async function he(e,t){let n=document,i=t;if(e&&(n.fullscreenEnabled||n.webkitFullscreenEnabled)){let t=e;if(r(t.requestFullscreen))return t.requestFullscreen();if(r(t.webkitRequestFullscreen))return t.webkitRequestFullscreen()}if(r(i.webkitEnterFullscreen)){i.webkitEnterFullscreen();return}if(r(t.requestFullscreen))return t.requestFullscreen();throw new DOMException(`Fullscreen not supported`,`NotSupportedError`)}async function F(e){let t=document;if(e){let t=e;if(r(t.webkitExitFullscreen)&&t.webkitDisplayingFullscreen){t.webkitExitFullscreen();return}}if(r(t.exitFullscreen))return t.exitFullscreen();if(r(t.webkitExitFullscreen))return t.webkitExitFullscreen()}function I(e){let t=e.target;return t instanceof HTMLMediaElement?t:e}function ge(){if(document.pictureInPictureEnabled){let e=/.*Version\/.*Safari\/.*/.test(navigator.userAgent),t=typeof matchMedia==`function`&&matchMedia(`(display-mode: standalone)`).matches;return!e||!t}return r(document.createElement(`video`).webkitSetPresentationMode)}function L(e){let t=I(e);return document.pictureInPictureElement===t?!0:t.webkitPresentationMode===`picture-in-picture`}async function _e(e){let t=I(e);if(r(t.webkitSetPresentationMode)){t.webkitSetPresentationMode(`picture-in-picture`);return}if(r(t.requestPictureInPicture)){await t.requestPictureInPicture();return}throw new DOMException(`Picture-in-Picture not supported`,`NotSupportedError`)}async function ve(e){if(e){let t=I(e);if(r(t.webkitSetPresentationMode)&&t.webkitPresentationMode===`picture-in-picture`){t.webkitSetPresentationMode(`inline`);return}}if(r(document.exitPictureInPicture))return document.exitPictureInPicture()}const ye=E({name:`fullscreen`,state:({target:e})=>({fullscreen:!1,fullscreenAvailability:`unavailable`,async requestFullscreen(){let{media:t,container:n}=e();return L(t)&&await ve(t),he(n,t)},async exitFullscreen(){let{media:t}=e();return F(t)}}),attach({target:e,signal:t,set:n}){let{media:r,container:a}=e;n({fullscreenAvailability:pe()?`available`:`unsupported`});let o=()=>n({fullscreen:P(a,r)});o(),i(document,`fullscreenchange`,o,{signal:t}),i(document,`webkitfullscreenchange`,o,{signal:t}),`webkitPresentationMode`in r&&i(r,`webkitpresentationmodechanged`,o,{signal:t})}}),be=E({name:`pip`,state:({target:e})=>({pip:!1,pipAvailability:`unavailable`,async requestPictureInPicture(){let{media:t,container:n}=e();return P(n,t)&&await F(),_e(t)},async exitPictureInPicture(){let{media:t}=e();return ve(t)}}),attach({target:e,signal:t,set:n}){let{media:r}=e;n({pipAvailability:ge()?`available`:`unsupported`});let a=()=>n({pip:L(r)});a(),i(r,`enterpictureinpicture`,a,{signal:t}),i(r,`leavepictureinpicture`,a,{signal:t}),`webkitPresentationMode`in r&&i(r,`webkitpresentationmodechanged`,a,{signal:t})}}),R=E({name:`playback`,state:({target:e})=>({paused:!0,ended:!1,started:!1,waiting:!1,play(){return e().media.play()},pause(){e().media.pause()}}),attach({target:e,signal:t,set:n}){let{media:r}=e,a=()=>n({paused:r.paused,ended:r.ended,started:!r.paused||r.currentTime>0,waiting:r.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&!r.paused});a(),i(r,`emptied`,a,{signal:t}),i(r,`play`,a,{signal:t}),i(r,`pause`,a,{signal:t}),i(r,`ended`,a,{signal:t}),i(r,`playing`,a,{signal:t}),i(r,`waiting`,a,{signal:t}),i(r,`seeked`,a,{signal:t})}}),xe=[1,1.2,1.5,1.7,2],z=E({name:`playbackRate`,state:({target:e})=>({playbackRates:xe,playbackRate:1,setPlaybackRate(t){e().media.playbackRate=t}}),attach({target:e,signal:t,set:n}){let{media:r}=e,a=()=>n({playbackRate:r.playbackRate});a(),i(r,`ratechange`,a,{signal:t})}}),B=E({name:`source`,state:({target:e,signals:t})=>({source:null,canPlay:!1,loadSource(n){t.clear();let{media:r}=e();return r.src=n,r.load(),n}}),attach({target:e,signal:t,set:n}){let{media:r}=e,a=()=>n({source:r.currentSrc||r.src||null,canPlay:r.readyState>=HTMLMediaElement.HAVE_ENOUGH_DATA});a(),i(r,`canplay`,a,{signal:t}),i(r,`canplaythrough`,a,{signal:t}),i(r,`loadstart`,a,{signal:t}),i(r,`emptied`,a,{signal:t})}}),V=E({name:`textTrack`,state:({target:e})=>({chaptersCues:[],thumbnailCues:[],thumbnailTrackSrc:null,textTrackList:[],subtitlesShowing:!1,toggleSubtitles(t){let n=ue(e().media,e=>e.kind===`subtitles`||e.kind===`captions`);if(!n.length)return!1;let r=n.some(e=>e.mode===`showing`),i=t??!r;for(let e of n)e.mode=i?`showing`:`disabled`;return i}}),attach({target:e,signal:t,set:n}){let{media:r}=e,a=null;function o(){a?.abort(),a=new AbortController;let e=null,t=null,s=[],c=!1;for(let n=0;n<r.textTracks.length;n++){let i=r.textTracks[n];!e&&i.kind===`chapters`&&(e=i),!t&&i.kind===`metadata`&&i.label===`thumbnails`&&(t=i),s.push({kind:i.kind,label:i.label,language:i.language,mode:i.mode}),(i.kind===`captions`||i.kind===`subtitles`)&&i.mode===`showing`&&(c=!0)}let l=e?.cues?Array.from(e.cues):[],u=t?.cues?Array.from(t.cues):[],d=null;t&&(d=le(r,t)?.src??null);for(let e of r.querySelectorAll?.(`track`)??[])e.track?.cues?.length||i(e,`load`,o,{signal:a.signal});n({chaptersCues:l,thumbnailCues:u,thumbnailTrackSrc:d,textTrackList:s,subtitlesShowing:c})}o(),i(r.textTracks,`addtrack`,o,{signal:t}),i(r.textTracks,`removetrack`,o,{signal:t}),i(r.textTracks,`change`,o,{signal:t}),i(r,`loadstart`,o,{signal:t}),t.addEventListener(`abort`,()=>a?.abort(),{once:!0})}});function Se(e){return e.readyState>=HTMLMediaElement.HAVE_METADATA}const Ce={seek:Symbol.for(`@videojs/seek`)},H=E({name:`time`,state:({target:e,signals:t,set:n})=>({currentTime:0,duration:0,seeking:!1,async seek(r){let{media:i}=e(),a=t.supersede(Ce.seek);if(!Se(i)&&!await D(i,`loadedmetadata`,{signal:a}).catch(()=>!1))return i.currentTime;let o=Math.max(0,Math.min(r,i.duration||1/0));return n({currentTime:o,seeking:!0}),i.currentTime=o,await D(i,`seeked`,{signal:a}).catch(b),i.currentTime}}),attach({target:e,signal:t,set:n}){let{media:r}=e,a=()=>n({currentTime:r.currentTime,duration:Number.isFinite(r.duration)?r.duration:0,seeking:r.seeking});a(),i(r,`timeupdate`,a,{signal:t}),i(r,`durationchange`,a,{signal:t}),i(r,`seeking`,a,{signal:t}),i(r,`seeked`,a,{signal:t}),i(r,`loadedmetadata`,a,{signal:t}),i(r,`emptied`,a,{signal:t})}}),U=E({name:`volume`,state:({target:e})=>({volume:1,muted:!1,volumeAvailability:`unavailable`,setVolume(t){let{media:n}=e(),r=Math.max(0,Math.min(1,t));return r>0&&n.muted&&(n.muted=!1),n.volume=r,n.volume},toggleMuted(){let{media:t}=e();return t.muted||t.volume===0?(t.muted=!1,t.volume===0&&(t.volume=.25)):t.muted=!0,t.muted}}),attach({target:e,signal:t,set:n}){let{media:r}=e;n({volumeAvailability:we()});let a=()=>n({volume:r.volume,muted:r.muted});a(),i(r,`volumechange`,a,{signal:t})}});function we(){let e=document.createElement(`video`);try{return e.volume=.5,e.volume===.5?`available`:`unsupported`}catch{return`unsupported`}}const Te=[R,z,U,H,B,j,ye,be,M,V,N],Ee=[R,z,U,H,B,j,N],De=[],Oe=g(j),ke=g(M);g(N);const Ae=g(ye),je=g(be),Me=g(R),Ne=g(z);g(B);const Pe=g(V),Fe=g(H),Ie=g(U);function Le(e){let{transition:t}=e,n=t.state,r=new AbortController,a=null;function o(){if(r.signal.aborted)return null;let{active:e,status:i}=n.current;return e&&i!==`ending`?null:(i===`ending`&&t.cancel(),t.open())}function s(e){let{active:i,status:a}=n.current;return r.signal.aborted||!i||a===`ending`?null:t.close(e)}function c(){if(l(),typeof document>`u`)return;a=new AbortController;let{signal:t}=a;i(document,`keydown`,u,{signal:t}),e.onDocumentActive?.(t)}function l(){a?.abort(),a=null}function u(t){t.key===`Escape`&&n.current.active&&(e.closeOnEscape?.()??!0)&&e.onEscapeDismiss(t)}let d=n.subscribe(()=>{n.current.active?c():l()});r.signal.addEventListener(`abort`,()=>{d(),t.destroy(),l()});function f(){r.signal.aborted||r.abort()}return{input:n,open:o,close:s,signal:r.signal,destroy:f}}function Re(e){let{onActivate:t,isDisabled:n}=e;return{role:`button`,tabIndex:0,onClick(e){if(n()){e.preventDefault();return}t()},onPointerDown(e){n()&&e.preventDefault()},onMouseDown(e){n()&&e.preventDefault()},onKeyDown(e){if(e.target===e.currentTarget){if(n()){e.key!==`Tab`&&e.preventDefault();return}e.key===`Enter`?(e.preventDefault(),t()):e.key===` `&&e.preventDefault()}},onKeyUp(e){e.target===e.currentTarget&&(n()||e.key===` `&&t())}}}function W(e){let{onOpenChange:t,closeOnOutsideClick:n}=e,r=null,a=null,o=null,s=new Set,c=Le({transition:e.transition,closeOnEscape:e.closeOnEscape,onEscapeDismiss(e){e.preventDefault(),h(`escape`,e)},onDocumentActive(e){i(document,`pointerdown`,v,{capture:!0,signal:e})}}),l=c.input;function u(){o!==null&&(clearTimeout(o),o=null)}function d(){return globalThis.matchMedia?.(`(hover: hover)`)?.matches??!1}function f(){return d()?globalThis.matchMedia?.(`(pointer: fine)`)?.matches??!1:!1}function p(){return e.openOnHover?.()?d():!0}function m(n,r){let i=c.open();i&&(t(!0,r?{reason:n,event:r}:{reason:n}),i.then(()=>{c.signal.aborted||!l.current.active||e.onOpenChangeComplete?.(!0)}))}function h(n,r){let i=c.close(a);i&&(t(!1,r?{reason:n,event:r}:{reason:n}),i.then(()=>{c.signal.aborted||(A(a),e.onOpenChangeComplete?.(!1))}))}function g(e=`click`){m(e)}function _(e=`click`){h(e)}function v(e){if(!n()||!l.current.active)return;let t=e.composedPath();r&&t.includes(r)||a&&t.includes(a)||h(`outside-click`,e)}c.signal.addEventListener(`abort`,()=>{u(),s.clear(),r=null,a=null});let y={onClick(e){p()&&(l.current.active&&l.current.status!==`ending`?h(`click`,e):m(`click`,e))},onPointerEnter(t){if(!e.openOnHover?.()||!d()||(u(),l.current.active))return;let n=e.delay?.()??300;o=setTimeout(()=>m(`hover`),n)},onPointerLeave(t){if(!e.openOnHover?.()||!d()||(u(),!l.current.active))return;let n=e.closeDelay?.()??0;o=setTimeout(()=>h(`hover`),n)},onFocusIn(t){if(e.openOnHover?.()){if(!f())return;m(`focus`)}},onFocusOut(t){let n=t.relatedTarget;n&&(r?.contains(n)||a?.contains(n))||e.openOnHover?.()&&h(`blur`)}},b={onPointerEnter(t){e.openOnHover?.()&&u()},onPointerLeave(t){if(!e.openOnHover?.()||s.size>0||(u(),!l.current.active))return;let n=e.closeDelay?.()??0;o=setTimeout(()=>h(`hover`),n)},onGotPointerCapture(e){s.add(e.pointerId)},onLostPointerCapture(e){s.delete(e.pointerId)},onFocusOut(e){let t=e.relatedTarget;t&&(r?.contains(t)||a?.contains(t))||h(`blur`)}};function x(e){r=e}function S(e){!e&&a&&l.current.active&&A(a),a=e,e&&l.current.active&&k(e)}return{input:l,triggerProps:y,popupProps:b,get triggerElement(){return r},setTriggerElement:x,setPopupElement:S,open:g,close:_,destroy:c.destroy}}const G={sideOffset:`--media-popover-side-offset`,alignOffset:`--media-popover-align-offset`,anchorWidth:`--media-popover-anchor-width`,anchorHeight:`--media-popover-anchor-height`,availableWidth:`--media-popover-available-width`,availableHeight:`--media-popover-available-height`},ze={top:`bottom`,bottom:`top`,left:`right`,right:`left`};function Be(e,t,n,r,i,a,o=G){return O()?He(e,t,o):n&&r?{...We(n,r,t,a??{sideOffset:0,alignOffset:0}),...i?Ue(n,i,t.side,o):{},position:`fixed`,inset:`auto`,margin:`0`}:{}}function Ve(e){return O()?{anchorName:`--${e}`}:{}}function He(e,t,n=G){let r=`var(${n.sideOffset}, 0px)`,i=`var(${n.alignOffset}, 0px)`,{side:a,align:o}=t,s={positionAnchor:`--${e}`,position:`fixed`,inset:`auto`,margin:`0`,justifySelf:`normal`,alignSelf:`normal`,marginInlineStart:`0`,marginBlockStart:`0`},c=ze[a];return a===`top`||a===`bottom`?(s[c]=`calc(anchor(${a}) + ${r})`,o===`start`?s.left=`calc(anchor(left) + ${i})`:o===`end`?s.right=`calc(anchor(right) + ${i})`:(s.justifySelf=`anchor-center`,s.marginInlineStart=i)):(s[c]=`calc(anchor(${a}) + ${r})`,o===`start`?s.top=`calc(anchor(top) + ${i})`:o===`end`?s.bottom=`calc(anchor(bottom) + ${i})`:(s.alignSelf=`anchor-center`,s.marginBlockStart=i)),s}function Ue(e,t,n,r=G){let i={};return i[r.anchorWidth]=`${e.width}px`,i[r.anchorHeight]=`${e.height}px`,n===`top`||n===`bottom`?(i[r.availableHeight]=n===`top`?`${e.top-t.top}px`:`${t.bottom-e.bottom}px`,i[r.availableWidth]=`${t.width}px`):(i[r.availableWidth]=n===`left`?`${e.left-t.left}px`:`${t.right-e.right}px`,i[r.availableHeight]=`${t.height}px`),i}function We(e,t,n,r={sideOffset:0,alignOffset:0}){let{side:i,align:a}=n,{sideOffset:o,alignOffset:s}=r,c=0,l=0;return i===`top`?c=e.top-t.height-o:i===`bottom`?c=e.bottom+o:l=i===`left`?e.left-t.width-o:e.right+o,i===`top`||i===`bottom`?l=a===`start`?e.left+s:a===`end`?e.right-t.width+s:e.left+(e.width-t.width)/2+s:c=a===`start`?e.top+s:a===`end`?e.bottom-t.height+s:e.top+(e.height-t.height)/2+s,{top:`${c}px`,left:`${l}px`}}function Ge(e,t=G){let n=getComputedStyle(e);return{sideOffset:ce(e,n.getPropertyValue(t.sideOffset)),alignOffset:ce(e,n.getPropertyValue(t.alignOffset))}}function Ke(e){let t=e.getBoundingClientRect(),n=e.offsetWidth||t.width,r=e.offsetHeight||t.height,i={...t,width:n,height:r,right:t.left+n,bottom:t.top+r};return{...i,toJSON:()=>i}}function K(e,t,n){return Math.max(t,Math.min(n,e))}function q(e,t,n){let r=Math.round((e-n)/t)*t+n,i=`${t}`.indexOf(`.`);return i===-1?r:Number(r.toFixed(`${t}`.length-i-1))}function J(e,t,n,r){let i;return i=n===`vertical`?1-(e.clientY-t.top)/t.height:r?(t.right-e.clientX)/t.width:(e.clientX-t.left)/t.width,Number.isFinite(i)?K(i*100,0,100):0}function qe(e){let t=w({pointerPercent:0,dragPercent:0,dragging:!1,pointing:!1,focused:!1}),r=new AbortController,i=e.commitThrottle??0,a=!1,o=0,s=!1,c=null,l=null,u=i>0?x(t=>e.onValueCommit?.(t),i):null;function d(){if(n(l))return;let t=l;l=null;try{e.getElement().releasePointerCapture(t)}catch{}}function f(){a?(a=!1,t.patch({dragging:!1,pointing:!1}),e.onDragEnd?.()):t.patch({pointing:!1}),p()}function p(){u?.cancel(),l=null,c=null}let m={onPointerDown(n){if(e.isDisabled())return;n.preventDefault();let r=e.getElement();c=r.getBoundingClientRect(),s=e.isRTL(),o=0,d(),l=n.pointerId,r.setPointerCapture(n.pointerId);let i=J(n,c,e.getOrientation(),s);t.patch({pointing:!0,pointerPercent:i,dragPercent:i}),e.onValueChange?.(i),e.getThumbElement?.()?.focus({preventScroll:!0,focusVisible:!1})},onPointerMove(r){if(e.isDisabled())return;if(!n(l)){if(r.pointerType!==`touch`&&r.buttons===0){f();return}o++;let n=J(r,c,e.getOrientation(),s);!a&&o>=2?(a=!0,t.patch({dragging:!0,dragPercent:n,pointerPercent:n}),e.onDragStart?.(),e.onValueChange?.(n),u?.(n)):a?(t.patch({dragPercent:n,pointerPercent:n}),e.onValueChange?.(n),u?.(n)):t.patch({pointerPercent:n});return}let i=J(r,e.getElement().getBoundingClientRect(),e.getOrientation(),e.isRTL());t.patch({pointing:!0,pointerPercent:i})},onPointerUp(t){if(n(l))return;let r=J(t,c,e.getOrientation(),s);u?.cancel(),e.onValueCommit?.(r)},onPointerLeave(){n(l)&&t.patch({pointing:!1})},onLostPointerCapture(){f()}},h={onKeyDown(n){if(e.isDisabled()){n.key!==`Tab`&&n.preventDefault();return}let r=e.getStepPercent(),i=e.getLargeStepPercent(),a=q(e.getPercent(),r,0),o=e.isRTL()?-1:1,s=n.shiftKey?i:r,c=null;switch(n.key){case`ArrowRight`:c=a+s*o;break;case`ArrowLeft`:c=a-s*o;break;case`ArrowUp`:c=a+s;break;case`ArrowDown`:c=a-s;break;case`PageUp`:c=a+i;break;case`PageDown`:c=a-i;break;case`Home`:c=0;break;case`End`:c=100;break;default:!n.metaKey&&!n.ctrlKey&&!n.altKey&&n.key>=`0`&&n.key<=`9`&&(c=Number(n.key)*10);break}c!==null&&(n.preventDefault(),c=K(c,0,100),t.patch({pointerPercent:c,dragPercent:c}),e.onValueChange?.(c),e.onValueCommit?.(c))},onFocus(){t.patch({focused:!0})},onBlur(){t.patch({focused:!1})}};function g(t){if(!e.adjustPercent||t.thumbAlignment!==`edge`)return t;let n=e.getElement(),r=e.getThumbElement?.();if(!r)return t;let i=t.orientation===`horizontal`,a=i?r.offsetWidth:r.offsetHeight,o=i?n.offsetWidth:n.offsetHeight;return{...t,fillPercent:e.adjustPercent(t.fillPercent,a,o),pointerPercent:e.adjustPercent(t.pointerPercent,a,o)}}let _=null;return e.onResize&&(_=new ResizeObserver(()=>e.onResize()),_.observe(e.getElement())),{input:t,rootProps:m,rootStyle:{touchAction:`none`,userSelect:`none`},thumbProps:h,adjustForAlignment:g,destroy(){r.signal.aborted||(r.abort(),_?.disconnect(),d(),p())}}}const Y={fill:`--media-slider-fill`,pointer:`--media-slider-pointer`,buffer:`--media-slider-buffer`};function Je(e){return{[Y.fill]:`${e.fillPercent.toFixed(3)}%`,[Y.pointer]:`${e.pointerPercent.toFixed(3)}%`}}function Ye(e){return{...Je(e),[Y.buffer]:`${e.bufferPercent.toFixed(3)}%`}}function Xe(e,t){let n=e/2;return{position:`absolute`,left:t===`visible`?`calc(var(${Y.pointer}) - ${n}px)`:`min(max(0px, calc(var(${Y.pointer}) - ${n}px)), calc(100% - ${e}px))`,width:`max-content`,pointerEvents:`none`}}var Ze=class{findActiveThumbnail(e,t){if(e.length===0)return;let n=0,r=e.length-1,i;for(;n<=r;){let a=n+r>>>1,o=e[a];t>=o.startTime?(i=o,n=a+1):r=a-1}return i}parseConstraints(e){let t=parseFloat(e.minWidth),n=parseFloat(e.maxWidth),r=parseFloat(e.minHeight),i=parseFloat(e.maxHeight);return{minWidth:Number.isFinite(t)?t:0,maxWidth:Number.isFinite(n)?n:1/0,minHeight:Number.isFinite(r)?r:0,maxHeight:Number.isFinite(i)?i:1/0}}calculateScale(e,t,n){let{minWidth:r,maxWidth:i,minHeight:a,maxHeight:o}=n,s=Math.min(i/e,o/t),c=Math.max(r/e,a/t);return Number.isFinite(s)&&s<1?s:Number.isFinite(c)&&c>1?c:1}resize(e,t,n,r){let i=e.width??t,a=e.height??n;if(!i||!a)return;let o=this.calculateScale(i,a,r),s=e.coords?.x??0,c=e.coords?.y??0,l=o===1?0:1;return{scale:o,containerWidth:Math.max(0,Math.floor(i*o)-l*2),containerHeight:Math.max(0,Math.floor(a*o)-l*2),imageWidth:Math.ceil(t*o),imageHeight:Math.ceil(n*o),offsetX:Math.ceil(s*o)+l,offsetY:Math.ceil(c*o)+l}}getState(e,t,n){return{loading:e,error:t,hidden:!e&&!n}}getAttrs(e){return{role:`img`,"aria-hidden":`true`}}};function Qe(e){let{getContainer:t,getImg:n,onStateChange:r}=e,a=new Ze,o=new AbortController,s=o.signal,c=!1,l=!1,u=0,d=0,f=``,p=!1,m=null;function h(){let e=n();e&&(u=e.naturalWidth,d=e.naturalHeight),c=!1,l=!1,r()}function g(){c=!1,l=!0,r()}function _(e){i(e,`load`,h,{signal:s}),i(e,`error`,g,{signal:s})}function v(){if(!p){let e=n();e&&(_(e),p=!0)}if(!m){let e=t();e&&(m=new ResizeObserver(r),m.observe(e))}}function y(e){v();let t=e??``;t!==f&&(f=t,t?(c=!0,l=!1):(c=!1,l=!1,u=0,d=0))}function b(){v();let e=n();e?.complete&&f&&(e.naturalWidth>0?(u=e.naturalWidth,d=e.naturalHeight,c=!1,l=!1):(c=!1,l=!0),r())}function x(){o.abort(),m?.disconnect(),m=null}return{get loading(){return c},get error(){return l},get naturalWidth(){return u},get naturalHeight(){return d},readConstraints(){let e=t();return e?a.parseConstraints(getComputedStyle(e)):{minWidth:0,maxWidth:1/0,minHeight:0,maxHeight:1/0}},updateSrc:y,connect:b,destroy:x}}const $e={hover:`hover`,focus:`focus`,escape:`escape`,blur:`blur`};function et(e){let t={transition:e.transition,onOpenChange(t,n){let r=$e[n.reason];if(!r)return;let i=e.group?.();t?i?.notifyOpen():i?.notifyClose();let a=n.event?{reason:r,event:n.event}:{reason:r};e.onOpenChange(t,a)},closeOnEscape:()=>!0,closeOnOutsideClick:()=>!1,openOnHover:()=>!0,delay:()=>{let t=e.group?.();return t?.shouldSkipDelay()?0:e.delay?.()??t?.delay??600},closeDelay:()=>{let t=e.group?.();return e.closeDelay?.()??t?.closeDelay??0}};e.onOpenChangeComplete&&(t.onOpenChangeComplete=e.onOpenChangeComplete);let n=W(t),r=!1,{onClick:i,...a}=n.triggerProps,o={...a,onPointerDown(){r=!0},onPointerEnter(t){e.disabled?.()||t.pointerType!==`touch`&&a.onPointerEnter(t)},onFocusIn(t){if(!e.disabled?.()){if(r){r=!1;return}a.onFocusIn(t)}}},s={...n.popupProps,onPointerEnter(t){e.disableHoverablePopup?.()||n.popupProps.onPointerEnter(t)}};return{...n,triggerProps:o,popupProps:s,get triggerElement(){return n.triggerElement},open:()=>n.open(`hover`),close:()=>n.close(`hover`)}}function tt(){let e=w({active:!1,status:`idle`}),t=!1,n=0,r=0;function i(){return cancelAnimationFrame(n),cancelAnimationFrame(r),n=0,r=0,e.patch({active:!0,status:`starting`}),new Promise(i=>{n=requestAnimationFrame(()=>{n=0,r=requestAnimationFrame(()=>{if(r=0,t||!e.current.active)return i();e.patch({status:`idle`}),i()})})})}function a(i){return cancelAnimationFrame(n),cancelAnimationFrame(r),n=0,r=0,e.patch({status:`ending`}),new Promise(a=>{n=requestAnimationFrame(()=>{n=0,r=requestAnimationFrame(()=>{if(r=0,t)return a();nt(i).finally(()=>{if(t||e.current.status!==`ending`)return a();e.patch({active:!1,status:`idle`}),a()})})})})}function o(){cancelAnimationFrame(n),cancelAnimationFrame(r),n=0,r=0,e.current.status!==`idle`&&e.patch({status:`idle`})}return{state:e,open:i,close:a,cancel:o,destroy(){t||(t=!0,o())}}}function nt(e){if(!e)return Promise.resolve();let t=e.getAnimations?.()??[];return t.length===0?Promise.resolve():Promise.all(t.map(e=>e.finished)).then(b,b)}function rt(e,n,a){let o=a?.signal;for(let[a,s]of Object.entries(n))r(s)&&a.startsWith(`on`)?i(e,a.slice(2).toLowerCase(),s,o?{signal:o}:void 0):t(s)||s===!1?e.removeAttribute(a):s===!0?e.setAttribute(a,``):e.setAttribute(a,String(s))}function it(e,t,n){for(let r in t){if(n&&!(r in n))continue;let i=n?.[r]??at(r),a=t[r];a===!0?e.setAttribute(i,``):a?e.setAttribute(i,String(a)):e.removeAttribute(i)}}function at(e){return`data-${e.toLowerCase()}`}
|
|
2
|
-
/**
|
|
3
|
-
* @license
|
|
4
|
-
* Copyright 2021 Google LLC
|
|
5
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
6
|
-
*/var X=class{constructor(e,t,n,r){if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(e,t)=>{this.unsubscribe&&(this.unsubscribe!==t&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=e,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(e,t)),this.unsubscribe=t},this.host=e,t.context!==void 0){let e=t;this.context=e.context,this.callback=e.callback,this.subscribe=e.subscribe??!1}else this.context=t,this.callback=n,this.subscribe=r??!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&=(this.unsubscribe(),void 0)}dispatchRequest(){this.host.dispatchEvent(new a(this.context,this.host,this.t,this.subscribe))}},ot=class{get value(){return this.o}set value(e){this.setValue(e)}setValue(e,t=!1){let n=t||!Object.is(e,this.o);this.o=e,n&&this.updateObservers()}constructor(e){this.subscriptions=new Map,this.updateObservers=()=>{for(let[e,{disposer:t}]of this.subscriptions)e(this.o,t)},e!==void 0&&(this.value=e)}addCallback(e,t,n){if(!n)return void e(this.value);this.subscriptions.has(e)||this.subscriptions.set(e,{disposer:()=>{this.subscriptions.delete(e)},consumerHost:t});let{disposer:r}=this.subscriptions.get(e);e(this.value,r)}clearCallbacks(){this.subscriptions.clear()}},st=class extends Event{constructor(e,t){super(`context-provider`,{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t}},Z=class extends ot{constructor(e,t,n){super(t.context===void 0?n:t.initialValue),this.onContextRequest=e=>{if(e.context!==this.context)return;let t=e.contextTarget??e.composedPath()[0];t!==this.host&&(e.stopPropagation(),this.addCallback(e.callback,t,e.subscribe))},this.onProviderRequest=e=>{if(e.context!==this.context||(e.contextTarget??e.composedPath()[0])===this.host)return;let t=new Set;for(let[e,{consumerHost:n}]of this.subscriptions)t.has(e)||(t.add(e),n.dispatchEvent(new a(this.context,n,e,!0)));e.stopPropagation()},this.host=e,t.context===void 0?this.context=t:this.context=t.context,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener(`context-request`,this.onContextRequest),this.host.addEventListener(`context-provider`,this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new st(this.context,this.host))}};function ct(e){return t=>{class n extends t{#e=null;#t=null;constructor(...t){super(...t),new X(this,{context:e.playerContext,callback:e=>{this.#e=e??null},subscribe:!0}),new X(this,{context:e.containerContext,callback:e=>{this.#t=e?.setContainer??null,this.isConnected&&this.#t?.(this)},subscribe:!0})}get store(){return this.#e}connectedCallback(){super.connectedCallback(),this.#t?.(this)}disconnectedCallback(){super.disconnectedCallback(),this.#t?.(null)}}return n}}function lt(e){class t extends e{#e=!1;#t=new Set;get destroyed(){return this.#e}destroy(){this.#e||(this.#e=!0,this.destroyCallback())}destroyCallback(){for(let e of this.#t)e.hostDestroyed?.()}addController(e){super.addController(e),this.#t.add(e)}removeController(e){super.removeController(e),this.#t.delete(e)}connectedCallback(){this.#e||super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),!this.#e&&!this.hasAttribute(`keep-alive`)&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{this.isConnected||this.destroy()})})}performUpdate(){this.#e||super.performUpdate()}}return t}const ut=new WeakMap,dt=new Map;var ft=class extends HTMLElement{static{this.properties={}}static get observedAttributes(){return[...Q(this).attrToProp.keys()]}#e=new Set;#t=new Map;#n;#r;constructor(){super(),this.isUpdatePending=!1,this.hasUpdated=!1,this.#r=new Promise(e=>this.enableUpdating=e);let{props:e}=Q(this.constructor);for(let t of e.keys())Object.hasOwn(this,t)&&((this.#n??=new Map).set(t,this[t]),delete this[t]);this.requestUpdate()}enableUpdating(e){}addController(e){this.#e.add(e),this.isConnected&&e.hostConnected?.()}removeController(e){this.#e.delete(e)}connectedCallback(){this.enableUpdating(!0);for(let e of this.#e)e.hostConnected?.()}disconnectedCallback(){for(let e of this.#e)e.hostDisconnected?.()}attributeChangedCallback(e,t,n){if(t===n)return;let{props:r,attrToProp:i}=Q(this.constructor),a=i.get(e);if(!a)return;let o=r.get(a);if(!o)return;let s=n;o.type===Boolean?s=n!==null:o.type===Number&&(s=n===null?null:Number(n)),this[a]=s}requestUpdate(e,t){e!==void 0&&this.#t.set(e,t),!this.isUpdatePending&&(this.#r=this.#i())}async#i(){this.isUpdatePending=!0;try{await this.#r}catch(e){Promise.reject(e)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated&&this.#n){for(let[e,t]of this.#n)this[e]=t;this.#n=void 0}let e=this.#t;this.willUpdate(e);for(let e of this.#e)e.hostUpdate?.();this.update(e),this.#t=new Map,this.isUpdatePending=!1;for(let e of this.#e)e.hostUpdated?.();this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}willUpdate(e){}update(e){}firstUpdated(e){}updated(e){}get updateComplete(){return this.#r}};function Q(e){let t=ut.get(e);if(t)return t;let n=new Map,r=new Map;for(let[t,i]of Object.entries(e.properties))if(n.set(t,i),r.set(i.attribute??t,t),!Object.getOwnPropertyDescriptor(e.prototype,t)?.get){let n=dt.get(t);n||(n=Symbol(t),dt.set(t,n)),Object.defineProperty(e.prototype,t,{get(){return this[n]},set(e){let r=this[n];this[n]=e,Object.is(r,e)||this.requestUpdate(t,r)},configurable:!0,enumerable:!0})}let i={props:n,attrToProp:r};return ut.set(e,i),i}var $=class extends lt(ft){};const pt=ct({playerContext:s,containerContext:c});var mt=class extends pt($){static{this.tagName=`media-container`}};function ht(e){return t=>{class r extends t{#e=e.factory();#t=null;#n=null;#r=null;#i=!1;#a=e=>{this.#n!==e&&(this.#n=e,this.#c.setValue({media:e,setMedia:this.#a}),this.#u())};#o=e=>{this.#r!==e&&(this.#r=e,this.#l.setValue({container:e,setContainer:this.#o}),this.#u())};#s=new Z(this,{context:e.playerContext,initialValue:this.store});#c=new Z(this,{context:e.mediaContext,initialValue:{media:this.#n,setMedia:this.#a}});#l=new Z(this,{context:e.containerContext,initialValue:{container:this.#r,setContainer:this.#o}});get store(){return n(this.#e)&&(this.#e=e.factory()),this.#e}connectedCallback(){super.connectedCallback(),this.#s.setValue(this.store),this.#c.setValue({media:this.#n,setMedia:this.#a}),this.#l.setValue({container:this.#r,setContainer:this.#o}),this.#u(),this.#f()}disconnectedCallback(){super.disconnectedCallback(),this.#d()}destroyCallback(){this.#d(),this.#e?.destroy(),this.#e=null,super.destroyCallback()}#u(){let e=this.#e;if(!e)return;if(!this.#n){this.#d();return}let t={media:this.#n,container:this.#r},n=e.target?.media!==t.media,r=e.target?.container!==t.container;(n||r)&&(this.#d(),this.#t=e.attach(t))}#d(){this.#t?.(),this.#t=null}#f(){this.#n||this.#i||(this.#i=!0,queueMicrotask(()=>{if(this.#i=!1,this.#n)return;let e=this.querySelector(`video, audio`);e&&this.#a(e)}))}}return r}}var gt=class{#e;#t;#n;#r;#i=b;constructor(e,t,n){this.#e=e,this.#n=t,this.#t=n,e.addController(this)}get value(){return this.#t?(this.#r??=this.#t(this.#n.current),this.#r):this.#n.current}track(e){this.#n=e,this.#a()}hostConnected(){this.#a()}hostDisconnected(){this.#i(),this.#i=b,this.#r=void 0}#a(){if(this.#i(),!this.#t){this.#i=this.#n.subscribe(()=>this.#e.requestUpdate());return}let e=this.#t;this.#r=e(this.#n.current),this.#i=this.#n.subscribe(()=>{let t=e(this.#n.current);v(this.#r,t)||(this.#r=t,this.#e.requestUpdate())})}},_t=class{#e;#t;#n;constructor(e,t,n){this.#e=n??b,ae(t)?(this.#n=t,this.#t=null):(this.#n=null,this.#t=new X(e,{context:t,callback:e=>this.#e(e),subscribe:!1})),e.addController(this)}get value(){return this.#t?this.#t.value??null:this.#n}hostConnected(){this.#n&&this.#e(this.#n)}},vt=class{#e;#t;#n;#r=null;constructor(e,t,n){this.#e=e,this.#t=n,this.#n=new _t(e,t,e=>this.#i(e)),e.addController(this)}get value(){let e=this.#n.value;if(n(e))throw Error(`Store not available`);return t(this.#t)?e:this.#r.value}hostConnected(){}#i(e){t(this.#t)||(this.#r?this.#r.track(e.$state):this.#r=new gt(this.#e,e.$state,this.#t))}},yt=class{#e;#t;#n;#r=null;constructor(e,t,n){this.#e=e,this.#t=n,this.#n=new X(e,{context:t,callback:e=>this.#i(e),subscribe:!0}),e.addController(this)}get value(){let e=this.#n.value;if(e)return this.#t?this.#r?.value:e}get displayName(){return this.#t?.displayName}hostConnected(){let e=this.#n.value;e&&this.#i(e)}hostDisconnected(){this.#r=null}#i(e){!this.#r&&this.#t&&(this.#r=new vt(this.#e,e,this.#t))}};function bt(e){let t=u(...e.features);function n(){return ie()(t)}return{context:s,create:n,PlayerController:yt,ProviderMixin:ht({playerContext:s,mediaContext:o,containerContext:c,factory:n}),ContainerMixin:ct({playerContext:s,containerContext:c})}}export{je as A,A as B,Ke as C,Oe as D,Re as E,Ie as F,O as H,Ee as I,De as L,Ne as M,Pe as N,ke as O,Fe as P,Te as R,Be as S,W as T,w as U,k as V,Ye as _,$ as a,q as b,X as c,tt as d,et as f,Xe as g,Je as h,mt as i,Me as j,Ae as k,it as l,Ze as m,yt as n,ft as o,Qe as p,gt as r,Z as s,bt as t,rt as u,qe as v,Ge as w,Ve as x,K as y,se as z};
|
|
7
|
-
//# sourceMappingURL=create-player-BTIU8EwT.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-2oO2ph3m.js","names":["#delegate","#isDefined","#propsToAttrs","#define","#init","#target","#isInit","#upgradeProperty","#childObserver","#syncMediaChildAttribute","#syncMediaChildren","#childMap","#enableDefaultTrack","#forwardAttribute"],"sources":["../../core/dist/default/core/media/delegate.js","../../core/dist/default/dom/media/custom-media-element/index.js","../../core/dist/default/dom/media/proxy.js"],"sourcesContent":["import { defineClassPropHooks } from \"../utils/define-class-prop-hooks.js\";\n\n//#region src/core/media/delegate.ts\n/**\n* Mixin that intercepts `get`, `set`, and `call` to delegate property access\n* and method calls to an instance of `DelegateClass` before falling through\n* to the base class implementation.\n*\n* Works with both `CustomMediaMixin` and `ProxyMixin`.\n*/\nfunction DelegateMixin(BaseClass, DelegateClass) {\n\tclass DelegateImpl extends BaseClass {\n\t\t#delegate = new DelegateClass();\n\t\tget(prop) {\n\t\t\tif (prop in this.#delegate) return this.#delegate[prop];\n\t\t\treturn super.get?.(prop);\n\t\t}\n\t\tset(prop, val) {\n\t\t\tif (prop in this.#delegate) {\n\t\t\t\tthis.#delegate[prop] = val;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsuper.set?.(prop, val);\n\t\t}\n\t\tcall(prop, ...args) {\n\t\t\tif (prop in this.#delegate) return this.#delegate[prop](...args);\n\t\t\treturn super.call?.(prop, ...args);\n\t\t}\n\t\tattach(target) {\n\t\t\tsuper.attach?.(target);\n\t\t\tthis.#delegate.attach?.(target);\n\t\t}\n\t\tdetach() {\n\t\t\tthis.#delegate.detach?.();\n\t\t\tsuper.detach?.();\n\t\t}\n\t}\n\tfor (let proto = DelegateClass.prototype; proto && proto !== Object.prototype; proto = Object.getPrototypeOf(proto)) defineClassPropHooks(DelegateImpl, proto);\n\treturn DelegateImpl;\n}\n\n//#endregion\nexport { DelegateMixin };\n//# sourceMappingURL=delegate.js.map","//#region src/dom/media/custom-media-element/index.ts\n/**\n* Custom Media Element\n* Based on https://github.com/muxinc/custom-video-element - Mux - MIT License\n*\n* The goal is to create an element that works just like the video element\n* but can be extended/sub-classed, because native elements cannot be\n* extended today across browsers.\n*/\nconst Events = [\n\t\"abort\",\n\t\"canplay\",\n\t\"canplaythrough\",\n\t\"durationchange\",\n\t\"emptied\",\n\t\"encrypted\",\n\t\"ended\",\n\t\"error\",\n\t\"loadeddata\",\n\t\"loadedmetadata\",\n\t\"loadstart\",\n\t\"pause\",\n\t\"play\",\n\t\"playing\",\n\t\"progress\",\n\t\"ratechange\",\n\t\"seeked\",\n\t\"seeking\",\n\t\"stalled\",\n\t\"suspend\",\n\t\"timeupdate\",\n\t\"volumechange\",\n\t\"waiting\",\n\t\"waitingforkey\",\n\t\"resize\",\n\t\"enterpictureinpicture\",\n\t\"leavepictureinpicture\",\n\t\"webkitbeginfullscreen\",\n\t\"webkitendfullscreen\",\n\t\"webkitpresentationmodechanged\"\n];\nconst Attributes = [\n\t\"autopictureinpicture\",\n\t\"disablepictureinpicture\",\n\t\"disableremoteplayback\",\n\t\"autoplay\",\n\t\"controls\",\n\t\"controlslist\",\n\t\"crossorigin\",\n\t\"loop\",\n\t\"muted\",\n\t\"playsinline\",\n\t\"poster\",\n\t\"preload\",\n\t\"src\"\n];\n/**\n* Helper function to generate the HTML template for audio elements.\n*/\nfunction getAudioTemplateHTML(attrs) {\n\treturn `\n <style>\n :host {\n display: inline-flex;\n line-height: 0;\n flex-direction: column;\n justify-content: end;\n }\n\n audio {\n width: 100%;\n }\n </style>\n <slot name=\"media\">\n <audio${serializeAttributes(attrs)}></audio>\n </slot>\n <slot></slot>\n `;\n}\n/**\n* Helper function to generate the HTML template for video elements.\n*/\nfunction getVideoTemplateHTML(attrs) {\n\treturn `\n <style>\n :host {\n display: contents;\n }\n\n video {\n display: block;\n width: 100%;\n height: 100%;\n border-radius: var(--media-video-border-radius);\n object-fit: var(--media-object-fit, contain);\n object-position: var(--media-object-position, center);\n }\n\n video::-webkit-media-text-track-container {\n transition: translate var(--media-caption-track-duration, 0) ease-out;\n transition-delay: var(--media-caption-track-delay, 0);\n translate: 0 var(--media-caption-track-y, 0);\n scale: 0.98;\n z-index: 1;\n font-family: inherit;\n }\n </style>\n <slot name=\"media\">\n <video${serializeAttributes(attrs)}></video>\n </slot>\n <slot></slot>\n `;\n}\nfunction CustomMediaMixin(superclass, { tag, is }) {\n\tconst nativeElTest = globalThis.document?.createElement?.(tag, { is });\n\tconst nativeElProps = nativeElTest ? getNativeElProps(nativeElTest) : [];\n\treturn class CustomMedia extends superclass {\n\t\tstatic getTemplateHTML = tag.endsWith(\"audio\") ? getAudioTemplateHTML : getVideoTemplateHTML;\n\t\tstatic shadowRootOptions = { mode: \"open\" };\n\t\tstatic Events = Events;\n\t\tstatic #isDefined = false;\n\t\tstatic #propsToAttrs;\n\t\tstatic get observedAttributes() {\n\t\t\tCustomMedia.#define();\n\t\t\treturn [...nativeElTest?.constructor?.observedAttributes ?? [], ...Attributes];\n\t\t}\n\t\tstatic #define() {\n\t\t\tif (CustomMedia.#isDefined) return;\n\t\t\tCustomMedia.#isDefined = true;\n\t\t\tCustomMedia.#propsToAttrs = new Set(CustomMedia.observedAttributes);\n\t\t\tCustomMedia.#propsToAttrs.delete(\"muted\");\n\t\t\tfor (const prop of nativeElProps) {\n\t\t\t\tif (prop in CustomMedia.prototype) continue;\n\t\t\t\tif (typeof nativeElTest[prop] === \"function\") CustomMedia.prototype[prop] = function(...args) {\n\t\t\t\t\tthis.#init();\n\t\t\t\t\treturn this.call(prop, ...args);\n\t\t\t\t};\n\t\t\t\telse {\n\t\t\t\t\tconst config = { get() {\n\t\t\t\t\t\tthis.#init();\n\t\t\t\t\t\treturn this.get(prop);\n\t\t\t\t\t} };\n\t\t\t\t\tif (prop !== prop.toUpperCase()) config.set = function(val) {\n\t\t\t\t\t\tthis.#init();\n\t\t\t\t\t\tthis.set(prop, val);\n\t\t\t\t\t};\n\t\t\t\t\tObject.defineProperty(CustomMedia.prototype, prop, config);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t#isInit = false;\n\t\t#target = null;\n\t\t#childMap = /* @__PURE__ */ new Map();\n\t\t#childObserver;\n\t\tget(prop) {\n\t\t\tconst attr = prop.toLowerCase();\n\t\t\tif (CustomMedia.#propsToAttrs.has(attr)) {\n\t\t\t\tconst val = this.getAttribute(attr);\n\t\t\t\treturn val === null ? false : val === \"\" ? true : val;\n\t\t\t}\n\t\t\treturn this.target?.[prop];\n\t\t}\n\t\tset(prop, val) {\n\t\t\tconst attr = prop.toLowerCase();\n\t\t\tif (CustomMedia.#propsToAttrs.has(attr)) {\n\t\t\t\tif (val === true || val === false || val == null) this.toggleAttribute(attr, Boolean(val));\n\t\t\t\telse this.setAttribute(attr, val);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (this.target) this.target[prop] = val;\n\t\t}\n\t\tcall(prop, ...args) {\n\t\t\treturn (this.target?.[prop])?.apply(this.target, args);\n\t\t}\n\t\tget target() {\n\t\t\tthis.#init();\n\t\t\treturn this.#target ?? this.querySelector(\":scope > [slot=media]\") ?? this.querySelector(tag) ?? this.shadowRoot?.querySelector(tag) ?? null;\n\t\t}\n\t\tset target(val) {\n\t\t\tthis.#target = val;\n\t\t}\n\t\tget defaultMuted() {\n\t\t\tthis.#init();\n\t\t\treturn this.get(\"muted\");\n\t\t}\n\t\tset defaultMuted(val) {\n\t\t\tthis.#init();\n\t\t\tthis.set(\"muted\", val);\n\t\t}\n\t\t#init() {\n\t\t\tif (this.#isInit) return;\n\t\t\tthis.#isInit = true;\n\t\t\tthis.init();\n\t\t}\n\t\tinit() {\n\t\t\tif (!this.shadowRoot) {\n\t\t\t\tthis.attachShadow({ mode: \"open\" });\n\t\t\t\tconst attrs = namedNodeMapToObject(this.attributes);\n\t\t\t\tif (is) attrs.is = is;\n\t\t\t\tif (tag) attrs.part = tag;\n\t\t\t\tthis.shadowRoot.innerHTML = this.constructor.getTemplateHTML(attrs);\n\t\t\t}\n\t\t\tthis.target.muted = this.hasAttribute(\"muted\");\n\t\t\tfor (const prop of nativeElProps) this.#upgradeProperty(prop);\n\t\t\tthis.#childObserver = new MutationObserver(this.#syncMediaChildAttribute.bind(this));\n\t\t\tthis.shadowRoot.addEventListener(\"slotchange\", () => this.#syncMediaChildren());\n\t\t\tthis.#syncMediaChildren();\n\t\t\tfor (const type of this.constructor.Events) this.shadowRoot.addEventListener(type, this, true);\n\t\t}\n\t\thandleEvent(event) {\n\t\t\tif (event.target === this.target) this.dispatchEvent(new CustomEvent(event.type, { detail: event.detail }));\n\t\t}\n\t\t#syncMediaChildren() {\n\t\t\tconst removeNativeChildren = new Map(this.#childMap);\n\t\t\t((this.shadowRoot?.querySelector(\"slot:not([name])\"))?.assignedElements({ flatten: true }).filter((el) => [\"track\", \"source\"].includes(el.localName))).forEach((el) => {\n\t\t\t\tremoveNativeChildren.delete(el);\n\t\t\t\tlet clone = this.#childMap.get(el);\n\t\t\t\tif (!clone) {\n\t\t\t\t\tclone = el.cloneNode();\n\t\t\t\t\tthis.#childMap.set(el, clone);\n\t\t\t\t\tthis.#childObserver?.observe(el, { attributes: true });\n\t\t\t\t}\n\t\t\t\tthis.target?.append(clone);\n\t\t\t\tthis.#enableDefaultTrack(clone);\n\t\t\t});\n\t\t\tremoveNativeChildren.forEach((clone, el) => {\n\t\t\t\tclone.remove();\n\t\t\t\tthis.#childMap.delete(el);\n\t\t\t});\n\t\t}\n\t\t#syncMediaChildAttribute(mutations) {\n\t\t\tfor (const mutation of mutations) if (mutation.type === \"attributes\") {\n\t\t\t\tconst { target, attributeName } = mutation;\n\t\t\t\tconst clone = this.#childMap.get(target);\n\t\t\t\tif (clone && attributeName) {\n\t\t\t\t\tclone.setAttribute(attributeName, target.getAttribute(attributeName) ?? \"\");\n\t\t\t\t\tthis.#enableDefaultTrack(clone);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t#enableDefaultTrack(trackEl) {\n\t\t\tif (trackEl && trackEl.localName === \"track\" && trackEl.default && (trackEl.kind === \"chapters\" || trackEl.kind === \"metadata\") && trackEl.track.mode === \"disabled\") trackEl.track.mode = \"hidden\";\n\t\t}\n\t\t#upgradeProperty(prop) {\n\t\t\tif (Object.hasOwn(this, prop)) {\n\t\t\t\tconst value = this[prop];\n\t\t\t\tdelete this[prop];\n\t\t\t\tthis[prop] = value;\n\t\t\t}\n\t\t}\n\t\tattributeChangedCallback(attrName, oldValue, newValue) {\n\t\t\tthis.#init();\n\t\t\tthis.#forwardAttribute(attrName, oldValue, newValue);\n\t\t}\n\t\t#forwardAttribute(attrName, _oldValue, newValue) {\n\t\t\tif ([\"id\", \"class\"].includes(attrName)) return;\n\t\t\tif (!CustomMedia.observedAttributes.includes(attrName) && this.constructor.observedAttributes.includes(attrName)) return;\n\t\t\tif (newValue === null) this.target?.removeAttribute(attrName);\n\t\t\telse if (this.target?.getAttribute(attrName) !== newValue) this.target?.setAttribute(attrName, newValue);\n\t\t}\n\t\tconnectedCallback() {\n\t\t\tthis.#init();\n\t\t}\n\t};\n}\n/**\n* Helper function to get all properties from a native media element's prototype.\n*/\nfunction getNativeElProps(nativeElTest) {\n\tconst nativeElProps = [];\n\tfor (let proto = Object.getPrototypeOf(nativeElTest); proto && proto !== HTMLElement.prototype; proto = Object.getPrototypeOf(proto)) {\n\t\tconst props = Object.getOwnPropertyNames(proto);\n\t\tnativeElProps.push(...props);\n\t}\n\treturn nativeElProps;\n}\n/**\n* Helper function to serialize attributes into a string.\n*/\nfunction serializeAttributes(attrs) {\n\tlet html = \"\";\n\tfor (const key in attrs) {\n\t\tif (!Attributes.includes(key)) continue;\n\t\tconst value = attrs[key];\n\t\tif (value === \"\") html += ` ${key}`;\n\t\telse html += ` ${key}=\"${value}\"`;\n\t}\n\treturn html;\n}\n/**\n* Helper function to convert NamedNodeMap to a plain object.\n*/\nfunction namedNodeMapToObject(namedNodeMap) {\n\tconst obj = {};\n\tfor (const attr of namedNodeMap) obj[attr.name] = attr.value;\n\treturn obj;\n}\nconst CustomVideoElement = CustomMediaMixin(globalThis.HTMLElement ?? class {}, { tag: \"video\" });\nconst CustomAudioElement = CustomMediaMixin(globalThis.HTMLElement ?? class {}, { tag: \"audio\" });\n\n//#endregion\nexport { Attributes, CustomAudioElement, CustomMediaMixin, CustomVideoElement, Events };\n//# sourceMappingURL=index.js.map","import { ProxyMixin } from \"../../core/media/proxy.js\";\n\n//#region src/dom/media/proxy.ts\nconst MediaProxyMixin = ProxyMixin(globalThis.HTMLVideoElement ?? class {}, globalThis.HTMLMediaElement ?? class {}, globalThis.EventTarget ?? class {});\n\n//#endregion\nexport { MediaProxyMixin };\n//# sourceMappingURL=proxy.js.map"],"mappings":"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"}
|
package/cdn/proxy-6KS6wy69.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
function e(e,t){for(let n of Object.getOwnPropertyNames(t)){if(n in e.prototype)continue;let r=Object.getOwnPropertyDescriptor(t,n);if(!r)continue;let i={};typeof r.value==`function`?i.value=function(...e){return this.call?.(n,...e)}:r.get&&(i.get=function(){return this.get?.(n)},r.set&&(i.set=function(e){this.set?.(n,e)})),Object.defineProperty(e.prototype,n,i)}}const t=(t,...n)=>{class r{#e=null;get target(){return this.#e}get(e){return this.target?.[e]}set(e,t){this.target&&(this.target[e]=t)}call(e,...t){return(this.target?.[e])?.apply(this.target,t)}attach(e){!e||this.#e===e||(this.#e=e)}detach(){this.#e&&=null}}for(let i of[t,...n])e(r,i.prototype);return r};export{e as n,t};
|
|
2
|
-
//# sourceMappingURL=proxy-6KS6wy69.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-6KS6wy69.js","names":["#target"],"sources":["../../core/dist/default/core/utils/define-class-prop-hooks.js","../../core/dist/default/core/media/proxy.js"],"sourcesContent":["//#region src/core/utils/define-class-prop-hooks.ts\nfunction defineClassPropHooks(Class, BaseClassProto) {\n\tfor (const prop of Object.getOwnPropertyNames(BaseClassProto)) {\n\t\tif (prop in Class.prototype) continue;\n\t\tconst descriptor = Object.getOwnPropertyDescriptor(BaseClassProto, prop);\n\t\tif (!descriptor) continue;\n\t\tconst config = {};\n\t\tif (typeof descriptor.value === \"function\") config.value = function(...args) {\n\t\t\treturn this.call?.(prop, ...args);\n\t\t};\n\t\telse if (descriptor.get) {\n\t\t\tconfig.get = function() {\n\t\t\t\treturn this.get?.(prop);\n\t\t\t};\n\t\t\tif (descriptor.set) config.set = function(val) {\n\t\t\t\tthis.set?.(prop, val);\n\t\t\t};\n\t\t}\n\t\tObject.defineProperty(Class.prototype, prop, config);\n\t}\n}\n\n//#endregion\nexport { defineClassPropHooks };\n//# sourceMappingURL=define-class-prop-hooks.js.map","import { defineClassPropHooks } from \"../utils/define-class-prop-hooks.js\";\n\n//#region src/core/media/proxy.ts\n/**\n* This mixin creates an API from the passed classes and proxies the methods and properties to the attached target.\n*\n* Many methods and properties will need no translation and are proxied directly to the attached target.\n* For example, the `play` and `pause` methods are proxied directly to the attached target.\n*\n* Child classes can override the proxied methods and properties to provide custom behavior.\n* For example, the `src` property for HLS media is proxied to the HLS engine, not the target itself.\n*\n* The `get`, `set`, and `call` methods can be overridden to provide catch-all custom behavior.\n*/\nconst ProxyMixin = (PrimaryClass, ...AdditionalClasses) => {\n\tclass MediaProxy {\n\t\t#target = null;\n\t\tget target() {\n\t\t\treturn this.#target;\n\t\t}\n\t\tget(prop) {\n\t\t\treturn this.target?.[prop];\n\t\t}\n\t\tset(prop, val) {\n\t\t\tif (this.target) this.target[prop] = val;\n\t\t}\n\t\tcall(prop, ...args) {\n\t\t\treturn (this.target?.[prop])?.apply(this.target, args);\n\t\t}\n\t\tattach(target) {\n\t\t\tif (!target || this.#target === target) return;\n\t\t\tthis.#target = target;\n\t\t}\n\t\tdetach() {\n\t\t\tif (!this.#target) return;\n\t\t\tthis.#target = null;\n\t\t}\n\t}\n\tfor (const Class of [PrimaryClass, ...AdditionalClasses]) defineClassPropHooks(MediaProxy, Class.prototype);\n\treturn MediaProxy;\n};\n\n//#endregion\nexport { ProxyMixin };\n//# sourceMappingURL=proxy.js.map"],"mappings":"AACA,SAAS,EAAqB,EAAO,EAAgB,CACpD,IAAK,IAAM,KAAQ,OAAO,oBAAoB,EAAe,CAAE,CAC9D,GAAI,KAAQ,EAAM,UAAW,SAC7B,IAAM,EAAa,OAAO,yBAAyB,EAAgB,EAAK,CACxE,GAAI,CAAC,EAAY,SACjB,IAAM,EAAS,EAAE,CACb,OAAO,EAAW,OAAU,WAAY,EAAO,MAAQ,SAAS,GAAG,EAAM,CAC5E,OAAO,KAAK,OAAO,EAAM,GAAG,EAAK,EAEzB,EAAW,MACnB,EAAO,IAAM,UAAW,CACvB,OAAO,KAAK,MAAM,EAAK,EAEpB,EAAW,MAAK,EAAO,IAAM,SAAS,EAAK,CAC9C,KAAK,MAAM,EAAM,EAAI,IAGvB,OAAO,eAAe,EAAM,UAAW,EAAM,EAAO,ECJtD,MAAM,GAAc,EAAc,GAAG,IAAsB,CAC1D,MAAM,CAAW,CAChB,GAAU,KACV,IAAI,QAAS,CACZ,OAAO,MAAA,EAER,IAAI,EAAM,CACT,OAAO,KAAK,SAAS,GAEtB,IAAI,EAAM,EAAK,CACV,KAAK,SAAQ,KAAK,OAAO,GAAQ,GAEtC,KAAK,EAAM,GAAG,EAAM,CACnB,OAAQ,KAAK,SAAS,KAAQ,MAAM,KAAK,OAAQ,EAAK,CAEvD,OAAO,EAAQ,CACV,CAAC,GAAU,MAAA,IAAiB,IAChC,MAAA,EAAe,GAEhB,QAAS,CACH,AACL,MAAA,IAAe,MAGjB,IAAK,IAAM,IAAS,CAAC,EAAc,GAAG,EAAkB,CAAE,EAAqB,EAAY,EAAM,UAAU,CAC3G,OAAO"}
|
package/cdn/proxy-XzDf9gyk.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
//#region ../core/dist/dev/core/utils/define-class-prop-hooks.js
|
|
2
|
-
function defineClassPropHooks(Class, BaseClassProto) {
|
|
3
|
-
for (const prop of Object.getOwnPropertyNames(BaseClassProto)) {
|
|
4
|
-
if (prop in Class.prototype) continue;
|
|
5
|
-
const descriptor = Object.getOwnPropertyDescriptor(BaseClassProto, prop);
|
|
6
|
-
if (!descriptor) continue;
|
|
7
|
-
const config = {};
|
|
8
|
-
if (typeof descriptor.value === "function") config.value = function(...args) {
|
|
9
|
-
return this.call?.(prop, ...args);
|
|
10
|
-
};
|
|
11
|
-
else if (descriptor.get) {
|
|
12
|
-
config.get = function() {
|
|
13
|
-
return this.get?.(prop);
|
|
14
|
-
};
|
|
15
|
-
if (descriptor.set) config.set = function(val) {
|
|
16
|
-
this.set?.(prop, val);
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(Class.prototype, prop, config);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
//#endregion
|
|
24
|
-
//#region ../core/dist/dev/core/media/proxy.js
|
|
25
|
-
/**
|
|
26
|
-
* This mixin creates an API from the passed classes and proxies the methods and properties to the attached target.
|
|
27
|
-
*
|
|
28
|
-
* Many methods and properties will need no translation and are proxied directly to the attached target.
|
|
29
|
-
* For example, the `play` and `pause` methods are proxied directly to the attached target.
|
|
30
|
-
*
|
|
31
|
-
* Child classes can override the proxied methods and properties to provide custom behavior.
|
|
32
|
-
* For example, the `src` property for HLS media is proxied to the HLS engine, not the target itself.
|
|
33
|
-
*
|
|
34
|
-
* The `get`, `set`, and `call` methods can be overridden to provide catch-all custom behavior.
|
|
35
|
-
*/
|
|
36
|
-
const ProxyMixin = (PrimaryClass, ...AdditionalClasses) => {
|
|
37
|
-
class MediaProxy {
|
|
38
|
-
#target = null;
|
|
39
|
-
get target() {
|
|
40
|
-
return this.#target;
|
|
41
|
-
}
|
|
42
|
-
get(prop) {
|
|
43
|
-
return this.target?.[prop];
|
|
44
|
-
}
|
|
45
|
-
set(prop, val) {
|
|
46
|
-
if (this.target) this.target[prop] = val;
|
|
47
|
-
}
|
|
48
|
-
call(prop, ...args) {
|
|
49
|
-
return (this.target?.[prop])?.apply(this.target, args);
|
|
50
|
-
}
|
|
51
|
-
attach(target) {
|
|
52
|
-
if (!target || this.#target === target) return;
|
|
53
|
-
this.#target = target;
|
|
54
|
-
}
|
|
55
|
-
detach() {
|
|
56
|
-
if (!this.#target) return;
|
|
57
|
-
this.#target = null;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
for (const Class of [PrimaryClass, ...AdditionalClasses]) defineClassPropHooks(MediaProxy, Class.prototype);
|
|
61
|
-
return MediaProxy;
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
//#endregion
|
|
65
|
-
export { defineClassPropHooks as n, ProxyMixin as t };
|
|
66
|
-
//# sourceMappingURL=proxy-XzDf9gyk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-XzDf9gyk.js","names":["#target"],"sources":["../../core/dist/dev/core/utils/define-class-prop-hooks.js","../../core/dist/dev/core/media/proxy.js"],"sourcesContent":["//#region src/core/utils/define-class-prop-hooks.ts\nfunction defineClassPropHooks(Class, BaseClassProto) {\n\tfor (const prop of Object.getOwnPropertyNames(BaseClassProto)) {\n\t\tif (prop in Class.prototype) continue;\n\t\tconst descriptor = Object.getOwnPropertyDescriptor(BaseClassProto, prop);\n\t\tif (!descriptor) continue;\n\t\tconst config = {};\n\t\tif (typeof descriptor.value === \"function\") config.value = function(...args) {\n\t\t\treturn this.call?.(prop, ...args);\n\t\t};\n\t\telse if (descriptor.get) {\n\t\t\tconfig.get = function() {\n\t\t\t\treturn this.get?.(prop);\n\t\t\t};\n\t\t\tif (descriptor.set) config.set = function(val) {\n\t\t\t\tthis.set?.(prop, val);\n\t\t\t};\n\t\t}\n\t\tObject.defineProperty(Class.prototype, prop, config);\n\t}\n}\n\n//#endregion\nexport { defineClassPropHooks };\n//# sourceMappingURL=define-class-prop-hooks.js.map","import { defineClassPropHooks } from \"../utils/define-class-prop-hooks.js\";\n\n//#region src/core/media/proxy.ts\n/**\n* This mixin creates an API from the passed classes and proxies the methods and properties to the attached target.\n*\n* Many methods and properties will need no translation and are proxied directly to the attached target.\n* For example, the `play` and `pause` methods are proxied directly to the attached target.\n*\n* Child classes can override the proxied methods and properties to provide custom behavior.\n* For example, the `src` property for HLS media is proxied to the HLS engine, not the target itself.\n*\n* The `get`, `set`, and `call` methods can be overridden to provide catch-all custom behavior.\n*/\nconst ProxyMixin = (PrimaryClass, ...AdditionalClasses) => {\n\tclass MediaProxy {\n\t\t#target = null;\n\t\tget target() {\n\t\t\treturn this.#target;\n\t\t}\n\t\tget(prop) {\n\t\t\treturn this.target?.[prop];\n\t\t}\n\t\tset(prop, val) {\n\t\t\tif (this.target) this.target[prop] = val;\n\t\t}\n\t\tcall(prop, ...args) {\n\t\t\treturn (this.target?.[prop])?.apply(this.target, args);\n\t\t}\n\t\tattach(target) {\n\t\t\tif (!target || this.#target === target) return;\n\t\t\tthis.#target = target;\n\t\t}\n\t\tdetach() {\n\t\t\tif (!this.#target) return;\n\t\t\tthis.#target = null;\n\t\t}\n\t}\n\tfor (const Class of [PrimaryClass, ...AdditionalClasses]) defineClassPropHooks(MediaProxy, Class.prototype);\n\treturn MediaProxy;\n};\n\n//#endregion\nexport { ProxyMixin };\n//# sourceMappingURL=proxy.js.map"],"mappings":";AACA,SAAS,qBAAqB,OAAO,gBAAgB;AACpD,MAAK,MAAM,QAAQ,OAAO,oBAAoB,eAAe,EAAE;AAC9D,MAAI,QAAQ,MAAM,UAAW;EAC7B,MAAM,aAAa,OAAO,yBAAyB,gBAAgB,KAAK;AACxE,MAAI,CAAC,WAAY;EACjB,MAAM,SAAS,EAAE;AACjB,MAAI,OAAO,WAAW,UAAU,WAAY,QAAO,QAAQ,SAAS,GAAG,MAAM;AAC5E,UAAO,KAAK,OAAO,MAAM,GAAG,KAAK;;WAEzB,WAAW,KAAK;AACxB,UAAO,MAAM,WAAW;AACvB,WAAO,KAAK,MAAM,KAAK;;AAExB,OAAI,WAAW,IAAK,QAAO,MAAM,SAAS,KAAK;AAC9C,SAAK,MAAM,MAAM,IAAI;;;AAGvB,SAAO,eAAe,MAAM,WAAW,MAAM,OAAO;;;;;;;;;;;;;;;;;ACJtD,MAAM,cAAc,cAAc,GAAG,sBAAsB;CAC1D,MAAM,WAAW;EAChB,UAAU;EACV,IAAI,SAAS;AACZ,UAAO,MAAKA;;EAEb,IAAI,MAAM;AACT,UAAO,KAAK,SAAS;;EAEtB,IAAI,MAAM,KAAK;AACd,OAAI,KAAK,OAAQ,MAAK,OAAO,QAAQ;;EAEtC,KAAK,MAAM,GAAG,MAAM;AACnB,WAAQ,KAAK,SAAS,QAAQ,MAAM,KAAK,QAAQ,KAAK;;EAEvD,OAAO,QAAQ;AACd,OAAI,CAAC,UAAU,MAAKA,WAAY,OAAQ;AACxC,SAAKA,SAAU;;EAEhB,SAAS;AACR,OAAI,CAAC,MAAKA,OAAS;AACnB,SAAKA,SAAU;;;AAGjB,MAAK,MAAM,SAAS,CAAC,cAAc,GAAG,kBAAkB,CAAE,sBAAqB,YAAY,MAAM,UAAU;AAC3G,QAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-dR7IDk37.js","names":["#delegate","#isDefined","#propsToAttrs","#define","#init","#target","#isInit","#upgradeProperty","#childObserver","#syncMediaChildAttribute","#syncMediaChildren","#childMap","#enableDefaultTrack","#forwardAttribute"],"sources":["../../core/dist/dev/core/media/delegate.js","../../core/dist/dev/dom/media/custom-media-element/index.js","../../core/dist/dev/dom/media/proxy.js"],"sourcesContent":["import { defineClassPropHooks } from \"../utils/define-class-prop-hooks.js\";\n\n//#region src/core/media/delegate.ts\n/**\n* Mixin that intercepts `get`, `set`, and `call` to delegate property access\n* and method calls to an instance of `DelegateClass` before falling through\n* to the base class implementation.\n*\n* Works with both `CustomMediaMixin` and `ProxyMixin`.\n*/\nfunction DelegateMixin(BaseClass, DelegateClass) {\n\tclass DelegateImpl extends BaseClass {\n\t\t#delegate = new DelegateClass();\n\t\tget(prop) {\n\t\t\tif (prop in this.#delegate) return this.#delegate[prop];\n\t\t\treturn super.get?.(prop);\n\t\t}\n\t\tset(prop, val) {\n\t\t\tif (prop in this.#delegate) {\n\t\t\t\tthis.#delegate[prop] = val;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsuper.set?.(prop, val);\n\t\t}\n\t\tcall(prop, ...args) {\n\t\t\tif (prop in this.#delegate) return this.#delegate[prop](...args);\n\t\t\treturn super.call?.(prop, ...args);\n\t\t}\n\t\tattach(target) {\n\t\t\tsuper.attach?.(target);\n\t\t\tthis.#delegate.attach?.(target);\n\t\t}\n\t\tdetach() {\n\t\t\tthis.#delegate.detach?.();\n\t\t\tsuper.detach?.();\n\t\t}\n\t}\n\tfor (let proto = DelegateClass.prototype; proto && proto !== Object.prototype; proto = Object.getPrototypeOf(proto)) defineClassPropHooks(DelegateImpl, proto);\n\treturn DelegateImpl;\n}\n\n//#endregion\nexport { DelegateMixin };\n//# sourceMappingURL=delegate.js.map","//#region src/dom/media/custom-media-element/index.ts\n/**\n* Custom Media Element\n* Based on https://github.com/muxinc/custom-video-element - Mux - MIT License\n*\n* The goal is to create an element that works just like the video element\n* but can be extended/sub-classed, because native elements cannot be\n* extended today across browsers.\n*/\nconst Events = [\n\t\"abort\",\n\t\"canplay\",\n\t\"canplaythrough\",\n\t\"durationchange\",\n\t\"emptied\",\n\t\"encrypted\",\n\t\"ended\",\n\t\"error\",\n\t\"loadeddata\",\n\t\"loadedmetadata\",\n\t\"loadstart\",\n\t\"pause\",\n\t\"play\",\n\t\"playing\",\n\t\"progress\",\n\t\"ratechange\",\n\t\"seeked\",\n\t\"seeking\",\n\t\"stalled\",\n\t\"suspend\",\n\t\"timeupdate\",\n\t\"volumechange\",\n\t\"waiting\",\n\t\"waitingforkey\",\n\t\"resize\",\n\t\"enterpictureinpicture\",\n\t\"leavepictureinpicture\",\n\t\"webkitbeginfullscreen\",\n\t\"webkitendfullscreen\",\n\t\"webkitpresentationmodechanged\"\n];\nconst Attributes = [\n\t\"autopictureinpicture\",\n\t\"disablepictureinpicture\",\n\t\"disableremoteplayback\",\n\t\"autoplay\",\n\t\"controls\",\n\t\"controlslist\",\n\t\"crossorigin\",\n\t\"loop\",\n\t\"muted\",\n\t\"playsinline\",\n\t\"poster\",\n\t\"preload\",\n\t\"src\"\n];\n/**\n* Helper function to generate the HTML template for audio elements.\n*/\nfunction getAudioTemplateHTML(attrs) {\n\treturn `\n <style>\n :host {\n display: inline-flex;\n line-height: 0;\n flex-direction: column;\n justify-content: end;\n }\n\n audio {\n width: 100%;\n }\n </style>\n <slot name=\"media\">\n <audio${serializeAttributes(attrs)}></audio>\n </slot>\n <slot></slot>\n `;\n}\n/**\n* Helper function to generate the HTML template for video elements.\n*/\nfunction getVideoTemplateHTML(attrs) {\n\treturn `\n <style>\n :host {\n display: contents;\n }\n\n video {\n display: block;\n width: 100%;\n height: 100%;\n border-radius: var(--media-video-border-radius);\n object-fit: var(--media-object-fit, contain);\n object-position: var(--media-object-position, center);\n }\n\n video::-webkit-media-text-track-container {\n transition: translate var(--media-caption-track-duration, 0) ease-out;\n transition-delay: var(--media-caption-track-delay, 0);\n translate: 0 var(--media-caption-track-y, 0);\n scale: 0.98;\n z-index: 1;\n font-family: inherit;\n }\n </style>\n <slot name=\"media\">\n <video${serializeAttributes(attrs)}></video>\n </slot>\n <slot></slot>\n `;\n}\nfunction CustomMediaMixin(superclass, { tag, is }) {\n\tconst nativeElTest = globalThis.document?.createElement?.(tag, { is });\n\tconst nativeElProps = nativeElTest ? getNativeElProps(nativeElTest) : [];\n\treturn class CustomMedia extends superclass {\n\t\tstatic getTemplateHTML = tag.endsWith(\"audio\") ? getAudioTemplateHTML : getVideoTemplateHTML;\n\t\tstatic shadowRootOptions = { mode: \"open\" };\n\t\tstatic Events = Events;\n\t\tstatic #isDefined = false;\n\t\tstatic #propsToAttrs;\n\t\tstatic get observedAttributes() {\n\t\t\tCustomMedia.#define();\n\t\t\treturn [...nativeElTest?.constructor?.observedAttributes ?? [], ...Attributes];\n\t\t}\n\t\tstatic #define() {\n\t\t\tif (CustomMedia.#isDefined) return;\n\t\t\tCustomMedia.#isDefined = true;\n\t\t\tCustomMedia.#propsToAttrs = new Set(CustomMedia.observedAttributes);\n\t\t\tCustomMedia.#propsToAttrs.delete(\"muted\");\n\t\t\tfor (const prop of nativeElProps) {\n\t\t\t\tif (prop in CustomMedia.prototype) continue;\n\t\t\t\tif (typeof nativeElTest[prop] === \"function\") CustomMedia.prototype[prop] = function(...args) {\n\t\t\t\t\tthis.#init();\n\t\t\t\t\treturn this.call(prop, ...args);\n\t\t\t\t};\n\t\t\t\telse {\n\t\t\t\t\tconst config = { get() {\n\t\t\t\t\t\tthis.#init();\n\t\t\t\t\t\treturn this.get(prop);\n\t\t\t\t\t} };\n\t\t\t\t\tif (prop !== prop.toUpperCase()) config.set = function(val) {\n\t\t\t\t\t\tthis.#init();\n\t\t\t\t\t\tthis.set(prop, val);\n\t\t\t\t\t};\n\t\t\t\t\tObject.defineProperty(CustomMedia.prototype, prop, config);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t#isInit = false;\n\t\t#target = null;\n\t\t#childMap = /* @__PURE__ */ new Map();\n\t\t#childObserver;\n\t\tget(prop) {\n\t\t\tconst attr = prop.toLowerCase();\n\t\t\tif (CustomMedia.#propsToAttrs.has(attr)) {\n\t\t\t\tconst val = this.getAttribute(attr);\n\t\t\t\treturn val === null ? false : val === \"\" ? true : val;\n\t\t\t}\n\t\t\treturn this.target?.[prop];\n\t\t}\n\t\tset(prop, val) {\n\t\t\tconst attr = prop.toLowerCase();\n\t\t\tif (CustomMedia.#propsToAttrs.has(attr)) {\n\t\t\t\tif (val === true || val === false || val == null) this.toggleAttribute(attr, Boolean(val));\n\t\t\t\telse this.setAttribute(attr, val);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (this.target) this.target[prop] = val;\n\t\t}\n\t\tcall(prop, ...args) {\n\t\t\treturn (this.target?.[prop])?.apply(this.target, args);\n\t\t}\n\t\tget target() {\n\t\t\tthis.#init();\n\t\t\treturn this.#target ?? this.querySelector(\":scope > [slot=media]\") ?? this.querySelector(tag) ?? this.shadowRoot?.querySelector(tag) ?? null;\n\t\t}\n\t\tset target(val) {\n\t\t\tthis.#target = val;\n\t\t}\n\t\tget defaultMuted() {\n\t\t\tthis.#init();\n\t\t\treturn this.get(\"muted\");\n\t\t}\n\t\tset defaultMuted(val) {\n\t\t\tthis.#init();\n\t\t\tthis.set(\"muted\", val);\n\t\t}\n\t\t#init() {\n\t\t\tif (this.#isInit) return;\n\t\t\tthis.#isInit = true;\n\t\t\tthis.init();\n\t\t}\n\t\tinit() {\n\t\t\tif (!this.shadowRoot) {\n\t\t\t\tthis.attachShadow({ mode: \"open\" });\n\t\t\t\tconst attrs = namedNodeMapToObject(this.attributes);\n\t\t\t\tif (is) attrs.is = is;\n\t\t\t\tif (tag) attrs.part = tag;\n\t\t\t\tthis.shadowRoot.innerHTML = this.constructor.getTemplateHTML(attrs);\n\t\t\t}\n\t\t\tthis.target.muted = this.hasAttribute(\"muted\");\n\t\t\tfor (const prop of nativeElProps) this.#upgradeProperty(prop);\n\t\t\tthis.#childObserver = new MutationObserver(this.#syncMediaChildAttribute.bind(this));\n\t\t\tthis.shadowRoot.addEventListener(\"slotchange\", () => this.#syncMediaChildren());\n\t\t\tthis.#syncMediaChildren();\n\t\t\tfor (const type of this.constructor.Events) this.shadowRoot.addEventListener(type, this, true);\n\t\t}\n\t\thandleEvent(event) {\n\t\t\tif (event.target === this.target) this.dispatchEvent(new CustomEvent(event.type, { detail: event.detail }));\n\t\t}\n\t\t#syncMediaChildren() {\n\t\t\tconst removeNativeChildren = new Map(this.#childMap);\n\t\t\t((this.shadowRoot?.querySelector(\"slot:not([name])\"))?.assignedElements({ flatten: true }).filter((el) => [\"track\", \"source\"].includes(el.localName))).forEach((el) => {\n\t\t\t\tremoveNativeChildren.delete(el);\n\t\t\t\tlet clone = this.#childMap.get(el);\n\t\t\t\tif (!clone) {\n\t\t\t\t\tclone = el.cloneNode();\n\t\t\t\t\tthis.#childMap.set(el, clone);\n\t\t\t\t\tthis.#childObserver?.observe(el, { attributes: true });\n\t\t\t\t}\n\t\t\t\tthis.target?.append(clone);\n\t\t\t\tthis.#enableDefaultTrack(clone);\n\t\t\t});\n\t\t\tremoveNativeChildren.forEach((clone, el) => {\n\t\t\t\tclone.remove();\n\t\t\t\tthis.#childMap.delete(el);\n\t\t\t});\n\t\t}\n\t\t#syncMediaChildAttribute(mutations) {\n\t\t\tfor (const mutation of mutations) if (mutation.type === \"attributes\") {\n\t\t\t\tconst { target, attributeName } = mutation;\n\t\t\t\tconst clone = this.#childMap.get(target);\n\t\t\t\tif (clone && attributeName) {\n\t\t\t\t\tclone.setAttribute(attributeName, target.getAttribute(attributeName) ?? \"\");\n\t\t\t\t\tthis.#enableDefaultTrack(clone);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t#enableDefaultTrack(trackEl) {\n\t\t\tif (trackEl && trackEl.localName === \"track\" && trackEl.default && (trackEl.kind === \"chapters\" || trackEl.kind === \"metadata\") && trackEl.track.mode === \"disabled\") trackEl.track.mode = \"hidden\";\n\t\t}\n\t\t#upgradeProperty(prop) {\n\t\t\tif (Object.hasOwn(this, prop)) {\n\t\t\t\tconst value = this[prop];\n\t\t\t\tdelete this[prop];\n\t\t\t\tthis[prop] = value;\n\t\t\t}\n\t\t}\n\t\tattributeChangedCallback(attrName, oldValue, newValue) {\n\t\t\tthis.#init();\n\t\t\tthis.#forwardAttribute(attrName, oldValue, newValue);\n\t\t}\n\t\t#forwardAttribute(attrName, _oldValue, newValue) {\n\t\t\tif ([\"id\", \"class\"].includes(attrName)) return;\n\t\t\tif (!CustomMedia.observedAttributes.includes(attrName) && this.constructor.observedAttributes.includes(attrName)) return;\n\t\t\tif (newValue === null) this.target?.removeAttribute(attrName);\n\t\t\telse if (this.target?.getAttribute(attrName) !== newValue) this.target?.setAttribute(attrName, newValue);\n\t\t}\n\t\tconnectedCallback() {\n\t\t\tthis.#init();\n\t\t}\n\t};\n}\n/**\n* Helper function to get all properties from a native media element's prototype.\n*/\nfunction getNativeElProps(nativeElTest) {\n\tconst nativeElProps = [];\n\tfor (let proto = Object.getPrototypeOf(nativeElTest); proto && proto !== HTMLElement.prototype; proto = Object.getPrototypeOf(proto)) {\n\t\tconst props = Object.getOwnPropertyNames(proto);\n\t\tnativeElProps.push(...props);\n\t}\n\treturn nativeElProps;\n}\n/**\n* Helper function to serialize attributes into a string.\n*/\nfunction serializeAttributes(attrs) {\n\tlet html = \"\";\n\tfor (const key in attrs) {\n\t\tif (!Attributes.includes(key)) continue;\n\t\tconst value = attrs[key];\n\t\tif (value === \"\") html += ` ${key}`;\n\t\telse html += ` ${key}=\"${value}\"`;\n\t}\n\treturn html;\n}\n/**\n* Helper function to convert NamedNodeMap to a plain object.\n*/\nfunction namedNodeMapToObject(namedNodeMap) {\n\tconst obj = {};\n\tfor (const attr of namedNodeMap) obj[attr.name] = attr.value;\n\treturn obj;\n}\nconst CustomVideoElement = CustomMediaMixin(globalThis.HTMLElement ?? class {}, { tag: \"video\" });\nconst CustomAudioElement = CustomMediaMixin(globalThis.HTMLElement ?? class {}, { tag: \"audio\" });\n\n//#endregion\nexport { Attributes, CustomAudioElement, CustomMediaMixin, CustomVideoElement, Events };\n//# sourceMappingURL=index.js.map","import { ProxyMixin } from \"../../core/media/proxy.js\";\n\n//#region src/dom/media/proxy.ts\nconst MediaProxyMixin = ProxyMixin(globalThis.HTMLVideoElement ?? class {}, globalThis.HTMLMediaElement ?? class {}, globalThis.EventTarget ?? class {});\n\n//#endregion\nexport { MediaProxyMixin };\n//# sourceMappingURL=proxy.js.map"],"mappings":"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"}
|