@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.
@@ -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-thumbnail-background: var(--_primary-color);
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-thumbnail-border-radius: 5px 5px 0 0;
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-border-radius: 5px;
163
- --media-preview-time-padding: 5px;
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-time-range::part(preview-box)::after {
171
- position: absolute;
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'] {
@@ -832,7 +814,12 @@ var gerwig_default = `<template id="media-theme-gerwig">
832
814
  </template>
833
815
 
834
816
  <template partial="TimeRange">
835
- <media-time-range part="bottom time range" disabled="{{disabled}}" aria-disabled="{{disabled}}"></media-time-range>
817
+ <media-time-range part="bottom time range" disabled="{{disabled}}" aria-disabled="{{disabled}}">
818
+ <media-preview-thumbnail slot="preview"></media-preview-thumbnail>
819
+ <media-preview-chapter-display slot="preview"></media-preview-chapter-display>
820
+ <media-preview-time-display slot="preview"></media-preview-time-display>
821
+ <div slot="preview" part="arrow"></div>
822
+ </media-time-range>
836
823
  </template>
837
824
 
838
825
  <template partial="AudioTrackSelect">
@@ -1129,6 +1116,7 @@ var MediaUIProps = {
1129
1116
  MEDIA_PREVIEW_TIME: "mediaPreviewTime",
1130
1117
  MEDIA_PREVIEW_IMAGE: "mediaPreviewImage",
1131
1118
  MEDIA_PREVIEW_COORDS: "mediaPreviewCoords",
1119
+ MEDIA_PREVIEW_CHAPTER: "mediaPreviewChapter",
1132
1120
  MEDIA_LOADING: "mediaLoading",
1133
1121
  MEDIA_BUFFERED: "mediaBuffered",
1134
1122
  MEDIA_STREAM_TYPE: "mediaStreamType",
@@ -1137,23 +1125,38 @@ var MediaUIProps = {
1137
1125
  MEDIA_RENDITION_LIST: "mediaRenditionList",
1138
1126
  MEDIA_RENDITION_SELECTED: "mediaRenditionSelected",
1139
1127
  MEDIA_AUDIO_TRACK_LIST: "mediaAudioTrackList",
1140
- MEDIA_AUDIO_TRACK_ENABLED: "mediaAudioTrackEnabled"
1128
+ MEDIA_AUDIO_TRACK_ENABLED: "mediaAudioTrackEnabled",
1129
+ MEDIA_CHAPTERS_CUES: "mediaChaptersCues"
1141
1130
  };
1142
- var MediaUIPropsEntries = Object.entries(MediaUIProps);
1143
- var MediaUIAttributes = MediaUIPropsEntries.reduce((dictObj, [key, propName]) => {
1144
- dictObj[key] = `${propName.toLowerCase()}`;
1145
- return dictObj;
1146
- }, {});
1147
- var MediaStateChangeEvents = MediaUIPropsEntries.reduce(
1148
- (dictObj, [key, propName]) => {
1149
- dictObj[key] = `${propName.toLowerCase()}`;
1150
- return dictObj;
1151
- },
1152
- {
1153
- USER_INACTIVE: "userinactivechange",
1154
- BREAKPOINTS_CHANGE: "breakpointchange",
1155
- BREAKPOINTS_COMPUTED: "breakpointscomputed"
1156
- }
1131
+ var MediaUIPropsEntries = (
1132
+ /** @type {[keyof MediaUIProps, string][]} */
1133
+ Object.entries(MediaUIProps)
1134
+ );
1135
+ var MediaUIAttributes = (
1136
+ /** @type {{ [k in keyof MediaUIProps]: string }} */
1137
+ MediaUIPropsEntries.reduce(
1138
+ (dictObj, [key, propName]) => {
1139
+ dictObj[key] = `${propName.toLowerCase()}`;
1140
+ return dictObj;
1141
+ },
1142
+ /** @type {Partial<{ [k in keyof MediaUIProps]: string }>} */
1143
+ {}
1144
+ )
1145
+ );
1146
+ var MediaStateChangeEvents = (
1147
+ /** @type {{ [k in keyof MediaUIProps | 'USER_INACTIVE' | 'BREAKPOINTS_CHANGE' | 'BREAKPOINTS_COMPUTED']: string }} */
1148
+ MediaUIPropsEntries.reduce(
1149
+ (dictObj, [key, propName]) => {
1150
+ dictObj[key] = `${propName.toLowerCase()}`;
1151
+ return dictObj;
1152
+ },
1153
+ /** @type {Partial<{ [k in keyof MediaUIProps | 'USER_INACTIVE' | 'BREAKPOINTS_CHANGE' | 'BREAKPOINTS_COMPUTED']: string }>} */
1154
+ {
1155
+ USER_INACTIVE: "userinactivechange",
1156
+ BREAKPOINTS_CHANGE: "breakpointchange",
1157
+ BREAKPOINTS_COMPUTED: "breakpointscomputed"
1158
+ }
1159
+ )
1157
1160
  );
1158
1161
  var StateChangeEventToAttributeMap = Object.entries(
1159
1162
  MediaStateChangeEvents
@@ -1190,6 +1193,8 @@ var EventTarget2 = class {
1190
1193
  return true;
1191
1194
  }
1192
1195
  };
1196
+ var Node = class extends EventTarget2 {
1197
+ };
1193
1198
  var ResizeObserver = class {
1194
1199
  observe() {
1195
1200
  }
@@ -1202,15 +1207,28 @@ var documentShim = {
1202
1207
  createElement: function() {
1203
1208
  return new globalThisShim2.HTMLElement();
1204
1209
  },
1210
+ createElementNS: function() {
1211
+ return new globalThisShim2.HTMLElement();
1212
+ },
1205
1213
  addEventListener() {
1206
1214
  },
1207
1215
  removeEventListener() {
1216
+ },
1217
+ /**
1218
+ *
1219
+ * @param {Event} event
1220
+ * @returns {boolean}
1221
+ */
1222
+ dispatchEvent(event) {
1223
+ return false;
1208
1224
  }
1225
+ // eslint-disable-line no-unused-vars
1209
1226
  };
1210
1227
  var globalThisShim2 = {
1211
1228
  ResizeObserver,
1212
1229
  document: documentShim,
1213
- HTMLElement: class HTMLElement2 extends EventTarget2 {
1230
+ Node,
1231
+ HTMLElement: class HTMLElement2 extends Node {
1214
1232
  },
1215
1233
  DocumentFragment: class DocumentFragment2 extends EventTarget2 {
1216
1234
  },
@@ -1222,12 +1240,47 @@ var globalThisShim2 = {
1222
1240
  whenDefined: function() {
1223
1241
  }
1224
1242
  },
1243
+ localStorage: {
1244
+ /**
1245
+ * @param {string} key
1246
+ * @returns {string|null}
1247
+ */
1248
+ getItem(key) {
1249
+ return null;
1250
+ },
1251
+ // eslint-disable-line no-unused-vars
1252
+ /**
1253
+ * @param {string} key
1254
+ * @param {string} value
1255
+ */
1256
+ setItem(key, value) {
1257
+ },
1258
+ // eslint-disable-line no-unused-vars
1259
+ /**
1260
+ * @param {string} key
1261
+ */
1262
+ removeItem(key) {
1263
+ }
1264
+ // eslint-disable-line no-unused-vars
1265
+ },
1225
1266
  CustomEvent: function CustomEvent2() {
1226
1267
  },
1227
1268
  getComputedStyle: function() {
1228
1269
  },
1229
1270
  navigator: {
1230
- languages: []
1271
+ languages: [],
1272
+ get userAgent() {
1273
+ return "";
1274
+ }
1275
+ },
1276
+ /**
1277
+ * @param {string} media
1278
+ */
1279
+ matchMedia(media) {
1280
+ return {
1281
+ matches: false,
1282
+ media
1283
+ };
1231
1284
  }
1232
1285
  };
1233
1286
  var isServer2 = typeof window === "undefined" || typeof window.customElements === "undefined";
@@ -1466,6 +1519,7 @@ var AttrPart = class extends Part {
1466
1519
  );
1467
1520
  }
1468
1521
  }
1522
+ /** @type boolean */
1469
1523
  get booleanValue() {
1470
1524
  return __privateGet2(this, _element).hasAttributeNS(
1471
1525
  __privateGet2(this, _namespaceURI),
@@ -1507,6 +1561,7 @@ var ChildNodePart = class extends Part {
1507
1561
  get previousSibling() {
1508
1562
  return __privateGet2(this, _nodes)[0].previousSibling;
1509
1563
  }
1564
+ // FIXME: not sure why do we need string serialization here? Just because parent class has type DOMString?
1510
1565
  get value() {
1511
1566
  return __privateGet2(this, _nodes).map((node) => node.textContent).join("");
1512
1567
  }
@@ -1850,7 +1905,8 @@ var observedMediaAttributes = {
1850
1905
  mediastreamtype: "streamtype"
1851
1906
  };
1852
1907
  var prependTemplate = Document.createElement("template");
1853
- prependTemplate.innerHTML = `
1908
+ prependTemplate.innerHTML = /*html*/
1909
+ `
1854
1910
  <style>
1855
1911
  :host {
1856
1912
  display: inline-block;
@@ -1896,7 +1952,10 @@ var MediaThemeElement = class extends GlobalThis.HTMLElement {
1896
1952
  if (this.mediaController && !((_a2 = this.mediaController) == null ? void 0 : _a2.breakpointsComputed))
1897
1953
  return;
1898
1954
  if (mutationList.some((mutation) => {
1899
- const target = mutation.target;
1955
+ const target = (
1956
+ /** @type {HTMLElement} */
1957
+ mutation.target
1958
+ );
1900
1959
  if (target === this)
1901
1960
  return true;
1902
1961
  if (target.localName !== "media-controller")
@@ -1918,6 +1977,7 @@ var MediaThemeElement = class extends GlobalThis.HTMLElement {
1918
1977
  this.addEventListener(MediaStateChangeEvents.BREAKPOINTS_COMPUTED, this.render);
1919
1978
  __privateMethod(this, _upgradeProperty, upgradeProperty_fn).call(this, "template");
1920
1979
  }
1980
+ /** @type {HTMLElement & { breakpointsComputed?: boolean }} */
1921
1981
  get mediaController() {
1922
1982
  return this.renderRoot.querySelector("media-controller");
1923
1983
  }
@@ -1967,6 +2027,7 @@ var MediaThemeElement = class extends GlobalThis.HTMLElement {
1967
2027
  this.renderer = new TemplateInstance(
1968
2028
  this.template,
1969
2029
  this.props,
2030
+ // @ts-ignore
1970
2031
  this.constructor.processor
1971
2032
  );
1972
2033
  this.renderRoot.textContent = "";
@@ -1998,7 +2059,10 @@ updateTemplate_fn = function() {
1998
2059
  const templateId = this.getAttribute("template");
1999
2060
  if (!templateId || templateId === __privateGet3(this, _prevTemplateId))
2000
2061
  return;
2001
- const rootNode = this.getRootNode();
2062
+ const rootNode = (
2063
+ /** @type HTMLDocument | ShadowRoot */
2064
+ this.getRootNode()
2065
+ );
2002
2066
  const template2 = (_a2 = rootNode == null ? void 0 : rootNode.getElementById) == null ? void 0 : _a2.call(rootNode, templateId);
2003
2067
  if (template2) {
2004
2068
  __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-thumbnail-background: var(--_primary-color);
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-thumbnail-border-radius: 5px 5px 0 0;
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-border-radius: 5px;
163
- --media-preview-time-padding: 5px;
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-time-range::part(preview-box)::after {
171
- position: absolute;
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'] {
@@ -832,7 +814,12 @@ var mediaThemeGerwig = (() => {
832
814
  </template>
833
815
 
834
816
  <template partial="TimeRange">
835
- <media-time-range part="bottom time range" disabled="{{disabled}}" aria-disabled="{{disabled}}"></media-time-range>
817
+ <media-time-range part="bottom time range" disabled="{{disabled}}" aria-disabled="{{disabled}}">
818
+ <media-preview-thumbnail slot="preview"></media-preview-thumbnail>
819
+ <media-preview-chapter-display slot="preview"></media-preview-chapter-display>
820
+ <media-preview-time-display slot="preview"></media-preview-time-display>
821
+ <div slot="preview" part="arrow"></div>
822
+ </media-time-range>
836
823
  </template>
837
824
 
838
825
  <template partial="AudioTrackSelect">
@@ -1129,6 +1116,7 @@ var mediaThemeGerwig = (() => {
1129
1116
  MEDIA_PREVIEW_TIME: "mediaPreviewTime",
1130
1117
  MEDIA_PREVIEW_IMAGE: "mediaPreviewImage",
1131
1118
  MEDIA_PREVIEW_COORDS: "mediaPreviewCoords",
1119
+ MEDIA_PREVIEW_CHAPTER: "mediaPreviewChapter",
1132
1120
  MEDIA_LOADING: "mediaLoading",
1133
1121
  MEDIA_BUFFERED: "mediaBuffered",
1134
1122
  MEDIA_STREAM_TYPE: "mediaStreamType",
@@ -1137,23 +1125,38 @@ var mediaThemeGerwig = (() => {
1137
1125
  MEDIA_RENDITION_LIST: "mediaRenditionList",
1138
1126
  MEDIA_RENDITION_SELECTED: "mediaRenditionSelected",
1139
1127
  MEDIA_AUDIO_TRACK_LIST: "mediaAudioTrackList",
1140
- MEDIA_AUDIO_TRACK_ENABLED: "mediaAudioTrackEnabled"
1128
+ MEDIA_AUDIO_TRACK_ENABLED: "mediaAudioTrackEnabled",
1129
+ MEDIA_CHAPTERS_CUES: "mediaChaptersCues"
1141
1130
  };
1142
- var MediaUIPropsEntries = Object.entries(MediaUIProps);
1143
- var MediaUIAttributes = MediaUIPropsEntries.reduce((dictObj, [key, propName]) => {
1144
- dictObj[key] = `${propName.toLowerCase()}`;
1145
- return dictObj;
1146
- }, {});
1147
- var MediaStateChangeEvents = MediaUIPropsEntries.reduce(
1148
- (dictObj, [key, propName]) => {
1149
- dictObj[key] = `${propName.toLowerCase()}`;
1150
- return dictObj;
1151
- },
1152
- {
1153
- USER_INACTIVE: "userinactivechange",
1154
- BREAKPOINTS_CHANGE: "breakpointchange",
1155
- BREAKPOINTS_COMPUTED: "breakpointscomputed"
1156
- }
1131
+ var MediaUIPropsEntries = (
1132
+ /** @type {[keyof MediaUIProps, string][]} */
1133
+ Object.entries(MediaUIProps)
1134
+ );
1135
+ var MediaUIAttributes = (
1136
+ /** @type {{ [k in keyof MediaUIProps]: string }} */
1137
+ MediaUIPropsEntries.reduce(
1138
+ (dictObj, [key, propName]) => {
1139
+ dictObj[key] = `${propName.toLowerCase()}`;
1140
+ return dictObj;
1141
+ },
1142
+ /** @type {Partial<{ [k in keyof MediaUIProps]: string }>} */
1143
+ {}
1144
+ )
1145
+ );
1146
+ var MediaStateChangeEvents = (
1147
+ /** @type {{ [k in keyof MediaUIProps | 'USER_INACTIVE' | 'BREAKPOINTS_CHANGE' | 'BREAKPOINTS_COMPUTED']: string }} */
1148
+ MediaUIPropsEntries.reduce(
1149
+ (dictObj, [key, propName]) => {
1150
+ dictObj[key] = `${propName.toLowerCase()}`;
1151
+ return dictObj;
1152
+ },
1153
+ /** @type {Partial<{ [k in keyof MediaUIProps | 'USER_INACTIVE' | 'BREAKPOINTS_CHANGE' | 'BREAKPOINTS_COMPUTED']: string }>} */
1154
+ {
1155
+ USER_INACTIVE: "userinactivechange",
1156
+ BREAKPOINTS_CHANGE: "breakpointchange",
1157
+ BREAKPOINTS_COMPUTED: "breakpointscomputed"
1158
+ }
1159
+ )
1157
1160
  );
1158
1161
  var StateChangeEventToAttributeMap = Object.entries(
1159
1162
  MediaStateChangeEvents
@@ -1190,6 +1193,8 @@ var mediaThemeGerwig = (() => {
1190
1193
  return true;
1191
1194
  }
1192
1195
  };
1196
+ var Node = class extends EventTarget2 {
1197
+ };
1193
1198
  var ResizeObserver = class {
1194
1199
  observe() {
1195
1200
  }
@@ -1202,15 +1207,28 @@ var mediaThemeGerwig = (() => {
1202
1207
  createElement: function() {
1203
1208
  return new globalThisShim2.HTMLElement();
1204
1209
  },
1210
+ createElementNS: function() {
1211
+ return new globalThisShim2.HTMLElement();
1212
+ },
1205
1213
  addEventListener() {
1206
1214
  },
1207
1215
  removeEventListener() {
1216
+ },
1217
+ /**
1218
+ *
1219
+ * @param {Event} event
1220
+ * @returns {boolean}
1221
+ */
1222
+ dispatchEvent(event) {
1223
+ return false;
1208
1224
  }
1225
+ // eslint-disable-line no-unused-vars
1209
1226
  };
1210
1227
  var globalThisShim2 = {
1211
1228
  ResizeObserver,
1212
1229
  document: documentShim,
1213
- HTMLElement: class HTMLElement2 extends EventTarget2 {
1230
+ Node,
1231
+ HTMLElement: class HTMLElement2 extends Node {
1214
1232
  },
1215
1233
  DocumentFragment: class DocumentFragment2 extends EventTarget2 {
1216
1234
  },
@@ -1222,12 +1240,47 @@ var mediaThemeGerwig = (() => {
1222
1240
  whenDefined: function() {
1223
1241
  }
1224
1242
  },
1243
+ localStorage: {
1244
+ /**
1245
+ * @param {string} key
1246
+ * @returns {string|null}
1247
+ */
1248
+ getItem(key) {
1249
+ return null;
1250
+ },
1251
+ // eslint-disable-line no-unused-vars
1252
+ /**
1253
+ * @param {string} key
1254
+ * @param {string} value
1255
+ */
1256
+ setItem(key, value) {
1257
+ },
1258
+ // eslint-disable-line no-unused-vars
1259
+ /**
1260
+ * @param {string} key
1261
+ */
1262
+ removeItem(key) {
1263
+ }
1264
+ // eslint-disable-line no-unused-vars
1265
+ },
1225
1266
  CustomEvent: function CustomEvent2() {
1226
1267
  },
1227
1268
  getComputedStyle: function() {
1228
1269
  },
1229
1270
  navigator: {
1230
- languages: []
1271
+ languages: [],
1272
+ get userAgent() {
1273
+ return "";
1274
+ }
1275
+ },
1276
+ /**
1277
+ * @param {string} media
1278
+ */
1279
+ matchMedia(media) {
1280
+ return {
1281
+ matches: false,
1282
+ media
1283
+ };
1231
1284
  }
1232
1285
  };
1233
1286
  var isServer2 = typeof window === "undefined" || typeof window.customElements === "undefined";
@@ -1466,6 +1519,7 @@ var mediaThemeGerwig = (() => {
1466
1519
  );
1467
1520
  }
1468
1521
  }
1522
+ /** @type boolean */
1469
1523
  get booleanValue() {
1470
1524
  return __privateGet2(this, _element).hasAttributeNS(
1471
1525
  __privateGet2(this, _namespaceURI),
@@ -1507,6 +1561,7 @@ var mediaThemeGerwig = (() => {
1507
1561
  get previousSibling() {
1508
1562
  return __privateGet2(this, _nodes)[0].previousSibling;
1509
1563
  }
1564
+ // FIXME: not sure why do we need string serialization here? Just because parent class has type DOMString?
1510
1565
  get value() {
1511
1566
  return __privateGet2(this, _nodes).map((node) => node.textContent).join("");
1512
1567
  }
@@ -1850,7 +1905,8 @@ var mediaThemeGerwig = (() => {
1850
1905
  mediastreamtype: "streamtype"
1851
1906
  };
1852
1907
  var prependTemplate = Document.createElement("template");
1853
- prependTemplate.innerHTML = `
1908
+ prependTemplate.innerHTML = /*html*/
1909
+ `
1854
1910
  <style>
1855
1911
  :host {
1856
1912
  display: inline-block;
@@ -1896,7 +1952,10 @@ var mediaThemeGerwig = (() => {
1896
1952
  if (this.mediaController && !((_a2 = this.mediaController) == null ? void 0 : _a2.breakpointsComputed))
1897
1953
  return;
1898
1954
  if (mutationList.some((mutation) => {
1899
- const target = mutation.target;
1955
+ const target = (
1956
+ /** @type {HTMLElement} */
1957
+ mutation.target
1958
+ );
1900
1959
  if (target === this)
1901
1960
  return true;
1902
1961
  if (target.localName !== "media-controller")
@@ -1918,6 +1977,7 @@ var mediaThemeGerwig = (() => {
1918
1977
  this.addEventListener(MediaStateChangeEvents.BREAKPOINTS_COMPUTED, this.render);
1919
1978
  __privateMethod(this, _upgradeProperty, upgradeProperty_fn).call(this, "template");
1920
1979
  }
1980
+ /** @type {HTMLElement & { breakpointsComputed?: boolean }} */
1921
1981
  get mediaController() {
1922
1982
  return this.renderRoot.querySelector("media-controller");
1923
1983
  }
@@ -1967,6 +2027,7 @@ var mediaThemeGerwig = (() => {
1967
2027
  this.renderer = new TemplateInstance(
1968
2028
  this.template,
1969
2029
  this.props,
2030
+ // @ts-ignore
1970
2031
  this.constructor.processor
1971
2032
  );
1972
2033
  this.renderRoot.textContent = "";
@@ -1998,7 +2059,10 @@ var mediaThemeGerwig = (() => {
1998
2059
  const templateId = this.getAttribute("template");
1999
2060
  if (!templateId || templateId === __privateGet3(this, _prevTemplateId))
2000
2061
  return;
2001
- const rootNode = this.getRootNode();
2062
+ const rootNode = (
2063
+ /** @type HTMLDocument | ShadowRoot */
2064
+ this.getRootNode()
2065
+ );
2002
2066
  const template2 = (_a2 = rootNode == null ? void 0 : rootNode.getElementById) == null ? void 0 : _a2.call(rootNode, templateId);
2003
2067
  if (template2) {
2004
2068
  __privateSet3(this, _prevTemplateId, templateId);