@mux/mux-player 2.3.3 → 2.4.0
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/dist/index.cjs.js +825 -377
- package/dist/index.mjs +37 -40
- package/dist/mux-player.js +815 -367
- package/dist/mux-player.mjs +815 -367
- package/dist/themes/classic/index.cjs.js +84 -21
- package/dist/themes/classic/index.js +84 -21
- package/dist/themes/classic/index.mjs +84 -21
- package/dist/themes/gerwig/index.cjs.js +110 -50
- package/dist/themes/gerwig/index.js +110 -50
- package/dist/themes/gerwig/index.mjs +110 -50
- package/dist/themes/microvideo/index.cjs.js +90 -23
- package/dist/themes/microvideo/index.js +90 -23
- package/dist/themes/microvideo/index.mjs +90 -23
- package/dist/themes/minimal/index.cjs.js +86 -21
- package/dist/themes/minimal/index.js +86 -21
- package/dist/themes/minimal/index.mjs +86 -21
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
|
@@ -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">
|
|
@@ -922,6 +917,8 @@ var gerwig_default = `<template id="media-theme-gerwig">
|
|
|
922
917
|
noautoseektolive="{{noautoseektolive}}"
|
|
923
918
|
defaultsubtitles="{{defaultsubtitles}}"
|
|
924
919
|
defaultduration="{{defaultduration ?? false}}"
|
|
920
|
+
keyboardforwardseekoffset="{{forwardseekoffset}}"
|
|
921
|
+
keyboardbackwardseekoffset="{{backwardseekoffset}}"
|
|
925
922
|
exportparts="layer, media-layer, poster-layer, vertical-layer, centered-layer, gesture-layer"
|
|
926
923
|
style="--_pre-playback-place:{{preplaybackplace ?? 'center'}}"
|
|
927
924
|
>
|
|
@@ -1141,21 +1138,35 @@ var MediaUIProps = {
|
|
|
1141
1138
|
MEDIA_AUDIO_TRACK_ENABLED: "mediaAudioTrackEnabled",
|
|
1142
1139
|
MEDIA_CHAPTERS_CUES: "mediaChaptersCues"
|
|
1143
1140
|
};
|
|
1144
|
-
var MediaUIPropsEntries =
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
(
|
|
1151
|
-
dictObj[key]
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1141
|
+
var MediaUIPropsEntries = (
|
|
1142
|
+
/** @type {[keyof MediaUIProps, string][]} */
|
|
1143
|
+
Object.entries(MediaUIProps)
|
|
1144
|
+
);
|
|
1145
|
+
var MediaUIAttributes = (
|
|
1146
|
+
/** @type {{ [k in keyof MediaUIProps]: string }} */
|
|
1147
|
+
MediaUIPropsEntries.reduce(
|
|
1148
|
+
(dictObj, [key, propName]) => {
|
|
1149
|
+
dictObj[key] = `${propName.toLowerCase()}`;
|
|
1150
|
+
return dictObj;
|
|
1151
|
+
},
|
|
1152
|
+
/** @type {Partial<{ [k in keyof MediaUIProps]: string }>} */
|
|
1153
|
+
{}
|
|
1154
|
+
)
|
|
1155
|
+
);
|
|
1156
|
+
var MediaStateChangeEvents = (
|
|
1157
|
+
/** @type {{ [k in keyof MediaUIProps | 'USER_INACTIVE' | 'BREAKPOINTS_CHANGE' | 'BREAKPOINTS_COMPUTED']: string }} */
|
|
1158
|
+
MediaUIPropsEntries.reduce(
|
|
1159
|
+
(dictObj, [key, propName]) => {
|
|
1160
|
+
dictObj[key] = `${propName.toLowerCase()}`;
|
|
1161
|
+
return dictObj;
|
|
1162
|
+
},
|
|
1163
|
+
/** @type {Partial<{ [k in keyof MediaUIProps | 'USER_INACTIVE' | 'BREAKPOINTS_CHANGE' | 'BREAKPOINTS_COMPUTED']: string }>} */
|
|
1164
|
+
{
|
|
1165
|
+
USER_INACTIVE: "userinactivechange",
|
|
1166
|
+
BREAKPOINTS_CHANGE: "breakpointchange",
|
|
1167
|
+
BREAKPOINTS_COMPUTED: "breakpointscomputed"
|
|
1168
|
+
}
|
|
1169
|
+
)
|
|
1159
1170
|
);
|
|
1160
1171
|
var StateChangeEventToAttributeMap = Object.entries(
|
|
1161
1172
|
MediaStateChangeEvents
|
|
@@ -1192,6 +1203,8 @@ var EventTarget2 = class {
|
|
|
1192
1203
|
return true;
|
|
1193
1204
|
}
|
|
1194
1205
|
};
|
|
1206
|
+
var Node = class extends EventTarget2 {
|
|
1207
|
+
};
|
|
1195
1208
|
var ResizeObserver = class {
|
|
1196
1209
|
observe() {
|
|
1197
1210
|
}
|
|
@@ -1210,12 +1223,22 @@ var documentShim = {
|
|
|
1210
1223
|
addEventListener() {
|
|
1211
1224
|
},
|
|
1212
1225
|
removeEventListener() {
|
|
1226
|
+
},
|
|
1227
|
+
/**
|
|
1228
|
+
*
|
|
1229
|
+
* @param {Event} event
|
|
1230
|
+
* @returns {boolean}
|
|
1231
|
+
*/
|
|
1232
|
+
dispatchEvent(event) {
|
|
1233
|
+
return false;
|
|
1213
1234
|
}
|
|
1235
|
+
// eslint-disable-line no-unused-vars
|
|
1214
1236
|
};
|
|
1215
1237
|
var globalThisShim2 = {
|
|
1216
1238
|
ResizeObserver,
|
|
1217
1239
|
document: documentShim,
|
|
1218
|
-
|
|
1240
|
+
Node,
|
|
1241
|
+
HTMLElement: class HTMLElement2 extends Node {
|
|
1219
1242
|
},
|
|
1220
1243
|
DocumentFragment: class DocumentFragment2 extends EventTarget2 {
|
|
1221
1244
|
},
|
|
@@ -1227,6 +1250,29 @@ var globalThisShim2 = {
|
|
|
1227
1250
|
whenDefined: function() {
|
|
1228
1251
|
}
|
|
1229
1252
|
},
|
|
1253
|
+
localStorage: {
|
|
1254
|
+
/**
|
|
1255
|
+
* @param {string} key
|
|
1256
|
+
* @returns {string|null}
|
|
1257
|
+
*/
|
|
1258
|
+
getItem(key) {
|
|
1259
|
+
return null;
|
|
1260
|
+
},
|
|
1261
|
+
// eslint-disable-line no-unused-vars
|
|
1262
|
+
/**
|
|
1263
|
+
* @param {string} key
|
|
1264
|
+
* @param {string} value
|
|
1265
|
+
*/
|
|
1266
|
+
setItem(key, value) {
|
|
1267
|
+
},
|
|
1268
|
+
// eslint-disable-line no-unused-vars
|
|
1269
|
+
/**
|
|
1270
|
+
* @param {string} key
|
|
1271
|
+
*/
|
|
1272
|
+
removeItem(key) {
|
|
1273
|
+
}
|
|
1274
|
+
// eslint-disable-line no-unused-vars
|
|
1275
|
+
},
|
|
1230
1276
|
CustomEvent: function CustomEvent2() {
|
|
1231
1277
|
},
|
|
1232
1278
|
getComputedStyle: function() {
|
|
@@ -1237,6 +1283,9 @@ var globalThisShim2 = {
|
|
|
1237
1283
|
return "";
|
|
1238
1284
|
}
|
|
1239
1285
|
},
|
|
1286
|
+
/**
|
|
1287
|
+
* @param {string} media
|
|
1288
|
+
*/
|
|
1240
1289
|
matchMedia(media) {
|
|
1241
1290
|
return {
|
|
1242
1291
|
matches: false,
|
|
@@ -1480,6 +1529,7 @@ var AttrPart = class extends Part {
|
|
|
1480
1529
|
);
|
|
1481
1530
|
}
|
|
1482
1531
|
}
|
|
1532
|
+
/** @type boolean */
|
|
1483
1533
|
get booleanValue() {
|
|
1484
1534
|
return __privateGet2(this, _element).hasAttributeNS(
|
|
1485
1535
|
__privateGet2(this, _namespaceURI),
|
|
@@ -1521,6 +1571,7 @@ var ChildNodePart = class extends Part {
|
|
|
1521
1571
|
get previousSibling() {
|
|
1522
1572
|
return __privateGet2(this, _nodes)[0].previousSibling;
|
|
1523
1573
|
}
|
|
1574
|
+
// FIXME: not sure why do we need string serialization here? Just because parent class has type DOMString?
|
|
1524
1575
|
get value() {
|
|
1525
1576
|
return __privateGet2(this, _nodes).map((node) => node.textContent).join("");
|
|
1526
1577
|
}
|
|
@@ -1864,7 +1915,8 @@ var observedMediaAttributes = {
|
|
|
1864
1915
|
mediastreamtype: "streamtype"
|
|
1865
1916
|
};
|
|
1866
1917
|
var prependTemplate = Document.createElement("template");
|
|
1867
|
-
prependTemplate.innerHTML =
|
|
1918
|
+
prependTemplate.innerHTML = /*html*/
|
|
1919
|
+
`
|
|
1868
1920
|
<style>
|
|
1869
1921
|
:host {
|
|
1870
1922
|
display: inline-block;
|
|
@@ -1910,7 +1962,10 @@ var MediaThemeElement = class extends GlobalThis.HTMLElement {
|
|
|
1910
1962
|
if (this.mediaController && !((_a2 = this.mediaController) == null ? void 0 : _a2.breakpointsComputed))
|
|
1911
1963
|
return;
|
|
1912
1964
|
if (mutationList.some((mutation) => {
|
|
1913
|
-
const target =
|
|
1965
|
+
const target = (
|
|
1966
|
+
/** @type {HTMLElement} */
|
|
1967
|
+
mutation.target
|
|
1968
|
+
);
|
|
1914
1969
|
if (target === this)
|
|
1915
1970
|
return true;
|
|
1916
1971
|
if (target.localName !== "media-controller")
|
|
@@ -1932,6 +1987,7 @@ var MediaThemeElement = class extends GlobalThis.HTMLElement {
|
|
|
1932
1987
|
this.addEventListener(MediaStateChangeEvents.BREAKPOINTS_COMPUTED, this.render);
|
|
1933
1988
|
__privateMethod(this, _upgradeProperty, upgradeProperty_fn).call(this, "template");
|
|
1934
1989
|
}
|
|
1990
|
+
/** @type {HTMLElement & { breakpointsComputed?: boolean }} */
|
|
1935
1991
|
get mediaController() {
|
|
1936
1992
|
return this.renderRoot.querySelector("media-controller");
|
|
1937
1993
|
}
|
|
@@ -1981,6 +2037,7 @@ var MediaThemeElement = class extends GlobalThis.HTMLElement {
|
|
|
1981
2037
|
this.renderer = new TemplateInstance(
|
|
1982
2038
|
this.template,
|
|
1983
2039
|
this.props,
|
|
2040
|
+
// @ts-ignore
|
|
1984
2041
|
this.constructor.processor
|
|
1985
2042
|
);
|
|
1986
2043
|
this.renderRoot.textContent = "";
|
|
@@ -2012,7 +2069,10 @@ updateTemplate_fn = function() {
|
|
|
2012
2069
|
const templateId = this.getAttribute("template");
|
|
2013
2070
|
if (!templateId || templateId === __privateGet3(this, _prevTemplateId))
|
|
2014
2071
|
return;
|
|
2015
|
-
const rootNode =
|
|
2072
|
+
const rootNode = (
|
|
2073
|
+
/** @type HTMLDocument | ShadowRoot */
|
|
2074
|
+
this.getRootNode()
|
|
2075
|
+
);
|
|
2016
2076
|
const template2 = (_a2 = rootNode == null ? void 0 : rootNode.getElementById) == null ? void 0 : _a2.call(rootNode, templateId);
|
|
2017
2077
|
if (template2) {
|
|
2018
2078
|
__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">
|
|
@@ -922,6 +917,8 @@ var mediaThemeGerwig = (() => {
|
|
|
922
917
|
noautoseektolive="{{noautoseektolive}}"
|
|
923
918
|
defaultsubtitles="{{defaultsubtitles}}"
|
|
924
919
|
defaultduration="{{defaultduration ?? false}}"
|
|
920
|
+
keyboardforwardseekoffset="{{forwardseekoffset}}"
|
|
921
|
+
keyboardbackwardseekoffset="{{backwardseekoffset}}"
|
|
925
922
|
exportparts="layer, media-layer, poster-layer, vertical-layer, centered-layer, gesture-layer"
|
|
926
923
|
style="--_pre-playback-place:{{preplaybackplace ?? 'center'}}"
|
|
927
924
|
>
|
|
@@ -1141,21 +1138,35 @@ var mediaThemeGerwig = (() => {
|
|
|
1141
1138
|
MEDIA_AUDIO_TRACK_ENABLED: "mediaAudioTrackEnabled",
|
|
1142
1139
|
MEDIA_CHAPTERS_CUES: "mediaChaptersCues"
|
|
1143
1140
|
};
|
|
1144
|
-
var MediaUIPropsEntries =
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
(
|
|
1151
|
-
dictObj[key]
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1141
|
+
var MediaUIPropsEntries = (
|
|
1142
|
+
/** @type {[keyof MediaUIProps, string][]} */
|
|
1143
|
+
Object.entries(MediaUIProps)
|
|
1144
|
+
);
|
|
1145
|
+
var MediaUIAttributes = (
|
|
1146
|
+
/** @type {{ [k in keyof MediaUIProps]: string }} */
|
|
1147
|
+
MediaUIPropsEntries.reduce(
|
|
1148
|
+
(dictObj, [key, propName]) => {
|
|
1149
|
+
dictObj[key] = `${propName.toLowerCase()}`;
|
|
1150
|
+
return dictObj;
|
|
1151
|
+
},
|
|
1152
|
+
/** @type {Partial<{ [k in keyof MediaUIProps]: string }>} */
|
|
1153
|
+
{}
|
|
1154
|
+
)
|
|
1155
|
+
);
|
|
1156
|
+
var MediaStateChangeEvents = (
|
|
1157
|
+
/** @type {{ [k in keyof MediaUIProps | 'USER_INACTIVE' | 'BREAKPOINTS_CHANGE' | 'BREAKPOINTS_COMPUTED']: string }} */
|
|
1158
|
+
MediaUIPropsEntries.reduce(
|
|
1159
|
+
(dictObj, [key, propName]) => {
|
|
1160
|
+
dictObj[key] = `${propName.toLowerCase()}`;
|
|
1161
|
+
return dictObj;
|
|
1162
|
+
},
|
|
1163
|
+
/** @type {Partial<{ [k in keyof MediaUIProps | 'USER_INACTIVE' | 'BREAKPOINTS_CHANGE' | 'BREAKPOINTS_COMPUTED']: string }>} */
|
|
1164
|
+
{
|
|
1165
|
+
USER_INACTIVE: "userinactivechange",
|
|
1166
|
+
BREAKPOINTS_CHANGE: "breakpointchange",
|
|
1167
|
+
BREAKPOINTS_COMPUTED: "breakpointscomputed"
|
|
1168
|
+
}
|
|
1169
|
+
)
|
|
1159
1170
|
);
|
|
1160
1171
|
var StateChangeEventToAttributeMap = Object.entries(
|
|
1161
1172
|
MediaStateChangeEvents
|
|
@@ -1192,6 +1203,8 @@ var mediaThemeGerwig = (() => {
|
|
|
1192
1203
|
return true;
|
|
1193
1204
|
}
|
|
1194
1205
|
};
|
|
1206
|
+
var Node = class extends EventTarget2 {
|
|
1207
|
+
};
|
|
1195
1208
|
var ResizeObserver = class {
|
|
1196
1209
|
observe() {
|
|
1197
1210
|
}
|
|
@@ -1210,12 +1223,22 @@ var mediaThemeGerwig = (() => {
|
|
|
1210
1223
|
addEventListener() {
|
|
1211
1224
|
},
|
|
1212
1225
|
removeEventListener() {
|
|
1226
|
+
},
|
|
1227
|
+
/**
|
|
1228
|
+
*
|
|
1229
|
+
* @param {Event} event
|
|
1230
|
+
* @returns {boolean}
|
|
1231
|
+
*/
|
|
1232
|
+
dispatchEvent(event) {
|
|
1233
|
+
return false;
|
|
1213
1234
|
}
|
|
1235
|
+
// eslint-disable-line no-unused-vars
|
|
1214
1236
|
};
|
|
1215
1237
|
var globalThisShim2 = {
|
|
1216
1238
|
ResizeObserver,
|
|
1217
1239
|
document: documentShim,
|
|
1218
|
-
|
|
1240
|
+
Node,
|
|
1241
|
+
HTMLElement: class HTMLElement2 extends Node {
|
|
1219
1242
|
},
|
|
1220
1243
|
DocumentFragment: class DocumentFragment2 extends EventTarget2 {
|
|
1221
1244
|
},
|
|
@@ -1227,6 +1250,29 @@ var mediaThemeGerwig = (() => {
|
|
|
1227
1250
|
whenDefined: function() {
|
|
1228
1251
|
}
|
|
1229
1252
|
},
|
|
1253
|
+
localStorage: {
|
|
1254
|
+
/**
|
|
1255
|
+
* @param {string} key
|
|
1256
|
+
* @returns {string|null}
|
|
1257
|
+
*/
|
|
1258
|
+
getItem(key) {
|
|
1259
|
+
return null;
|
|
1260
|
+
},
|
|
1261
|
+
// eslint-disable-line no-unused-vars
|
|
1262
|
+
/**
|
|
1263
|
+
* @param {string} key
|
|
1264
|
+
* @param {string} value
|
|
1265
|
+
*/
|
|
1266
|
+
setItem(key, value) {
|
|
1267
|
+
},
|
|
1268
|
+
// eslint-disable-line no-unused-vars
|
|
1269
|
+
/**
|
|
1270
|
+
* @param {string} key
|
|
1271
|
+
*/
|
|
1272
|
+
removeItem(key) {
|
|
1273
|
+
}
|
|
1274
|
+
// eslint-disable-line no-unused-vars
|
|
1275
|
+
},
|
|
1230
1276
|
CustomEvent: function CustomEvent2() {
|
|
1231
1277
|
},
|
|
1232
1278
|
getComputedStyle: function() {
|
|
@@ -1237,6 +1283,9 @@ var mediaThemeGerwig = (() => {
|
|
|
1237
1283
|
return "";
|
|
1238
1284
|
}
|
|
1239
1285
|
},
|
|
1286
|
+
/**
|
|
1287
|
+
* @param {string} media
|
|
1288
|
+
*/
|
|
1240
1289
|
matchMedia(media) {
|
|
1241
1290
|
return {
|
|
1242
1291
|
matches: false,
|
|
@@ -1480,6 +1529,7 @@ var mediaThemeGerwig = (() => {
|
|
|
1480
1529
|
);
|
|
1481
1530
|
}
|
|
1482
1531
|
}
|
|
1532
|
+
/** @type boolean */
|
|
1483
1533
|
get booleanValue() {
|
|
1484
1534
|
return __privateGet2(this, _element).hasAttributeNS(
|
|
1485
1535
|
__privateGet2(this, _namespaceURI),
|
|
@@ -1521,6 +1571,7 @@ var mediaThemeGerwig = (() => {
|
|
|
1521
1571
|
get previousSibling() {
|
|
1522
1572
|
return __privateGet2(this, _nodes)[0].previousSibling;
|
|
1523
1573
|
}
|
|
1574
|
+
// FIXME: not sure why do we need string serialization here? Just because parent class has type DOMString?
|
|
1524
1575
|
get value() {
|
|
1525
1576
|
return __privateGet2(this, _nodes).map((node) => node.textContent).join("");
|
|
1526
1577
|
}
|
|
@@ -1864,7 +1915,8 @@ var mediaThemeGerwig = (() => {
|
|
|
1864
1915
|
mediastreamtype: "streamtype"
|
|
1865
1916
|
};
|
|
1866
1917
|
var prependTemplate = Document.createElement("template");
|
|
1867
|
-
prependTemplate.innerHTML =
|
|
1918
|
+
prependTemplate.innerHTML = /*html*/
|
|
1919
|
+
`
|
|
1868
1920
|
<style>
|
|
1869
1921
|
:host {
|
|
1870
1922
|
display: inline-block;
|
|
@@ -1910,7 +1962,10 @@ var mediaThemeGerwig = (() => {
|
|
|
1910
1962
|
if (this.mediaController && !((_a2 = this.mediaController) == null ? void 0 : _a2.breakpointsComputed))
|
|
1911
1963
|
return;
|
|
1912
1964
|
if (mutationList.some((mutation) => {
|
|
1913
|
-
const target =
|
|
1965
|
+
const target = (
|
|
1966
|
+
/** @type {HTMLElement} */
|
|
1967
|
+
mutation.target
|
|
1968
|
+
);
|
|
1914
1969
|
if (target === this)
|
|
1915
1970
|
return true;
|
|
1916
1971
|
if (target.localName !== "media-controller")
|
|
@@ -1932,6 +1987,7 @@ var mediaThemeGerwig = (() => {
|
|
|
1932
1987
|
this.addEventListener(MediaStateChangeEvents.BREAKPOINTS_COMPUTED, this.render);
|
|
1933
1988
|
__privateMethod(this, _upgradeProperty, upgradeProperty_fn).call(this, "template");
|
|
1934
1989
|
}
|
|
1990
|
+
/** @type {HTMLElement & { breakpointsComputed?: boolean }} */
|
|
1935
1991
|
get mediaController() {
|
|
1936
1992
|
return this.renderRoot.querySelector("media-controller");
|
|
1937
1993
|
}
|
|
@@ -1981,6 +2037,7 @@ var mediaThemeGerwig = (() => {
|
|
|
1981
2037
|
this.renderer = new TemplateInstance(
|
|
1982
2038
|
this.template,
|
|
1983
2039
|
this.props,
|
|
2040
|
+
// @ts-ignore
|
|
1984
2041
|
this.constructor.processor
|
|
1985
2042
|
);
|
|
1986
2043
|
this.renderRoot.textContent = "";
|
|
@@ -2012,7 +2069,10 @@ var mediaThemeGerwig = (() => {
|
|
|
2012
2069
|
const templateId = this.getAttribute("template");
|
|
2013
2070
|
if (!templateId || templateId === __privateGet3(this, _prevTemplateId))
|
|
2014
2071
|
return;
|
|
2015
|
-
const rootNode =
|
|
2072
|
+
const rootNode = (
|
|
2073
|
+
/** @type HTMLDocument | ShadowRoot */
|
|
2074
|
+
this.getRootNode()
|
|
2075
|
+
);
|
|
2016
2076
|
const template2 = (_a2 = rootNode == null ? void 0 : rootNode.getElementById) == null ? void 0 : _a2.call(rootNode, templateId);
|
|
2017
2077
|
if (template2) {
|
|
2018
2078
|
__privateSet3(this, _prevTemplateId, templateId);
|