@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.
- package/CHANGELOG.md +16 -0
- package/LICENSE.md +21 -0
- package/README.md +123 -0
- package/dist/THEOplayerReactUI.d.ts +684 -0
- package/dist/THEOplayerReactUI.es5.js +8 -0
- package/dist/THEOplayerReactUI.es5.mjs +5 -0
- package/dist/THEOplayerReactUI.js +5 -0
- package/dist/THEOplayerReactUI.js.map +1 -0
- package/dist/THEOplayerReactUI.mjs +2 -0
- package/dist/THEOplayerReactUI.mjs.map +1 -0
- package/package.json +84 -0
|
@@ -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;
|