@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
|
@@ -71,10 +71,6 @@ var gerwig_default = `<template id="media-theme-gerwig">
|
|
|
71
71
|
--media-control-background: var(--_secondary-color);
|
|
72
72
|
--media-control-hover-background: var(--_accent-color);
|
|
73
73
|
--media-time-buffered-color: rgba(255, 255, 255, 0.4);
|
|
74
|
-
--media-preview-thumbnail-border: 0;
|
|
75
|
-
--media-preview-thumbnail-border-radius: 2px 2px 0 0;
|
|
76
|
-
--media-preview-time-border-radius: 0 0 2px 2px;
|
|
77
|
-
--media-preview-time-margin: 0 0 8px;
|
|
78
74
|
--media-preview-time-text-shadow: none;
|
|
79
75
|
--media-control-height: 14px;
|
|
80
76
|
--media-control-padding: 6px;
|
|
@@ -87,8 +83,6 @@ var gerwig_default = `<template id="media-theme-gerwig">
|
|
|
87
83
|
|
|
88
84
|
:host([audio]) {
|
|
89
85
|
--_secondary-color: var(--media-secondary-color, black);
|
|
90
|
-
--media-preview-time-border-radius: 3px;
|
|
91
|
-
--media-preview-time-margin: 0 0 5px;
|
|
92
86
|
--media-preview-time-text-shadow: none;
|
|
93
87
|
}
|
|
94
88
|
|
|
@@ -127,6 +121,8 @@ var gerwig_default = `<template id="media-theme-gerwig">
|
|
|
127
121
|
}
|
|
128
122
|
|
|
129
123
|
media-time-range {
|
|
124
|
+
--media-box-padding-left: 6px;
|
|
125
|
+
--media-box-padding-right: 6px;
|
|
130
126
|
--media-range-bar-color: var(--_accent-color);
|
|
131
127
|
--media-time-range-buffered-color: var(--_primary-color);
|
|
132
128
|
--media-range-track-color: transparent;
|
|
@@ -143,41 +139,27 @@ var gerwig_default = `<template id="media-theme-gerwig">
|
|
|
143
139
|
--media-range-thumb-transform: scale(0);
|
|
144
140
|
--media-range-thumb-transition: transform 0.3s;
|
|
145
141
|
--media-range-thumb-opacity: 1;
|
|
146
|
-
--media-preview-
|
|
142
|
+
--media-preview-background: var(--_primary-color);
|
|
143
|
+
--media-box-arrow-background: var(--_primary-color);
|
|
147
144
|
--media-preview-thumbnail-border: 5px solid var(--_primary-color);
|
|
148
|
-
--media-preview-
|
|
149
|
-
--media-preview-time-background: var(--_primary-color);
|
|
150
|
-
--media-preview-time-border-radius: 0 0 5px 5px;
|
|
151
|
-
--media-preview-time-margin: 0 0 10px;
|
|
152
|
-
--media-preview-time-padding: 2px 0 6px;
|
|
145
|
+
--media-preview-border-radius: 5px;
|
|
153
146
|
--media-text-color: var(--_text-color);
|
|
154
|
-
--media-preview-thumbnail-max-width: 150px;
|
|
155
|
-
--media-range-track-pointer-border-right: 2px solid #000;
|
|
156
147
|
--media-control-hover-background: transparent;
|
|
157
148
|
color: var(--_accent-color);
|
|
158
149
|
padding: 0 6px;
|
|
159
150
|
}
|
|
160
151
|
|
|
161
152
|
:host([audio]) media-time-range {
|
|
162
|
-
--media-preview-time-
|
|
163
|
-
--media-preview-
|
|
153
|
+
--media-preview-time-padding: 1.5px 6px;
|
|
154
|
+
--media-preview-box-margin: 0 0 -5px;
|
|
164
155
|
}
|
|
165
156
|
|
|
166
157
|
media-time-range:hover {
|
|
167
158
|
--media-range-thumb-transform: scale(1);
|
|
168
159
|
}
|
|
169
160
|
|
|
170
|
-
media-
|
|
171
|
-
|
|
172
|
-
content: '';
|
|
173
|
-
width: 0;
|
|
174
|
-
height: 0;
|
|
175
|
-
border-style: solid;
|
|
176
|
-
border-width: 10px 8.5px 0 8.5px;
|
|
177
|
-
border-color: var(--_primary-color) transparent transparent transparent;
|
|
178
|
-
top: 100%;
|
|
179
|
-
left: 50%;
|
|
180
|
-
transform: translate(-50%, -10px);
|
|
161
|
+
media-preview-thumbnail {
|
|
162
|
+
border-bottom-width: 0;
|
|
181
163
|
}
|
|
182
164
|
|
|
183
165
|
[part~='listbox'] {
|
|
@@ -268,12 +250,20 @@ var gerwig_default = `<template id="media-theme-gerwig">
|
|
|
268
250
|
pointer-events: none;
|
|
269
251
|
}
|
|
270
252
|
|
|
253
|
+
media-control-bar {
|
|
254
|
+
--gradient-steps: hsl(0 0% 0% / 0) 0%, hsl(0 0% 0% / 0.013) 8.1%, hsl(0 0% 0% / 0.049) 15.5%,
|
|
255
|
+
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%,
|
|
256
|
+
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%,
|
|
257
|
+
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%,
|
|
258
|
+
hsl(0 0% 0%) 100%;
|
|
259
|
+
}
|
|
260
|
+
|
|
271
261
|
:host([title]:not([audio])) media-control-bar[slot='top-chrome']::before {
|
|
272
262
|
content: '';
|
|
273
263
|
position: absolute;
|
|
274
264
|
width: 100%;
|
|
275
265
|
padding-bottom: min(100px, 25%);
|
|
276
|
-
background: linear-gradient(
|
|
266
|
+
background: linear-gradient(to top, var(--gradient-steps));
|
|
277
267
|
opacity: 0.8;
|
|
278
268
|
pointer-events: none;
|
|
279
269
|
}
|
|
@@ -285,7 +275,7 @@ var gerwig_default = `<template id="media-theme-gerwig">
|
|
|
285
275
|
bottom: 0;
|
|
286
276
|
left: 0;
|
|
287
277
|
padding-bottom: min(100px, 25%);
|
|
288
|
-
background: linear-gradient(
|
|
278
|
+
background: linear-gradient(to bottom, var(--gradient-steps));
|
|
289
279
|
opacity: 0.8;
|
|
290
280
|
z-index: 1;
|
|
291
281
|
pointer-events: none;
|
|
@@ -435,7 +425,7 @@ var gerwig_default = `<template id="media-theme-gerwig">
|
|
|
435
425
|
}
|
|
436
426
|
|
|
437
427
|
/* Intentionally don't target the div for transition but the children
|
|
438
|
-
|
|
428
|
+
of the div. Prevents messing with media-chrome's autohide feature. */
|
|
439
429
|
media-loading-indicator + div * {
|
|
440
430
|
transition: opacity 0.15s;
|
|
441
431
|
opacity: 1;
|
|
@@ -832,7 +822,12 @@ var gerwig_default = `<template id="media-theme-gerwig">
|
|
|
832
822
|
</template>
|
|
833
823
|
|
|
834
824
|
<template partial="TimeRange">
|
|
835
|
-
<media-time-range part="bottom time range" disabled="{{disabled}}" aria-disabled="{{disabled}}"
|
|
825
|
+
<media-time-range part="bottom time range" disabled="{{disabled}}" aria-disabled="{{disabled}}">
|
|
826
|
+
<media-preview-thumbnail slot="preview"></media-preview-thumbnail>
|
|
827
|
+
<media-preview-chapter-display slot="preview"></media-preview-chapter-display>
|
|
828
|
+
<media-preview-time-display slot="preview"></media-preview-time-display>
|
|
829
|
+
<div slot="preview" part="arrow"></div>
|
|
830
|
+
</media-time-range>
|
|
836
831
|
</template>
|
|
837
832
|
|
|
838
833
|
<template partial="AudioTrackSelect">
|
|
@@ -1129,6 +1124,7 @@ var MediaUIProps = {
|
|
|
1129
1124
|
MEDIA_PREVIEW_TIME: "mediaPreviewTime",
|
|
1130
1125
|
MEDIA_PREVIEW_IMAGE: "mediaPreviewImage",
|
|
1131
1126
|
MEDIA_PREVIEW_COORDS: "mediaPreviewCoords",
|
|
1127
|
+
MEDIA_PREVIEW_CHAPTER: "mediaPreviewChapter",
|
|
1132
1128
|
MEDIA_LOADING: "mediaLoading",
|
|
1133
1129
|
MEDIA_BUFFERED: "mediaBuffered",
|
|
1134
1130
|
MEDIA_STREAM_TYPE: "mediaStreamType",
|
|
@@ -1137,23 +1133,38 @@ var MediaUIProps = {
|
|
|
1137
1133
|
MEDIA_RENDITION_LIST: "mediaRenditionList",
|
|
1138
1134
|
MEDIA_RENDITION_SELECTED: "mediaRenditionSelected",
|
|
1139
1135
|
MEDIA_AUDIO_TRACK_LIST: "mediaAudioTrackList",
|
|
1140
|
-
MEDIA_AUDIO_TRACK_ENABLED: "mediaAudioTrackEnabled"
|
|
1136
|
+
MEDIA_AUDIO_TRACK_ENABLED: "mediaAudioTrackEnabled",
|
|
1137
|
+
MEDIA_CHAPTERS_CUES: "mediaChaptersCues"
|
|
1141
1138
|
};
|
|
1142
|
-
var MediaUIPropsEntries =
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
(
|
|
1149
|
-
dictObj[key]
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1139
|
+
var MediaUIPropsEntries = (
|
|
1140
|
+
/** @type {[keyof MediaUIProps, string][]} */
|
|
1141
|
+
Object.entries(MediaUIProps)
|
|
1142
|
+
);
|
|
1143
|
+
var MediaUIAttributes = (
|
|
1144
|
+
/** @type {{ [k in keyof MediaUIProps]: string }} */
|
|
1145
|
+
MediaUIPropsEntries.reduce(
|
|
1146
|
+
(dictObj, [key, propName]) => {
|
|
1147
|
+
dictObj[key] = `${propName.toLowerCase()}`;
|
|
1148
|
+
return dictObj;
|
|
1149
|
+
},
|
|
1150
|
+
/** @type {Partial<{ [k in keyof MediaUIProps]: string }>} */
|
|
1151
|
+
{}
|
|
1152
|
+
)
|
|
1153
|
+
);
|
|
1154
|
+
var MediaStateChangeEvents = (
|
|
1155
|
+
/** @type {{ [k in keyof MediaUIProps | 'USER_INACTIVE' | 'BREAKPOINTS_CHANGE' | 'BREAKPOINTS_COMPUTED']: string }} */
|
|
1156
|
+
MediaUIPropsEntries.reduce(
|
|
1157
|
+
(dictObj, [key, propName]) => {
|
|
1158
|
+
dictObj[key] = `${propName.toLowerCase()}`;
|
|
1159
|
+
return dictObj;
|
|
1160
|
+
},
|
|
1161
|
+
/** @type {Partial<{ [k in keyof MediaUIProps | 'USER_INACTIVE' | 'BREAKPOINTS_CHANGE' | 'BREAKPOINTS_COMPUTED']: string }>} */
|
|
1162
|
+
{
|
|
1163
|
+
USER_INACTIVE: "userinactivechange",
|
|
1164
|
+
BREAKPOINTS_CHANGE: "breakpointchange",
|
|
1165
|
+
BREAKPOINTS_COMPUTED: "breakpointscomputed"
|
|
1166
|
+
}
|
|
1167
|
+
)
|
|
1157
1168
|
);
|
|
1158
1169
|
var StateChangeEventToAttributeMap = Object.entries(
|
|
1159
1170
|
MediaStateChangeEvents
|
|
@@ -1190,6 +1201,8 @@ var EventTarget2 = class {
|
|
|
1190
1201
|
return true;
|
|
1191
1202
|
}
|
|
1192
1203
|
};
|
|
1204
|
+
var Node = class extends EventTarget2 {
|
|
1205
|
+
};
|
|
1193
1206
|
var ResizeObserver = class {
|
|
1194
1207
|
observe() {
|
|
1195
1208
|
}
|
|
@@ -1202,15 +1215,28 @@ var documentShim = {
|
|
|
1202
1215
|
createElement: function() {
|
|
1203
1216
|
return new globalThisShim2.HTMLElement();
|
|
1204
1217
|
},
|
|
1218
|
+
createElementNS: function() {
|
|
1219
|
+
return new globalThisShim2.HTMLElement();
|
|
1220
|
+
},
|
|
1205
1221
|
addEventListener() {
|
|
1206
1222
|
},
|
|
1207
1223
|
removeEventListener() {
|
|
1224
|
+
},
|
|
1225
|
+
/**
|
|
1226
|
+
*
|
|
1227
|
+
* @param {Event} event
|
|
1228
|
+
* @returns {boolean}
|
|
1229
|
+
*/
|
|
1230
|
+
dispatchEvent(event) {
|
|
1231
|
+
return false;
|
|
1208
1232
|
}
|
|
1233
|
+
// eslint-disable-line no-unused-vars
|
|
1209
1234
|
};
|
|
1210
1235
|
var globalThisShim2 = {
|
|
1211
1236
|
ResizeObserver,
|
|
1212
1237
|
document: documentShim,
|
|
1213
|
-
|
|
1238
|
+
Node,
|
|
1239
|
+
HTMLElement: class HTMLElement2 extends Node {
|
|
1214
1240
|
},
|
|
1215
1241
|
DocumentFragment: class DocumentFragment2 extends EventTarget2 {
|
|
1216
1242
|
},
|
|
@@ -1222,12 +1248,47 @@ var globalThisShim2 = {
|
|
|
1222
1248
|
whenDefined: function() {
|
|
1223
1249
|
}
|
|
1224
1250
|
},
|
|
1251
|
+
localStorage: {
|
|
1252
|
+
/**
|
|
1253
|
+
* @param {string} key
|
|
1254
|
+
* @returns {string|null}
|
|
1255
|
+
*/
|
|
1256
|
+
getItem(key) {
|
|
1257
|
+
return null;
|
|
1258
|
+
},
|
|
1259
|
+
// eslint-disable-line no-unused-vars
|
|
1260
|
+
/**
|
|
1261
|
+
* @param {string} key
|
|
1262
|
+
* @param {string} value
|
|
1263
|
+
*/
|
|
1264
|
+
setItem(key, value) {
|
|
1265
|
+
},
|
|
1266
|
+
// eslint-disable-line no-unused-vars
|
|
1267
|
+
/**
|
|
1268
|
+
* @param {string} key
|
|
1269
|
+
*/
|
|
1270
|
+
removeItem(key) {
|
|
1271
|
+
}
|
|
1272
|
+
// eslint-disable-line no-unused-vars
|
|
1273
|
+
},
|
|
1225
1274
|
CustomEvent: function CustomEvent2() {
|
|
1226
1275
|
},
|
|
1227
1276
|
getComputedStyle: function() {
|
|
1228
1277
|
},
|
|
1229
1278
|
navigator: {
|
|
1230
|
-
languages: []
|
|
1279
|
+
languages: [],
|
|
1280
|
+
get userAgent() {
|
|
1281
|
+
return "";
|
|
1282
|
+
}
|
|
1283
|
+
},
|
|
1284
|
+
/**
|
|
1285
|
+
* @param {string} media
|
|
1286
|
+
*/
|
|
1287
|
+
matchMedia(media) {
|
|
1288
|
+
return {
|
|
1289
|
+
matches: false,
|
|
1290
|
+
media
|
|
1291
|
+
};
|
|
1231
1292
|
}
|
|
1232
1293
|
};
|
|
1233
1294
|
var isServer2 = typeof window === "undefined" || typeof window.customElements === "undefined";
|
|
@@ -1466,6 +1527,7 @@ var AttrPart = class extends Part {
|
|
|
1466
1527
|
);
|
|
1467
1528
|
}
|
|
1468
1529
|
}
|
|
1530
|
+
/** @type boolean */
|
|
1469
1531
|
get booleanValue() {
|
|
1470
1532
|
return __privateGet2(this, _element).hasAttributeNS(
|
|
1471
1533
|
__privateGet2(this, _namespaceURI),
|
|
@@ -1507,6 +1569,7 @@ var ChildNodePart = class extends Part {
|
|
|
1507
1569
|
get previousSibling() {
|
|
1508
1570
|
return __privateGet2(this, _nodes)[0].previousSibling;
|
|
1509
1571
|
}
|
|
1572
|
+
// FIXME: not sure why do we need string serialization here? Just because parent class has type DOMString?
|
|
1510
1573
|
get value() {
|
|
1511
1574
|
return __privateGet2(this, _nodes).map((node) => node.textContent).join("");
|
|
1512
1575
|
}
|
|
@@ -1850,7 +1913,8 @@ var observedMediaAttributes = {
|
|
|
1850
1913
|
mediastreamtype: "streamtype"
|
|
1851
1914
|
};
|
|
1852
1915
|
var prependTemplate = Document.createElement("template");
|
|
1853
|
-
prependTemplate.innerHTML =
|
|
1916
|
+
prependTemplate.innerHTML = /*html*/
|
|
1917
|
+
`
|
|
1854
1918
|
<style>
|
|
1855
1919
|
:host {
|
|
1856
1920
|
display: inline-block;
|
|
@@ -1896,7 +1960,10 @@ var MediaThemeElement = class extends GlobalThis.HTMLElement {
|
|
|
1896
1960
|
if (this.mediaController && !((_a2 = this.mediaController) == null ? void 0 : _a2.breakpointsComputed))
|
|
1897
1961
|
return;
|
|
1898
1962
|
if (mutationList.some((mutation) => {
|
|
1899
|
-
const target =
|
|
1963
|
+
const target = (
|
|
1964
|
+
/** @type {HTMLElement} */
|
|
1965
|
+
mutation.target
|
|
1966
|
+
);
|
|
1900
1967
|
if (target === this)
|
|
1901
1968
|
return true;
|
|
1902
1969
|
if (target.localName !== "media-controller")
|
|
@@ -1918,6 +1985,7 @@ var MediaThemeElement = class extends GlobalThis.HTMLElement {
|
|
|
1918
1985
|
this.addEventListener(MediaStateChangeEvents.BREAKPOINTS_COMPUTED, this.render);
|
|
1919
1986
|
__privateMethod(this, _upgradeProperty, upgradeProperty_fn).call(this, "template");
|
|
1920
1987
|
}
|
|
1988
|
+
/** @type {HTMLElement & { breakpointsComputed?: boolean }} */
|
|
1921
1989
|
get mediaController() {
|
|
1922
1990
|
return this.renderRoot.querySelector("media-controller");
|
|
1923
1991
|
}
|
|
@@ -1967,6 +2035,7 @@ var MediaThemeElement = class extends GlobalThis.HTMLElement {
|
|
|
1967
2035
|
this.renderer = new TemplateInstance(
|
|
1968
2036
|
this.template,
|
|
1969
2037
|
this.props,
|
|
2038
|
+
// @ts-ignore
|
|
1970
2039
|
this.constructor.processor
|
|
1971
2040
|
);
|
|
1972
2041
|
this.renderRoot.textContent = "";
|
|
@@ -1998,7 +2067,10 @@ updateTemplate_fn = function() {
|
|
|
1998
2067
|
const templateId = this.getAttribute("template");
|
|
1999
2068
|
if (!templateId || templateId === __privateGet3(this, _prevTemplateId))
|
|
2000
2069
|
return;
|
|
2001
|
-
const rootNode =
|
|
2070
|
+
const rootNode = (
|
|
2071
|
+
/** @type HTMLDocument | ShadowRoot */
|
|
2072
|
+
this.getRootNode()
|
|
2073
|
+
);
|
|
2002
2074
|
const template2 = (_a2 = rootNode == null ? void 0 : rootNode.getElementById) == null ? void 0 : _a2.call(rootNode, templateId);
|
|
2003
2075
|
if (template2) {
|
|
2004
2076
|
__privateSet3(this, _prevTemplateId, templateId);
|
|
@@ -71,10 +71,6 @@ var mediaThemeGerwig = (() => {
|
|
|
71
71
|
--media-control-background: var(--_secondary-color);
|
|
72
72
|
--media-control-hover-background: var(--_accent-color);
|
|
73
73
|
--media-time-buffered-color: rgba(255, 255, 255, 0.4);
|
|
74
|
-
--media-preview-thumbnail-border: 0;
|
|
75
|
-
--media-preview-thumbnail-border-radius: 2px 2px 0 0;
|
|
76
|
-
--media-preview-time-border-radius: 0 0 2px 2px;
|
|
77
|
-
--media-preview-time-margin: 0 0 8px;
|
|
78
74
|
--media-preview-time-text-shadow: none;
|
|
79
75
|
--media-control-height: 14px;
|
|
80
76
|
--media-control-padding: 6px;
|
|
@@ -87,8 +83,6 @@ var mediaThemeGerwig = (() => {
|
|
|
87
83
|
|
|
88
84
|
:host([audio]) {
|
|
89
85
|
--_secondary-color: var(--media-secondary-color, black);
|
|
90
|
-
--media-preview-time-border-radius: 3px;
|
|
91
|
-
--media-preview-time-margin: 0 0 5px;
|
|
92
86
|
--media-preview-time-text-shadow: none;
|
|
93
87
|
}
|
|
94
88
|
|
|
@@ -127,6 +121,8 @@ var mediaThemeGerwig = (() => {
|
|
|
127
121
|
}
|
|
128
122
|
|
|
129
123
|
media-time-range {
|
|
124
|
+
--media-box-padding-left: 6px;
|
|
125
|
+
--media-box-padding-right: 6px;
|
|
130
126
|
--media-range-bar-color: var(--_accent-color);
|
|
131
127
|
--media-time-range-buffered-color: var(--_primary-color);
|
|
132
128
|
--media-range-track-color: transparent;
|
|
@@ -143,41 +139,27 @@ var mediaThemeGerwig = (() => {
|
|
|
143
139
|
--media-range-thumb-transform: scale(0);
|
|
144
140
|
--media-range-thumb-transition: transform 0.3s;
|
|
145
141
|
--media-range-thumb-opacity: 1;
|
|
146
|
-
--media-preview-
|
|
142
|
+
--media-preview-background: var(--_primary-color);
|
|
143
|
+
--media-box-arrow-background: var(--_primary-color);
|
|
147
144
|
--media-preview-thumbnail-border: 5px solid var(--_primary-color);
|
|
148
|
-
--media-preview-
|
|
149
|
-
--media-preview-time-background: var(--_primary-color);
|
|
150
|
-
--media-preview-time-border-radius: 0 0 5px 5px;
|
|
151
|
-
--media-preview-time-margin: 0 0 10px;
|
|
152
|
-
--media-preview-time-padding: 2px 0 6px;
|
|
145
|
+
--media-preview-border-radius: 5px;
|
|
153
146
|
--media-text-color: var(--_text-color);
|
|
154
|
-
--media-preview-thumbnail-max-width: 150px;
|
|
155
|
-
--media-range-track-pointer-border-right: 2px solid #000;
|
|
156
147
|
--media-control-hover-background: transparent;
|
|
157
148
|
color: var(--_accent-color);
|
|
158
149
|
padding: 0 6px;
|
|
159
150
|
}
|
|
160
151
|
|
|
161
152
|
:host([audio]) media-time-range {
|
|
162
|
-
--media-preview-time-
|
|
163
|
-
--media-preview-
|
|
153
|
+
--media-preview-time-padding: 1.5px 6px;
|
|
154
|
+
--media-preview-box-margin: 0 0 -5px;
|
|
164
155
|
}
|
|
165
156
|
|
|
166
157
|
media-time-range:hover {
|
|
167
158
|
--media-range-thumb-transform: scale(1);
|
|
168
159
|
}
|
|
169
160
|
|
|
170
|
-
media-
|
|
171
|
-
|
|
172
|
-
content: '';
|
|
173
|
-
width: 0;
|
|
174
|
-
height: 0;
|
|
175
|
-
border-style: solid;
|
|
176
|
-
border-width: 10px 8.5px 0 8.5px;
|
|
177
|
-
border-color: var(--_primary-color) transparent transparent transparent;
|
|
178
|
-
top: 100%;
|
|
179
|
-
left: 50%;
|
|
180
|
-
transform: translate(-50%, -10px);
|
|
161
|
+
media-preview-thumbnail {
|
|
162
|
+
border-bottom-width: 0;
|
|
181
163
|
}
|
|
182
164
|
|
|
183
165
|
[part~='listbox'] {
|
|
@@ -268,12 +250,20 @@ var mediaThemeGerwig = (() => {
|
|
|
268
250
|
pointer-events: none;
|
|
269
251
|
}
|
|
270
252
|
|
|
253
|
+
media-control-bar {
|
|
254
|
+
--gradient-steps: hsl(0 0% 0% / 0) 0%, hsl(0 0% 0% / 0.013) 8.1%, hsl(0 0% 0% / 0.049) 15.5%,
|
|
255
|
+
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%,
|
|
256
|
+
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%,
|
|
257
|
+
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%,
|
|
258
|
+
hsl(0 0% 0%) 100%;
|
|
259
|
+
}
|
|
260
|
+
|
|
271
261
|
:host([title]:not([audio])) media-control-bar[slot='top-chrome']::before {
|
|
272
262
|
content: '';
|
|
273
263
|
position: absolute;
|
|
274
264
|
width: 100%;
|
|
275
265
|
padding-bottom: min(100px, 25%);
|
|
276
|
-
background: linear-gradient(
|
|
266
|
+
background: linear-gradient(to top, var(--gradient-steps));
|
|
277
267
|
opacity: 0.8;
|
|
278
268
|
pointer-events: none;
|
|
279
269
|
}
|
|
@@ -285,7 +275,7 @@ var mediaThemeGerwig = (() => {
|
|
|
285
275
|
bottom: 0;
|
|
286
276
|
left: 0;
|
|
287
277
|
padding-bottom: min(100px, 25%);
|
|
288
|
-
background: linear-gradient(
|
|
278
|
+
background: linear-gradient(to bottom, var(--gradient-steps));
|
|
289
279
|
opacity: 0.8;
|
|
290
280
|
z-index: 1;
|
|
291
281
|
pointer-events: none;
|
|
@@ -435,7 +425,7 @@ var mediaThemeGerwig = (() => {
|
|
|
435
425
|
}
|
|
436
426
|
|
|
437
427
|
/* Intentionally don't target the div for transition but the children
|
|
438
|
-
|
|
428
|
+
of the div. Prevents messing with media-chrome's autohide feature. */
|
|
439
429
|
media-loading-indicator + div * {
|
|
440
430
|
transition: opacity 0.15s;
|
|
441
431
|
opacity: 1;
|
|
@@ -832,7 +822,12 @@ var mediaThemeGerwig = (() => {
|
|
|
832
822
|
</template>
|
|
833
823
|
|
|
834
824
|
<template partial="TimeRange">
|
|
835
|
-
<media-time-range part="bottom time range" disabled="{{disabled}}" aria-disabled="{{disabled}}"
|
|
825
|
+
<media-time-range part="bottom time range" disabled="{{disabled}}" aria-disabled="{{disabled}}">
|
|
826
|
+
<media-preview-thumbnail slot="preview"></media-preview-thumbnail>
|
|
827
|
+
<media-preview-chapter-display slot="preview"></media-preview-chapter-display>
|
|
828
|
+
<media-preview-time-display slot="preview"></media-preview-time-display>
|
|
829
|
+
<div slot="preview" part="arrow"></div>
|
|
830
|
+
</media-time-range>
|
|
836
831
|
</template>
|
|
837
832
|
|
|
838
833
|
<template partial="AudioTrackSelect">
|
|
@@ -1129,6 +1124,7 @@ var mediaThemeGerwig = (() => {
|
|
|
1129
1124
|
MEDIA_PREVIEW_TIME: "mediaPreviewTime",
|
|
1130
1125
|
MEDIA_PREVIEW_IMAGE: "mediaPreviewImage",
|
|
1131
1126
|
MEDIA_PREVIEW_COORDS: "mediaPreviewCoords",
|
|
1127
|
+
MEDIA_PREVIEW_CHAPTER: "mediaPreviewChapter",
|
|
1132
1128
|
MEDIA_LOADING: "mediaLoading",
|
|
1133
1129
|
MEDIA_BUFFERED: "mediaBuffered",
|
|
1134
1130
|
MEDIA_STREAM_TYPE: "mediaStreamType",
|
|
@@ -1137,23 +1133,38 @@ var mediaThemeGerwig = (() => {
|
|
|
1137
1133
|
MEDIA_RENDITION_LIST: "mediaRenditionList",
|
|
1138
1134
|
MEDIA_RENDITION_SELECTED: "mediaRenditionSelected",
|
|
1139
1135
|
MEDIA_AUDIO_TRACK_LIST: "mediaAudioTrackList",
|
|
1140
|
-
MEDIA_AUDIO_TRACK_ENABLED: "mediaAudioTrackEnabled"
|
|
1136
|
+
MEDIA_AUDIO_TRACK_ENABLED: "mediaAudioTrackEnabled",
|
|
1137
|
+
MEDIA_CHAPTERS_CUES: "mediaChaptersCues"
|
|
1141
1138
|
};
|
|
1142
|
-
var MediaUIPropsEntries =
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
(
|
|
1149
|
-
dictObj[key]
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1139
|
+
var MediaUIPropsEntries = (
|
|
1140
|
+
/** @type {[keyof MediaUIProps, string][]} */
|
|
1141
|
+
Object.entries(MediaUIProps)
|
|
1142
|
+
);
|
|
1143
|
+
var MediaUIAttributes = (
|
|
1144
|
+
/** @type {{ [k in keyof MediaUIProps]: string }} */
|
|
1145
|
+
MediaUIPropsEntries.reduce(
|
|
1146
|
+
(dictObj, [key, propName]) => {
|
|
1147
|
+
dictObj[key] = `${propName.toLowerCase()}`;
|
|
1148
|
+
return dictObj;
|
|
1149
|
+
},
|
|
1150
|
+
/** @type {Partial<{ [k in keyof MediaUIProps]: string }>} */
|
|
1151
|
+
{}
|
|
1152
|
+
)
|
|
1153
|
+
);
|
|
1154
|
+
var MediaStateChangeEvents = (
|
|
1155
|
+
/** @type {{ [k in keyof MediaUIProps | 'USER_INACTIVE' | 'BREAKPOINTS_CHANGE' | 'BREAKPOINTS_COMPUTED']: string }} */
|
|
1156
|
+
MediaUIPropsEntries.reduce(
|
|
1157
|
+
(dictObj, [key, propName]) => {
|
|
1158
|
+
dictObj[key] = `${propName.toLowerCase()}`;
|
|
1159
|
+
return dictObj;
|
|
1160
|
+
},
|
|
1161
|
+
/** @type {Partial<{ [k in keyof MediaUIProps | 'USER_INACTIVE' | 'BREAKPOINTS_CHANGE' | 'BREAKPOINTS_COMPUTED']: string }>} */
|
|
1162
|
+
{
|
|
1163
|
+
USER_INACTIVE: "userinactivechange",
|
|
1164
|
+
BREAKPOINTS_CHANGE: "breakpointchange",
|
|
1165
|
+
BREAKPOINTS_COMPUTED: "breakpointscomputed"
|
|
1166
|
+
}
|
|
1167
|
+
)
|
|
1157
1168
|
);
|
|
1158
1169
|
var StateChangeEventToAttributeMap = Object.entries(
|
|
1159
1170
|
MediaStateChangeEvents
|
|
@@ -1190,6 +1201,8 @@ var mediaThemeGerwig = (() => {
|
|
|
1190
1201
|
return true;
|
|
1191
1202
|
}
|
|
1192
1203
|
};
|
|
1204
|
+
var Node = class extends EventTarget2 {
|
|
1205
|
+
};
|
|
1193
1206
|
var ResizeObserver = class {
|
|
1194
1207
|
observe() {
|
|
1195
1208
|
}
|
|
@@ -1202,15 +1215,28 @@ var mediaThemeGerwig = (() => {
|
|
|
1202
1215
|
createElement: function() {
|
|
1203
1216
|
return new globalThisShim2.HTMLElement();
|
|
1204
1217
|
},
|
|
1218
|
+
createElementNS: function() {
|
|
1219
|
+
return new globalThisShim2.HTMLElement();
|
|
1220
|
+
},
|
|
1205
1221
|
addEventListener() {
|
|
1206
1222
|
},
|
|
1207
1223
|
removeEventListener() {
|
|
1224
|
+
},
|
|
1225
|
+
/**
|
|
1226
|
+
*
|
|
1227
|
+
* @param {Event} event
|
|
1228
|
+
* @returns {boolean}
|
|
1229
|
+
*/
|
|
1230
|
+
dispatchEvent(event) {
|
|
1231
|
+
return false;
|
|
1208
1232
|
}
|
|
1233
|
+
// eslint-disable-line no-unused-vars
|
|
1209
1234
|
};
|
|
1210
1235
|
var globalThisShim2 = {
|
|
1211
1236
|
ResizeObserver,
|
|
1212
1237
|
document: documentShim,
|
|
1213
|
-
|
|
1238
|
+
Node,
|
|
1239
|
+
HTMLElement: class HTMLElement2 extends Node {
|
|
1214
1240
|
},
|
|
1215
1241
|
DocumentFragment: class DocumentFragment2 extends EventTarget2 {
|
|
1216
1242
|
},
|
|
@@ -1222,12 +1248,47 @@ var mediaThemeGerwig = (() => {
|
|
|
1222
1248
|
whenDefined: function() {
|
|
1223
1249
|
}
|
|
1224
1250
|
},
|
|
1251
|
+
localStorage: {
|
|
1252
|
+
/**
|
|
1253
|
+
* @param {string} key
|
|
1254
|
+
* @returns {string|null}
|
|
1255
|
+
*/
|
|
1256
|
+
getItem(key) {
|
|
1257
|
+
return null;
|
|
1258
|
+
},
|
|
1259
|
+
// eslint-disable-line no-unused-vars
|
|
1260
|
+
/**
|
|
1261
|
+
* @param {string} key
|
|
1262
|
+
* @param {string} value
|
|
1263
|
+
*/
|
|
1264
|
+
setItem(key, value) {
|
|
1265
|
+
},
|
|
1266
|
+
// eslint-disable-line no-unused-vars
|
|
1267
|
+
/**
|
|
1268
|
+
* @param {string} key
|
|
1269
|
+
*/
|
|
1270
|
+
removeItem(key) {
|
|
1271
|
+
}
|
|
1272
|
+
// eslint-disable-line no-unused-vars
|
|
1273
|
+
},
|
|
1225
1274
|
CustomEvent: function CustomEvent2() {
|
|
1226
1275
|
},
|
|
1227
1276
|
getComputedStyle: function() {
|
|
1228
1277
|
},
|
|
1229
1278
|
navigator: {
|
|
1230
|
-
languages: []
|
|
1279
|
+
languages: [],
|
|
1280
|
+
get userAgent() {
|
|
1281
|
+
return "";
|
|
1282
|
+
}
|
|
1283
|
+
},
|
|
1284
|
+
/**
|
|
1285
|
+
* @param {string} media
|
|
1286
|
+
*/
|
|
1287
|
+
matchMedia(media) {
|
|
1288
|
+
return {
|
|
1289
|
+
matches: false,
|
|
1290
|
+
media
|
|
1291
|
+
};
|
|
1231
1292
|
}
|
|
1232
1293
|
};
|
|
1233
1294
|
var isServer2 = typeof window === "undefined" || typeof window.customElements === "undefined";
|
|
@@ -1466,6 +1527,7 @@ var mediaThemeGerwig = (() => {
|
|
|
1466
1527
|
);
|
|
1467
1528
|
}
|
|
1468
1529
|
}
|
|
1530
|
+
/** @type boolean */
|
|
1469
1531
|
get booleanValue() {
|
|
1470
1532
|
return __privateGet2(this, _element).hasAttributeNS(
|
|
1471
1533
|
__privateGet2(this, _namespaceURI),
|
|
@@ -1507,6 +1569,7 @@ var mediaThemeGerwig = (() => {
|
|
|
1507
1569
|
get previousSibling() {
|
|
1508
1570
|
return __privateGet2(this, _nodes)[0].previousSibling;
|
|
1509
1571
|
}
|
|
1572
|
+
// FIXME: not sure why do we need string serialization here? Just because parent class has type DOMString?
|
|
1510
1573
|
get value() {
|
|
1511
1574
|
return __privateGet2(this, _nodes).map((node) => node.textContent).join("");
|
|
1512
1575
|
}
|
|
@@ -1850,7 +1913,8 @@ var mediaThemeGerwig = (() => {
|
|
|
1850
1913
|
mediastreamtype: "streamtype"
|
|
1851
1914
|
};
|
|
1852
1915
|
var prependTemplate = Document.createElement("template");
|
|
1853
|
-
prependTemplate.innerHTML =
|
|
1916
|
+
prependTemplate.innerHTML = /*html*/
|
|
1917
|
+
`
|
|
1854
1918
|
<style>
|
|
1855
1919
|
:host {
|
|
1856
1920
|
display: inline-block;
|
|
@@ -1896,7 +1960,10 @@ var mediaThemeGerwig = (() => {
|
|
|
1896
1960
|
if (this.mediaController && !((_a2 = this.mediaController) == null ? void 0 : _a2.breakpointsComputed))
|
|
1897
1961
|
return;
|
|
1898
1962
|
if (mutationList.some((mutation) => {
|
|
1899
|
-
const target =
|
|
1963
|
+
const target = (
|
|
1964
|
+
/** @type {HTMLElement} */
|
|
1965
|
+
mutation.target
|
|
1966
|
+
);
|
|
1900
1967
|
if (target === this)
|
|
1901
1968
|
return true;
|
|
1902
1969
|
if (target.localName !== "media-controller")
|
|
@@ -1918,6 +1985,7 @@ var mediaThemeGerwig = (() => {
|
|
|
1918
1985
|
this.addEventListener(MediaStateChangeEvents.BREAKPOINTS_COMPUTED, this.render);
|
|
1919
1986
|
__privateMethod(this, _upgradeProperty, upgradeProperty_fn).call(this, "template");
|
|
1920
1987
|
}
|
|
1988
|
+
/** @type {HTMLElement & { breakpointsComputed?: boolean }} */
|
|
1921
1989
|
get mediaController() {
|
|
1922
1990
|
return this.renderRoot.querySelector("media-controller");
|
|
1923
1991
|
}
|
|
@@ -1967,6 +2035,7 @@ var mediaThemeGerwig = (() => {
|
|
|
1967
2035
|
this.renderer = new TemplateInstance(
|
|
1968
2036
|
this.template,
|
|
1969
2037
|
this.props,
|
|
2038
|
+
// @ts-ignore
|
|
1970
2039
|
this.constructor.processor
|
|
1971
2040
|
);
|
|
1972
2041
|
this.renderRoot.textContent = "";
|
|
@@ -1998,7 +2067,10 @@ var mediaThemeGerwig = (() => {
|
|
|
1998
2067
|
const templateId = this.getAttribute("template");
|
|
1999
2068
|
if (!templateId || templateId === __privateGet3(this, _prevTemplateId))
|
|
2000
2069
|
return;
|
|
2001
|
-
const rootNode =
|
|
2070
|
+
const rootNode = (
|
|
2071
|
+
/** @type HTMLDocument | ShadowRoot */
|
|
2072
|
+
this.getRootNode()
|
|
2073
|
+
);
|
|
2002
2074
|
const template2 = (_a2 = rootNode == null ? void 0 : rootNode.getElementById) == null ? void 0 : _a2.call(rootNode, templateId);
|
|
2003
2075
|
if (template2) {
|
|
2004
2076
|
__privateSet3(this, _prevTemplateId, templateId);
|