video-react-player 0.1.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.
Files changed (105) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/LICENSE +23 -0
  3. package/README.md +584 -0
  4. package/dist/Manager.d.ts +36 -0
  5. package/dist/actions/player.d.ts +124 -0
  6. package/dist/actions/video.d.ts +161 -0
  7. package/dist/components/Bezel.d.ts +22 -0
  8. package/dist/components/BigPlayButton.d.ts +20 -0
  9. package/dist/components/ClickableComponent.d.ts +24 -0
  10. package/dist/components/LoadingSpinner.d.ts +11 -0
  11. package/dist/components/Player.d.ts +82 -0
  12. package/dist/components/PosterImage.d.ts +12 -0
  13. package/dist/components/Shortcut.d.ts +48 -0
  14. package/dist/components/Slider.d.ts +49 -0
  15. package/dist/components/Source.d.ts +25 -0
  16. package/dist/components/Video.d.ts +48 -0
  17. package/dist/components/control-bar/ClosedCaptionButton.d.ts +19 -0
  18. package/dist/components/control-bar/ControlBar.d.ts +17 -0
  19. package/dist/components/control-bar/DownloadButton.d.ts +17 -0
  20. package/dist/components/control-bar/ForwardControl.d.ts +13 -0
  21. package/dist/components/control-bar/ForwardReplayControl.d.ts +17 -0
  22. package/dist/components/control-bar/FullscreenToggle.d.ts +5 -0
  23. package/dist/components/control-bar/LoadProgressBar.d.ts +18 -0
  24. package/dist/components/control-bar/LoopToggle.d.ts +5 -0
  25. package/dist/components/control-bar/MouseTimeDisplay.d.ts +22 -0
  26. package/dist/components/control-bar/PictureInPictureToggle.d.ts +15 -0
  27. package/dist/components/control-bar/PlayProgressBar.d.ts +12 -0
  28. package/dist/components/control-bar/PlayToggle.d.ts +13 -0
  29. package/dist/components/control-bar/PlaybackRate.d.ts +14 -0
  30. package/dist/components/control-bar/PlaybackRateMenuButton.d.ts +17 -0
  31. package/dist/components/control-bar/ProgressControl.d.ts +16 -0
  32. package/dist/components/control-bar/QualityMenuButton.d.ts +17 -0
  33. package/dist/components/control-bar/ReplayControl.d.ts +13 -0
  34. package/dist/components/control-bar/ScreenshotButton.d.ts +14 -0
  35. package/dist/components/control-bar/SeekBar.d.ts +18 -0
  36. package/dist/components/control-bar/TheaterModeToggle.d.ts +14 -0
  37. package/dist/components/control-bar/VolumeMenuButton.d.ts +17 -0
  38. package/dist/components/menu/Menu.d.ts +15 -0
  39. package/dist/components/menu/MenuButton.d.ts +46 -0
  40. package/dist/components/menu/MenuItem.d.ts +22 -0
  41. package/dist/components/popup/Popup.d.ts +15 -0
  42. package/dist/components/popup/PopupButton.d.ts +19 -0
  43. package/dist/components/time-controls/CurrentTimeDisplay.d.ts +18 -0
  44. package/dist/components/time-controls/DurationDisplay.d.ts +12 -0
  45. package/dist/components/time-controls/RemainingTimeDisplay.d.ts +13 -0
  46. package/dist/components/time-controls/TimeDivider.d.ts +10 -0
  47. package/dist/components/volume-control/VolumeBar.d.ts +33 -0
  48. package/dist/components/volume-control/VolumeControl.d.ts +16 -0
  49. package/dist/components/volume-control/VolumeLevel.d.ts +9 -0
  50. package/dist/index.d.ts +46 -0
  51. package/dist/reducers/index.d.ts +11 -0
  52. package/dist/reducers/operation.d.ts +10 -0
  53. package/dist/reducers/player.d.ts +33 -0
  54. package/dist/types/component.d.ts +13 -0
  55. package/dist/types/player.d.ts +31 -0
  56. package/dist/utils/browser.d.ts +5 -0
  57. package/dist/utils/dom.d.ts +31 -0
  58. package/dist/utils/fullscreen.d.ts +16 -0
  59. package/dist/utils/index.d.ts +24 -0
  60. package/dist/video-react-new.cjs.js +3904 -0
  61. package/dist/video-react-new.css +1155 -0
  62. package/dist/video-react-new.d.ts +11 -0
  63. package/dist/video-react-new.es.js +3861 -0
  64. package/dist/video-react-new.full.js +4578 -0
  65. package/dist/video-react-new.full.min.js +2 -0
  66. package/dist/video-react-new.js +4283 -0
  67. package/dist/video-react-new.min.js +2 -0
  68. package/dist/video-react-player.cjs.js +3904 -0
  69. package/dist/video-react-player.css +1155 -0
  70. package/dist/video-react-player.d.ts +11 -0
  71. package/dist/video-react-player.es.js +3861 -0
  72. package/dist/video-react-player.full.js +4578 -0
  73. package/dist/video-react-player.full.min.js +2 -0
  74. package/dist/video-react-player.js +4283 -0
  75. package/dist/video-react-player.min.js +2 -0
  76. package/package.json +145 -0
  77. package/styles/fonts/video-react.eot +0 -0
  78. package/styles/fonts/video-react.svg +43 -0
  79. package/styles/fonts/video-react.ttf +0 -0
  80. package/styles/fonts/video-react.woff +0 -0
  81. package/styles/icons.json +584 -0
  82. package/styles/scss/components/bezel.scss +119 -0
  83. package/styles/scss/components/big-play-button.scss +45 -0
  84. package/styles/scss/components/button.scss +18 -0
  85. package/styles/scss/components/closed-caption.scss +13 -0
  86. package/styles/scss/components/control-bar.scss +51 -0
  87. package/styles/scss/components/control.scss +42 -0
  88. package/styles/scss/components/fullscreen.scss +13 -0
  89. package/styles/scss/components/loading-spinner.scss +105 -0
  90. package/styles/scss/components/menu/menu-inline.scss +67 -0
  91. package/styles/scss/components/menu/menu-popup.scss +27 -0
  92. package/styles/scss/components/menu/menu.scss +59 -0
  93. package/styles/scss/components/new-controls.scss +42 -0
  94. package/styles/scss/components/play-pause.scss +11 -0
  95. package/styles/scss/components/playback-rate.scss +13 -0
  96. package/styles/scss/components/poster.scss +27 -0
  97. package/styles/scss/components/progress.scss +157 -0
  98. package/styles/scss/components/slider.scss +13 -0
  99. package/styles/scss/components/time.scss +18 -0
  100. package/styles/scss/components/volume.scss +147 -0
  101. package/styles/scss/icons.scss +278 -0
  102. package/styles/scss/layout.scss +115 -0
  103. package/styles/scss/mixins.scss +117 -0
  104. package/styles/scss/variables.scss +16 -0
  105. package/styles/scss/video-react-player.scss +34 -0
