suada-components 1.0.2504170948 → 1.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 (200) hide show
  1. package/dist/components/BreadCrumb/Breadcrumb.js.map +1 -1
  2. package/dist/components/Button/Button.interface.d.ts +1 -0
  3. package/dist/components/DailyMotion-B2EpqlJO.esm.js +178 -0
  4. package/dist/components/DailyMotion-BYA5rhY5.js +180 -0
  5. package/dist/components/Facebook-DBxSErS8.esm.js +179 -0
  6. package/dist/components/Facebook-DJMdBwGM.js +181 -0
  7. package/dist/components/FilePlayer-DLiC_Doh.esm.js +408 -0
  8. package/dist/components/FilePlayer-DRqq2T-L.js +410 -0
  9. package/dist/components/Kaltura-BAvKhQp8.esm.js +176 -0
  10. package/dist/components/Kaltura-DFK3UxTc.js +178 -0
  11. package/dist/components/Mixcloud-C0S4Txcb.esm.js +164 -0
  12. package/dist/components/Mixcloud-CnG6kbdi.js +166 -0
  13. package/dist/components/Mux-BCS9rYAf.esm.js +264 -0
  14. package/dist/components/Mux-ChXwYRDL.js +266 -0
  15. package/dist/components/Preview-CPdzmWpt.js +175 -0
  16. package/dist/components/Preview-MgDcO7wW.esm.js +173 -0
  17. package/dist/components/SoundCloud-BxxMgfs2.esm.js +181 -0
  18. package/dist/components/SoundCloud-CcFGRoSv.js +183 -0
  19. package/dist/components/Streamable-BIBOfZ0w.js +176 -0
  20. package/dist/components/Streamable-Drn6K8AN.esm.js +174 -0
  21. package/dist/components/Twitch-CGC2HQMj.esm.js +168 -0
  22. package/dist/components/Twitch-DoUQRPQR.js +170 -0
  23. package/dist/components/VideoPlayer/Controls/Controls.d.ts +4 -0
  24. package/dist/components/VideoPlayer/Controls/Controls.interface.d.ts +32 -0
  25. package/dist/components/VideoPlayer/Controls/Controls.interface.js +2 -0
  26. package/dist/components/VideoPlayer/Controls/Controls.interface.js.map +1 -0
  27. package/dist/components/VideoPlayer/Controls/Controls.js +36 -0
  28. package/dist/components/VideoPlayer/Controls/Controls.js.map +1 -0
  29. package/dist/components/VideoPlayer/Controls/Controls.styles.d.ts +16 -0
  30. package/dist/components/VideoPlayer/Controls/Controls.styles.js +25 -0
  31. package/dist/components/VideoPlayer/Controls/Controls.styles.js.map +1 -0
  32. package/dist/components/VideoPlayer/Controls/index.d.ts +1 -0
  33. package/dist/components/VideoPlayer/Controls/index.js +2 -0
  34. package/dist/components/VideoPlayer/Controls/index.js.map +1 -0
  35. package/dist/components/VideoPlayer/PlaybackSpeedMenu.d.ts +4 -0
  36. package/dist/components/VideoPlayer/PlaybackSpeedMenu.interface.d.ts +18 -0
  37. package/dist/components/VideoPlayer/PlaybackSpeedMenu.interface.js +2 -0
  38. package/dist/components/VideoPlayer/PlaybackSpeedMenu.interface.js.map +1 -0
  39. package/dist/components/VideoPlayer/PlaybackSpeedMenu.js +20 -0
  40. package/dist/components/VideoPlayer/PlaybackSpeedMenu.js.map +1 -0
  41. package/dist/components/VideoPlayer/PlaybackSpeedMenu.styles.d.ts +4 -0
  42. package/dist/components/VideoPlayer/PlaybackSpeedMenu.styles.js +18 -0
  43. package/dist/components/VideoPlayer/PlaybackSpeedMenu.styles.js.map +1 -0
  44. package/dist/components/VideoPlayer/Player.d.ts +3 -11
  45. package/dist/components/VideoPlayer/Player.interface.d.ts +63 -0
  46. package/dist/components/VideoPlayer/Player.interface.js +2 -0
  47. package/dist/components/VideoPlayer/Player.interface.js.map +1 -0
  48. package/dist/components/VideoPlayer/Player.js +82 -97
  49. package/dist/components/VideoPlayer/Player.js.map +1 -1
  50. package/dist/components/VideoPlayer/Player.styles.d.ts +8 -0
  51. package/dist/components/VideoPlayer/Player.styles.js +17 -0
  52. package/dist/components/VideoPlayer/Player.styles.js.map +1 -0
  53. package/dist/components/VideoPlayer/VideoPlayer.stories.d.ts +10 -26
  54. package/dist/components/VideoPlayer/VideoPlayer.stories.js +174 -19
  55. package/dist/components/VideoPlayer/VideoPlayer.stories.js.map +1 -1
  56. package/dist/components/VideoPlayer/constants/index.d.ts +2 -0
  57. package/dist/components/VideoPlayer/constants/index.js +31 -0
  58. package/dist/components/VideoPlayer/constants/index.js.map +1 -0
  59. package/dist/components/VideoPlayer/parseVtt.d.ts +6 -0
  60. package/dist/components/VideoPlayer/parseVtt.js +35 -0
  61. package/dist/components/VideoPlayer/parseVtt.js.map +1 -0
  62. package/dist/components/VideoPlayer/timeConversion.d.ts +5 -0
  63. package/dist/components/VideoPlayer/timeConversion.js +70 -0
  64. package/dist/components/VideoPlayer/timeConversion.js.map +1 -0
  65. package/dist/components/VideoPlayer/useDynamicPosition.d.ts +16 -0
  66. package/dist/components/VideoPlayer/useDynamicPosition.js +50 -0
  67. package/dist/components/VideoPlayer/useDynamicPosition.js.map +1 -0
  68. package/dist/components/VideoPlayer/useEventListener.d.ts +3 -0
  69. package/dist/components/VideoPlayer/useEventListener.js +27 -0
  70. package/dist/components/VideoPlayer/useEventListener.js.map +1 -0
  71. package/dist/components/VideoPlayer/useMenuToggle.d.ts +22 -0
  72. package/dist/components/VideoPlayer/useMenuToggle.js +25 -0
  73. package/dist/components/VideoPlayer/useMenuToggle.js.map +1 -0
  74. package/dist/components/VideoPlayer/useOnOutsideClick.d.ts +3 -0
  75. package/dist/components/VideoPlayer/useOnOutsideClick.js +16 -0
  76. package/dist/components/VideoPlayer/useOnOutsideClick.js.map +1 -0
  77. package/dist/components/VideoPlayer/usePlayerControls.d.ts +3 -0
  78. package/dist/components/VideoPlayer/usePlayerControls.js +330 -0
  79. package/dist/components/VideoPlayer/usePlayerControls.js.map +1 -0
  80. package/dist/components/Vidyard-B-jW75yA.esm.js +172 -0
  81. package/dist/components/Vidyard-If2H-ayj.js +174 -0
  82. package/dist/components/Vimeo-Cvg3rB5o.esm.js +213 -0
  83. package/dist/components/Vimeo-hI3cddOi.js +215 -0
  84. package/dist/components/Wistia-BtYIM6Uo.esm.js +188 -0
  85. package/dist/components/Wistia-CZwfIsgx.js +190 -0
  86. package/dist/components/YouTube-D1u9T9FZ.js +260 -0
  87. package/dist/components/YouTube-vwMwhQ13.esm.js +258 -0
  88. package/dist/components/components/Button/Button.interface.d.ts +1 -0
  89. package/dist/components/components/VideoPlayer/Controls/Controls.d.ts +4 -0
  90. package/dist/components/components/VideoPlayer/Controls/Controls.interface.d.ts +32 -0
  91. package/dist/components/components/VideoPlayer/Controls/Controls.styles.d.ts +16 -0
  92. package/dist/components/components/VideoPlayer/Controls/index.d.ts +1 -0
  93. package/dist/components/components/VideoPlayer/PlaybackSpeedMenu.d.ts +4 -0
  94. package/dist/components/components/VideoPlayer/PlaybackSpeedMenu.interface.d.ts +18 -0
  95. package/dist/components/components/VideoPlayer/PlaybackSpeedMenu.styles.d.ts +4 -0
  96. package/dist/components/components/VideoPlayer/Player.d.ts +3 -11
  97. package/dist/components/components/VideoPlayer/Player.interface.d.ts +63 -0
  98. package/dist/components/components/VideoPlayer/Player.styles.d.ts +8 -0
  99. package/dist/components/components/VideoPlayer/constants/index.d.ts +2 -0
  100. package/dist/components/components/VideoPlayer/parseVtt.d.ts +6 -0
  101. package/dist/components/components/VideoPlayer/timeConversion.d.ts +5 -0
  102. package/dist/components/components/VideoPlayer/useDynamicPosition.d.ts +16 -0
  103. package/dist/components/components/VideoPlayer/useEventListener.d.ts +3 -0
  104. package/dist/components/components/VideoPlayer/useMenuToggle.d.ts +22 -0
  105. package/dist/components/components/VideoPlayer/useOnOutsideClick.d.ts +3 -0
  106. package/dist/components/components/VideoPlayer/usePlayerControls.d.ts +3 -0
  107. package/dist/components/icons/Heart.d.ts +7 -0
  108. package/dist/components/icons/Maximize.d.ts +3 -0
  109. package/dist/components/icons/Meter.d.ts +3 -0
  110. package/dist/components/icons/Minimize.d.ts +3 -0
  111. package/dist/components/icons/Pause.d.ts +3 -0
  112. package/dist/components/icons/Play.d.ts +3 -0
  113. package/dist/components/icons/Rewind.d.ts +7 -0
  114. package/dist/components/icons/Skip.d.ts +8 -0
  115. package/dist/components/icons/Subtitles.d.ts +7 -0
  116. package/dist/components/icons/VideoCheckmark.d.ts +3 -0
  117. package/dist/components/icons/VolumeMute.d.ts +8 -0
  118. package/dist/components/icons/VolumeUp.d.ts +8 -0
  119. package/dist/components/icons/index.d.ts +11 -0
  120. package/dist/components/index-DLzCbCHu.esm.js +94482 -0
  121. package/dist/components/index-wLnkslO9.js +94536 -0
  122. package/dist/components/index.esm.js +3 -122501
  123. package/dist/icons/Heart.d.ts +7 -0
  124. package/dist/icons/Heart.js +28 -0
  125. package/dist/icons/Heart.js.map +1 -0
  126. package/dist/icons/Maximize.d.ts +3 -0
  127. package/dist/icons/Maximize.js +28 -0
  128. package/dist/icons/Maximize.js.map +1 -0
  129. package/dist/icons/Meter.d.ts +3 -0
  130. package/dist/icons/Meter.js +28 -0
  131. package/dist/icons/Meter.js.map +1 -0
  132. package/dist/icons/Minimize.d.ts +3 -0
  133. package/dist/icons/Minimize.js +28 -0
  134. package/dist/icons/Minimize.js.map +1 -0
  135. package/dist/icons/Pause.d.ts +3 -0
  136. package/dist/icons/Pause.js +28 -0
  137. package/dist/icons/Pause.js.map +1 -0
  138. package/dist/icons/Play.d.ts +3 -0
  139. package/dist/icons/Play.js +28 -0
  140. package/dist/icons/Play.js.map +1 -0
  141. package/dist/icons/Rewind.d.ts +7 -0
  142. package/dist/icons/Rewind.js +28 -0
  143. package/dist/icons/Rewind.js.map +1 -0
  144. package/dist/icons/Skip.d.ts +8 -0
  145. package/dist/icons/Skip.js +28 -0
  146. package/dist/icons/Skip.js.map +1 -0
  147. package/dist/icons/Subtitles.d.ts +7 -0
  148. package/dist/icons/Subtitles.js +28 -0
  149. package/dist/icons/Subtitles.js.map +1 -0
  150. package/dist/icons/VideoCheckmark.d.ts +3 -0
  151. package/dist/icons/VideoCheckmark.js +28 -0
  152. package/dist/icons/VideoCheckmark.js.map +1 -0
  153. package/dist/icons/VolumeMute.d.ts +8 -0
  154. package/dist/icons/VolumeMute.js +28 -0
  155. package/dist/icons/VolumeMute.js.map +1 -0
  156. package/dist/icons/VolumeUp.d.ts +8 -0
  157. package/dist/icons/VolumeUp.js +28 -0
  158. package/dist/icons/VolumeUp.js.map +1 -0
  159. package/dist/icons/components/Button/Button.interface.d.ts +1 -0
  160. package/dist/icons/components/VideoPlayer/Controls/Controls.d.ts +4 -0
  161. package/dist/icons/components/VideoPlayer/Controls/Controls.interface.d.ts +32 -0
  162. package/dist/icons/components/VideoPlayer/Controls/Controls.styles.d.ts +16 -0
  163. package/dist/icons/components/VideoPlayer/Controls/index.d.ts +1 -0
  164. package/dist/icons/components/VideoPlayer/PlaybackSpeedMenu.d.ts +4 -0
  165. package/dist/icons/components/VideoPlayer/PlaybackSpeedMenu.interface.d.ts +18 -0
  166. package/dist/icons/components/VideoPlayer/PlaybackSpeedMenu.styles.d.ts +4 -0
  167. package/dist/icons/components/VideoPlayer/Player.d.ts +3 -11
  168. package/dist/icons/components/VideoPlayer/Player.interface.d.ts +63 -0
  169. package/dist/icons/components/VideoPlayer/Player.styles.d.ts +8 -0
  170. package/dist/icons/components/VideoPlayer/constants/index.d.ts +2 -0
  171. package/dist/icons/components/VideoPlayer/parseVtt.d.ts +6 -0
  172. package/dist/icons/components/VideoPlayer/timeConversion.d.ts +5 -0
  173. package/dist/icons/components/VideoPlayer/useDynamicPosition.d.ts +16 -0
  174. package/dist/icons/components/VideoPlayer/useEventListener.d.ts +3 -0
  175. package/dist/icons/components/VideoPlayer/useMenuToggle.d.ts +22 -0
  176. package/dist/icons/components/VideoPlayer/useOnOutsideClick.d.ts +3 -0
  177. package/dist/icons/components/VideoPlayer/usePlayerControls.d.ts +3 -0
  178. package/dist/icons/icons/Heart.d.ts +7 -0
  179. package/dist/icons/icons/Maximize.d.ts +3 -0
  180. package/dist/icons/icons/Meter.d.ts +3 -0
  181. package/dist/icons/icons/Minimize.d.ts +3 -0
  182. package/dist/icons/icons/Pause.d.ts +3 -0
  183. package/dist/icons/icons/Play.d.ts +3 -0
  184. package/dist/icons/icons/Rewind.d.ts +7 -0
  185. package/dist/icons/icons/Skip.d.ts +8 -0
  186. package/dist/icons/icons/Subtitles.d.ts +7 -0
  187. package/dist/icons/icons/VideoCheckmark.d.ts +3 -0
  188. package/dist/icons/icons/VolumeMute.d.ts +8 -0
  189. package/dist/icons/icons/VolumeUp.d.ts +8 -0
  190. package/dist/icons/icons/index.d.ts +11 -0
  191. package/dist/icons/index.d.ts +11 -0
  192. package/dist/icons/index.esm.js +308 -1
  193. package/dist/icons/index.js +11 -0
  194. package/dist/icons/index.js.map +1 -1
  195. package/package.json +3 -1
  196. package/dist/components/VideoPlayer/styled-components.d.ts +0 -9
  197. package/dist/components/VideoPlayer/styled-components.js +0 -19
  198. package/dist/components/VideoPlayer/styled-components.js.map +0 -1
  199. package/dist/components/components/VideoPlayer/styled-components.d.ts +0 -9
  200. package/dist/icons/components/VideoPlayer/styled-components.d.ts +0 -9
