@theoplayer/web-ui 1.5.0 → 1.6.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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * THEOplayer Open Video UI for Web (v1.5.0)
2
+ * THEOplayer Open Video UI for Web (v1.6.0)
3
3
  * License: MIT
4
4
  */
5
5
  import { ChromelessPlayer, VideoQuality, THEOplayerError, MediaTrack, TextTrack, TextTracksList, EdgeStyle, VendorCast, CastState, PlayerConfiguration, SourceDescription } from 'theoplayer/chromeless';
@@ -13,6 +13,11 @@ declare class ControlBar extends HTMLElement {
13
13
  constructor();
14
14
  connectedCallback(): void;
15
15
  }
16
+ declare global {
17
+ interface HTMLElementTagNameMap {
18
+ 'theoplayer-control-bar': ControlBar;
19
+ }
20
+ }
16
21
 
17
22
  declare enum Attribute {
18
23
  CONFIGURATION = "configuration",
@@ -111,6 +116,11 @@ declare class Button extends HTMLElement {
111
116
  */
112
117
  protected handleClick(): void;
113
118
  }
119
+ declare global {
120
+ interface HTMLElementTagNameMap {
121
+ 'theoplayer-button': Button;
122
+ }
123
+ }
114
124
 
115
125
  declare function linkButtonTemplate(button: string, extraCss?: string): string;
116
126
  /**
@@ -139,6 +149,11 @@ declare class LinkButton extends HTMLElement {
139
149
  private readonly _onClick;
140
150
  protected handleClick(): void;
141
151
  }
152
+ declare global {
153
+ interface HTMLElementTagNameMap {
154
+ 'theoplayer-link-button': LinkButton;
155
+ }
156
+ }
142
157
 
143
158
  type Constructor<T> = abstract new (...args: any[]) => T;
144
159
 
@@ -216,6 +231,11 @@ declare class PlayButton extends PlayButton_base {
216
231
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
217
232
  private _updateAriaLabel;
218
233
  }
234
+ declare global {
235
+ interface HTMLElementTagNameMap {
236
+ 'theoplayer-play-button': PlayButton;
237
+ }
238
+ }
219
239
 
220
240
  type VolumeLevel = 'off' | 'low' | 'high';
221
241
  declare const MuteButton_base: typeof Button & Constructor<StateReceiverElement>;
@@ -242,6 +262,11 @@ declare class MuteButton extends MuteButton_base {
242
262
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
243
263
  private _updateAriaLabel;
244
264
  }
265
+ declare global {
266
+ interface HTMLElementTagNameMap {
267
+ 'theoplayer-mute-button': MuteButton;
268
+ }
269
+ }
245
270
 
246
271
  declare const SeekButton_base: typeof Button & Constructor<StateReceiverElement>;
247
272
  /**
@@ -267,6 +292,11 @@ declare class SeekButton extends SeekButton_base {
267
292
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
268
293
  private _updateAriaLabel;
269
294
  }
295
+ declare global {
296
+ interface HTMLElementTagNameMap {
297
+ 'theoplayer-seek-button': SeekButton;
298
+ }
299
+ }
270
300
 
271
301
  declare const TimeDisplay_base: {
272
302
  new (): HTMLElement;
@@ -295,6 +325,11 @@ declare class TimeDisplay extends TimeDisplay_base {
295
325
  private readonly _updateFromPlayer;
296
326
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
297
327
  }
328
+ declare global {
329
+ interface HTMLElementTagNameMap {
330
+ 'theoplayer-time-display': TimeDisplay;
331
+ }
332
+ }
298
333
 
299
334
  declare const DurationDisplay_base: {
300
335
  new (): HTMLElement;
@@ -315,6 +350,11 @@ declare class DurationDisplay extends DurationDisplay_base {
315
350
  set player(player: ChromelessPlayer | undefined);
316
351
  private readonly _updateFromPlayer;
317
352
  }
353
+ declare global {
354
+ interface HTMLElementTagNameMap {
355
+ 'theoplayer-duration-display': DurationDisplay;
356
+ }
357
+ }
318
358
 
319
359
  /**
320
360
  * `<theoplayer-radio-button>` - A button that can be checked.
@@ -341,6 +381,11 @@ declare class RadioButton extends Button {
341
381
  protected handleClick(): void;
342
382
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
343
383
  }
384
+ declare global {
385
+ interface HTMLElementTagNameMap {
386
+ 'theoplayer-radio-button': RadioButton;
387
+ }
388
+ }
344
389
 
345
390
  declare const RadioGroup_base: {
346
391
  new (): HTMLElement;
@@ -384,6 +429,11 @@ declare class RadioGroup extends RadioGroup_base {
384
429
  setCheckedRadioButton(checkedButton: RadioButton | null): void;
385
430
  private readonly _onButtonChange;
386
431
  }
432
+ declare global {
433
+ interface HTMLElementTagNameMap {
434
+ 'theoplayer-radio-group': RadioGroup;
435
+ }
436
+ }
387
437
 
388
438
  interface MenuOptions {
389
439
  template?: HTMLTemplateElement;
@@ -397,6 +447,9 @@ declare function menuTemplate(heading: string, content: string, extraCss?: strin
397
447
  * @attribute `menu-close-on-input` - Whether to automatically close the menu whenever one of its controls
398
448
  * receives an input (e.g. when a radio button is clicked).
399
449
  * @attribute `menu-opened` (readonly) - Whether the menu is currently open.
450
+ *
451
+ * @slot `heading` - A slot for the menu's heading.
452
+ *
400
453
  * @group Components
401
454
  */
402
455
  declare class Menu extends HTMLElement {
@@ -415,6 +468,12 @@ declare class Menu extends HTMLElement {
415
468
  protected _upgradeProperty(prop: keyof this): void;
416
469
  connectedCallback(): void;
417
470
  disconnectedCallback(): void;
471
+ /**
472
+ * Whether to automatically close the menu whenever one of its controls
473
+ * receives an input (e.g. when a radio button is clicked).
474
+ */
475
+ get closeOnInput(): boolean;
476
+ set closeOnInput(value: boolean);
418
477
  /**
419
478
  * Open the menu.
420
479
  */
@@ -426,6 +485,11 @@ declare class Menu extends HTMLElement {
426
485
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
427
486
  private readonly _onContentInput;
428
487
  }
488
+ declare global {
489
+ interface HTMLElementTagNameMap {
490
+ 'theoplayer-menu': Menu;
491
+ }
492
+ }
429
493
 
430
494
  interface MenuGroupOptions {
431
495
  template?: HTMLTemplateElement;
@@ -509,6 +573,11 @@ declare class MenuGroup extends HTMLElement {
509
573
  private readonly _onMenuChange;
510
574
  private readonly _onKeyDown;
511
575
  }
576
+ declare global {
577
+ interface HTMLElementTagNameMap {
578
+ 'theoplayer-menu-group': MenuGroup;
579
+ }
580
+ }
512
581
 
513
582
  /**
514
583
  * `<theoplayer-menu-button>` - A menu button that opens a {@link Menu}.
@@ -528,6 +597,11 @@ declare class MenuButton extends Button {
528
597
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
529
598
  protected handleClick(): void;
530
599
  }
600
+ declare global {
601
+ interface HTMLElementTagNameMap {
602
+ 'theoplayer-menu-button': MenuButton;
603
+ }
604
+ }
531
605
 
532
606
  /**
533
607
  * `<theoplayer-menu-close-button>` - A button that closes its parent menu.
@@ -542,6 +616,11 @@ declare class CloseMenuButton extends Button {
542
616
  connectedCallback(): void;
543
617
  protected handleClick(): void;
544
618
  }
619
+ declare global {
620
+ interface HTMLElementTagNameMap {
621
+ 'theoplayer-menu-close-button': CloseMenuButton;
622
+ }
623
+ }
545
624
 
546
625
  /**
547
626
  * `<theoplayer-media-track-radio-button>` - A radio button that shows the label of a given media track,
@@ -563,6 +642,11 @@ declare class MediaTrackRadioButton extends RadioButton {
563
642
  private readonly _onTrackChange;
564
643
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
565
644
  }
645
+ declare global {
646
+ interface HTMLElementTagNameMap {
647
+ 'theoplayer-media-track-radio-button': MediaTrackRadioButton;
648
+ }
649
+ }
566
650
 
567
651
  type TrackType = 'audio' | 'video' | 'subtitles';
568
652
  declare const TrackRadioGroup_base: {
@@ -611,6 +695,11 @@ declare class TrackRadioGroup extends TrackRadioGroup_base {
611
695
  private readonly _onChange;
612
696
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
613
697
  }
698
+ declare global {
699
+ interface HTMLElementTagNameMap {
700
+ 'theoplayer-track-radio-group': TrackRadioGroup;
701
+ }
702
+ }
614
703
 
615
704
  /**
616
705
  * `<theoplayer-text-track-radio-button>` -A radio button that shows the label of a given text track, and switches to that track when clicked.
@@ -631,6 +720,11 @@ declare class TextTrackRadioButton extends RadioButton {
631
720
  private readonly _onTrackChange;
632
721
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
633
722
  }
723
+ declare global {
724
+ interface HTMLElementTagNameMap {
725
+ 'theoplayer-text-track-radio-button': TextTrackRadioButton;
726
+ }
727
+ }
634
728
 
635
729
  /**
636
730
  * `<theoplayer-text-track-off-radio-button>` - A radio button that disables the active subtitle track when clicked.
@@ -647,6 +741,11 @@ declare class TextTrackOffRadioButton extends RadioButton {
647
741
  private readonly _onTrackChange;
648
742
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
649
743
  }
744
+ declare global {
745
+ interface HTMLElementTagNameMap {
746
+ 'theoplayer-text-track-off-radio-button': TextTrackOffRadioButton;
747
+ }
748
+ }
650
749
 
651
750
  interface TextTrackStyleMap {
652
751
  fontFamily: string | undefined;
@@ -701,6 +800,11 @@ declare class TextTrackStyleRadioGroup extends TextTrackStyleRadioGroup_base {
701
800
  private _updateToPlayer;
702
801
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
703
802
  }
803
+ declare global {
804
+ interface HTMLElementTagNameMap {
805
+ 'theoplayer-text-track-style-radio-group': TextTrackStyleRadioGroup;
806
+ }
807
+ }
704
808
 
705
809
  declare const TextTrackStyleDisplay_base: {
706
810
  new (): HTMLElement;
@@ -730,20 +834,34 @@ declare class TextTrackStyleDisplay extends TextTrackStyleDisplay_base {
730
834
  private readonly _updateFromPlayer;
731
835
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
732
836
  }
837
+ declare global {
838
+ interface HTMLElementTagNameMap {
839
+ 'theoplayer-text-track-style-display': TextTrackStyleDisplay;
840
+ }
841
+ }
733
842
 
734
843
  /**
735
844
  * `<theoplayer-text-track-style-menu>` - A menu to change the {@link theoplayer!TextTrackStyle | text track style} of the player.
736
845
  *
846
+ * @slot `heading` - A slot for the menu's heading.
847
+ *
737
848
  * @group Components
738
849
  */
739
850
  declare class TextTrackStyleMenu extends MenuGroup {
740
851
  constructor();
741
852
  }
853
+ declare global {
854
+ interface HTMLElementTagNameMap {
855
+ 'theoplayer-text-track-style-menu': TextTrackStyleMenu;
856
+ }
857
+ }
742
858
 
743
859
  declare const LanguageMenu_base: typeof MenuGroup & Constructor<StateReceiverElement>;
744
860
  /**
745
861
  * `<theoplayer-language-menu>` - A menu to change the spoken language and subtitles of the stream.
746
862
  *
863
+ * @slot `heading` - A slot for the menu's heading.
864
+ *
747
865
  * @group Components
748
866
  */
749
867
  declare class LanguageMenu extends LanguageMenu_base {
@@ -756,6 +874,11 @@ declare class LanguageMenu extends LanguageMenu_base {
756
874
  private readonly _updateTextTracks;
757
875
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
758
876
  }
877
+ declare global {
878
+ interface HTMLElementTagNameMap {
879
+ 'theoplayer-language-menu': LanguageMenu;
880
+ }
881
+ }
759
882
 
760
883
  declare const LanguageMenuButton_base: typeof MenuButton & Constructor<StateReceiverElement>;
761
884
  /**
@@ -774,6 +897,11 @@ declare class LanguageMenuButton extends LanguageMenuButton_base {
774
897
  set player(player: ChromelessPlayer | undefined);
775
898
  private readonly _updateTracks;
776
899
  }
900
+ declare global {
901
+ interface HTMLElementTagNameMap {
902
+ 'theoplayer-language-menu-button': LanguageMenuButton;
903
+ }
904
+ }
777
905
 
778
906
  declare const PlaybackRateRadioGroup_base: {
779
907
  new (): HTMLElement;
@@ -808,6 +936,11 @@ declare class PlaybackRateRadioGroup extends PlaybackRateRadioGroup_base {
808
936
  private readonly _onChange;
809
937
  private readonly _updateFromPlayer;
810
938
  }
939
+ declare global {
940
+ interface HTMLElementTagNameMap {
941
+ 'theoplayer-playback-rate-radio-group': PlaybackRateRadioGroup;
942
+ }
943
+ }
811
944
 
812
945
  /**
813
946
  * `<theoplayer-playback-rate-menu-button>` - A menu button that opens a [playback rate menu]{@link PlaybackRateMenu}.
@@ -819,15 +952,27 @@ declare class PlaybackRateMenuButton extends MenuButton {
819
952
  constructor();
820
953
  connectedCallback(): void;
821
954
  }
955
+ declare global {
956
+ interface HTMLElementTagNameMap {
957
+ 'theoplayer-playback-rate-menu-button': PlaybackRateMenuButton;
958
+ }
959
+ }
822
960
 
823
961
  /**
824
962
  * `<theoplayer-playback-rate-menu>` - A menu to change the playback rate of the player.
825
963
  *
964
+ * @slot `heading` - A slot for the menu's heading.
965
+ *
826
966
  * @group Components
827
967
  */
828
968
  declare class PlaybackRateMenu extends Menu {
829
969
  constructor();
830
970
  }
971
+ declare global {
972
+ interface HTMLElementTagNameMap {
973
+ 'theoplayer-playback-rate-menu': PlaybackRateMenu;
974
+ }
975
+ }
831
976
 
832
977
  declare const PlaybackRateDisplay_base: {
833
978
  new (): HTMLElement;
@@ -847,6 +992,11 @@ declare class PlaybackRateDisplay extends PlaybackRateDisplay_base {
847
992
  get playbackRate(): number;
848
993
  set playbackRate(value: number);
849
994
  }
995
+ declare global {
996
+ interface HTMLElementTagNameMap {
997
+ 'theoplayer-playback-rate-display': PlaybackRateDisplay;
998
+ }
999
+ }
850
1000
 
851
1001
  declare const ActiveQualityDisplay_base: {
852
1002
  new (): HTMLElement;
@@ -870,6 +1020,11 @@ declare class ActiveQualityDisplay extends ActiveQualityDisplay_base {
870
1020
  set targetVideoQualities(qualities: VideoQuality[] | undefined);
871
1021
  private update_;
872
1022
  }
1023
+ declare global {
1024
+ interface HTMLElementTagNameMap {
1025
+ 'theoplayer-active-quality-display': ActiveQualityDisplay;
1026
+ }
1027
+ }
873
1028
 
874
1029
  /**
875
1030
  * `<theoplayer-quality-radio-button>` - A radio button that shows the label of a given video quality,
@@ -897,6 +1052,11 @@ declare class QualityRadioButton extends RadioButton {
897
1052
  private _updateTargetQuality;
898
1053
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
899
1054
  }
1055
+ declare global {
1056
+ interface HTMLElementTagNameMap {
1057
+ 'theoplayer-quality-radio-button': QualityRadioButton;
1058
+ }
1059
+ }
900
1060
 
901
1061
  declare const QualityRadioGroup_base: {
902
1062
  new (): HTMLElement;
@@ -922,6 +1082,11 @@ declare class QualityRadioGroup extends QualityRadioGroup_base {
922
1082
  private readonly _updateTrack;
923
1083
  private readonly _update;
924
1084
  }
1085
+ declare global {
1086
+ interface HTMLElementTagNameMap {
1087
+ 'theoplayer-quality-radio-group': QualityRadioGroup;
1088
+ }
1089
+ }
925
1090
 
926
1091
  declare const TextTrackStyleResetButton_base: typeof Button & Constructor<StateReceiverElement>;
927
1092
  /**
@@ -937,16 +1102,28 @@ declare class TextTrackStyleResetButton extends TextTrackStyleResetButton_base {
937
1102
  set player(player: ChromelessPlayer | undefined);
938
1103
  protected handleClick(): void;
939
1104
  }
1105
+ declare global {
1106
+ interface HTMLElementTagNameMap {
1107
+ 'theoplayer-text-track-style-reset-button': TextTrackStyleResetButton;
1108
+ }
1109
+ }
940
1110
 
941
1111
  /**
942
1112
  * `<theoplayer-settings-menu>` - A menu to change the settings of the player,
943
1113
  * such as the active video quality and the playback speed.
944
1114
  *
1115
+ * @slot `heading` - A slot for the menu's heading.
1116
+ *
945
1117
  * @group Components
946
1118
  */
947
1119
  declare class SettingsMenu extends MenuGroup {
948
1120
  constructor();
949
1121
  }
1122
+ declare global {
1123
+ interface HTMLElementTagNameMap {
1124
+ 'theoplayer-settings-menu': SettingsMenu;
1125
+ }
1126
+ }
950
1127
 
951
1128
  /**
952
1129
  * `<theoplayer-settings-menu-button>` - A menu button that opens a {@link SettingsMenu}.
@@ -958,6 +1135,11 @@ declare class SettingsMenuButton extends MenuButton {
958
1135
  constructor();
959
1136
  connectedCallback(): void;
960
1137
  }
1138
+ declare global {
1139
+ interface HTMLElementTagNameMap {
1140
+ 'theoplayer-settings-menu-button': SettingsMenuButton;
1141
+ }
1142
+ }
961
1143
 
962
1144
  declare const FullscreenButton_base: typeof Button & Constructor<StateReceiverElement>;
963
1145
  /**
@@ -975,6 +1157,11 @@ declare class FullscreenButton extends FullscreenButton_base {
975
1157
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
976
1158
  private _updateAriaLabel;
977
1159
  }
1160
+ declare global {
1161
+ interface HTMLElementTagNameMap {
1162
+ 'theoplayer-fullscreen-button': FullscreenButton;
1163
+ }
1164
+ }
978
1165
 
979
1166
  declare class ColorStops {
980
1167
  private _stops;
@@ -1106,6 +1293,11 @@ declare class PreviewThumbnail extends PreviewThumbnail_base {
1106
1293
  private showThumbnail_;
1107
1294
  private hideThumbnail_;
1108
1295
  }
1296
+ declare global {
1297
+ interface HTMLElementTagNameMap {
1298
+ 'theoplayer-preview-thumbnail': PreviewThumbnail;
1299
+ }
1300
+ }
1109
1301
 
1110
1302
  declare const PreviewTimeDisplay_base: {
1111
1303
  new (): HTMLElement;
@@ -1136,6 +1328,11 @@ declare class PreviewTimeDisplay extends PreviewTimeDisplay_base {
1136
1328
  private readonly _update;
1137
1329
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
1138
1330
  }
1331
+ declare global {
1332
+ interface HTMLElementTagNameMap {
1333
+ 'theoplayer-preview-time-display': PreviewTimeDisplay;
1334
+ }
1335
+ }
1139
1336
 
1140
1337
  declare const TimeRange_base: typeof Range & Constructor<StateReceiverElement>;
1141
1338
  /**
@@ -1180,6 +1377,11 @@ declare class TimeRange extends TimeRange_base {
1180
1377
  private readonly _onAdChange;
1181
1378
  protected handleKeyDown_(e: KeyboardEvent): void;
1182
1379
  }
1380
+ declare global {
1381
+ interface HTMLElementTagNameMap {
1382
+ 'theoplayer-time-range': TimeRange;
1383
+ }
1384
+ }
1183
1385
 
1184
1386
  declare const VolumeRange_base: typeof Range & Constructor<StateReceiverElement>;
1185
1387
  /**
@@ -1198,6 +1400,11 @@ declare class VolumeRange extends VolumeRange_base {
1198
1400
  protected getAriaValueText(): string;
1199
1401
  protected handleInput(): void;
1200
1402
  }
1403
+ declare global {
1404
+ interface HTMLElementTagNameMap {
1405
+ 'theoplayer-volume-range': VolumeRange;
1406
+ }
1407
+ }
1201
1408
 
1202
1409
  declare const ErrorDisplay_base: {
1203
1410
  new (): HTMLElement;
@@ -1224,6 +1431,11 @@ declare class ErrorDisplay extends ErrorDisplay_base {
1224
1431
  set fullscreen(fullscreen: boolean);
1225
1432
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
1226
1433
  }
1434
+ declare global {
1435
+ interface HTMLElementTagNameMap {
1436
+ 'theoplayer-error-display': ErrorDisplay;
1437
+ }
1438
+ }
1227
1439
 
1228
1440
  /**
1229
1441
  * A generic button to start and stop casting.
@@ -1237,7 +1449,7 @@ declare class CastButton extends Button {
1237
1449
  constructor(options?: ButtonOptions);
1238
1450
  connectedCallback(): void;
1239
1451
  /**
1240
- * The cast API for which this cast button.
1452
+ * The cast API for this cast button.
1241
1453
  */
1242
1454
  get castApi(): VendorCast | undefined;
1243
1455
  set castApi(castApi: VendorCast | undefined);
@@ -1265,6 +1477,11 @@ declare class ChromecastButton extends ChromecastButton_base {
1265
1477
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
1266
1478
  private _updateAriaLabel;
1267
1479
  }
1480
+ declare global {
1481
+ interface HTMLElementTagNameMap {
1482
+ 'theoplayer-chromecast-button': ChromecastButton;
1483
+ }
1484
+ }
1268
1485
 
1269
1486
  declare const ChromecastDisplay_base: {
1270
1487
  new (): HTMLElement;
@@ -1285,6 +1502,11 @@ declare class ChromecastDisplay extends ChromecastDisplay_base {
1285
1502
  set player(player: ChromelessPlayer | undefined);
1286
1503
  private readonly _updateFromPlayer;
1287
1504
  }
1505
+ declare global {
1506
+ interface HTMLElementTagNameMap {
1507
+ 'theoplayer-chromecast-display': ChromecastDisplay;
1508
+ }
1509
+ }
1288
1510
 
1289
1511
  declare const AirPlayButton_base: typeof CastButton & Constructor<StateReceiverElement>;
1290
1512
  /**
@@ -1301,6 +1523,11 @@ declare class AirPlayButton extends AirPlayButton_base {
1301
1523
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
1302
1524
  private _updateAriaLabel;
1303
1525
  }
1526
+ declare global {
1527
+ interface HTMLElementTagNameMap {
1528
+ 'theoplayer-airplay-button': AirPlayButton;
1529
+ }
1530
+ }
1304
1531
 
1305
1532
  declare const LoadingIndicator_base: {
1306
1533
  new (): HTMLElement;
@@ -1323,6 +1550,11 @@ declare class LoadingIndicator extends LoadingIndicator_base {
1323
1550
  private readonly _updateFromPlayer;
1324
1551
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
1325
1552
  }
1553
+ declare global {
1554
+ interface HTMLElementTagNameMap {
1555
+ 'theoplayer-loading-indicator': LoadingIndicator;
1556
+ }
1557
+ }
1326
1558
 
1327
1559
  declare const GestureReceiver_base: {
1328
1560
  new (): HTMLElement;
@@ -1349,6 +1581,11 @@ declare class GestureReceiver extends GestureReceiver_base {
1349
1581
  handleTap(_event: MouseEvent): void;
1350
1582
  handleMouseClick(_event: MouseEvent): void;
1351
1583
  }
1584
+ declare global {
1585
+ interface HTMLElementTagNameMap {
1586
+ 'theoplayer-gesture-receiver': GestureReceiver;
1587
+ }
1588
+ }
1352
1589
 
1353
1590
  declare const LiveButton_base: typeof Button & Constructor<StateReceiverElement>;
1354
1591
  /**
@@ -1380,12 +1617,20 @@ declare class LiveButton extends LiveButton_base {
1380
1617
  protected handleClick(): void;
1381
1618
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
1382
1619
  }
1620
+ declare global {
1621
+ interface HTMLElementTagNameMap {
1622
+ 'theoplayer-live-button': LiveButton;
1623
+ }
1624
+ }
1383
1625
 
1384
1626
  declare const AdDisplay_base: {
1385
1627
  new (): HTMLElement;
1386
1628
  prototype: HTMLElement;
1387
1629
  } & Constructor<StateReceiverElement>;
1388
1630
  /**
1631
+ * `<theoplayer-ad-countdown>` - A control that shows when an advertisement is playing,
1632
+ * and the number of the current ad in the ad break (if the break has multiple ads).
1633
+ *
1389
1634
  * @group Components
1390
1635
  */
1391
1636
  declare class AdDisplay extends AdDisplay_base {
@@ -1398,12 +1643,19 @@ declare class AdDisplay extends AdDisplay_base {
1398
1643
  set player(player: ChromelessPlayer | undefined);
1399
1644
  private readonly _updateFromPlayer;
1400
1645
  }
1646
+ declare global {
1647
+ interface HTMLElementTagNameMap {
1648
+ 'theoplayer-ad-display': AdDisplay;
1649
+ }
1650
+ }
1401
1651
 
1402
1652
  declare const AdCountdown_base: {
1403
1653
  new (): HTMLElement;
1404
1654
  prototype: HTMLElement;
1405
1655
  } & Constructor<StateReceiverElement>;
1406
1656
  /**
1657
+ * `<theoplayer-ad-countdown>` - A control that displays the remaining time of the current ad break.
1658
+ *
1407
1659
  * @group Components
1408
1660
  */
1409
1661
  declare class AdCountdown extends AdCountdown_base {
@@ -1417,9 +1669,16 @@ declare class AdCountdown extends AdCountdown_base {
1417
1669
  private readonly _onAdChange;
1418
1670
  private readonly _update;
1419
1671
  }
1672
+ declare global {
1673
+ interface HTMLElementTagNameMap {
1674
+ 'theoplayer-ad-countdown': AdCountdown;
1675
+ }
1676
+ }
1420
1677
 
1421
1678
  declare const AdClickThroughButton_base: typeof LinkButton & Constructor<StateReceiverElement>;
1422
1679
  /**
1680
+ * `<theoplayer-ad-clickthrough-button>` - A button to open the advertisement's click-through webpage.
1681
+ *
1423
1682
  * @group Components
1424
1683
  */
1425
1684
  declare class AdClickThroughButton extends AdClickThroughButton_base {
@@ -1435,9 +1694,17 @@ declare class AdClickThroughButton extends AdClickThroughButton_base {
1435
1694
  private readonly _updateFromPlayer;
1436
1695
  protected handleClick(): void;
1437
1696
  }
1697
+ declare global {
1698
+ interface HTMLElementTagNameMap {
1699
+ 'theoplayer-ad-clickthrough-button': AdClickThroughButton;
1700
+ }
1701
+ }
1438
1702
 
1439
1703
  declare const AdSkipButton_base: typeof Button & Constructor<StateReceiverElement>;
1440
1704
  /**
1705
+ * `<theoplayer-ad-skip-button>` - A button that skips the current advertisement (if skippable).
1706
+ * If the ad cannot be skipped yet, it shows the remaining time until it can be skipped.
1707
+ *
1441
1708
  * @group Components
1442
1709
  */
1443
1710
  declare class AdSkipButton extends AdSkipButton_base {
@@ -1454,6 +1721,11 @@ declare class AdSkipButton extends AdSkipButton_base {
1454
1721
  private readonly _onAdChange;
1455
1722
  private readonly _update;
1456
1723
  }
1724
+ declare global {
1725
+ interface HTMLElementTagNameMap {
1726
+ 'theoplayer-ad-skip-button': AdSkipButton;
1727
+ }
1728
+ }
1457
1729
 
1458
1730
  declare enum ExtensionSlot {
1459
1731
  TopControlBar = "top-control-bar",
@@ -1461,6 +1733,8 @@ declare enum ExtensionSlot {
1461
1733
  Menu = "menu"
1462
1734
  }
1463
1735
 
1736
+ declare const READY_EVENT: "theoplayerready";
1737
+
1464
1738
  /**
1465
1739
  * `<theoplayer-default-ui>` - A default UI for THEOplayer.
1466
1740
  *
@@ -1501,12 +1775,19 @@ declare enum ExtensionSlot {
1501
1775
  * @attribute `dvr-threshold` - The minimum length (in seconds) of a livestream's sliding window for the stream to be DVR
1502
1776
  * and its stream type to be set to "dvr".
1503
1777
  *
1778
+ * @slot `title` - A slot for the stream's title in the top control bar.
1504
1779
  * @slot `top-control-bar` - A slot for extra UI controls in the top control bar.
1505
1780
  * @slot `bottom-control-bar` - A slot for extra UI controls in the bottom control bar.
1506
1781
  * @slot `menu` - A slot for extra menus (see {@link Menu | `<theoplayer-menu>`}).
1507
1782
  * @group Components
1508
1783
  */
1509
1784
  declare class DefaultUI extends HTMLElement {
1785
+ /**
1786
+ * Fired when the backing player is created, and the {@link DefaultUI.player} property is set.
1787
+ *
1788
+ * @group Events
1789
+ */
1790
+ static READY_EVENT: typeof READY_EVENT;
1510
1791
  static get observedAttributes(): Attribute[];
1511
1792
  private readonly _ui;
1512
1793
  private readonly _titleSlot;
@@ -1541,6 +1822,11 @@ declare class DefaultUI extends HTMLElement {
1541
1822
  */
1542
1823
  get source(): SourceDescription | undefined;
1543
1824
  set source(value: SourceDescription | undefined);
1825
+ /**
1826
+ * Whether to automatically adjusts the player's height to fit the video's aspect ratio.
1827
+ */
1828
+ get fluid(): boolean;
1829
+ set fluid(value: boolean);
1544
1830
  /**
1545
1831
  * Whether the player's audio is muted.
1546
1832
  */
@@ -1575,8 +1861,14 @@ declare class DefaultUI extends HTMLElement {
1575
1861
  disconnectedCallback(): void;
1576
1862
  attributeChangedCallback(attrName: string, oldValue: any, newValue: any): void;
1577
1863
  private readonly _updateStreamType;
1864
+ private readonly _dispatchReadyEvent;
1578
1865
  private readonly _onTitleSlotChange;
1579
1866
  }
1867
+ declare global {
1868
+ interface HTMLElementTagNameMap {
1869
+ 'theoplayer-default-ui': DefaultUI;
1870
+ }
1871
+ }
1580
1872
 
1581
1873
  /**
1582
1874
  * An extension for the default UI.
@@ -1655,7 +1947,7 @@ declare function registerExtension(extension: Extension): void;
1655
1947
  * and its stream type to be set to "dvr".
1656
1948
  * @attribute `paused` (readonly) - Whether the player is paused. Reflects `ui.player.paused`.
1657
1949
  * @attribute `ended` (readonly) - Whether the player is ended. Reflects `ui.player.ended`.
1658
- * @attribute `casting` (readonly) - Whether the player is ended. Reflects `ui.player.cast.casting`.
1950
+ * @attribute `casting` (readonly) - Whether the player is casting. Reflects `ui.player.cast.casting`.
1659
1951
  * @attribute `playing-ad` (readonly) - Whether the player is playing a linear ad. Reflects `ui.player.ads.playing`.
1660
1952
  * @attribute `has-error` (readonly) - Whether the player has encountered a fatal error.
1661
1953
  * @attribute `has-first-play` (readonly) - Whether the player has (previously) started playback for this stream.
@@ -1676,6 +1968,12 @@ declare function registerExtension(extension: Extension): void;
1676
1968
  * @group Components
1677
1969
  */
1678
1970
  declare class UIContainer extends HTMLElement {
1971
+ /**
1972
+ * Fired when the backing player is created, and the {@link UIContainer.player} property is set.
1973
+ *
1974
+ * @group Events
1975
+ */
1976
+ static READY_EVENT: typeof READY_EVENT;
1679
1977
  static get observedAttributes(): Attribute[];
1680
1978
  private _configuration;
1681
1979
  private readonly _playerEl;
@@ -1726,6 +2024,11 @@ declare class UIContainer extends HTMLElement {
1726
2024
  get source(): SourceDescription | undefined;
1727
2025
  set source(value: SourceDescription | undefined);
1728
2026
  private _setSource;
2027
+ /**
2028
+ * Whether to automatically adjusts the player's height to fit the video's aspect ratio.
2029
+ */
2030
+ get fluid(): boolean;
2031
+ set fluid(value: boolean);
1729
2032
  /**
1730
2033
  * Whether the player's audio is muted.
1731
2034
  */
@@ -1826,6 +2129,11 @@ declare class UIContainer extends HTMLElement {
1826
2129
  private readonly _updateTextTrackMargins;
1827
2130
  private readonly _onPreviewTimeChange;
1828
2131
  }
2132
+ declare global {
2133
+ interface HTMLElementTagNameMap {
2134
+ 'theoplayer-ui': UIContainer;
2135
+ }
2136
+ }
1829
2137
 
1830
2138
  export { ActiveQualityDisplay, AdClickThroughButton, AdCountdown, AdDisplay, AdSkipButton, AirPlayButton, Attribute, Button, ButtonOptions, CastButton, ChromecastButton, ChromecastDisplay, CloseMenuButton, ColorStops, Constructor, ControlBar, DefaultUI, DeviceType, DurationDisplay, ErrorDisplay, Extension, ExtensionSlot, FullscreenButton, GestureReceiver, LanguageMenu, LanguageMenuButton, LinkButton, LiveButton, LoadingIndicator, MediaTrackRadioButton, Menu, MenuButton, MenuGroup, MenuGroupOptions, MenuOptions, MuteButton, PlayButton, PlaybackRateDisplay, PlaybackRateMenu, PlaybackRateMenuButton, PlaybackRateRadioGroup, PreviewThumbnail, PreviewTimeDisplay, QualityRadioButton, QualityRadioGroup, RadioButton, RadioGroup, Range, RangeOptions, SeekButton, SettingsMenu, SettingsMenuButton, StateReceiverElement, StateReceiverMixin, StateReceiverPropertyMap, StreamType, TextTrackOffRadioButton, TextTrackRadioButton, TextTrackStyleDisplay, TextTrackStyleMap, TextTrackStyleMenu, TextTrackStyleOption, TextTrackStyleRadioGroup, TextTrackStyleResetButton, TimeDisplay, TimeRange, TrackRadioGroup, TrackType, UIContainer, VolumeLevel, VolumeRange, buttonTemplate, linkButtonTemplate, menuGroupTemplate, menuTemplate, rangeTemplate, registerExtension };
1831
2139
  export as namespace THEOplayerUI;