@@ -0,0 +1,124 @@
1
+ /**
2
+
3
+ * Copyright (c) 2016 Video-React contributors
4
+ * Copyright (c) 2025 ZingMe.Vn
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ import type Manager from '../Manager';
10
+ import type { OperationState } from '../reducers/operation';
11
+ import type { PlayerState } from '../reducers/player';
12
+ export declare const OPERATE = "video-react-player/OPERATE";
13
+ export declare const FULLSCREEN_CHANGE = "video-react-player/FULLSCREEN_CHANGE";
14
+ export declare const PLAYER_ACTIVATE = "video-react-player/PLAYER_ACTIVATE";
15
+ export declare const USER_ACTIVATE = "video-react-player/USER_ACTIVATE";
16
+ type OperationPayload = OperationState['operation'];
17
+ export declare function handleFullscreenChange(isFullscreen: boolean): {
18
+ type: string;
19
+ isFullscreen: boolean;
20
+ };
21
+ export declare function activate(activity: boolean): {
22
+ type: string;
23
+ activity: boolean;
24
+ };
25
+ export declare function userActivate(activity: boolean): {
26
+ type: string;
27
+ activity: boolean;
28
+ };
29
+ export declare function play(this: Manager, operation?: OperationPayload): {
30
+ type: string;
31
+ operation: {
32
+ action: string;
33
+ source: string;
34
+ };
35
+ };
36
+ export declare function pause(this: Manager, operation?: OperationPayload): {
37
+ type: string;
38
+ operation: {
39
+ action: string;
40
+ source: string;
41
+ };
42
+ };
43
+ export declare function togglePlay(this: Manager, operation?: OperationPayload): {
44
+ type: string;
45
+ operation: {
46
+ action: string;
47
+ source: string;
48
+ };
49
+ };
50
+ export declare function seek(this: Manager, time: number, operation?: OperationPayload): {
51
+ type: string;
52
+ operation: {
53
+ action: string;
54
+ source: string;
55
+ };
56
+ };
57
+ export declare function forward(this: Manager, seconds: number, operation?: OperationPayload): {
58
+ type: string;
59
+ operation: {
60
+ action: string;
61
+ source: string;
62
+ };
63
+ };
64
+ export declare function replay(this: Manager, seconds: number, operation?: OperationPayload): {
65
+ type: string;
66
+ operation: {
67
+ action: string;
68
+ source: string;
69
+ };
70
+ };
71
+ export declare function changeRate(this: Manager, rate: number, operation?: OperationPayload): {
72
+ type: string;
73
+ operation: {
74
+ action: string;
75
+ source: string;
76
+ };
77
+ };
78
+ export declare function changeVolume(this: Manager, volume: number, operation?: OperationPayload): {
79
+ type: string;
80
+ operation: {
81
+ action: string;
82
+ source: string;
83
+ };
84
+ };
85
+ export declare function mute(this: Manager, muted: boolean, operation?: OperationPayload): {
86
+ type: string;
87
+ operation: {
88
+ action: string;
89
+ source: string;
90
+ };
91
+ };
92
+ export declare function toggleFullscreen(this: Manager, player: PlayerState): {
93
+ type: string;
94
+ operation: {
95
+ action: string;
96
+ source: string;
97
+ };
98
+ isFullscreen?: undefined;
99
+ } | {
100
+ type: string;
101
+ isFullscreen: boolean;
102
+ operation?: undefined;
103
+ };
104
+ export declare function togglePictureInPicture(): {
105
+ type: string;
106
+ isPictureInPicture: boolean;
107
+ };
108
+ export declare function changeQuality(this: Manager, quality: string): {
109
+ type: string;
110
+ quality: string;
111
+ };
112
+ export declare function takeScreenshot(): {
113
+ type: string;
114
+ operation: {
115
+ action: string;
116
+ source: string;
117
+ };
118
+ };
119
+ export declare function toggleTheaterMode(this: Manager, isTheater: boolean): {
120
+ type: string;
121
+ isTheater: boolean;
122
+ };
123
+ export {};
124
+ //# sourceMappingURL=player.d.ts.map
@@ -0,0 +1,161 @@
1
+ /**
2
+
3
+ * Copyright (c) 2016 Video-React contributors
4
+ * Copyright (c) 2025 ZingMe.Vn
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ export declare const LOAD_START = "video-react-player/LOAD_START";
10
+ export declare const CAN_PLAY = "video-react-player/CAN_PLAY";
11
+ export declare const WAITING = "video-react-player/WAITING";
12
+ export declare const CAN_PLAY_THROUGH = "video-react-player/CAN_PLAY_THROUGH";
13
+ export declare const PLAYING = "video-react-player/PLAYING";
14
+ export declare const PLAY = "video-react-player/PLAY";
15
+ export declare const PAUSE = "video-react-player/PAUSE";
16
+ export declare const END = "video-react-player/END";
17
+ export declare const SEEKING = "video-react-player/SEEKING";
18
+ export declare const SEEKED = "video-react-player/SEEKED";
19
+ export declare const SEEKING_TIME = "video-react-player/SEEKING_TIME";
20
+ export declare const END_SEEKING = "video-react-player/END_SEEKING";
21
+ export declare const DURATION_CHANGE = "video-react-player/DURATION_CHANGE";
22
+ export declare const TIME_UPDATE = "video-react-player/TIME_UPDATE";
23
+ export declare const VOLUME_CHANGE = "video-react-player/VOLUME_CHANGE";
24
+ export declare const PROGRESS_CHANGE = "video-react-player/PROGRESS_CHANGE";
25
+ export declare const RATE_CHANGE = "video-react-player/RATE_CHANGE";
26
+ export declare const SUSPEND = "video-react-player/SUSPEND";
27
+ export declare const ABORT = "video-react-player/ABORT";
28
+ export declare const EMPTIED = "video-react-player/EMPTIED";
29
+ export declare const STALLED = "video-react-player/STALLED";
30
+ export declare const LOADED_META_DATA = "video-react-player/LOADED_META_DATA";
31
+ export declare const LOADED_DATA = "video-react-player/LOADED_DATA";
32
+ export declare const RESIZE = "video-react-player/RESIZE";
33
+ export declare const ERROR = "video-react-player/ERROR";
34
+ export declare const ACTIVATE_TEXT_TRACK = "video-react-player/ACTIVATE_TEXT_TRACK";
35
+ export declare const PICTURE_IN_PICTURE_CHANGE = "video-react-player/PICTURE_IN_PICTURE_CHANGE";
36
+ export declare const LOOP_CHANGE = "video-react-player/LOOP_CHANGE";
37
+ export declare const THEATER_MODE_CHANGE = "video-react-player/THEATER_MODE_CHANGE";
38
+ export declare const QUALITY_CHANGE = "video-react-player/QUALITY_CHANGE";
39
+ type VideoProps = Record<string, unknown>;
40
+ export declare function handleLoadStart(videoProps: VideoProps): {
41
+ type: string;
42
+ videoProps: VideoProps;
43
+ };
44
+ export declare function handleCanPlay(videoProps: VideoProps): {
45
+ type: string;
46
+ videoProps: VideoProps;
47
+ };
48
+ export declare function handleWaiting(videoProps: VideoProps): {
49
+ type: string;
50
+ videoProps: VideoProps;
51
+ };
52
+ export declare function handleCanPlayThrough(videoProps: VideoProps): {
53
+ type: string;
54
+ videoProps: VideoProps;
55
+ };
56
+ export declare function handlePlaying(videoProps: VideoProps): {
57
+ type: string;
58
+ videoProps: VideoProps;
59
+ };
60
+ export declare function handlePlay(videoProps: VideoProps): {
61
+ type: string;
62
+ videoProps: VideoProps;
63
+ };
64
+ export declare function handlePause(videoProps: VideoProps): {
65
+ type: string;
66
+ videoProps: VideoProps;
67
+ };
68
+ export declare function handleEnd(videoProps: VideoProps): {
69
+ type: string;
70
+ videoProps: VideoProps;
71
+ };
72
+ export declare function handleSeeking(videoProps: VideoProps): {
73
+ type: string;
74
+ videoProps: VideoProps;
75
+ };
76
+ export declare function handleSeeked(videoProps: VideoProps): {
77
+ type: string;
78
+ videoProps: VideoProps;
79
+ };
80
+ export declare function handleDurationChange(videoProps: VideoProps): {
81
+ type: string;
82
+ videoProps: VideoProps;
83
+ };
84
+ export declare function handleTimeUpdate(videoProps: VideoProps): {
85
+ type: string;
86
+ videoProps: VideoProps;
87
+ };
88
+ export declare function handleVolumeChange(videoProps: VideoProps): {
89
+ type: string;
90
+ videoProps: VideoProps;
91
+ };
92
+ export declare function handleProgressChange(videoProps: VideoProps): {
93
+ type: string;
94
+ videoProps: VideoProps;
95
+ };
96
+ export declare function handleRateChange(videoProps: VideoProps): {
97
+ type: string;
98
+ videoProps: VideoProps;
99
+ };
100
+ export declare function handleSuspend(videoProps: VideoProps): {
101
+ type: string;
102
+ videoProps: VideoProps;
103
+ };
104
+ export declare function handleAbort(videoProps: VideoProps): {
105
+ type: string;
106
+ videoProps: VideoProps;
107
+ };
108
+ export declare function handleEmptied(videoProps: VideoProps): {
109
+ type: string;
110
+ videoProps: VideoProps;
111
+ };
112
+ export declare function handleStalled(videoProps: VideoProps): {
113
+ type: string;
114
+ videoProps: VideoProps;
115
+ };
116
+ export declare function handleLoadedMetaData(videoProps: VideoProps): {
117
+ type: string;
118
+ videoProps: VideoProps;
119
+ };
120
+ export declare function handleLoadedData(videoProps: VideoProps): {
121
+ type: string;
122
+ videoProps: VideoProps;
123
+ };
124
+ export declare function handleResize(videoProps: VideoProps): {
125
+ type: string;
126
+ videoProps: VideoProps;
127
+ };
128
+ export declare function handleError(videoProps: VideoProps): {
129
+ type: string;
130
+ videoProps: VideoProps;
131
+ };
132
+ export declare function handleSeekingTime(time: number): {
133
+ type: string;
134
+ time: number;
135
+ };
136
+ export declare function handleEndSeeking(time: number): {
137
+ type: string;
138
+ time: number;
139
+ };
140
+ export declare function activateTextTrack(textTrack: TextTrack | null): {
141
+ type: string;
142
+ textTrack: TextTrack;
143
+ };
144
+ export declare function handlePictureInPictureChange(isPictureInPicture: boolean): {
145
+ type: string;
146
+ isPictureInPicture: boolean;
147
+ };
148
+ export declare function handleLoopChange(loop: boolean): {
149
+ type: string;
150
+ loop: boolean;
151
+ };
152
+ export declare function handleTheaterModeChange(isTheater: boolean): {
153
+ type: string;
154
+ isTheater: boolean;
155
+ };
156
+ export declare function handleQualityChange(quality: string): {
157
+ type: string;
158
+ quality: string;
159
+ };
160
+ export {};
161
+ //# sourceMappingURL=video.d.ts.map
@@ -0,0 +1,22 @@
1
+ import { Component } from 'react';
2
+ import type Manager from '../Manager';
3
+ import type { OperationState } from '../reducers/operation';
4
+ interface BezelProps {
5
+ manager: Manager;
6
+ className?: string;
7
+ order?: number;
8
+ }
9
+ interface BezelState {
10
+ hidden: boolean;
11
+ operation: OperationState['operation'];
12
+ count: number;
13
+ }
14
+ export default class Bezel extends Component<BezelProps, BezelState> {
15
+ static displayName: string;
16
+ private timer;
17
+ constructor(props: BezelProps, context: unknown);
18
+ handleStateChange(state: OperationState, prevState: OperationState): void;
19
+ render(): import("react/jsx-runtime").JSX.Element;
20
+ }
21
+ export {};
22
+ //# sourceMappingURL=Bezel.d.ts.map
@@ -0,0 +1,20 @@
1
+ import React, { Component } from 'react';
2
+ import type { ActionCreators } from '../Manager';
3
+ import type { PlayerState } from '../reducers/player';
4
+ export interface BigPlayButtonProps {
5
+ actions?: ActionCreators;
6
+ player?: PlayerState;
7
+ className?: string;
8
+ order?: number;
9
+ disabled?: boolean;
10
+ position?: 'left' | 'center';
11
+ }
12
+ export default class BigPlayButton extends Component<BigPlayButtonProps> {
13
+ static defaultProps: Required<Pick<BigPlayButtonProps, 'position'>>;
14
+ static displayName: string;
15
+ constructor(props: BigPlayButtonProps, context: unknown);
16
+ componentDidMount(): void;
17
+ handleClick(event: React.MouseEvent<HTMLButtonElement>): void;
18
+ render(): import("react/jsx-runtime").JSX.Element;
19
+ }
20
+ //# sourceMappingURL=BigPlayButton.d.ts.map
@@ -0,0 +1,24 @@
1
+ import React, { Component } from 'react';
2
+ type ClickableTagName = keyof HTMLElementTagNameMap;
3
+ interface ClickableComponentProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onClick' | 'onFocus' | 'onBlur'> {
4
+ tagName?: ClickableTagName;
5
+ onClick: (event: React.MouseEvent<HTMLElement> | KeyboardEvent) => void;
6
+ onFocus?: (event: React.FocusEvent<HTMLElement>) => void;
7
+ onBlur?: (event: React.FocusEvent<HTMLElement>) => void;
8
+ className?: string;
9
+ children?: React.ReactNode;
10
+ }
11
+ declare class ClickableComponent extends Component<ClickableComponentProps> {
12
+ static defaultProps: {
13
+ tagName: "div";
14
+ };
15
+ static displayName: string;
16
+ componentWillUnmount(): void;
17
+ handleKeypress: (event: KeyboardEvent) => void;
18
+ handleClick: (event: React.MouseEvent<HTMLElement> | KeyboardEvent) => void;
19
+ handleFocus: (event: React.FocusEvent<HTMLElement>) => void;
20
+ handleBlur: (event?: React.FocusEvent<HTMLElement>) => void;
21
+ render(): import("react/jsx-runtime").JSX.Element;
22
+ }
23
+ export default ClickableComponent;
24
+ //# sourceMappingURL=ClickableComponent.d.ts.map
@@ -0,0 +1,11 @@
1
+ import type { PlayerComponentProps } from '../types/component';
2
+ export interface LoadingSpinnerProps extends PlayerComponentProps {
3
+ className?: string;
4
+ order?: number;
5
+ }
6
+ declare function LoadingSpinner({ player, className, }: LoadingSpinnerProps): import("react/jsx-runtime").JSX.Element;
7
+ declare namespace LoadingSpinner {
8
+ var displayName: string;
9
+ }
10
+ export default LoadingSpinner;
11
+ //# sourceMappingURL=LoadingSpinner.d.ts.map
@@ -0,0 +1,82 @@
1
+ /**
2
+
3
+ * Copyright (c) 2016 Video-React contributors
4
+ * Copyright (c) 2025 ZingMe.Vn
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ import React, { ReactNode } from 'react';
10
+ import { Store } from 'redux';
11
+ import Manager, { VideoAPI } from '../Manager';
12
+ import { VideoProps } from './Video';
13
+ import type { RootState } from '../reducers';
14
+ export interface PlayerProps {
15
+ children?: ReactNode;
16
+ width?: string | number;
17
+ height?: string | number;
18
+ fluid?: boolean;
19
+ /** Position for the default BigPlayButton ('left' | 'center'). */
20
+ bigPlayButtonPosition?: 'left' | 'center';
21
+ /** Force hide the default BigPlayButton (useful when supplying your own). */
22
+ hideDefaultBigPlayButton?: boolean;
23
+ muted?: boolean;
24
+ playsInline?: boolean;
25
+ aspectRatio?: string;
26
+ className?: string;
27
+ videoId?: string;
28
+ startTime?: number;
29
+ loop?: boolean;
30
+ autoPlay?: boolean;
31
+ src?: string;
32
+ poster?: string;
33
+ preload?: 'auto' | 'metadata' | 'none';
34
+ onLoadStart?: PlayerEventHandler;
35
+ onWaiting?: PlayerEventHandler;
36
+ onCanPlay?: PlayerEventHandler;
37
+ onCanPlayThrough?: PlayerEventHandler;
38
+ onPlaying?: PlayerEventHandler;
39
+ onEnded?: PlayerEventHandler;
40
+ onSeeking?: PlayerEventHandler;
41
+ onSeeked?: PlayerEventHandler;
42
+ onPlay?: PlayerEventHandler;
43
+ onPause?: PlayerEventHandler;
44
+ onProgress?: PlayerEventHandler;
45
+ onDurationChange?: PlayerEventHandler;
46
+ onError?: PlayerEventHandler;
47
+ onSuspend?: PlayerEventHandler;
48
+ onAbort?: PlayerEventHandler;
49
+ onEmptied?: PlayerEventHandler;
50
+ onStalled?: PlayerEventHandler;
51
+ onLoadedMetadata?: PlayerEventHandler;
52
+ onLoadedData?: PlayerEventHandler;
53
+ onTimeUpdate?: PlayerEventHandler;
54
+ onRateChange?: PlayerEventHandler;
55
+ onVolumeChange?: PlayerEventHandler;
56
+ store?: Store<RootState>;
57
+ }
58
+ type PlayerEventHandler = VideoProps['onLoadStart'];
59
+ export interface PlayerHandle {
60
+ readonly manager: Manager;
61
+ readonly actions: ReturnType<Manager['getActions']>;
62
+ readonly video: VideoAPI | null;
63
+ getState: () => RootState;
64
+ playbackRate: number;
65
+ muted: boolean;
66
+ volume: number;
67
+ videoWidth: number;
68
+ videoHeight: number;
69
+ play: () => void;
70
+ pause: () => void;
71
+ load: () => void;
72
+ addTextTrack: VideoAPI['addTextTrack'];
73
+ canPlayType: VideoAPI['canPlayType'];
74
+ seek: (time: number) => void;
75
+ forward: (seconds: number) => void;
76
+ replay: (seconds: number) => void;
77
+ toggleFullscreen: () => void;
78
+ subscribeToStateChange: (listener: Parameters<Manager['subscribeToPlayerStateChange']>[0]) => ReturnType<Manager['subscribeToPlayerStateChange']>;
79
+ }
80
+ declare const Player: React.ForwardRefExoticComponent<PlayerProps & React.RefAttributes<PlayerHandle>>;
81
+ export default Player;
82
+ //# sourceMappingURL=Player.d.ts.map
@@ -0,0 +1,12 @@
1
+ import type { PlayerComponentProps } from '../types/component';
2
+ export interface PosterImageProps extends PlayerComponentProps {
3
+ poster?: string;
4
+ className?: string;
5
+ order?: number;
6
+ }
7
+ declare function PosterImage({ poster, player, actions, className }: PosterImageProps): import("react/jsx-runtime").JSX.Element;
8
+ declare namespace PosterImage {
9
+ var displayName: string;
10
+ }
11
+ export default PosterImage;
12
+ //# sourceMappingURL=PosterImage.d.ts.map
@@ -0,0 +1,48 @@
1
+ /**
2
+
3
+ * Copyright (c) 2016 Video-React contributors
4
+ * Copyright (c) 2025 ZingMe.Vn
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ import { Component } from 'react';
10
+ import type Manager from '../Manager';
11
+ import type { ActionCreators } from '../Manager';
12
+ import type { PlayerState } from '../reducers/player';
13
+ import type { PlayerComponentProps } from '../types/component';
14
+ type ShortcutHandler = (player: PlayerState, actions: ActionCreators) => void;
15
+ interface ShortcutDefinition {
16
+ keyCode?: number;
17
+ ctrl?: boolean;
18
+ shift?: boolean;
19
+ alt?: boolean;
20
+ handle: ShortcutHandler;
21
+ }
22
+ export interface ShortcutProps extends PlayerComponentProps {
23
+ clickable?: boolean;
24
+ dblclickable?: boolean;
25
+ manager?: Manager;
26
+ shortcuts?: ShortcutDefinition[];
27
+ order?: number;
28
+ }
29
+ export default class Shortcut extends Component<ShortcutProps> {
30
+ static defaultProps: Required<Pick<ShortcutProps, 'clickable' | 'dblclickable'>>;
31
+ static displayName: string;
32
+ private readonly defaultShortcuts;
33
+ private shortcuts;
34
+ constructor(props: ShortcutProps, context: unknown);
35
+ componentDidMount(): void;
36
+ componentDidUpdate(prevProps: ShortcutProps): void;
37
+ componentWillUnmount(): void;
38
+ mergeShortcuts(): void;
39
+ togglePlay(player: PlayerState, actions: ActionCreators): void;
40
+ toggleFullscreen(player: PlayerState, actions: ActionCreators): void;
41
+ handleKeyPress(e: KeyboardEvent): void;
42
+ canBeClicked(player: PlayerState, e: MouseEvent): boolean;
43
+ handleClick(e: MouseEvent): void;
44
+ handleDoubleClick(e: MouseEvent): void;
45
+ render(): any;
46
+ }
47
+ export {};
48
+ //# sourceMappingURL=Shortcut.d.ts.map
@@ -0,0 +1,49 @@
1
+ import React, { Component } from 'react';
2
+ type SliderMouseEvent = MouseEvent | TouchEvent | React.MouseEvent<Element> | React.TouchEvent<Element>;
3
+ type SliderActivateEvent = SliderMouseEvent | React.FocusEvent<HTMLDivElement>;
4
+ interface SliderProps {
5
+ className?: string;
6
+ order?: number;
7
+ disabled?: boolean;
8
+ onMouseDown?: (event: SliderMouseEvent) => void;
9
+ onMouseMove?: (event: SliderMouseEvent) => void;
10
+ stepForward?: () => void;
11
+ stepBack?: () => void;
12
+ sliderActive?: (event: SliderActivateEvent) => void;
13
+ sliderInactive?: (event: SliderActivateEvent) => void;
14
+ onMouseUp?: (event: SliderMouseEvent) => void;
15
+ onFocus?: (event: React.FocusEvent<HTMLDivElement>) => void;
16
+ onBlur?: (event: React.FocusEvent<HTMLDivElement>) => void;
17
+ onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;
18
+ getPercent?: () => number;
19
+ vertical?: boolean;
20
+ children?: React.ReactNode;
21
+ label?: string;
22
+ valuenow?: number;
23
+ valuetext?: string;
24
+ onPercentageChange?: (percentage: string) => void;
25
+ }
26
+ interface SliderState {
27
+ active: boolean;
28
+ }
29
+ declare class Slider extends Component<SliderProps, SliderState> {
30
+ private slider;
31
+ static displayName: string;
32
+ state: SliderState;
33
+ componentWillUnmount(): void;
34
+ getProgress: () => number;
35
+ handleMouseDown: (event: SliderMouseEvent) => void;
36
+ handleMouseMove: (event: SliderMouseEvent) => void;
37
+ handleMouseUp: (event: SliderMouseEvent) => void;
38
+ handleFocus: (event: React.FocusEvent<HTMLDivElement>) => void;
39
+ handleBlur: (event?: React.FocusEvent<HTMLDivElement>) => void;
40
+ handleClick: (event: React.MouseEvent<HTMLDivElement>) => void;
41
+ handleKeyPress: (event: KeyboardEvent) => void;
42
+ stepForward: () => void;
43
+ stepBack: () => void;
44
+ calculateDistance(event: SliderMouseEvent): number;
45
+ renderChildren: () => (string | number | React.ReactElement<any, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode>)[];
46
+ render(): import("react/jsx-runtime").JSX.Element;
47
+ }
48
+ export default Slider;
49
+ //# sourceMappingURL=Slider.d.ts.map
@@ -0,0 +1,25 @@
1
+ /**
2
+
3
+ * Copyright (c) 2016 Video-React contributors
4
+ * Copyright (c) 2025 ZingMe.Vn
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ import PropTypes from 'prop-types';
10
+ interface SourceProps {
11
+ src: string;
12
+ media?: string;
13
+ type?: string;
14
+ }
15
+ declare function Source({ ...props }: SourceProps): import("react/jsx-runtime").JSX.Element;
16
+ declare namespace Source {
17
+ var propTypes: {
18
+ src: PropTypes.Validator<string>;
19
+ media: PropTypes.Requireable<string>;
20
+ type: PropTypes.Requireable<string>;
21
+ };
22
+ var displayName: string;
23
+ }
24
+ export default Source;
25
+ //# sourceMappingURL=Source.d.ts.map
@@ -0,0 +1,48 @@
1
+ import React, { ReactNode, SyntheticEvent } from 'react';
2
+ import type Manager from '../Manager';
3
+ import type { VideoAPI } from '../Manager';
4
+ import type { PlayerState } from '../reducers/player';
5
+ type VideoEventHandler = (event: SyntheticEvent<HTMLVideoElement>) => void;
6
+ export interface VideoProps {
7
+ actions: ReturnType<Manager['getActions']>;
8
+ player: PlayerState;
9
+ children?: ReactNode;
10
+ order?: number;
11
+ startTime?: number;
12
+ loop?: boolean;
13
+ muted?: boolean;
14
+ autoPlay?: boolean;
15
+ playsInline?: boolean;
16
+ src?: string;
17
+ poster?: string;
18
+ className?: string;
19
+ preload?: 'auto' | 'metadata' | 'none';
20
+ crossOrigin?: React.VideoHTMLAttributes<HTMLVideoElement>['crossOrigin'];
21
+ videoId?: string;
22
+ onLoadStart?: VideoEventHandler;
23
+ onWaiting?: VideoEventHandler;
24
+ onCanPlay?: VideoEventHandler;
25
+ onCanPlayThrough?: VideoEventHandler;
26
+ onPlaying?: VideoEventHandler;
27
+ onEnded?: VideoEventHandler;
28
+ onSeeking?: VideoEventHandler;
29
+ onSeeked?: VideoEventHandler;
30
+ onPlay?: VideoEventHandler;
31
+ onPause?: VideoEventHandler;
32
+ onProgress?: VideoEventHandler;
33
+ onDurationChange?: VideoEventHandler;
34
+ onError?: VideoEventHandler;
35
+ onSuspend?: VideoEventHandler;
36
+ onAbort?: VideoEventHandler;
37
+ onEmptied?: VideoEventHandler;
38
+ onStalled?: VideoEventHandler;
39
+ onLoadedMetadata?: VideoEventHandler;
40
+ onLoadedData?: VideoEventHandler;
41
+ onTimeUpdate?: VideoEventHandler;
42
+ onRateChange?: VideoEventHandler;
43
+ onVolumeChange?: VideoEventHandler;
44
+ onResize?: VideoEventHandler;
45
+ }
46
+ declare const Video: React.ForwardRefExoticComponent<VideoProps & React.RefAttributes<VideoAPI>>;
47
+ export default Video;
48
+ //# sourceMappingURL=Video.d.ts.map
@@ -0,0 +1,19 @@
1
+ /**
2
+
3
+ * Copyright (c) 2016 Video-React contributors
4
+ * Copyright (c) 2025 ZingMe.Vn
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ import React from 'react';
10
+ import type { PlayerButtonProps } from '../../types/component';
11
+ interface ClosedCaptionButtonProps extends PlayerButtonProps {
12
+ className?: string;
13
+ offMenuText?: string;
14
+ showOffMenu?: boolean;
15
+ kinds?: TextTrackKind[];
16
+ }
17
+ declare const ClosedCaptionButton: React.FC<ClosedCaptionButtonProps>;
18
+ export default ClosedCaptionButton;
19
+ //# sourceMappingURL=ClosedCaptionButton.d.ts.map
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import type { ActionCreators } from '../../Manager';
3
+ import type { PlayerState } from '../../reducers/player';
4
+ interface ControlBarProps {
5
+ actions?: ActionCreators;
6
+ player?: PlayerState;
7
+ order?: number;
8
+ children?: React.ReactNode;
9
+ autoHide?: boolean;
10
+ autoHideTime?: number;
11
+ disableDefaultControls?: boolean;
12
+ disableCompletely?: boolean;
13
+ className?: string;
14
+ }
15
+ declare const ControlBar: React.FC<ControlBarProps>;
16
+ export default ControlBar;
17
+ //# sourceMappingURL=ControlBar.d.ts.map