@theoplayer/react-ui 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.
@@ -0,0 +1,684 @@
1
+ /*!
2
+ * THEOplayer Open Video UI for React (v1.6.0)
3
+ * License: MIT
4
+ */
5
+ import * as react from 'react';
6
+ import { PropsWithoutRef, ReactNode } from 'react';
7
+ import { ChromelessPlayer } from 'theoplayer/chromeless';
8
+ import * as react_jsx_runtime from 'react/jsx-runtime';
9
+ import { UIContainer as UIContainer$1, DefaultUI as DefaultUI$1, ControlBar as ControlBar$1, Button as Button$1, LinkButton as LinkButton$1, PlayButton as PlayButton$1, MuteButton as MuteButton$1, SeekButton as SeekButton$1, TimeDisplay as TimeDisplay$1, DurationDisplay as DurationDisplay$1, RadioGroup as RadioGroup$1, RadioButton as RadioButton$1, Menu as Menu$1, MenuGroup as MenuGroup$1, MenuButton as MenuButton$1, CloseMenuButton as CloseMenuButton$1, MediaTrackRadioButton as MediaTrackRadioButton$1, TrackRadioGroup as TrackRadioGroup$1, TextTrackRadioButton as TextTrackRadioButton$1, TextTrackOffRadioButton as TextTrackOffRadioButton$1, LanguageMenu as LanguageMenu$1, LanguageMenuButton as LanguageMenuButton$1, PlaybackRateRadioGroup as PlaybackRateRadioGroup$1, PlaybackRateMenuButton as PlaybackRateMenuButton$1, PlaybackRateMenu as PlaybackRateMenu$1, PlaybackRateDisplay as PlaybackRateDisplay$1, ActiveQualityDisplay as ActiveQualityDisplay$1, QualityRadioButton as QualityRadioButton$1, QualityRadioGroup as QualityRadioGroup$1, TextTrackStyleRadioGroup as TextTrackStyleRadioGroup$1, TextTrackStyleResetButton as TextTrackStyleResetButton$1, TextTrackStyleDisplay as TextTrackStyleDisplay$1, TextTrackStyleMenu as TextTrackStyleMenu$1, SettingsMenu as SettingsMenu$1, SettingsMenuButton as SettingsMenuButton$1, FullscreenButton as FullscreenButton$1, TimeRange as TimeRange$1, VolumeRange as VolumeRange$1, ErrorDisplay as ErrorDisplay$1, CastButton as CastButton$1, ChromecastButton as ChromecastButton$1, ChromecastDisplay as ChromecastDisplay$1, AirPlayButton as AirPlayButton$1, LoadingIndicator as LoadingIndicator$1, GestureReceiver as GestureReceiver$1, PreviewTimeDisplay as PreviewTimeDisplay$1, PreviewThumbnail as PreviewThumbnail$1, LiveButton as LiveButton$1, AdDisplay as AdDisplay$1, AdCountdown as AdCountdown$1, AdClickThroughButton as AdClickThroughButton$1, AdSkipButton as AdSkipButton$1 } from '@theoplayer/web-ui';
10
+ import * as _lit_react from '@lit/react';
11
+ import { WebComponentProps } from '@lit/react';
12
+
13
+ /**
14
+ * The {@link theoplayer!ChromelessPlayer | ChromelessPlayer} instance of the parent {@link DefaultUI} or {@link UIContainer}.
15
+ *
16
+ * This can be used to access the backing player's state and add event listeners from within a custom React component.
17
+ * The component *must* be a child of {@link DefaultUI} or {@link UIContainer} in order to receive the context.
18
+ * ```jsx
19
+ * import { useContext, useState } from 'react';
20
+ * import { PlayerContext } from '@theoplayer/react-ui';
21
+ *
22
+ * const MyCustomComponent = () => {
23
+ * // Retrieve the backing player from the context
24
+ * const player = useContext(PlayerContext);
25
+ *
26
+ * // Track the paused state of the player
27
+ * const [paused, setPaused] = useState(player?.paused ?? true);
28
+ * useEffect(() => {
29
+ * if (!player) return;
30
+ * const updatePaused = () => {
31
+ * setPaused(player.paused);
32
+ * };
33
+ * player.addEventListener(['play', 'pause'], updatePaused);
34
+ * return () => {
35
+ * player.removeEventListener(['play', 'pause'], updatePaused);
36
+ * };
37
+ * }, [player]);
38
+ *
39
+ * // Show the paused state in your UI
40
+ * return <p>Player is {paused ? "paused" : "playing"}</p>
41
+ * };
42
+ * ```
43
+ */
44
+ declare const PlayerContext: react.Context<ChromelessPlayer | undefined>;
45
+
46
+ interface UIContainerProps extends PropsWithoutRef<WebComponentProps<UIContainer$1>> {
47
+ /**
48
+ * A slot for controls at the top of the player.
49
+ *
50
+ * Can be used to display the stream's title, or for a cast button ({@link ChromecastButton}).
51
+ */
52
+ topChrome?: ReactNode;
53
+ /**
54
+ * A slot for controls in the middle of the player (between the top and bottom chrome).
55
+ */
56
+ middleChrome?: ReactNode;
57
+ /**
58
+ * A slot for controls at the bottom of the player.
59
+ *
60
+ * Can be used for controls such as a play button ({@link PlayButton}) or a seek bar ({@link TimeRange}).
61
+ */
62
+ bottomChrome?: ReactNode;
63
+ /**
64
+ * A slot for controls centered on the player, on top of other controls.
65
+ */
66
+ centeredChrome?: ReactNode;
67
+ /**
68
+ * A slot for a loading indicator centered on the player, on top of other controls but behind the centered chrome.
69
+ */
70
+ centeredLoading?: ReactNode;
71
+ /**
72
+ * A slot for extra menus (see {@link Menu}).
73
+ */
74
+ menu?: ReactNode;
75
+ /**
76
+ * A slot for an error display, to show when the player encounters a fatal error (see {@link ErrorDisplay}).
77
+ */
78
+ error?: ReactNode;
79
+ /**
80
+ * Use a named slot instead, such as:
81
+ * - {@link topChrome}
82
+ * - {@link middleChrome}
83
+ * - {@link bottomChrome}
84
+ * - {@link centeredChrome}
85
+ * - {@link centeredLoading}
86
+ * - {@link menu}
87
+ * - {@link error}
88
+ */
89
+ children?: never;
90
+ /**
91
+ * Called when the backing player is created.
92
+ *
93
+ * @param player
94
+ */
95
+ onReady?: (player: ChromelessPlayer) => void;
96
+ }
97
+ /**
98
+ * The container component for a THEOplayer UI.
99
+ *
100
+ * This component provides a basic layout structure for a general player UI, and handles the creation and management
101
+ * of a {@link theoplayer!ChromelessPlayer | THEOplayer player instance} for this UI.
102
+ *
103
+ * ## Usage
104
+ *
105
+ * 1. Create a `<UIContainer>` component, passing a valid player configuration as its `configuration` property
106
+ * and a valid stream source as its `source` property.
107
+ * Additionally, place your UI components into one of the slots of the `<UIContainer>`, such as
108
+ * ```jsx
109
+ * <UIContainer
110
+ * configuration={{
111
+ * license: 'your_license_goes_here',
112
+ * libraryLocation: '/path/to/node_modules/theoplayer/'
113
+ * }}
114
+ * source={{
115
+ * sources: [{ src: 'https://example.com/my_stream.m3u8', type: 'application/x-mpegurl' }]
116
+ * }}
117
+ * // ...
118
+ * />
119
+ * ```
120
+ * 2. Place your UI components into one of the slots of the `<UIContainer>`, such as {@link UIContainerProps.bottomChrome}
121
+ * or {@link UIContainerProps.centeredChrome}. You can use the provided THEOplayer UI components
122
+ * (such as {@link PlayButton} or {@link TimeRange}), or use any of your own components.
123
+ * ```jsx
124
+ * <UIContainer
125
+ * // ...
126
+ * topChrome={<span class="title">My awesome video</span>}
127
+ * centeredChrome={<PlayButton />}
128
+ * bottomChrome={
129
+ * <>
130
+ * <ControlBar>
131
+ * <TimeRange />
132
+ * </ControlBar>
133
+ * <ControlBar>
134
+ * <PlayButton />
135
+ * <MuteButton />
136
+ * <TimeDisplay />
137
+ * <FullscreenButton />
138
+ * </ControlBar>
139
+ * </>
140
+ * }
141
+ * />
142
+ * ```
143
+ *
144
+ * ## Customization
145
+ *
146
+ * This component does not provide any UI components by default, you need to add all components as children of
147
+ * one of the `<UIContainer>` slots. If you're looking for a simple out-of-the-box player experience instead,
148
+ * see {@link DefaultUI}.
149
+ *
150
+ * See {@link @theoplayer/web-ui!UIContainer | UIContainer in @theoplayer/web-ui}.
151
+ *
152
+ * @group Components
153
+ */
154
+ declare const UIContainer: (props: UIContainerProps) => react_jsx_runtime.JSX.Element;
155
+
156
+ interface DefaultUIProps extends PropsWithoutRef<Omit<WebComponentProps<DefaultUI$1>, 'title'>> {
157
+ /**
158
+ * A slot for the stream's title in the top control bar.
159
+ */
160
+ title?: ReactNode;
161
+ /**
162
+ * A slot for extra UI controls in the top control bar.
163
+ */
164
+ topControlBar?: ReactNode;
165
+ /**
166
+ * A slot for extra UI controls in the bottom control bar.
167
+ */
168
+ bottomControlBar?: ReactNode;
169
+ /**
170
+ * A slot for extra menus (see {@link Menu}).
171
+ */
172
+ menu?: ReactNode;
173
+ /**
174
+ * Use a named slot instead, such as:
175
+ * - {@link title}
176
+ * - {@link topControlBar}
177
+ * - {@link bottomControlBar}
178
+ * - {@link menu}
179
+ */
180
+ children?: never;
181
+ /**
182
+ * Called when the backing player is created.
183
+ *
184
+ * @param player
185
+ */
186
+ onReady?: (player: ChromelessPlayer) => void;
187
+ }
188
+ /**
189
+ * A default UI for THEOplayer.
190
+ *
191
+ * This default UI provides a great player experience out-of-the-box, that works well on all types of devices
192
+ * and for all types of streams. It provides all the common playback controls for playing, seeking,
193
+ * changing languages and qualities. It also supports advertisements and casting.
194
+ *
195
+ * ## Usage
196
+ *
197
+ * 1. Create a `<DefaultUI>` component, passing a valid player configuration as its `configuration` property
198
+ * and a valid stream source as its `source` property.
199
+ * ```jsx
200
+ * <DefaultUI
201
+ * configuration={{
202
+ * license: 'your_license_goes_here',
203
+ * libraryLocation: '/path/to/node_modules/theoplayer/'
204
+ * }}
205
+ * source={{
206
+ * sources: [{ src: 'https://example.com/my_stream.m3u8', type: 'application/x-mpegurl' }]
207
+ * }}
208
+ * />
209
+ * ```
210
+ * 2. Optionally, customize the player using CSS custom properties and/or extra controls.
211
+ *
212
+ * ## Customization
213
+ *
214
+ * The styling can be controlled using CSS custom properties (see {@link UIContainer}).
215
+ * Additional controls can be added to the {@link DefaultUIProps.topControlBar}
216
+ * and {@link DefaultUIProps.bottomControlBar} slots.
217
+ * For more extensive customizations, we recommend defining your own custom UI using a {@link UIContainer}.
218
+ *
219
+ * See {@link @theoplayer/web-ui!DefaultUI | DefaultUI in @theoplayer/web-ui}.
220
+ *
221
+ * @group Components
222
+ */
223
+ declare const DefaultUI: (props: DefaultUIProps) => react_jsx_runtime.JSX.Element;
224
+
225
+ /**
226
+ * See {@link @theoplayer/web-ui!ControlBar | ControlBar in @theoplayer/web-ui}.
227
+ *
228
+ * @group Components
229
+ */
230
+ declare const ControlBar: _lit_react.ReactWebComponent<ControlBar$1, {}>;
231
+
232
+ declare const ButtonEvents: {
233
+ readonly onClick: "click";
234
+ };
235
+ /**
236
+ * See {@link @theoplayer/web-ui!Button | Button in @theoplayer/web-ui}.
237
+ *
238
+ * @group Components
239
+ */
240
+ declare const Button: _lit_react.ReactWebComponent<Button$1, {
241
+ readonly onClick: "click";
242
+ }>;
243
+
244
+ /**
245
+ * See {@link @theoplayer/web-ui!LinkButton | LinkButton in @theoplayer/web-ui}.
246
+ *
247
+ * @group Components
248
+ */
249
+ declare const LinkButton: _lit_react.ReactWebComponent<LinkButton$1, {
250
+ readonly onClick: "click";
251
+ }>;
252
+
253
+ /**
254
+ * See {@link @theoplayer/web-ui!PlayButton | PlayButton in @theoplayer/web-ui}.
255
+ *
256
+ * @group Components
257
+ */
258
+ declare const PlayButton: _lit_react.ReactWebComponent<PlayButton$1, {
259
+ readonly onClick: "click";
260
+ }>;
261
+
262
+ /**
263
+ * See {@link @theoplayer/web-ui!MuteButton | MuteButton in @theoplayer/web-ui}.
264
+ *
265
+ * @group Components
266
+ */
267
+ declare const MuteButton: _lit_react.ReactWebComponent<MuteButton$1, {
268
+ readonly onClick: "click";
269
+ }>;
270
+
271
+ /**
272
+ * See {@link @theoplayer/web-ui!SeekButton | SeekButton in @theoplayer/web-ui}.
273
+ *
274
+ * @group Components
275
+ */
276
+ declare const SeekButton: _lit_react.ReactWebComponent<SeekButton$1, {
277
+ readonly onClick: "click";
278
+ }>;
279
+
280
+ /**
281
+ * See {@link @theoplayer/web-ui!TimeDisplay | TimeDisplay in @theoplayer/web-ui}.
282
+ *
283
+ * @group Components
284
+ */
285
+ declare const TimeDisplay: _lit_react.ReactWebComponent<TimeDisplay$1, {}>;
286
+
287
+ /**
288
+ * See {@link @theoplayer/web-ui!DurationDisplay | DurationDisplay in @theoplayer/web-ui}.
289
+ *
290
+ * @group Components
291
+ */
292
+ declare const DurationDisplay: _lit_react.ReactWebComponent<DurationDisplay$1, {}>;
293
+
294
+ declare const RadioGroupEvents: {
295
+ readonly onChange: "change";
296
+ };
297
+ /**
298
+ * See {@link @theoplayer/web-ui!RadioGroup | RadioGroup in @theoplayer/web-ui}.
299
+ *
300
+ * @group Components
301
+ */
302
+ declare const RadioGroup: _lit_react.ReactWebComponent<RadioGroup$1, {
303
+ readonly onChange: "change";
304
+ }>;
305
+
306
+ declare const RadioButtonEvents: {
307
+ readonly onChange: "change";
308
+ readonly onInput: "input";
309
+ readonly onClick: "click";
310
+ };
311
+ /**
312
+ * See {@link @theoplayer/web-ui!RadioButton | RadioButton in @theoplayer/web-ui}.
313
+ *
314
+ * @group Components
315
+ */
316
+ declare const RadioButton: _lit_react.ReactWebComponent<RadioButton$1, {
317
+ readonly onChange: "change";
318
+ readonly onInput: "input";
319
+ readonly onClick: "click";
320
+ }>;
321
+
322
+ interface CommonMenuProps {
323
+ /**
324
+ * A slot for the menu's heading.
325
+ */
326
+ heading?: ReactNode;
327
+ /**
328
+ * The menu's contents.
329
+ */
330
+ children?: ReactNode;
331
+ }
332
+ interface MenuProps extends CommonMenuProps, PropsWithoutRef<WebComponentProps<Menu$1>> {
333
+ }
334
+ /**
335
+ * See {@link @theoplayer/web-ui!Menu | Menu in @theoplayer/web-ui}.
336
+ *
337
+ * @group Components
338
+ */
339
+ declare const Menu: (props: MenuProps) => react_jsx_runtime.JSX.Element;
340
+
341
+ /**
342
+ * See {@link @theoplayer/web-ui!MenuGroup | MenuGroup in @theoplayer/web-ui}.
343
+ *
344
+ * @group Components
345
+ */
346
+ declare const MenuGroup: _lit_react.ReactWebComponent<MenuGroup$1, {}>;
347
+
348
+ /**
349
+ * See {@link @theoplayer/web-ui!MenuButton | MenuButton in @theoplayer/web-ui}.
350
+ *
351
+ * @group Components
352
+ */
353
+ declare const MenuButton: _lit_react.ReactWebComponent<MenuButton$1, {
354
+ readonly onClick: "click";
355
+ }>;
356
+
357
+ /**
358
+ * See {@link @theoplayer/web-ui!CloseMenuButton | CloseMenuButton in @theoplayer/web-ui}.
359
+ *
360
+ * @group Components
361
+ */
362
+ declare const CloseMenuButton: _lit_react.ReactWebComponent<CloseMenuButton$1, {
363
+ readonly onClick: "click";
364
+ }>;
365
+
366
+ /**
367
+ * See {@link @theoplayer/web-ui!MediaTrackRadioButton | MediaTrackRadioButton in @theoplayer/web-ui}.
368
+ *
369
+ * @group Components
370
+ */
371
+ declare const MediaTrackRadioButton: _lit_react.ReactWebComponent<MediaTrackRadioButton$1, {
372
+ readonly onChange: "change";
373
+ readonly onInput: "input";
374
+ readonly onClick: "click";
375
+ }>;
376
+
377
+ /**
378
+ * See {@link @theoplayer/web-ui!TrackRadioGroup | TrackRadioGroup in @theoplayer/web-ui}.
379
+ *
380
+ * @group Components
381
+ */
382
+ declare const TrackRadioGroup: _lit_react.ReactWebComponent<TrackRadioGroup$1, {
383
+ readonly onChange: "change";
384
+ }>;
385
+
386
+ /**
387
+ * See {@link @theoplayer/web-ui!TextTrackRadioButton | TextTrackRadioButton in @theoplayer/web-ui}.
388
+ *
389
+ * @group Components
390
+ */
391
+ declare const TextTrackRadioButton: _lit_react.ReactWebComponent<TextTrackRadioButton$1, {
392
+ readonly onChange: "change";
393
+ readonly onInput: "input";
394
+ readonly onClick: "click";
395
+ }>;
396
+
397
+ /**
398
+ * See {@link @theoplayer/web-ui!TextTrackOffRadioButton | TextTrackOffRadioButton in @theoplayer/web-ui}.
399
+ *
400
+ * @group Components
401
+ */
402
+ declare const TextTrackOffRadioButton: _lit_react.ReactWebComponent<TextTrackOffRadioButton$1, {
403
+ readonly onChange: "change";
404
+ readonly onInput: "input";
405
+ readonly onClick: "click";
406
+ }>;
407
+
408
+ interface LanguageMenuProps extends CommonMenuProps, PropsWithoutRef<WebComponentProps<LanguageMenu$1>> {
409
+ }
410
+ /**
411
+ * See {@link @theoplayer/web-ui!LanguageMenu | LanguageMenu in @theoplayer/web-ui}.
412
+ *
413
+ * @group Components
414
+ */
415
+ declare const LanguageMenu: (props: LanguageMenuProps) => react_jsx_runtime.JSX.Element;
416
+
417
+ /**
418
+ * See {@link @theoplayer/web-ui!LanguageMenuButton | LanguageMenuButton in @theoplayer/web-ui}.
419
+ *
420
+ * @group Components
421
+ */
422
+ declare const LanguageMenuButton: _lit_react.ReactWebComponent<LanguageMenuButton$1, {
423
+ readonly onClick: "click";
424
+ }>;
425
+
426
+ /**
427
+ * See {@link @theoplayer/web-ui!PlaybackRateRadioGroup | PlaybackRateRadioGroup in @theoplayer/web-ui}.
428
+ *
429
+ * @group Components
430
+ */
431
+ declare const PlaybackRateRadioGroup: _lit_react.ReactWebComponent<PlaybackRateRadioGroup$1, {
432
+ readonly onChange: "change";
433
+ }>;
434
+
435
+ /**
436
+ * See {@link @theoplayer/web-ui!PlaybackRateMenuButton | PlaybackRateMenuButton in @theoplayer/web-ui}.
437
+ *
438
+ * @group Components
439
+ */
440
+ declare const PlaybackRateMenuButton: _lit_react.ReactWebComponent<PlaybackRateMenuButton$1, {
441
+ readonly onClick: "click";
442
+ }>;
443
+
444
+ interface PlaybackRateMenuProps extends CommonMenuProps, PropsWithoutRef<WebComponentProps<PlaybackRateMenu$1>> {
445
+ }
446
+ /**
447
+ * See {@link @theoplayer/web-ui!PlaybackRateMenu | PlaybackRateMenu in @theoplayer/web-ui}.
448
+ *
449
+ * @group Components
450
+ */
451
+ declare const PlaybackRateMenu: (props: PlaybackRateMenuProps) => react_jsx_runtime.JSX.Element;
452
+
453
+ /**
454
+ * See {@link @theoplayer/web-ui!PlaybackRateDisplay | PlaybackRateDisplay in @theoplayer/web-ui}.
455
+ *
456
+ * @group Components
457
+ */
458
+ declare const PlaybackRateDisplay: _lit_react.ReactWebComponent<PlaybackRateDisplay$1, {}>;
459
+
460
+ /**
461
+ * See {@link @theoplayer/web-ui!ActiveQualityDisplay | ActiveQualityDisplay in @theoplayer/web-ui}.
462
+ *
463
+ * @group Components
464
+ */
465
+ declare const ActiveQualityDisplay: _lit_react.ReactWebComponent<ActiveQualityDisplay$1, {}>;
466
+
467
+ /**
468
+ * See {@link @theoplayer/web-ui!QualityRadioButton | QualityRadioButton in @theoplayer/web-ui}.
469
+ *
470
+ * @group Components
471
+ */
472
+ declare const QualityRadioButton: _lit_react.ReactWebComponent<QualityRadioButton$1, {
473
+ readonly onChange: "change";
474
+ readonly onInput: "input";
475
+ readonly onClick: "click";
476
+ }>;
477
+
478
+ /**
479
+ * See {@link @theoplayer/web-ui!QualityRadioGroup | QualityRadioGroup in @theoplayer/web-ui}.
480
+ *
481
+ * @group Components
482
+ */
483
+ declare const QualityRadioGroup: _lit_react.ReactWebComponent<QualityRadioGroup$1, {
484
+ readonly onChange: "change";
485
+ }>;
486
+
487
+ /**
488
+ * See {@link @theoplayer/web-ui!TextTrackStyleRadioGroup | TextTrackStyleRadioGroup in @theoplayer/web-ui}.
489
+ *
490
+ * @group Components
491
+ */
492
+ declare const TextTrackStyleRadioGroup: _lit_react.ReactWebComponent<TextTrackStyleRadioGroup$1, {
493
+ readonly onChange: "change";
494
+ }>;
495
+
496
+ /**
497
+ * See {@link @theoplayer/web-ui!TextTrackStyleResetButton | TextTrackStyleResetButton in @theoplayer/web-ui}.
498
+ *
499
+ * @group Components
500
+ */
501
+ declare const TextTrackStyleResetButton: _lit_react.ReactWebComponent<TextTrackStyleResetButton$1, {
502
+ readonly onClick: "click";
503
+ }>;
504
+
505
+ /**
506
+ * See {@link @theoplayer/web-ui!TextTrackStyleDisplay | TextTrackStyleDisplay in @theoplayer/web-ui}.
507
+ *
508
+ * @group Components
509
+ */
510
+ declare const TextTrackStyleDisplay: _lit_react.ReactWebComponent<TextTrackStyleDisplay$1, {}>;
511
+
512
+ interface TextTrackStyleMenuProps extends CommonMenuProps, PropsWithoutRef<WebComponentProps<TextTrackStyleMenu$1>> {
513
+ }
514
+ /**
515
+ * See {@link @theoplayer/web-ui!TextTrackStyleMenu | TextTrackStyleMenu in @theoplayer/web-ui}.
516
+ *
517
+ * @group Components
518
+ */
519
+ declare const TextTrackStyleMenu: (props: TextTrackStyleMenuProps) => react_jsx_runtime.JSX.Element;
520
+
521
+ interface SettingsMenuProps extends CommonMenuProps, PropsWithoutRef<WebComponentProps<SettingsMenu$1>> {
522
+ }
523
+ /**
524
+ * See {@link @theoplayer/web-ui!SettingsMenu | SettingsMenu in @theoplayer/web-ui}.
525
+ *
526
+ * @group Components
527
+ */
528
+ declare const SettingsMenu: (props: SettingsMenuProps) => react_jsx_runtime.JSX.Element;
529
+
530
+ /**
531
+ * See {@link @theoplayer/web-ui!SettingsMenuButton | SettingsMenuButton in @theoplayer/web-ui}.
532
+ *
533
+ * @group Components
534
+ */
535
+ declare const SettingsMenuButton: _lit_react.ReactWebComponent<SettingsMenuButton$1, {
536
+ readonly onClick: "click";
537
+ }>;
538
+
539
+ /**
540
+ * See {@link @theoplayer/web-ui!FullscreenButton | FullscreenButton in @theoplayer/web-ui}.
541
+ *
542
+ * @group Components
543
+ */
544
+ declare const FullscreenButton: _lit_react.ReactWebComponent<FullscreenButton$1, {
545
+ readonly onClick: "click";
546
+ }>;
547
+
548
+ declare const RangeEvents: {
549
+ readonly onChange: "change";
550
+ readonly onInput: "input";
551
+ };
552
+
553
+ /**
554
+ * See {@link @theoplayer/web-ui!TimeRange | TimeRange in @theoplayer/web-ui}.
555
+ *
556
+ * @group Components
557
+ */
558
+ declare const TimeRange: _lit_react.ReactWebComponent<TimeRange$1, {
559
+ readonly onChange: "change";
560
+ readonly onInput: "input";
561
+ }>;
562
+
563
+ /**
564
+ * See {@link @theoplayer/web-ui!VolumeRange | VolumeRange in @theoplayer/web-ui}.
565
+ *
566
+ * @group Components
567
+ */
568
+ declare const VolumeRange: _lit_react.ReactWebComponent<VolumeRange$1, {
569
+ readonly onChange: "change";
570
+ readonly onInput: "input";
571
+ }>;
572
+
573
+ /**
574
+ * See {@link @theoplayer/web-ui!ErrorDisplay | ErrorDisplay in @theoplayer/web-ui}.
575
+ *
576
+ * @group Components
577
+ */
578
+ declare const ErrorDisplay: _lit_react.ReactWebComponent<ErrorDisplay$1, {}>;
579
+
580
+ /**
581
+ * See {@link @theoplayer/web-ui!CastButton | CastButton in @theoplayer/web-ui}.
582
+ *
583
+ * @group Components
584
+ */
585
+ declare const CastButton: _lit_react.ReactWebComponent<CastButton$1, {
586
+ readonly onClick: "click";
587
+ }>;
588
+
589
+ /**
590
+ * See {@link @theoplayer/web-ui!ChromecastButton | ChromecastButton in @theoplayer/web-ui}.
591
+ *
592
+ * @group Components
593
+ */
594
+ declare const ChromecastButton: _lit_react.ReactWebComponent<ChromecastButton$1, {
595
+ readonly onClick: "click";
596
+ }>;
597
+
598
+ /**
599
+ * See {@link @theoplayer/web-ui!ChromecastDisplay | ChromecastDisplay in @theoplayer/web-ui}.
600
+ *
601
+ * @group Components
602
+ */
603
+ declare const ChromecastDisplay: _lit_react.ReactWebComponent<ChromecastDisplay$1, {}>;
604
+
605
+ /**
606
+ * See {@link @theoplayer/web-ui!AirPlayButton | AirPlayButton in @theoplayer/web-ui}.
607
+ *
608
+ * @group Components
609
+ */
610
+ declare const AirPlayButton: _lit_react.ReactWebComponent<AirPlayButton$1, {
611
+ readonly onClick: "click";
612
+ }>;
613
+
614
+ /**
615
+ * See {@link @theoplayer/web-ui!LoadingIndicator | LoadingIndicator in @theoplayer/web-ui}.
616
+ *
617
+ * @group Components
618
+ */
619
+ declare const LoadingIndicator: _lit_react.ReactWebComponent<LoadingIndicator$1, {}>;
620
+
621
+ /**
622
+ * See {@link @theoplayer/web-ui!GestureReceiver | GestureReceiver in @theoplayer/web-ui}.
623
+ *
624
+ * @group Components
625
+ */
626
+ declare const GestureReceiver: _lit_react.ReactWebComponent<GestureReceiver$1, {}>;
627
+
628
+ /**
629
+ * See {@link @theoplayer/web-ui!PreviewTimeDisplay | PreviewTimeDisplay in @theoplayer/web-ui}.
630
+ *
631
+ * @group Components
632
+ */
633
+ declare const PreviewTimeDisplay: _lit_react.ReactWebComponent<PreviewTimeDisplay$1, {}>;
634
+
635
+ /**
636
+ * See {@link @theoplayer/web-ui!PreviewThumbnail | PreviewThumbnail in @theoplayer/web-ui}.
637
+ *
638
+ * @group Components
639
+ */
640
+ declare const PreviewThumbnail: _lit_react.ReactWebComponent<PreviewThumbnail$1, {}>;
641
+
642
+ /**
643
+ * See {@link @theoplayer/web-ui!LiveButton | LiveButton in @theoplayer/web-ui}.
644
+ *
645
+ * @group Components
646
+ */
647
+ declare const LiveButton: _lit_react.ReactWebComponent<LiveButton$1, {
648
+ readonly onClick: "click";
649
+ }>;
650
+
651
+ /**
652
+ * See {@link @theoplayer/web-ui!AdDisplay | AdDisplay in @theoplayer/web-ui}.
653
+ *
654
+ * @group Components
655
+ */
656
+ declare const AdDisplay: _lit_react.ReactWebComponent<AdDisplay$1, {}>;
657
+
658
+ /**
659
+ * See {@link @theoplayer/web-ui!AdCountdown | AdCountdown in @theoplayer/web-ui}.
660
+ *
661
+ * @group Components
662
+ */
663
+ declare const AdCountdown: _lit_react.ReactWebComponent<AdCountdown$1, {}>;
664
+
665
+ /**
666
+ * See {@link @theoplayer/web-ui!AdClickThroughButton | AdClickThroughButton in @theoplayer/web-ui}.
667
+ *
668
+ * @group Components
669
+ */
670
+ declare const AdClickThroughButton: _lit_react.ReactWebComponent<AdClickThroughButton$1, {
671
+ readonly onClick: "click";
672
+ }>;
673
+
674
+ /**
675
+ * See {@link @theoplayer/web-ui!AdSkipButton | AdSkipButton in @theoplayer/web-ui}.
676
+ *
677
+ * @group Components
678
+ */
679
+ declare const AdSkipButton: _lit_react.ReactWebComponent<AdSkipButton$1, {
680
+ readonly onClick: "click";
681
+ }>;
682
+
683
+ export { ActiveQualityDisplay, AdClickThroughButton, AdCountdown, AdDisplay, AdSkipButton, AirPlayButton, Button, ButtonEvents, CastButton, ChromecastButton, ChromecastDisplay, CloseMenuButton, CommonMenuProps, ControlBar, DefaultUI, DefaultUIProps, DurationDisplay, ErrorDisplay, FullscreenButton, GestureReceiver, LanguageMenu, LanguageMenuButton, LanguageMenuProps, LinkButton, LiveButton, LoadingIndicator, MediaTrackRadioButton, Menu, MenuButton, MenuGroup, MenuProps, MuteButton, PlayButton, PlaybackRateDisplay, PlaybackRateMenu, PlaybackRateMenuButton, PlaybackRateMenuProps, PlaybackRateRadioGroup, PlayerContext, PreviewThumbnail, PreviewTimeDisplay, QualityRadioButton, QualityRadioGroup, RadioButton, RadioButtonEvents, RadioGroup, RadioGroupEvents, RangeEvents, SeekButton, SettingsMenu, SettingsMenuButton, SettingsMenuProps, TextTrackOffRadioButton, TextTrackRadioButton, TextTrackStyleDisplay, TextTrackStyleMenu, TextTrackStyleMenuProps, TextTrackStyleRadioGroup, TextTrackStyleResetButton, TimeDisplay, TimeRange, TrackRadioGroup, UIContainer, UIContainerProps, VolumeRange };
684
+ export as namespace THEOplayerReactUI;