@@ -0,0 +1,258 @@
1
+ import { r as requireUtils, a as requirePatterns, g as getDefaultExportFromCjs } from './index-DLzCbCHu.esm.js';
2
+ import React__default from 'react';
3
+
4
+ function _mergeNamespaces(n, m) {
5
+ m.forEach(function (e) {
6
+ e && typeof e !== 'string' && !Array.isArray(e) && Object.keys(e).forEach(function (k) {
7
+ if (k !== 'default' && !(k in n)) {
8
+ var d = Object.getOwnPropertyDescriptor(e, k);
9
+ Object.defineProperty(n, k, d.get ? d : {
10
+ enumerable: true,
11
+ get: function () { return e[k]; }
12
+ });
13
+ }
14
+ });
15
+ });
16
+ return Object.freeze(n);
17
+ }
18
+
19
+ var YouTube_1;
20
+ var hasRequiredYouTube;
21
+
22
+ function requireYouTube () {
23
+ if (hasRequiredYouTube) return YouTube_1;
24
+ hasRequiredYouTube = 1;
25
+ var __create = Object.create;
26
+ var __defProp = Object.defineProperty;
27
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
28
+ var __getOwnPropNames = Object.getOwnPropertyNames;
29
+ var __getProtoOf = Object.getPrototypeOf;
30
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
31
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
32
+ var __export = (target, all) => {
33
+ for (var name in all)
34
+ __defProp(target, name, { get: all[name], enumerable: true });
35
+ };
36
+ var __copyProps = (to, from, except, desc) => {
37
+ if (from && typeof from === "object" || typeof from === "function") {
38
+ for (let key of __getOwnPropNames(from))
39
+ if (!__hasOwnProp.call(to, key) && key !== except)
40
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
41
+ }
42
+ return to;
43
+ };
44
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
45
+ // If the importer is in node compatibility mode or this is not an ESM
46
+ // file that has been converted to a CommonJS file using a Babel-
47
+ // compatible transform (i.e. "__esModule" has not been set), then set
48
+ // "default" to the CommonJS "module.exports" for node compatibility.
49
+ !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
50
+ mod
51
+ ));
52
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
53
+ var __publicField = (obj, key, value) => {
54
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
55
+ return value;
56
+ };
57
+ var YouTube_exports = {};
58
+ __export(YouTube_exports, {
59
+ default: () => YouTube
60
+ });
61
+ YouTube_1 = __toCommonJS(YouTube_exports);
62
+ var import_react = __toESM(React__default);
63
+ var import_utils = /*@__PURE__*/ requireUtils();
64
+ var import_patterns = /*@__PURE__*/ requirePatterns();
65
+ const SDK_URL = "https://www.youtube.com/iframe_api";
66
+ const SDK_GLOBAL = "YT";
67
+ const SDK_GLOBAL_READY = "onYouTubeIframeAPIReady";
68
+ const MATCH_PLAYLIST = /[?&](?:list|channel)=([a-zA-Z0-9_-]+)/;
69
+ const MATCH_USER_UPLOADS = /user\/([a-zA-Z0-9_-]+)\/?/;
70
+ const MATCH_NOCOOKIE = /youtube-nocookie\.com/;
71
+ const NOCOOKIE_HOST = "https://www.youtube-nocookie.com";
72
+ class YouTube extends import_react.Component {
73
+ constructor() {
74
+ super(...arguments);
75
+ __publicField(this, "callPlayer", import_utils.callPlayer);
76
+ __publicField(this, "parsePlaylist", (url) => {
77
+ if (url instanceof Array) {
78
+ return {
79
+ listType: "playlist",
80
+ playlist: url.map(this.getID).join(",")
81
+ };
82
+ }
83
+ if (MATCH_PLAYLIST.test(url)) {
84
+ const [, playlistId] = url.match(MATCH_PLAYLIST);
85
+ return {
86
+ listType: "playlist",
87
+ list: playlistId.replace(/^UC/, "UU")
88
+ };
89
+ }
90
+ if (MATCH_USER_UPLOADS.test(url)) {
91
+ const [, username] = url.match(MATCH_USER_UPLOADS);
92
+ return {
93
+ listType: "user_uploads",
94
+ list: username
95
+ };
96
+ }
97
+ return {};
98
+ });
99
+ __publicField(this, "onStateChange", (event) => {
100
+ const { data } = event;
101
+ const { onPlay, onPause, onBuffer, onBufferEnd, onEnded, onReady, loop, config: { playerVars, onUnstarted } } = this.props;
102
+ const { UNSTARTED, PLAYING, PAUSED, BUFFERING, ENDED, CUED } = window[SDK_GLOBAL].PlayerState;
103
+ if (data === UNSTARTED)
104
+ onUnstarted();
105
+ if (data === PLAYING) {
106
+ onPlay();
107
+ onBufferEnd();
108
+ }
109
+ if (data === PAUSED)
110
+ onPause();
111
+ if (data === BUFFERING)
112
+ onBuffer();
113
+ if (data === ENDED) {
114
+ const isPlaylist = !!this.callPlayer("getPlaylist");
115
+ if (loop && !isPlaylist) {
116
+ if (playerVars.start) {
117
+ this.seekTo(playerVars.start);
118
+ } else {
119
+ this.play();
120
+ }
121
+ }
122
+ onEnded();
123
+ }
124
+ if (data === CUED)
125
+ onReady();
126
+ });
127
+ __publicField(this, "mute", () => {
128
+ this.callPlayer("mute");
129
+ });
130
+ __publicField(this, "unmute", () => {
131
+ this.callPlayer("unMute");
132
+ });
133
+ __publicField(this, "ref", (container) => {
134
+ this.container = container;
135
+ });
136
+ }
137
+ componentDidMount() {
138
+ this.props.onMount && this.props.onMount(this);
139
+ }
140
+ getID(url) {
141
+ if (!url || url instanceof Array || MATCH_PLAYLIST.test(url)) {
142
+ return null;
143
+ }
144
+ return url.match(import_patterns.MATCH_URL_YOUTUBE)[1];
145
+ }
146
+ load(url, isReady) {
147
+ const { playing, muted, playsinline, controls, loop, config, onError } = this.props;
148
+ const { playerVars, embedOptions } = config;
149
+ const id = this.getID(url);
150
+ if (isReady) {
151
+ if (MATCH_PLAYLIST.test(url) || MATCH_USER_UPLOADS.test(url) || url instanceof Array) {
152
+ this.player.loadPlaylist(this.parsePlaylist(url));
153
+ return;
154
+ }
155
+ this.player.cueVideoById({
156
+ videoId: id,
157
+ startSeconds: (0, import_utils.parseStartTime)(url) || playerVars.start,
158
+ endSeconds: (0, import_utils.parseEndTime)(url) || playerVars.end
159
+ });
160
+ return;
161
+ }
162
+ (0, import_utils.getSDK)(SDK_URL, SDK_GLOBAL, SDK_GLOBAL_READY, (YT) => YT.loaded).then((YT) => {
163
+ if (!this.container)
164
+ return;
165
+ this.player = new YT.Player(this.container, {
166
+ width: "100%",
167
+ height: "100%",
168
+ videoId: id,
169
+ playerVars: {
170
+ autoplay: playing ? 1 : 0,
171
+ mute: muted ? 1 : 0,
172
+ controls: controls ? 1 : 0,
173
+ start: (0, import_utils.parseStartTime)(url),
174
+ end: (0, import_utils.parseEndTime)(url),
175
+ origin: window.location.origin,
176
+ playsinline: playsinline ? 1 : 0,
177
+ ...this.parsePlaylist(url),
178
+ ...playerVars
179
+ },
180
+ events: {
181
+ onReady: () => {
182
+ if (loop) {
183
+ this.player.setLoop(true);
184
+ }
185
+ this.props.onReady();
186
+ },
187
+ onPlaybackRateChange: (event) => this.props.onPlaybackRateChange(event.data),
188
+ onPlaybackQualityChange: (event) => this.props.onPlaybackQualityChange(event),
189
+ onStateChange: this.onStateChange,
190
+ onError: (event) => onError(event.data)
191
+ },
192
+ host: MATCH_NOCOOKIE.test(url) ? NOCOOKIE_HOST : void 0,
193
+ ...embedOptions
194
+ });
195
+ }, onError);
196
+ if (embedOptions.events) {
197
+ console.warn("Using `embedOptions.events` will likely break things. Use ReactPlayer\u2019s callback props instead, eg onReady, onPlay, onPause");
198
+ }
199
+ }
200
+ play() {
201
+ this.callPlayer("playVideo");
202
+ }
203
+ pause() {
204
+ this.callPlayer("pauseVideo");
205
+ }
206
+ stop() {
207
+ if (!document.body.contains(this.callPlayer("getIframe")))
208
+ return;
209
+ this.callPlayer("stopVideo");
210
+ }
211
+ seekTo(amount, keepPlaying = false) {
212
+ this.callPlayer("seekTo", amount);
213
+ if (!keepPlaying && !this.props.playing) {
214
+ this.pause();
215
+ }
216
+ }
217
+ setVolume(fraction) {
218
+ this.callPlayer("setVolume", fraction * 100);
219
+ }
220
+ setPlaybackRate(rate) {
221
+ this.callPlayer("setPlaybackRate", rate);
222
+ }
223
+ setLoop(loop) {
224
+ this.callPlayer("setLoop", loop);
225
+ }
226
+ getDuration() {
227
+ return this.callPlayer("getDuration");
228
+ }
229
+ getCurrentTime() {
230
+ return this.callPlayer("getCurrentTime");
231
+ }
232
+ getSecondsLoaded() {
233
+ return this.callPlayer("getVideoLoadedFraction") * this.getDuration();
234
+ }
235
+ render() {
236
+ const { display } = this.props;
237
+ const style = {
238
+ width: "100%",
239
+ height: "100%",
240
+ display
241
+ };
242
+ return /* @__PURE__ */ import_react.default.createElement("div", { style }, /* @__PURE__ */ import_react.default.createElement("div", { ref: this.ref }));
243
+ }
244
+ }
245
+ __publicField(YouTube, "displayName", "YouTube");
246
+ __publicField(YouTube, "canPlay", import_patterns.canPlay.youtube);
247
+ return YouTube_1;
248
+ }
249
+
250
+ var YouTubeExports = /*@__PURE__*/ requireYouTube();
251
+ var YouTube = /*@__PURE__*/getDefaultExportFromCjs(YouTubeExports);
252
+
253
+ var YouTube$1 = /*#__PURE__*/_mergeNamespaces({
254
+ __proto__: null,
255
+ default: YouTube
256
+ }, [YouTubeExports]);
257
+
258
+ export { YouTube$1 as Y };
@@ -37,4 +37,5 @@ export interface ButtonState {
37
37
  export interface StyledButtonProps {
38
38
  $type: ButtonType;
39
39
  $size: ButtonSize;
40
+ theme: any;
40
41
  }
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { ControlsProps } from './Controls.interface';
3
+ declare const Controls: FC<ControlsProps>;
4
+ export default Controls;
@@ -0,0 +1,32 @@
1
+ import { ChangeEvent, MouseEvent } from 'react';
2
+ import { VideoState } from '../Player.interface';
3
+ export interface ControlsProps {
4
+ setVideoState: (value: (prev: VideoState) => VideoState) => void;
5
+ playbackRate: number;
6
+ rewindHandler: () => void;
7
+ playPauseHandler: () => void;
8
+ handleFastForward: () => void;
9
+ formatCurrentTime: string;
10
+ played: number;
11
+ onSeekMouseDownHandler: (e: MouseEvent<HTMLInputElement>) => void;
12
+ seekHandler: (event: ChangeEvent<HTMLInputElement>) => void;
13
+ seekMouseUpHandler: (event: MouseEvent<HTMLInputElement>) => void;
14
+ volume: number;
15
+ muted: boolean;
16
+ muteHandler: () => void;
17
+ volumeChangeHandler: (event: ChangeEvent<HTMLInputElement>) => void;
18
+ formatDuration: string;
19
+ handleFullScreen: () => void;
20
+ playing: boolean;
21
+ isSubtitlesChecked: boolean;
22
+ toggleSubtitlesCheck: () => void;
23
+ isFavorite: boolean;
24
+ toggleIsFavorite: () => Promise<void>;
25
+ isFullscreen: boolean;
26
+ subtitle?: boolean;
27
+ handleSkipBackward?: () => void;
28
+ handleSkipForward?: () => void;
29
+ isNextVideo?: boolean;
30
+ isPreviousVideo?: boolean;
31
+ showFavorite?: boolean;
32
+ }
@@ -0,0 +1,16 @@
1
+ export declare const StyledControls: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
2
+ type SliderProps = {
3
+ value: number;
4
+ };
5
+ export declare const StyledSlider: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, SliderProps>> & string;
6
+ export declare const StyledVolumeWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
7
+ export declare const StyledVolumeSlider: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, SliderProps>> & string;
8
+ export declare const StyledControllerLeft: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
9
+ export declare const StyledControllerRight: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
10
+ export declare const StyledTimeTrack: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
11
+ export declare const StyledHeartIconContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
12
+ export declare const StyledSubtitlesIconContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
13
+ export declare const StyledFullscreenIconContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
14
+ export declare const StyledVolumeIconContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
15
+ export declare const StyledPlayPauseIconContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
16
+ export {};
@@ -0,0 +1 @@
1
+ export { default } from './Controls';
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { PlaybackSpeedMenuProps } from './PlaybackSpeedMenu.interface';
3
+ declare const PlaybackSpeedMenu: FC<PlaybackSpeedMenuProps>;
4
+ export default PlaybackSpeedMenu;
@@ -0,0 +1,18 @@
1
+ import { CSSProperties } from 'react';
2
+ import { IDynamicPosition } from './useDynamicPosition';
3
+ export type OnPlaybackSpeedChangeFnType = (speed: number) => void;
4
+ export interface PlaybackSpeedMenuProps {
5
+ playbackSpeed: number;
6
+ onPlaybackSpeedChange: OnPlaybackSpeedChangeFnType;
7
+ menuWrapperClassName?: string;
8
+ labelIconClassName?: string;
9
+ customMenuWrapperStyles?: CSSProperties;
10
+ customMenuStyles?: CSSProperties;
11
+ }
12
+ export interface StyledPlaybackMenuProps {
13
+ $position: IDynamicPosition;
14
+ }
15
+ export interface PlaybackSpeedItem {
16
+ label: string;
17
+ value: number;
18
+ }
@@ -0,0 +1,4 @@
1
+ import { StyledPlaybackMenuProps } from './PlaybackSpeedMenu.interface';
2
+ export declare const StyledPlaybackMenuWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
3
+ export declare const StyledPlaybackMenu: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, StyledPlaybackMenuProps>> & string;
4
+ export declare const StyledPlaybackSpeedItem: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, never>> & string;
@@ -1,11 +1,3 @@
1
- import PropTypes from 'prop-types';
2
- import 'video-react/dist/video-react.css';
3
- export declare const VideoPlayer: {
4
- (props: any): import("react/jsx-runtime").JSX.Element;
5
- propTypes: {
6
- url: PropTypes.Requireable<string>;
7
- thumbnail: PropTypes.Requireable<string>;
8
- subtitle: PropTypes.Requireable<string>;
9
- downloadLink: PropTypes.Requireable<string>;
10
- };
11
- };
1
+ import { ReactElement } from 'react';
2
+ import { PlayerProps } from './Player.interface';
3
+ export declare const VideoPlayer: ({ customStyles, startTime, loading, setLoading, handleTrackProgress, url, subtitle: subtitleUrl, handleNextVideo, handlePreviousVideo, isNextVideo, isPreviousVideo, isPlaying, setIsPlaying, shouldPlayerBeFocusedOnSpaceClick, showFavorite, isFavorite, toggleFavorite, }: PlayerProps) => ReactElement;
@@ -0,0 +1,63 @@
1
+ import React, { RefObject } from 'react';
2
+ import ReactPlayer from 'react-player';
3
+ import { ControlsProps } from './Controls/Controls.interface';
4
+ export interface VideoState {
5
+ muted: boolean;
6
+ volume: number;
7
+ prevVolume: number;
8
+ playbackRate: number;
9
+ played: number;
10
+ seeking: boolean;
11
+ buffer: boolean;
12
+ }
13
+ type HandleNextVideo = () => void;
14
+ type HandlePreviousVideo = () => void;
15
+ export interface PlayerProps {
16
+ customStyles?: React.CSSProperties;
17
+ startTime?: number;
18
+ loading: boolean;
19
+ setLoading: React.Dispatch<React.SetStateAction<boolean>>;
20
+ url: string;
21
+ subtitle: string;
22
+ handleTrackProgress: (currentTime: number) => void;
23
+ handleNextVideo?: HandleNextVideo;
24
+ handlePreviousVideo?: HandlePreviousVideo;
25
+ isNextVideo?: boolean;
26
+ isPreviousVideo?: boolean;
27
+ isPlaying: boolean;
28
+ setIsPlaying: React.Dispatch<React.SetStateAction<boolean>>;
29
+ shouldPlayerBeFocusedOnSpaceClick?: boolean;
30
+ showFavorite?: boolean;
31
+ isFavorite?: boolean;
32
+ toggleFavorite?: () => Promise<void>;
33
+ }
34
+ export interface UsePlayerControlsProps {
35
+ startTime?: number;
36
+ setLoading: React.Dispatch<React.SetStateAction<boolean>>;
37
+ url: string;
38
+ handleTrackProgress: (currentTime: number) => void;
39
+ subtitleUrl: string;
40
+ isPlaying: boolean;
41
+ setIsPlaying: React.Dispatch<React.SetStateAction<boolean>>;
42
+ shouldPlayerBeFocusedOnSpaceClick: boolean;
43
+ }
44
+ export interface ProgressState {
45
+ played: number;
46
+ playedSeconds: number;
47
+ loaded: number;
48
+ loadedSeconds: number;
49
+ }
50
+ export interface UsePlayerControlsState extends Omit<ControlsProps, 'isFavorite' | 'toggleIsFavorite'> {
51
+ mouseMoveHandler: () => void;
52
+ playerContainerRef: RefObject<HTMLDivElement>;
53
+ videoPlayerRef: RefObject<ReactPlayer>;
54
+ progressHandler: (state: ProgressState) => Promise<void>;
55
+ bufferStartHandler: () => void;
56
+ bufferEndHandler: () => void;
57
+ onPlayerStart: () => void;
58
+ controlRef: RefObject<HTMLDivElement>;
59
+ isFullscreen: boolean;
60
+ isControlsActive: boolean;
61
+ currentSubtitle: string;
62
+ }
63
+ export {};
@@ -0,0 +1,8 @@
1
+ export declare const StyledVideoPlayerWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
2
+ export declare const StyledWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
3
+ export declare const StyledPlayerLoader: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
4
+ export declare const StyledLoader: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
5
+ export declare const StyledControlsContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
6
+ export declare const StyledSubtitles: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
7
+ $controls: boolean;
8
+ }>> & string;
@@ -0,0 +1,2 @@
1
+ import { PlaybackSpeedItem } from '../PlaybackSpeedMenu.interface';
2
+ export declare const PLAYBACK_SPEED_LIST: PlaybackSpeedItem[];
@@ -0,0 +1,6 @@
1
+ export interface SubtitleEntry {
2
+ start: number;
3
+ end: number;
4
+ text: string;
5
+ }
6
+ export declare function parseVTT(content: string): SubtitleEntry[];
@@ -0,0 +1,5 @@
1
+ export declare const ConvertSecondsToReadableFormat: (duration: number) => string;
2
+ export declare const FormatSecondsToTimeString: (time: number) => string;
3
+ export declare const postTimeFormatter: (postCreateTimestamp: number) => string;
4
+ export declare const commentTimeFormatter: (commentTimestamp: number, includeAgo?: boolean) => string;
5
+ export declare const convertTimestampToDateShortFormat: (timestamp: number) => string;
@@ -0,0 +1,16 @@
1
+ import { RefObject } from 'react';
2
+ export declare enum DropdownVerticalPositionEnum {
3
+ Top = "top",
4
+ Bottom = "bottom"
5
+ }
6
+ export declare enum DropdownHorizontalPositionEnum {
7
+ Left = "left",
8
+ Right = "right"
9
+ }
10
+ export interface IDynamicPosition {
11
+ vertical: DropdownVerticalPositionEnum;
12
+ horizontal: DropdownHorizontalPositionEnum;
13
+ }
14
+ type UseDynamicPositionHookFnType = (isActive: boolean, ref: RefObject<HTMLElement>, offset?: number) => IDynamicPosition;
15
+ declare const useDynamicPosition: UseDynamicPositionHookFnType;
16
+ export default useDynamicPosition;
@@ -0,0 +1,3 @@
1
+ import { RefObject } from 'react';
2
+ declare const useEventListener: <T extends HTMLElement = HTMLDivElement>(eventName: keyof WindowEventMap, handler: (event: KeyboardEvent | Event) => void, element?: RefObject<T> | Window | null, shouldRun?: () => boolean) => void;
3
+ export default useEventListener;
@@ -0,0 +1,22 @@
1
+ import { Dispatch, SetStateAction } from 'react';
2
+ export declare enum DropdownVerticalPositionEnum {
3
+ Top = "top",
4
+ Bottom = "bottom"
5
+ }
6
+ export declare enum DropdownHorizontalPositionEnum {
7
+ Left = "left",
8
+ Right = "right"
9
+ }
10
+ export interface IDynamicPosition {
11
+ vertical: DropdownVerticalPositionEnum;
12
+ horizontal: DropdownHorizontalPositionEnum;
13
+ }
14
+ type UseMenuToggleHookFnType = (initialIsVisible?: boolean, offset?: number) => {
15
+ menuRef: React.RefObject<HTMLDivElement>;
16
+ isVisible: boolean;
17
+ setIsVisible: Dispatch<SetStateAction<boolean>>;
18
+ menuPosition: IDynamicPosition;
19
+ toggleMenu: () => void;
20
+ };
21
+ declare const useMenuToggle: UseMenuToggleHookFnType;
22
+ export default useMenuToggle;
@@ -0,0 +1,3 @@
1
+ import { RefObject } from 'react';
2
+ declare const useOnOutsideClick: (ref: RefObject<HTMLElement>, handler: (event: MouseEvent) => void) => void;
3
+ export default useOnOutsideClick;
@@ -0,0 +1,3 @@
1
+ import { UsePlayerControlsProps, UsePlayerControlsState } from './Player.interface';
2
+ declare function usePlayerControls({ startTime, setLoading, handleTrackProgress, url, subtitleUrl, setIsPlaying, isPlaying, shouldPlayerBeFocusedOnSpaceClick, }: UsePlayerControlsProps): UsePlayerControlsState;
3
+ export default usePlayerControls;
@@ -0,0 +1,7 @@
1
+ import React, { SVGProps } from 'react';
2
+ export interface SvgProps extends SVGProps<SVGSVGElement> {
3
+ className?: string;
4
+ onClick?: () => void;
5
+ active?: boolean;
6
+ }
7
+ export declare const HeartIcon: React.FC<SvgProps>;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { SvgProps } from './svgTypes.interface';
3
+ export declare const MaximizeIcon: React.FC<SvgProps>;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { SvgProps } from './svgTypes.interface';
3
+ export declare const MeterIcon: React.FC<SvgProps>;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { SvgProps } from './svgTypes.interface';
3
+ export declare const MinimizeIcon: React.FC<SvgProps>;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { SvgProps } from './svgTypes.interface';
3
+ export declare const PauseIcon: React.FC<SvgProps>;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { SvgProps } from './svgTypes.interface';
3
+ export declare const PlayIcon: React.FC<SvgProps>;
@@ -0,0 +1,7 @@
1
+ import React, { SVGProps } from 'react';
2
+ export interface SvgProps extends SVGProps<SVGSVGElement> {
3
+ className?: string;
4
+ onClick?: () => void;
5
+ forward?: boolean;
6
+ }
7
+ export declare const RewindIcon: React.FC<SvgProps>;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface SvgProps {
3
+ className?: string;
4
+ onClick?: () => void;
5
+ forward?: boolean;
6
+ }
7
+ export declare const SkipIcon: React.FC<SvgProps>;
8
+ export {};
@@ -0,0 +1,7 @@
1
+ import React, { SVGProps } from 'react';
2
+ export interface SvgProps extends SVGProps<SVGSVGElement> {
3
+ className?: string;
4
+ onClick?: () => void;
5
+ active?: boolean;
6
+ }
7
+ export declare const SubtitlesIcon: React.FC<SvgProps>;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { SvgProps } from './svgTypes.interface';
3
+ export declare const VideoCheckmarkIcon: React.FC<SvgProps>;
@@ -0,0 +1,8 @@
1
+ import React, { SVGProps } from 'react';
2
+ export interface SvgProps extends SVGProps<SVGSVGElement> {
3
+ className?: string;
4
+ onClick?: () => void;
5
+ dark?: boolean;
6
+ props?: SVGProps<SVGSVGElement>;
7
+ }
8
+ export declare const VolumeMuteIcon: React.FC<SvgProps>;
@@ -0,0 +1,8 @@
1
+ import React, { SVGProps } from 'react';
2
+ export interface SvgProps extends SVGProps<SVGSVGElement> {
3
+ className?: string;
4
+ onClick?: () => void;
5
+ dark?: boolean;
6
+ props?: SVGProps<SVGSVGElement>;
7
+ }
8
+ export declare const VolumeUpIcon: React.FC<SvgProps>;
@@ -1,4 +1,15 @@
1
1
  export { ActivityIcon } from './Activity';
2
+ export { VideoCheckmarkIcon } from './VideoCheckmark';
3
+ export { HeartIcon } from './Heart';
4
+ export { MinimizeIcon } from './Minimize';
5
+ export { MaximizeIcon } from './Maximize';
6
+ export { PauseIcon } from './Pause';
7
+ export { VolumeMuteIcon } from './VolumeMute';
8
+ export { PlayIcon } from './Play';
9
+ export { RewindIcon } from './Rewind';
10
+ export { SkipIcon } from './Skip';
11
+ export { SubtitlesIcon } from './Subtitles';
12
+ export { MeterIcon } from './Meter';
2
13
  export { ArrowDropDownIcon } from './ArrowDropDownIcon';
3
14
  export { Analytics } from './Analytics';
4
15
  export { AddAlt } from './AddAlt';