@mux/mux-player 2.3.2 → 2.3.3-canary.0-9c4cb2a
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/CHANGELOG.md +911 -0
- package/dist/cjs.json +1 -0
- package/dist/esm.json +1 -0
- package/dist/iife.json +1 -0
- package/dist/index.cjs.js +892 -371
- package/dist/index.mjs +27 -32
- package/dist/module.json +1 -0
- package/dist/mux-player.js +903 -382
- package/dist/mux-player.mjs +903 -382
- package/dist/themes/classic/index.cjs.js +98 -23
- package/dist/themes/classic/index.js +98 -23
- package/dist/themes/classic/index.mjs +98 -23
- package/dist/themes/gerwig/index.cjs.js +124 -52
- package/dist/themes/gerwig/index.js +124 -52
- package/dist/themes/gerwig/index.mjs +124 -52
- package/dist/themes/microvideo/index.cjs.js +106 -25
- package/dist/themes/microvideo/index.js +106 -25
- package/dist/themes/microvideo/index.mjs +106 -25
- package/dist/themes/minimal/index.cjs.js +102 -23
- package/dist/themes/minimal/index.js +102 -23
- package/dist/themes/minimal/index.mjs +102 -23
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -7
- package/LICENSE +0 -9
|
@@ -46,10 +46,6 @@ var gerwig_default = `<template id="media-theme-gerwig">
|
|
|
46
46
|
--media-control-background: var(--_secondary-color);
|
|
47
47
|
--media-control-hover-background: var(--_accent-color);
|
|
48
48
|
--media-time-buffered-color: rgba(255, 255, 255, 0.4);
|
|
49
|
-
--media-preview-thumbnail-border: 0;
|
|
50
|
-
--media-preview-thumbnail-border-radius: 2px 2px 0 0;
|
|
51
|
-
--media-preview-time-border-radius: 0 0 2px 2px;
|
|
52
|
-
--media-preview-time-margin: 0 0 8px;
|
|
53
49
|
--media-preview-time-text-shadow: none;
|
|
54
50
|
--media-control-height: 14px;
|
|
55
51
|
--media-control-padding: 6px;
|
|
@@ -62,8 +58,6 @@ var gerwig_default = `<template id="media-theme-gerwig">
|
|
|
62
58
|
|
|
63
59
|
:host([audio]) {
|
|
64
60
|
--_secondary-color: var(--media-secondary-color, black);
|
|
65
|
-
--media-preview-time-border-radius: 3px;
|
|
66
|
-
--media-preview-time-margin: 0 0 5px;
|
|
67
61
|
--media-preview-time-text-shadow: none;
|
|
68
62
|
}
|
|
69
63
|
|
|
@@ -102,6 +96,8 @@ var gerwig_default = `<template id="media-theme-gerwig">
|
|
|
102
96
|
}
|
|
103
97
|
|
|
104
98
|
media-time-range {
|
|
99
|
+
--media-box-padding-left: 6px;
|
|
100
|
+
--media-box-padding-right: 6px;
|
|
105
101
|
--media-range-bar-color: var(--_accent-color);
|
|
106
102
|
--media-time-range-buffered-color: var(--_primary-color);
|
|
107
103
|
--media-range-track-color: transparent;
|
|
@@ -118,41 +114,27 @@ var gerwig_default = `<template id="media-theme-gerwig">
|
|
|
118
114
|
--media-range-thumb-transform: scale(0);
|
|
119
115
|
--media-range-thumb-transition: transform 0.3s;
|
|
120
116
|
--media-range-thumb-opacity: 1;
|
|
121
|
-
--media-preview-
|
|
117
|
+
--media-preview-background: var(--_primary-color);
|
|
118
|
+
--media-box-arrow-background: var(--_primary-color);
|
|
122
119
|
--media-preview-thumbnail-border: 5px solid var(--_primary-color);
|
|
123
|
-
--media-preview-
|
|
124
|
-
--media-preview-time-background: var(--_primary-color);
|
|
125
|
-
--media-preview-time-border-radius: 0 0 5px 5px;
|
|
126
|
-
--media-preview-time-margin: 0 0 10px;
|
|
127
|
-
--media-preview-time-padding: 2px 0 6px;
|
|
120
|
+
--media-preview-border-radius: 5px;
|
|
128
121
|
--media-text-color: var(--_text-color);
|
|
129
|
-
--media-preview-thumbnail-max-width: 150px;
|
|
130
|
-
--media-range-track-pointer-border-right: 2px solid #000;
|
|
131
122
|
--media-control-hover-background: transparent;
|
|
132
123
|
color: var(--_accent-color);
|
|
133
124
|
padding: 0 6px;
|
|
134
125
|
}
|
|
135
126
|
|
|
136
127
|
:host([audio]) media-time-range {
|
|
137
|
-
--media-preview-time-
|
|
138
|
-
--media-preview-
|
|
128
|
+
--media-preview-time-padding: 1.5px 6px;
|
|
129
|
+
--media-preview-box-margin: 0 0 -5px;
|
|
139
130
|
}
|
|
140
131
|
|
|
141
132
|
media-time-range:hover {
|
|
142
133
|
--media-range-thumb-transform: scale(1);
|
|
143
134
|
}
|
|
144
135
|
|
|
145
|
-
media-
|
|
146
|
-
|
|
147
|
-
content: '';
|
|
148
|
-
width: 0;
|
|
149
|
-
height: 0;
|
|
150
|
-
border-style: solid;
|
|
151
|
-
border-width: 10px 8.5px 0 8.5px;
|
|
152
|
-
border-color: var(--_primary-color) transparent transparent transparent;
|
|
153
|
-
top: 100%;
|
|
154
|
-
left: 50%;
|
|
155
|
-
transform: translate(-50%, -10px);
|
|
136
|
+
media-preview-thumbnail {
|
|
137
|
+
border-bottom-width: 0;
|
|
156
138
|
}
|
|
157
139
|
|
|
158
140
|
[part~='listbox'] {
|
|
@@ -243,12 +225,20 @@ var gerwig_default = `<template id="media-theme-gerwig">
|
|
|
243
225
|
pointer-events: none;
|
|
244
226
|
}
|
|
245
227
|
|
|
228
|
+
media-control-bar {
|
|
229
|
+
--gradient-steps: hsl(0 0% 0% / 0) 0%, hsl(0 0% 0% / 0.013) 8.1%, hsl(0 0% 0% / 0.049) 15.5%,
|
|
230
|
+
hsl(0 0% 0% / 0.104) 22.5%, hsl(0 0% 0% / 0.175) 29%, hsl(0 0% 0% / 0.259) 35.3%, hsl(0 0% 0% / 0.352) 41.2%,
|
|
231
|
+
hsl(0 0% 0% / 0.45) 47.1%, hsl(0 0% 0% / 0.55) 52.9%, hsl(0 0% 0% / 0.648) 58.8%, hsl(0 0% 0% / 0.741) 64.7%,
|
|
232
|
+
hsl(0 0% 0% / 0.825) 71%, hsl(0 0% 0% / 0.896) 77.5%, hsl(0 0% 0% / 0.951) 84.5%, hsl(0 0% 0% / 0.987) 91.9%,
|
|
233
|
+
hsl(0 0% 0%) 100%;
|
|
234
|
+
}
|
|
235
|
+
|
|
246
236
|
:host([title]:not([audio])) media-control-bar[slot='top-chrome']::before {
|
|
247
237
|
content: '';
|
|
248
238
|
position: absolute;
|
|
249
239
|
width: 100%;
|
|
250
240
|
padding-bottom: min(100px, 25%);
|
|
251
|
-
background: linear-gradient(
|
|
241
|
+
background: linear-gradient(to top, var(--gradient-steps));
|
|
252
242
|
opacity: 0.8;
|
|
253
243
|
pointer-events: none;
|
|
254
244
|
}
|
|
@@ -260,7 +250,7 @@ var gerwig_default = `<template id="media-theme-gerwig">
|
|
|
260
250
|
bottom: 0;
|
|
261
251
|
left: 0;
|
|
262
252
|
padding-bottom: min(100px, 25%);
|
|
263
|
-
background: linear-gradient(
|
|
253
|
+
background: linear-gradient(to bottom, var(--gradient-steps));
|
|
264
254
|
opacity: 0.8;
|
|
265
255
|
z-index: 1;
|
|
266
256
|
pointer-events: none;
|
|
@@ -410,7 +400,7 @@ var gerwig_default = `<template id="media-theme-gerwig">
|
|
|
410
400
|
}
|
|
411
401
|
|
|
412
402
|
/* Intentionally don't target the div for transition but the children
|
|
413
|
-
|
|
403
|
+
of the div. Prevents messing with media-chrome's autohide feature. */
|
|
414
404
|
media-loading-indicator + div * {
|
|
415
405
|
transition: opacity 0.15s;
|
|
416
406
|
opacity: 1;
|
|
@@ -807,7 +797,12 @@ var gerwig_default = `<template id="media-theme-gerwig">
|
|
|
807
797
|
</template>
|
|
808
798
|
|
|
809
799
|
<template partial="TimeRange">
|
|
810
|
-
<media-time-range part="bottom time range" disabled="{{disabled}}" aria-disabled="{{disabled}}"
|
|
800
|
+
<media-time-range part="bottom time range" disabled="{{disabled}}" aria-disabled="{{disabled}}">
|
|
801
|
+
<media-preview-thumbnail slot="preview"></media-preview-thumbnail>
|
|
802
|
+
<media-preview-chapter-display slot="preview"></media-preview-chapter-display>
|
|
803
|
+
<media-preview-time-display slot="preview"></media-preview-time-display>
|
|
804
|
+
<div slot="preview" part="arrow"></div>
|
|
805
|
+
</media-time-range>
|
|
811
806
|
</template>
|
|
812
807
|
|
|
813
808
|
<template partial="AudioTrackSelect">
|
|
@@ -1104,6 +1099,7 @@ var MediaUIProps = {
|
|
|
1104
1099
|
MEDIA_PREVIEW_TIME: "mediaPreviewTime",
|
|
1105
1100
|
MEDIA_PREVIEW_IMAGE: "mediaPreviewImage",
|
|
1106
1101
|
MEDIA_PREVIEW_COORDS: "mediaPreviewCoords",
|
|
1102
|
+
MEDIA_PREVIEW_CHAPTER: "mediaPreviewChapter",
|
|
1107
1103
|
MEDIA_LOADING: "mediaLoading",
|
|
1108
1104
|
MEDIA_BUFFERED: "mediaBuffered",
|
|
1109
1105
|
MEDIA_STREAM_TYPE: "mediaStreamType",
|
|
@@ -1112,23 +1108,38 @@ var MediaUIProps = {
|
|
|
1112
1108
|
MEDIA_RENDITION_LIST: "mediaRenditionList",
|
|
1113
1109
|
MEDIA_RENDITION_SELECTED: "mediaRenditionSelected",
|
|
1114
1110
|
MEDIA_AUDIO_TRACK_LIST: "mediaAudioTrackList",
|
|
1115
|
-
MEDIA_AUDIO_TRACK_ENABLED: "mediaAudioTrackEnabled"
|
|
1111
|
+
MEDIA_AUDIO_TRACK_ENABLED: "mediaAudioTrackEnabled",
|
|
1112
|
+
MEDIA_CHAPTERS_CUES: "mediaChaptersCues"
|
|
1116
1113
|
};
|
|
1117
|
-
var MediaUIPropsEntries =
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
(
|
|
1124
|
-
dictObj[key]
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1114
|
+
var MediaUIPropsEntries = (
|
|
1115
|
+
/** @type {[keyof MediaUIProps, string][]} */
|
|
1116
|
+
Object.entries(MediaUIProps)
|
|
1117
|
+
);
|
|
1118
|
+
var MediaUIAttributes = (
|
|
1119
|
+
/** @type {{ [k in keyof MediaUIProps]: string }} */
|
|
1120
|
+
MediaUIPropsEntries.reduce(
|
|
1121
|
+
(dictObj, [key, propName]) => {
|
|
1122
|
+
dictObj[key] = `${propName.toLowerCase()}`;
|
|
1123
|
+
return dictObj;
|
|
1124
|
+
},
|
|
1125
|
+
/** @type {Partial<{ [k in keyof MediaUIProps]: string }>} */
|
|
1126
|
+
{}
|
|
1127
|
+
)
|
|
1128
|
+
);
|
|
1129
|
+
var MediaStateChangeEvents = (
|
|
1130
|
+
/** @type {{ [k in keyof MediaUIProps | 'USER_INACTIVE' | 'BREAKPOINTS_CHANGE' | 'BREAKPOINTS_COMPUTED']: string }} */
|
|
1131
|
+
MediaUIPropsEntries.reduce(
|
|
1132
|
+
(dictObj, [key, propName]) => {
|
|
1133
|
+
dictObj[key] = `${propName.toLowerCase()}`;
|
|
1134
|
+
return dictObj;
|
|
1135
|
+
},
|
|
1136
|
+
/** @type {Partial<{ [k in keyof MediaUIProps | 'USER_INACTIVE' | 'BREAKPOINTS_CHANGE' | 'BREAKPOINTS_COMPUTED']: string }>} */
|
|
1137
|
+
{
|
|
1138
|
+
USER_INACTIVE: "userinactivechange",
|
|
1139
|
+
BREAKPOINTS_CHANGE: "breakpointchange",
|
|
1140
|
+
BREAKPOINTS_COMPUTED: "breakpointscomputed"
|
|
1141
|
+
}
|
|
1142
|
+
)
|
|
1132
1143
|
);
|
|
1133
1144
|
var StateChangeEventToAttributeMap = Object.entries(
|
|
1134
1145
|
MediaStateChangeEvents
|
|
@@ -1165,6 +1176,8 @@ var EventTarget2 = class {
|
|
|
1165
1176
|
return true;
|
|
1166
1177
|
}
|
|
1167
1178
|
};
|
|
1179
|
+
var Node = class extends EventTarget2 {
|
|
1180
|
+
};
|
|
1168
1181
|
var ResizeObserver = class {
|
|
1169
1182
|
observe() {
|
|
1170
1183
|
}
|
|
@@ -1177,15 +1190,28 @@ var documentShim = {
|
|
|
1177
1190
|
createElement: function() {
|
|
1178
1191
|
return new globalThisShim2.HTMLElement();
|
|
1179
1192
|
},
|
|
1193
|
+
createElementNS: function() {
|
|
1194
|
+
return new globalThisShim2.HTMLElement();
|
|
1195
|
+
},
|
|
1180
1196
|
addEventListener() {
|
|
1181
1197
|
},
|
|
1182
1198
|
removeEventListener() {
|
|
1199
|
+
},
|
|
1200
|
+
/**
|
|
1201
|
+
*
|
|
1202
|
+
* @param {Event} event
|
|
1203
|
+
* @returns {boolean}
|
|
1204
|
+
*/
|
|
1205
|
+
dispatchEvent(event) {
|
|
1206
|
+
return false;
|
|
1183
1207
|
}
|
|
1208
|
+
// eslint-disable-line no-unused-vars
|
|
1184
1209
|
};
|
|
1185
1210
|
var globalThisShim2 = {
|
|
1186
1211
|
ResizeObserver,
|
|
1187
1212
|
document: documentShim,
|
|
1188
|
-
|
|
1213
|
+
Node,
|
|
1214
|
+
HTMLElement: class HTMLElement2 extends Node {
|
|
1189
1215
|
},
|
|
1190
1216
|
DocumentFragment: class DocumentFragment2 extends EventTarget2 {
|
|
1191
1217
|
},
|
|
@@ -1197,12 +1223,47 @@ var globalThisShim2 = {
|
|
|
1197
1223
|
whenDefined: function() {
|
|
1198
1224
|
}
|
|
1199
1225
|
},
|
|
1226
|
+
localStorage: {
|
|
1227
|
+
/**
|
|
1228
|
+
* @param {string} key
|
|
1229
|
+
* @returns {string|null}
|
|
1230
|
+
*/
|
|
1231
|
+
getItem(key) {
|
|
1232
|
+
return null;
|
|
1233
|
+
},
|
|
1234
|
+
// eslint-disable-line no-unused-vars
|
|
1235
|
+
/**
|
|
1236
|
+
* @param {string} key
|
|
1237
|
+
* @param {string} value
|
|
1238
|
+
*/
|
|
1239
|
+
setItem(key, value) {
|
|
1240
|
+
},
|
|
1241
|
+
// eslint-disable-line no-unused-vars
|
|
1242
|
+
/**
|
|
1243
|
+
* @param {string} key
|
|
1244
|
+
*/
|
|
1245
|
+
removeItem(key) {
|
|
1246
|
+
}
|
|
1247
|
+
// eslint-disable-line no-unused-vars
|
|
1248
|
+
},
|
|
1200
1249
|
CustomEvent: function CustomEvent2() {
|
|
1201
1250
|
},
|
|
1202
1251
|
getComputedStyle: function() {
|
|
1203
1252
|
},
|
|
1204
1253
|
navigator: {
|
|
1205
|
-
languages: []
|
|
1254
|
+
languages: [],
|
|
1255
|
+
get userAgent() {
|
|
1256
|
+
return "";
|
|
1257
|
+
}
|
|
1258
|
+
},
|
|
1259
|
+
/**
|
|
1260
|
+
* @param {string} media
|
|
1261
|
+
*/
|
|
1262
|
+
matchMedia(media) {
|
|
1263
|
+
return {
|
|
1264
|
+
matches: false,
|
|
1265
|
+
media
|
|
1266
|
+
};
|
|
1206
1267
|
}
|
|
1207
1268
|
};
|
|
1208
1269
|
var isServer2 = typeof window === "undefined" || typeof window.customElements === "undefined";
|
|
@@ -1441,6 +1502,7 @@ var AttrPart = class extends Part {
|
|
|
1441
1502
|
);
|
|
1442
1503
|
}
|
|
1443
1504
|
}
|
|
1505
|
+
/** @type boolean */
|
|
1444
1506
|
get booleanValue() {
|
|
1445
1507
|
return __privateGet2(this, _element).hasAttributeNS(
|
|
1446
1508
|
__privateGet2(this, _namespaceURI),
|
|
@@ -1482,6 +1544,7 @@ var ChildNodePart = class extends Part {
|
|
|
1482
1544
|
get previousSibling() {
|
|
1483
1545
|
return __privateGet2(this, _nodes)[0].previousSibling;
|
|
1484
1546
|
}
|
|
1547
|
+
// FIXME: not sure why do we need string serialization here? Just because parent class has type DOMString?
|
|
1485
1548
|
get value() {
|
|
1486
1549
|
return __privateGet2(this, _nodes).map((node) => node.textContent).join("");
|
|
1487
1550
|
}
|
|
@@ -1825,7 +1888,8 @@ var observedMediaAttributes = {
|
|
|
1825
1888
|
mediastreamtype: "streamtype"
|
|
1826
1889
|
};
|
|
1827
1890
|
var prependTemplate = Document.createElement("template");
|
|
1828
|
-
prependTemplate.innerHTML =
|
|
1891
|
+
prependTemplate.innerHTML = /*html*/
|
|
1892
|
+
`
|
|
1829
1893
|
<style>
|
|
1830
1894
|
:host {
|
|
1831
1895
|
display: inline-block;
|
|
@@ -1871,7 +1935,10 @@ var MediaThemeElement = class extends GlobalThis.HTMLElement {
|
|
|
1871
1935
|
if (this.mediaController && !((_a2 = this.mediaController) == null ? void 0 : _a2.breakpointsComputed))
|
|
1872
1936
|
return;
|
|
1873
1937
|
if (mutationList.some((mutation) => {
|
|
1874
|
-
const target =
|
|
1938
|
+
const target = (
|
|
1939
|
+
/** @type {HTMLElement} */
|
|
1940
|
+
mutation.target
|
|
1941
|
+
);
|
|
1875
1942
|
if (target === this)
|
|
1876
1943
|
return true;
|
|
1877
1944
|
if (target.localName !== "media-controller")
|
|
@@ -1893,6 +1960,7 @@ var MediaThemeElement = class extends GlobalThis.HTMLElement {
|
|
|
1893
1960
|
this.addEventListener(MediaStateChangeEvents.BREAKPOINTS_COMPUTED, this.render);
|
|
1894
1961
|
__privateMethod(this, _upgradeProperty, upgradeProperty_fn).call(this, "template");
|
|
1895
1962
|
}
|
|
1963
|
+
/** @type {HTMLElement & { breakpointsComputed?: boolean }} */
|
|
1896
1964
|
get mediaController() {
|
|
1897
1965
|
return this.renderRoot.querySelector("media-controller");
|
|
1898
1966
|
}
|
|
@@ -1942,6 +2010,7 @@ var MediaThemeElement = class extends GlobalThis.HTMLElement {
|
|
|
1942
2010
|
this.renderer = new TemplateInstance(
|
|
1943
2011
|
this.template,
|
|
1944
2012
|
this.props,
|
|
2013
|
+
// @ts-ignore
|
|
1945
2014
|
this.constructor.processor
|
|
1946
2015
|
);
|
|
1947
2016
|
this.renderRoot.textContent = "";
|
|
@@ -1973,7 +2042,10 @@ updateTemplate_fn = function() {
|
|
|
1973
2042
|
const templateId = this.getAttribute("template");
|
|
1974
2043
|
if (!templateId || templateId === __privateGet3(this, _prevTemplateId))
|
|
1975
2044
|
return;
|
|
1976
|
-
const rootNode =
|
|
2045
|
+
const rootNode = (
|
|
2046
|
+
/** @type HTMLDocument | ShadowRoot */
|
|
2047
|
+
this.getRootNode()
|
|
2048
|
+
);
|
|
1977
2049
|
const template2 = (_a2 = rootNode == null ? void 0 : rootNode.getElementById) == null ? void 0 : _a2.call(rootNode, templateId);
|
|
1978
2050
|
if (template2) {
|
|
1979
2051
|
__privateSet3(this, _prevTemplateId, templateId);
|
|
@@ -27,6 +27,8 @@ var EventTarget = class {
|
|
|
27
27
|
return true;
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
|
+
var Node = class extends EventTarget {
|
|
31
|
+
};
|
|
30
32
|
var ResizeObserver = class {
|
|
31
33
|
observe() {
|
|
32
34
|
}
|
|
@@ -39,15 +41,28 @@ var documentShim = {
|
|
|
39
41
|
createElement: function() {
|
|
40
42
|
return new globalThisShim.HTMLElement();
|
|
41
43
|
},
|
|
44
|
+
createElementNS: function() {
|
|
45
|
+
return new globalThisShim.HTMLElement();
|
|
46
|
+
},
|
|
42
47
|
addEventListener() {
|
|
43
48
|
},
|
|
44
49
|
removeEventListener() {
|
|
50
|
+
},
|
|
51
|
+
/**
|
|
52
|
+
*
|
|
53
|
+
* @param {Event} event
|
|
54
|
+
* @returns {boolean}
|
|
55
|
+
*/
|
|
56
|
+
dispatchEvent(event) {
|
|
57
|
+
return false;
|
|
45
58
|
}
|
|
59
|
+
// eslint-disable-line no-unused-vars
|
|
46
60
|
};
|
|
47
61
|
var globalThisShim = {
|
|
48
62
|
ResizeObserver,
|
|
49
63
|
document: documentShim,
|
|
50
|
-
|
|
64
|
+
Node,
|
|
65
|
+
HTMLElement: class HTMLElement extends Node {
|
|
51
66
|
},
|
|
52
67
|
DocumentFragment: class DocumentFragment extends EventTarget {
|
|
53
68
|
},
|
|
@@ -59,12 +74,47 @@ var globalThisShim = {
|
|
|
59
74
|
whenDefined: function() {
|
|
60
75
|
}
|
|
61
76
|
},
|
|
77
|
+
localStorage: {
|
|
78
|
+
/**
|
|
79
|
+
* @param {string} key
|
|
80
|
+
* @returns {string|null}
|
|
81
|
+
*/
|
|
82
|
+
getItem(key) {
|
|
83
|
+
return null;
|
|
84
|
+
},
|
|
85
|
+
// eslint-disable-line no-unused-vars
|
|
86
|
+
/**
|
|
87
|
+
* @param {string} key
|
|
88
|
+
* @param {string} value
|
|
89
|
+
*/
|
|
90
|
+
setItem(key, value) {
|
|
91
|
+
},
|
|
92
|
+
// eslint-disable-line no-unused-vars
|
|
93
|
+
/**
|
|
94
|
+
* @param {string} key
|
|
95
|
+
*/
|
|
96
|
+
removeItem(key) {
|
|
97
|
+
}
|
|
98
|
+
// eslint-disable-line no-unused-vars
|
|
99
|
+
},
|
|
62
100
|
CustomEvent: function CustomEvent() {
|
|
63
101
|
},
|
|
64
102
|
getComputedStyle: function() {
|
|
65
103
|
},
|
|
66
104
|
navigator: {
|
|
67
|
-
languages: []
|
|
105
|
+
languages: [],
|
|
106
|
+
get userAgent() {
|
|
107
|
+
return "";
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
/**
|
|
111
|
+
* @param {string} media
|
|
112
|
+
*/
|
|
113
|
+
matchMedia(media) {
|
|
114
|
+
return {
|
|
115
|
+
matches: false,
|
|
116
|
+
media
|
|
117
|
+
};
|
|
68
118
|
}
|
|
69
119
|
};
|
|
70
120
|
var isServer = typeof window === "undefined" || typeof window.customElements === "undefined";
|
|
@@ -100,6 +150,7 @@ var MediaUIProps = {
|
|
|
100
150
|
MEDIA_PREVIEW_TIME: "mediaPreviewTime",
|
|
101
151
|
MEDIA_PREVIEW_IMAGE: "mediaPreviewImage",
|
|
102
152
|
MEDIA_PREVIEW_COORDS: "mediaPreviewCoords",
|
|
153
|
+
MEDIA_PREVIEW_CHAPTER: "mediaPreviewChapter",
|
|
103
154
|
MEDIA_LOADING: "mediaLoading",
|
|
104
155
|
MEDIA_BUFFERED: "mediaBuffered",
|
|
105
156
|
MEDIA_STREAM_TYPE: "mediaStreamType",
|
|
@@ -108,23 +159,38 @@ var MediaUIProps = {
|
|
|
108
159
|
MEDIA_RENDITION_LIST: "mediaRenditionList",
|
|
109
160
|
MEDIA_RENDITION_SELECTED: "mediaRenditionSelected",
|
|
110
161
|
MEDIA_AUDIO_TRACK_LIST: "mediaAudioTrackList",
|
|
111
|
-
MEDIA_AUDIO_TRACK_ENABLED: "mediaAudioTrackEnabled"
|
|
162
|
+
MEDIA_AUDIO_TRACK_ENABLED: "mediaAudioTrackEnabled",
|
|
163
|
+
MEDIA_CHAPTERS_CUES: "mediaChaptersCues"
|
|
112
164
|
};
|
|
113
|
-
var MediaUIPropsEntries =
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
(
|
|
120
|
-
dictObj[key]
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
165
|
+
var MediaUIPropsEntries = (
|
|
166
|
+
/** @type {[keyof MediaUIProps, string][]} */
|
|
167
|
+
Object.entries(MediaUIProps)
|
|
168
|
+
);
|
|
169
|
+
var MediaUIAttributes = (
|
|
170
|
+
/** @type {{ [k in keyof MediaUIProps]: string }} */
|
|
171
|
+
MediaUIPropsEntries.reduce(
|
|
172
|
+
(dictObj, [key, propName]) => {
|
|
173
|
+
dictObj[key] = `${propName.toLowerCase()}`;
|
|
174
|
+
return dictObj;
|
|
175
|
+
},
|
|
176
|
+
/** @type {Partial<{ [k in keyof MediaUIProps]: string }>} */
|
|
177
|
+
{}
|
|
178
|
+
)
|
|
179
|
+
);
|
|
180
|
+
var MediaStateChangeEvents = (
|
|
181
|
+
/** @type {{ [k in keyof MediaUIProps | 'USER_INACTIVE' | 'BREAKPOINTS_CHANGE' | 'BREAKPOINTS_COMPUTED']: string }} */
|
|
182
|
+
MediaUIPropsEntries.reduce(
|
|
183
|
+
(dictObj, [key, propName]) => {
|
|
184
|
+
dictObj[key] = `${propName.toLowerCase()}`;
|
|
185
|
+
return dictObj;
|
|
186
|
+
},
|
|
187
|
+
/** @type {Partial<{ [k in keyof MediaUIProps | 'USER_INACTIVE' | 'BREAKPOINTS_CHANGE' | 'BREAKPOINTS_COMPUTED']: string }>} */
|
|
188
|
+
{
|
|
189
|
+
USER_INACTIVE: "userinactivechange",
|
|
190
|
+
BREAKPOINTS_CHANGE: "breakpointchange",
|
|
191
|
+
BREAKPOINTS_COMPUTED: "breakpointscomputed"
|
|
192
|
+
}
|
|
193
|
+
)
|
|
128
194
|
);
|
|
129
195
|
var StateChangeEventToAttributeMap = Object.entries(
|
|
130
196
|
MediaStateChangeEvents
|
|
@@ -382,6 +448,7 @@ var AttrPart = class extends Part {
|
|
|
382
448
|
);
|
|
383
449
|
}
|
|
384
450
|
}
|
|
451
|
+
/** @type boolean */
|
|
385
452
|
get booleanValue() {
|
|
386
453
|
return __privateGet(this, _element).hasAttributeNS(
|
|
387
454
|
__privateGet(this, _namespaceURI),
|
|
@@ -423,6 +490,7 @@ var ChildNodePart = class extends Part {
|
|
|
423
490
|
get previousSibling() {
|
|
424
491
|
return __privateGet(this, _nodes)[0].previousSibling;
|
|
425
492
|
}
|
|
493
|
+
// FIXME: not sure why do we need string serialization here? Just because parent class has type DOMString?
|
|
426
494
|
get value() {
|
|
427
495
|
return __privateGet(this, _nodes).map((node) => node.textContent).join("");
|
|
428
496
|
}
|
|
@@ -766,7 +834,8 @@ var observedMediaAttributes = {
|
|
|
766
834
|
mediastreamtype: "streamtype"
|
|
767
835
|
};
|
|
768
836
|
var prependTemplate = Document.createElement("template");
|
|
769
|
-
prependTemplate.innerHTML =
|
|
837
|
+
prependTemplate.innerHTML = /*html*/
|
|
838
|
+
`
|
|
770
839
|
<style>
|
|
771
840
|
:host {
|
|
772
841
|
display: inline-block;
|
|
@@ -812,7 +881,10 @@ var MediaThemeElement = class extends GlobalThis.HTMLElement {
|
|
|
812
881
|
if (this.mediaController && !((_a = this.mediaController) == null ? void 0 : _a.breakpointsComputed))
|
|
813
882
|
return;
|
|
814
883
|
if (mutationList.some((mutation) => {
|
|
815
|
-
const target =
|
|
884
|
+
const target = (
|
|
885
|
+
/** @type {HTMLElement} */
|
|
886
|
+
mutation.target
|
|
887
|
+
);
|
|
816
888
|
if (target === this)
|
|
817
889
|
return true;
|
|
818
890
|
if (target.localName !== "media-controller")
|
|
@@ -834,6 +906,7 @@ var MediaThemeElement = class extends GlobalThis.HTMLElement {
|
|
|
834
906
|
this.addEventListener(MediaStateChangeEvents.BREAKPOINTS_COMPUTED, this.render);
|
|
835
907
|
__privateMethod(this, _upgradeProperty, upgradeProperty_fn).call(this, "template");
|
|
836
908
|
}
|
|
909
|
+
/** @type {HTMLElement & { breakpointsComputed?: boolean }} */
|
|
837
910
|
get mediaController() {
|
|
838
911
|
return this.renderRoot.querySelector("media-controller");
|
|
839
912
|
}
|
|
@@ -883,6 +956,7 @@ var MediaThemeElement = class extends GlobalThis.HTMLElement {
|
|
|
883
956
|
this.renderer = new TemplateInstance(
|
|
884
957
|
this.template,
|
|
885
958
|
this.props,
|
|
959
|
+
// @ts-ignore
|
|
886
960
|
this.constructor.processor
|
|
887
961
|
);
|
|
888
962
|
this.renderRoot.textContent = "";
|
|
@@ -914,7 +988,10 @@ updateTemplate_fn = function() {
|
|
|
914
988
|
const templateId = this.getAttribute("template");
|
|
915
989
|
if (!templateId || templateId === __privateGet2(this, _prevTemplateId))
|
|
916
990
|
return;
|
|
917
|
-
const rootNode =
|
|
991
|
+
const rootNode = (
|
|
992
|
+
/** @type HTMLDocument | ShadowRoot */
|
|
993
|
+
this.getRootNode()
|
|
994
|
+
);
|
|
918
995
|
const template2 = (_a = rootNode == null ? void 0 : rootNode.getElementById) == null ? void 0 : _a.call(rootNode, templateId);
|
|
919
996
|
if (template2) {
|
|
920
997
|
__privateSet2(this, _prevTemplateId, templateId);
|
|
@@ -965,7 +1042,8 @@ var __publicField3 = (obj, key, value) => {
|
|
|
965
1042
|
return value;
|
|
966
1043
|
};
|
|
967
1044
|
var template = Document.createElement("template");
|
|
968
|
-
template.innerHTML =
|
|
1045
|
+
template.innerHTML = /*html*/
|
|
1046
|
+
`
|
|
969
1047
|
<style>
|
|
970
1048
|
:host {
|
|
971
1049
|
--_primary-color: var(--media-primary-color, rgb(255 255 255 / .9));
|
|
@@ -1019,7 +1097,8 @@ template.innerHTML = `
|
|
|
1019
1097
|
|
|
1020
1098
|
media-loading-indicator {
|
|
1021
1099
|
place-self: center;
|
|
1022
|
-
${
|
|
1100
|
+
${/* Stack the grid items on top of each other */
|
|
1101
|
+
""}
|
|
1023
1102
|
grid-area: 1 / 1;
|
|
1024
1103
|
}
|
|
1025
1104
|
|
|
@@ -1142,7 +1221,7 @@ template.innerHTML = `
|
|
|
1142
1221
|
--media-range-padding-left: 0;
|
|
1143
1222
|
--media-range-padding-right: 0;
|
|
1144
1223
|
--media-preview-time-background: var(--_secondary-color);
|
|
1145
|
-
--media-preview-
|
|
1224
|
+
--media-preview-box-margin: 0 0 3px;
|
|
1146
1225
|
|
|
1147
1226
|
display: var(--controls, var(--time-range, inline-block));
|
|
1148
1227
|
width: 100%;
|
|
@@ -1166,7 +1245,8 @@ template.innerHTML = `
|
|
|
1166
1245
|
width: 7px;
|
|
1167
1246
|
}
|
|
1168
1247
|
|
|
1169
|
-
${
|
|
1248
|
+
${/* Turn some buttons off by default */
|
|
1249
|
+
""}
|
|
1170
1250
|
media-seek-backward-button {
|
|
1171
1251
|
display: var(--media-control-display, var(--media-seek-backward-button-display, none));
|
|
1172
1252
|
}
|
|
@@ -1369,6 +1449,7 @@ template.innerHTML = `
|
|
|
1369
1449
|
</template>
|
|
1370
1450
|
|
|
1371
1451
|
<media-controller
|
|
1452
|
+
nodefaultstore="{{nodefaultstore}}"
|
|
1372
1453
|
defaultsubtitles="{{defaultsubtitles}}"
|
|
1373
1454
|
style="--_control-bar-place-self:{{controlbarplace ?? 'unset'}}"
|
|
1374
1455
|
gesturesdisabled="{{disabled}}"
|