@mux/mux-player 2.3.2 → 2.3.3-canary.0-a3662c7

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'] {
@@ -807,7 +789,12 @@ var gerwig_default = `<template id="media-theme-gerwig">
807
789
  </template>
808
790
 
809
791
  <template partial="TimeRange">
810
- <media-time-range part="bottom time range" disabled="{{disabled}}" aria-disabled="{{disabled}}"></media-time-range>
792
+ <media-time-range part="bottom time range" disabled="{{disabled}}" aria-disabled="{{disabled}}">
793
+ <media-preview-thumbnail slot="preview"></media-preview-thumbnail>
794
+ <media-preview-chapter-display slot="preview"></media-preview-chapter-display>
795
+ <media-preview-time-display slot="preview"></media-preview-time-display>
796
+ <div slot="preview" part="arrow"></div>
797
+ </media-time-range>
811
798
  </template>
812
799
 
813
800
  <template partial="AudioTrackSelect">
@@ -1104,6 +1091,7 @@ var MediaUIProps = {
1104
1091
  MEDIA_PREVIEW_TIME: "mediaPreviewTime",
1105
1092
  MEDIA_PREVIEW_IMAGE: "mediaPreviewImage",
1106
1093
  MEDIA_PREVIEW_COORDS: "mediaPreviewCoords",
1094
+ MEDIA_PREVIEW_CHAPTER: "mediaPreviewChapter",
1107
1095
  MEDIA_LOADING: "mediaLoading",
1108
1096
  MEDIA_BUFFERED: "mediaBuffered",
1109
1097
  MEDIA_STREAM_TYPE: "mediaStreamType",
@@ -1112,23 +1100,38 @@ var MediaUIProps = {
1112
1100
  MEDIA_RENDITION_LIST: "mediaRenditionList",
1113
1101
  MEDIA_RENDITION_SELECTED: "mediaRenditionSelected",
1114
1102
  MEDIA_AUDIO_TRACK_LIST: "mediaAudioTrackList",
1115
- MEDIA_AUDIO_TRACK_ENABLED: "mediaAudioTrackEnabled"
1103
+ MEDIA_AUDIO_TRACK_ENABLED: "mediaAudioTrackEnabled",
1104
+ MEDIA_CHAPTERS_CUES: "mediaChaptersCues"
1116
1105
  };
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
- }
1106
+ var MediaUIPropsEntries = (
1107
+ /** @type {[keyof MediaUIProps, string][]} */
1108
+ Object.entries(MediaUIProps)
1109
+ );
1110
+ var MediaUIAttributes = (
1111
+ /** @type {{ [k in keyof MediaUIProps]: string }} */
1112
+ MediaUIPropsEntries.reduce(
1113
+ (dictObj, [key, propName]) => {
1114
+ dictObj[key] = `${propName.toLowerCase()}`;
1115
+ return dictObj;
1116
+ },
1117
+ /** @type {Partial<{ [k in keyof MediaUIProps]: string }>} */
1118
+ {}
1119
+ )
1120
+ );
1121
+ var MediaStateChangeEvents = (
1122
+ /** @type {{ [k in keyof MediaUIProps | 'USER_INACTIVE' | 'BREAKPOINTS_CHANGE' | 'BREAKPOINTS_COMPUTED']: string }} */
1123
+ MediaUIPropsEntries.reduce(
1124
+ (dictObj, [key, propName]) => {
1125
+ dictObj[key] = `${propName.toLowerCase()}`;
1126
+ return dictObj;
1127
+ },
1128
+ /** @type {Partial<{ [k in keyof MediaUIProps | 'USER_INACTIVE' | 'BREAKPOINTS_CHANGE' | 'BREAKPOINTS_COMPUTED']: string }>} */
1129
+ {
1130
+ USER_INACTIVE: "userinactivechange",
1131
+ BREAKPOINTS_CHANGE: "breakpointchange",
1132
+ BREAKPOINTS_COMPUTED: "breakpointscomputed"
1133
+ }
1134
+ )
1132
1135
  );
1133
1136
  var StateChangeEventToAttributeMap = Object.entries(
1134
1137
  MediaStateChangeEvents
@@ -1165,6 +1168,8 @@ var EventTarget2 = class {
1165
1168
  return true;
1166
1169
  }
1167
1170
  };
1171
+ var Node = class extends EventTarget2 {
1172
+ };
1168
1173
  var ResizeObserver = class {
1169
1174
  observe() {
1170
1175
  }
@@ -1177,15 +1182,28 @@ var documentShim = {
1177
1182
  createElement: function() {
1178
1183
  return new globalThisShim2.HTMLElement();
1179
1184
  },
1185
+ createElementNS: function() {
1186
+ return new globalThisShim2.HTMLElement();
1187
+ },
1180
1188
  addEventListener() {
1181
1189
  },
1182
1190
  removeEventListener() {
1191
+ },
1192
+ /**
1193
+ *
1194
+ * @param {Event} event
1195
+ * @returns {boolean}
1196
+ */
1197
+ dispatchEvent(event) {
1198
+ return false;
1183
1199
  }
1200
+ // eslint-disable-line no-unused-vars
1184
1201
  };
1185
1202
  var globalThisShim2 = {
1186
1203
  ResizeObserver,
1187
1204
  document: documentShim,
1188
- HTMLElement: class HTMLElement2 extends EventTarget2 {
1205
+ Node,
1206
+ HTMLElement: class HTMLElement2 extends Node {
1189
1207
  },
1190
1208
  DocumentFragment: class DocumentFragment2 extends EventTarget2 {
1191
1209
  },
@@ -1197,12 +1215,47 @@ var globalThisShim2 = {
1197
1215
  whenDefined: function() {
1198
1216
  }
1199
1217
  },
1218
+ localStorage: {
1219
+ /**
1220
+ * @param {string} key
1221
+ * @returns {string|null}
1222
+ */
1223
+ getItem(key) {
1224
+ return null;
1225
+ },
1226
+ // eslint-disable-line no-unused-vars
1227
+ /**
1228
+ * @param {string} key
1229
+ * @param {string} value
1230
+ */
1231
+ setItem(key, value) {
1232
+ },
1233
+ // eslint-disable-line no-unused-vars
1234
+ /**
1235
+ * @param {string} key
1236
+ */
1237
+ removeItem(key) {
1238
+ }
1239
+ // eslint-disable-line no-unused-vars
1240
+ },
1200
1241
  CustomEvent: function CustomEvent2() {
1201
1242
  },
1202
1243
  getComputedStyle: function() {
1203
1244
  },
1204
1245
  navigator: {
1205
- languages: []
1246
+ languages: [],
1247
+ get userAgent() {
1248
+ return "";
1249
+ }
1250
+ },
1251
+ /**
1252
+ * @param {string} media
1253
+ */
1254
+ matchMedia(media) {
1255
+ return {
1256
+ matches: false,
1257
+ media
1258
+ };
1206
1259
  }
1207
1260
  };
1208
1261
  var isServer2 = typeof window === "undefined" || typeof window.customElements === "undefined";
@@ -1441,6 +1494,7 @@ var AttrPart = class extends Part {
1441
1494
  );
1442
1495
  }
1443
1496
  }
1497
+ /** @type boolean */
1444
1498
  get booleanValue() {
1445
1499
  return __privateGet2(this, _element).hasAttributeNS(
1446
1500
  __privateGet2(this, _namespaceURI),
@@ -1482,6 +1536,7 @@ var ChildNodePart = class extends Part {
1482
1536
  get previousSibling() {
1483
1537
  return __privateGet2(this, _nodes)[0].previousSibling;
1484
1538
  }
1539
+ // FIXME: not sure why do we need string serialization here? Just because parent class has type DOMString?
1485
1540
  get value() {
1486
1541
  return __privateGet2(this, _nodes).map((node) => node.textContent).join("");
1487
1542
  }
@@ -1825,7 +1880,8 @@ var observedMediaAttributes = {
1825
1880
  mediastreamtype: "streamtype"
1826
1881
  };
1827
1882
  var prependTemplate = Document.createElement("template");
1828
- prependTemplate.innerHTML = `
1883
+ prependTemplate.innerHTML = /*html*/
1884
+ `
1829
1885
  <style>
1830
1886
  :host {
1831
1887
  display: inline-block;
@@ -1871,7 +1927,10 @@ var MediaThemeElement = class extends GlobalThis.HTMLElement {
1871
1927
  if (this.mediaController && !((_a2 = this.mediaController) == null ? void 0 : _a2.breakpointsComputed))
1872
1928
  return;
1873
1929
  if (mutationList.some((mutation) => {
1874
- const target = mutation.target;
1930
+ const target = (
1931
+ /** @type {HTMLElement} */
1932
+ mutation.target
1933
+ );
1875
1934
  if (target === this)
1876
1935
  return true;
1877
1936
  if (target.localName !== "media-controller")
@@ -1893,6 +1952,7 @@ var MediaThemeElement = class extends GlobalThis.HTMLElement {
1893
1952
  this.addEventListener(MediaStateChangeEvents.BREAKPOINTS_COMPUTED, this.render);
1894
1953
  __privateMethod(this, _upgradeProperty, upgradeProperty_fn).call(this, "template");
1895
1954
  }
1955
+ /** @type {HTMLElement & { breakpointsComputed?: boolean }} */
1896
1956
  get mediaController() {
1897
1957
  return this.renderRoot.querySelector("media-controller");
1898
1958
  }
@@ -1942,6 +2002,7 @@ var MediaThemeElement = class extends GlobalThis.HTMLElement {
1942
2002
  this.renderer = new TemplateInstance(
1943
2003
  this.template,
1944
2004
  this.props,
2005
+ // @ts-ignore
1945
2006
  this.constructor.processor
1946
2007
  );
1947
2008
  this.renderRoot.textContent = "";
@@ -1973,7 +2034,10 @@ updateTemplate_fn = function() {
1973
2034
  const templateId = this.getAttribute("template");
1974
2035
  if (!templateId || templateId === __privateGet3(this, _prevTemplateId))
1975
2036
  return;
1976
- const rootNode = this.getRootNode();
2037
+ const rootNode = (
2038
+ /** @type HTMLDocument | ShadowRoot */
2039
+ this.getRootNode()
2040
+ );
1977
2041
  const template2 = (_a2 = rootNode == null ? void 0 : rootNode.getElementById) == null ? void 0 : _a2.call(rootNode, templateId);
1978
2042
  if (template2) {
1979
2043
  __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}}"