@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.
@@ -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-thumbnail-background: var(--_primary-color);
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-thumbnail-border-radius: 5px 5px 0 0;
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-border-radius: 5px;
138
- --media-preview-time-padding: 5px;
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-time-range::part(preview-box)::after {
146
- position: absolute;
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(#000, transparent);
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(transparent, #000);
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
- of the div. Prevents messing with media-chrome's autohide feature. */
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}}"></media-time-range>
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 = Object.entries(MediaUIProps);
1118
- var MediaUIAttributes = MediaUIPropsEntries.reduce((dictObj, [key, propName]) => {
1119
- dictObj[key] = `${propName.toLowerCase()}`;
1120
- return dictObj;
1121
- }, {});
1122
- var MediaStateChangeEvents = MediaUIPropsEntries.reduce(
1123
- (dictObj, [key, propName]) => {
1124
- dictObj[key] = `${propName.toLowerCase()}`;
1125
- return dictObj;
1126
- },
1127
- {
1128
- USER_INACTIVE: "userinactivechange",
1129
- BREAKPOINTS_CHANGE: "breakpointchange",
1130
- BREAKPOINTS_COMPUTED: "breakpointscomputed"
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
- HTMLElement: class HTMLElement2 extends EventTarget2 {
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 = mutation.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 = this.getRootNode();
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
- HTMLElement: class HTMLElement extends EventTarget {
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 = Object.entries(MediaUIProps);
114
- var MediaUIAttributes = MediaUIPropsEntries.reduce((dictObj, [key, propName]) => {
115
- dictObj[key] = `${propName.toLowerCase()}`;
116
- return dictObj;
117
- }, {});
118
- var MediaStateChangeEvents = MediaUIPropsEntries.reduce(
119
- (dictObj, [key, propName]) => {
120
- dictObj[key] = `${propName.toLowerCase()}`;
121
- return dictObj;
122
- },
123
- {
124
- USER_INACTIVE: "userinactivechange",
125
- BREAKPOINTS_CHANGE: "breakpointchange",
126
- BREAKPOINTS_COMPUTED: "breakpointscomputed"
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 = mutation.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 = this.getRootNode();
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-time-margin: 0 0 8px;
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}}"