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,25 @@
1
+ import { useState, useRef } from 'react';
2
+ import useDynamicPosition from './useDynamicPosition';
3
+ import useOnOutsideClick from './useOnOutsideClick';
4
+ export var DropdownVerticalPositionEnum;
5
+ (function (DropdownVerticalPositionEnum) {
6
+ DropdownVerticalPositionEnum["Top"] = "top";
7
+ DropdownVerticalPositionEnum["Bottom"] = "bottom";
8
+ })(DropdownVerticalPositionEnum || (DropdownVerticalPositionEnum = {}));
9
+ export var DropdownHorizontalPositionEnum;
10
+ (function (DropdownHorizontalPositionEnum) {
11
+ DropdownHorizontalPositionEnum["Left"] = "left";
12
+ DropdownHorizontalPositionEnum["Right"] = "right";
13
+ })(DropdownHorizontalPositionEnum || (DropdownHorizontalPositionEnum = {}));
14
+ var useMenuToggle = function (initialIsVisible, offset) {
15
+ if (initialIsVisible === void 0) { initialIsVisible = false; }
16
+ if (offset === void 0) { offset = 8; }
17
+ var _a = useState(initialIsVisible), isVisible = _a[0], setIsVisible = _a[1];
18
+ var menuRef = useRef(null);
19
+ var menuPosition = useDynamicPosition(isVisible, menuRef, offset);
20
+ useOnOutsideClick(menuRef, function () { return setIsVisible(false); });
21
+ var toggleMenu = function () { return setIsVisible(function (prev) { return !prev; }); };
22
+ return { menuRef: menuRef, isVisible: isVisible, setIsVisible: setIsVisible, menuPosition: menuPosition, toggleMenu: toggleMenu };
23
+ };
24
+ export default useMenuToggle;
25
+ //# sourceMappingURL=useMenuToggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMenuToggle.js","sourceRoot":"","sources":["../../../src/components/VideoPlayer/useMenuToggle.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAA4B,MAAM,OAAO,CAAA;AAClE,OAAO,kBAAkB,MAAM,sBAAsB,CAAA;AACrD,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AAEnD,MAAM,CAAN,IAAY,4BAGX;AAHD,WAAY,4BAA4B;IACtC,2CAAW,CAAA;IACX,iDAAiB,CAAA;AACnB,CAAC,EAHW,4BAA4B,KAA5B,4BAA4B,QAGvC;AAED,MAAM,CAAN,IAAY,8BAGX;AAHD,WAAY,8BAA8B;IACxC,+CAAa,CAAA;IACb,iDAAe,CAAA;AACjB,CAAC,EAHW,8BAA8B,KAA9B,8BAA8B,QAGzC;AAiBD,IAAM,aAAa,GAA4B,UAAC,gBAAwB,EAAE,MAAU;IAApC,iCAAA,EAAA,wBAAwB;IAAE,uBAAA,EAAA,UAAU;IAC5E,IAAA,KAA4B,QAAQ,CAAU,gBAAgB,CAAC,EAA9D,SAAS,QAAA,EAAE,YAAY,QAAuC,CAAA;IACrE,IAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAC5C,IAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IAEnE,iBAAiB,CAAC,OAAO,EAAE,cAAM,OAAA,YAAY,CAAC,KAAK,CAAC,EAAnB,CAAmB,CAAC,CAAA;IAErD,IAAM,UAAU,GAAG,cAAY,OAAA,YAAY,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC,IAAI,EAAL,CAAK,CAAC,EAA3B,CAA2B,CAAA;IAE1D,OAAO,EAAE,OAAO,SAAA,EAAE,SAAS,WAAA,EAAE,YAAY,cAAA,EAAE,YAAY,cAAA,EAAE,UAAU,YAAA,EAAE,CAAA;AACvE,CAAC,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -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,16 @@
1
+ import { useEffect } from 'react';
2
+ var useOnOutsideClick = function (ref, handler) {
3
+ useEffect(function () {
4
+ var listener = function (event) {
5
+ if (ref.current && !ref.current.contains(event.target)) {
6
+ handler(event);
7
+ }
8
+ };
9
+ document.addEventListener('mousedown', listener);
10
+ return function () {
11
+ document.removeEventListener('mousedown', listener);
12
+ };
13
+ }, [ref, handler]);
14
+ };
15
+ export default useOnOutsideClick;
16
+ //# sourceMappingURL=useOnOutsideClick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOnOutsideClick.js","sourceRoot":"","sources":["../../../src/components/VideoPlayer/useOnOutsideClick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAa,MAAM,OAAO,CAAA;AAE5C,IAAM,iBAAiB,GAAG,UACxB,GAA2B,EAC3B,OAAoC;IAEpC,SAAS,CAAC;QACR,IAAM,QAAQ,GAAG,UAAC,KAAiB;YACjC,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,EAAE,CAAC;gBAC/D,OAAO,CAAC,KAAK,CAAC,CAAA;YAChB,CAAC;QACH,CAAC,CAAA;QAED,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;QAEhD,OAAO;YACL,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;QACrD,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;AACpB,CAAC,CAAA;AAED,eAAe,iBAAiB,CAAA"}
@@ -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,330 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
23
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ import { useState, useRef, useCallback, useEffect } from 'react';
49
+ import { parseVTT } from './parseVtt';
50
+ import { FormatSecondsToTimeString } from './timeConversion';
51
+ import useEventListener from './useEventListener';
52
+ var count = 0;
53
+ var defaultVideoState = {
54
+ muted: false,
55
+ volume: 0.3,
56
+ prevVolume: 0.3,
57
+ playbackRate: 1.0,
58
+ played: 0.0,
59
+ seeking: false,
60
+ buffer: true,
61
+ };
62
+ function usePlayerControls(_a) {
63
+ var _this = this;
64
+ var _b = _a.startTime, startTime = _b === void 0 ? 0 : _b, setLoading = _a.setLoading, handleTrackProgress = _a.handleTrackProgress, url = _a.url, subtitleUrl = _a.subtitleUrl, setIsPlaying = _a.setIsPlaying, isPlaying = _a.isPlaying, shouldPlayerBeFocusedOnSpaceClick = _a.shouldPlayerBeFocusedOnSpaceClick;
65
+ var _c = useState(false), startPlayed = _c[0], setStartPlayed = _c[1];
66
+ var _d = useState(defaultVideoState), videoState = _d[0], setVideoState = _d[1];
67
+ var _e = useState(false), isSubtitlesChecked = _e[0], setIsSubtitlesChecked = _e[1];
68
+ var _f = useState(false), isFullscreen = _f[0], setIsFullscreen = _f[1];
69
+ var _g = useState(false), isControlsActive = _g[0], setIsControlsActive = _g[1];
70
+ var videoPlayerRef = useRef(null);
71
+ var controlRef = useRef(null);
72
+ var playerContainerRef = useRef(null);
73
+ var _h = useState([]), subtitles = _h[0], setSubtitles = _h[1];
74
+ var _j = useState(''), currentSubtitle = _j[0], setCurrentSubtitle = _j[1];
75
+ var lastSubtitleIndexRef = useRef(null);
76
+ var lastPlaybackTimeRef = useRef(0);
77
+ var lastCallTimeRef = useRef(Date.now());
78
+ var muted = videoState.muted, volume = videoState.volume, prevVolume = videoState.prevVolume, playbackRate = videoState.playbackRate, played = videoState.played, seeking = videoState.seeking;
79
+ var currentTime = videoPlayerRef.current ? videoPlayerRef.current.getCurrentTime() : 0;
80
+ var duration = videoPlayerRef.current ? videoPlayerRef.current.getDuration() : 0;
81
+ var formatCurrentTime = FormatSecondsToTimeString(currentTime);
82
+ var formatDuration = FormatSecondsToTimeString(duration);
83
+ useEffect(function () {
84
+ fetch(subtitleUrl)
85
+ .then(function (response) { return response.text(); })
86
+ .then(function (content) {
87
+ var parsedSubtitles = parseVTT(content);
88
+ setSubtitles(parsedSubtitles);
89
+ });
90
+ }, [subtitleUrl]);
91
+ useEffect(function () {
92
+ var handleFullscreenChange = function () {
93
+ setIsFullscreen(!!document.fullscreenElement);
94
+ };
95
+ document.addEventListener('fullscreenchange', handleFullscreenChange);
96
+ return function () {
97
+ document.removeEventListener('fullscreenchange', handleFullscreenChange);
98
+ };
99
+ }, []);
100
+ useEffect(function () {
101
+ setStartPlayed(false);
102
+ }, [url]);
103
+ var playPauseHandler = useCallback(function () {
104
+ setIsPlaying(function (prev) { return !prev; });
105
+ }, [setIsPlaying]);
106
+ var rewindHandler = useCallback(function () {
107
+ if (videoPlayerRef.current) {
108
+ videoPlayerRef.current.seekTo(videoPlayerRef.current.getCurrentTime() - 5);
109
+ }
110
+ }, [videoPlayerRef]);
111
+ var handleFastForward = useCallback(function () {
112
+ if (videoPlayerRef.current) {
113
+ videoPlayerRef.current.seekTo(videoPlayerRef.current.getCurrentTime() + 10);
114
+ }
115
+ }, [videoPlayerRef]);
116
+ var progressHandler = useCallback(function (state) { return __awaiter(_this, void 0, void 0, function () {
117
+ var currentSubtitleEntry, i, sub, i, sub, currentTime_1, now;
118
+ return __generator(this, function (_a) {
119
+ if (count > 2) {
120
+ if (controlRef.current) {
121
+ controlRef.current.style.visibility = 'hidden';
122
+ setIsControlsActive(false);
123
+ }
124
+ }
125
+ else if (controlRef.current &&
126
+ controlRef.current.style.visibility === 'visible' &&
127
+ isControlsActive) {
128
+ count += 1;
129
+ }
130
+ if (lastSubtitleIndexRef.current !== null) {
131
+ if (state.playedSeconds > lastPlaybackTimeRef.current) {
132
+ // Searching forward
133
+ for (i = lastSubtitleIndexRef.current; i < subtitles.length; i++) {
134
+ sub = subtitles[i];
135
+ if (state.playedSeconds >= sub.start && state.playedSeconds <= sub.end) {
136
+ currentSubtitleEntry = sub;
137
+ lastSubtitleIndexRef.current = i;
138
+ break;
139
+ }
140
+ }
141
+ }
142
+ else {
143
+ // Searching backward
144
+ for (i = lastSubtitleIndexRef.current; i >= 0; i--) {
145
+ sub = subtitles[i];
146
+ if (state.playedSeconds >= sub.start && state.playedSeconds <= sub.end) {
147
+ currentSubtitleEntry = sub;
148
+ lastSubtitleIndexRef.current = i;
149
+ break;
150
+ }
151
+ }
152
+ }
153
+ }
154
+ if (!currentSubtitleEntry) {
155
+ currentSubtitleEntry = subtitles.find(function (sub) { return state.playedSeconds >= sub.start && state.playedSeconds <= sub.end; });
156
+ if (currentSubtitleEntry) {
157
+ lastSubtitleIndexRef.current = subtitles.indexOf(currentSubtitleEntry);
158
+ }
159
+ }
160
+ lastPlaybackTimeRef.current = state.playedSeconds;
161
+ if (currentSubtitleEntry) {
162
+ setCurrentSubtitle(currentSubtitleEntry.text);
163
+ }
164
+ else {
165
+ setCurrentSubtitle(''); // Clear subtitle if none should be displayed
166
+ lastSubtitleIndexRef.current = null;
167
+ }
168
+ if (!seeking) {
169
+ setVideoState(function (prev) { return (__assign(__assign({}, prev), state)); });
170
+ currentTime_1 = Math.floor(state.playedSeconds);
171
+ now = Date.now();
172
+ // Check if 8 seconds have passed since the last API call
173
+ if (now - lastCallTimeRef.current > 8000) {
174
+ lastCallTimeRef.current = now;
175
+ handleTrackProgress(currentTime_1);
176
+ }
177
+ }
178
+ return [2 /*return*/];
179
+ });
180
+ }); }, [seeking, handleTrackProgress, isControlsActive, subtitles]);
181
+ var seekHandler = function (e) {
182
+ var v = parseFloat(e.target.value) / 100;
183
+ setVideoState(function (prev) { return (__assign(__assign({}, prev), { played: v })); });
184
+ if (videoPlayerRef.current) {
185
+ videoPlayerRef.current.seekTo(v);
186
+ }
187
+ };
188
+ var seekMouseUpHandler = function (e) {
189
+ setVideoState(function (prev) { return (__assign(__assign({}, prev), { seeking: false })); });
190
+ if (videoPlayerRef.current) {
191
+ videoPlayerRef.current.seekTo(videoState.played);
192
+ }
193
+ };
194
+ var volumeChangeHandler = function (e) {
195
+ var volume = e.target.value;
196
+ var newVolume = parseFloat(volume) / 100;
197
+ setVideoState(function (prev) { return (__assign(__assign({}, prev), { volume: newVolume, muted: newVolume === 0, prevVolume: newVolume === 0 ? 0.1 : newVolume })); });
198
+ };
199
+ var muteHandler = function () {
200
+ if (videoState.muted) {
201
+ setVideoState(function (prev) { return (__assign(__assign({}, prev), { muted: false, volume: prevVolume })); });
202
+ }
203
+ else {
204
+ setVideoState(function (prev) { return (__assign(__assign({}, prev), { muted: true, prevVolume: volume, volume: 0 })); });
205
+ }
206
+ };
207
+ var onSeekMouseDownHandler = function (e) {
208
+ setVideoState(function (prev) { return (__assign(__assign({}, prev), { seeking: true })); });
209
+ };
210
+ var mouseMoveHandler = function () {
211
+ if (controlRef.current) {
212
+ controlRef.current.style.visibility = 'visible';
213
+ setIsControlsActive(true);
214
+ }
215
+ count = 0;
216
+ };
217
+ var bufferStartHandler = useCallback(function () {
218
+ setVideoState(function (prev) { return (__assign(__assign({}, prev), { buffer: true })); });
219
+ }, [setVideoState]);
220
+ var bufferEndHandler = useCallback(function () {
221
+ if (startPlayed) {
222
+ setVideoState(function (prev) { return (__assign(__assign({}, prev), { buffer: false })); });
223
+ setIsPlaying(true);
224
+ }
225
+ }, [startPlayed, setVideoState, setIsPlaying]);
226
+ var onPlayerStart = useCallback(function () {
227
+ if (videoPlayerRef.current && !startPlayed) {
228
+ videoPlayerRef.current.seekTo(startTime);
229
+ setStartPlayed(true);
230
+ }
231
+ setLoading(false);
232
+ }, [startTime, startPlayed, setLoading]);
233
+ var handleFullScreen = function () {
234
+ var playerContainer = playerContainerRef.current;
235
+ if (!playerContainer) {
236
+ return;
237
+ }
238
+ if (document.fullscreenElement) {
239
+ document.exitFullscreen().catch(console.error);
240
+ }
241
+ else {
242
+ playerContainer.requestFullscreen().catch(console.error);
243
+ }
244
+ };
245
+ var handleKeyDown = useCallback(function (event) {
246
+ if ('code' in event) {
247
+ switch (event.code) {
248
+ case 'ArrowLeft':
249
+ event.preventDefault();
250
+ rewindHandler();
251
+ break;
252
+ case 'ArrowRight':
253
+ event.preventDefault();
254
+ handleFastForward();
255
+ break;
256
+ case 'ArrowUp':
257
+ event.preventDefault();
258
+ setVideoState(function (prev) {
259
+ var newVolume = Math.min(prev.volume + 0.1, 1);
260
+ return __assign(__assign({}, prev), { volume: newVolume, muted: newVolume === 0, prevVolume: newVolume === 0 ? 0.1 : newVolume });
261
+ });
262
+ break;
263
+ case 'ArrowDown':
264
+ event.preventDefault();
265
+ setVideoState(function (prev) {
266
+ var newVolume = Math.max(prev.volume - 0.1, 0);
267
+ return __assign(__assign({}, prev), { volume: newVolume, muted: newVolume === 0, prevVolume: newVolume === 0 ? 0.1 : newVolume });
268
+ });
269
+ break;
270
+ }
271
+ }
272
+ }, [rewindHandler, handleFastForward, setVideoState]);
273
+ var handleSpaceKeyDown = useCallback(function (event) {
274
+ if ('code' in event) {
275
+ switch (event.code) {
276
+ case 'Space':
277
+ if (event.target &&
278
+ (event.target instanceof HTMLInputElement ||
279
+ event.target instanceof HTMLTextAreaElement)) {
280
+ break;
281
+ }
282
+ event.preventDefault();
283
+ playPauseHandler();
284
+ break;
285
+ }
286
+ }
287
+ }, [playPauseHandler]);
288
+ var isPlayerFocused = function () {
289
+ var _a;
290
+ var focusedElement = document.activeElement;
291
+ return !!((_a = playerContainerRef.current) === null || _a === void 0 ? void 0 : _a.contains(focusedElement));
292
+ };
293
+ var toggleSubtitlesCheck = function () { return setIsSubtitlesChecked(function (prev) { return !prev; }); };
294
+ useEventListener('keydown', handleKeyDown, playerContainerRef, isPlayerFocused);
295
+ useEventListener('keydown', handleSpaceKeyDown, shouldPlayerBeFocusedOnSpaceClick ? playerContainerRef : null, shouldPlayerBeFocusedOnSpaceClick ? isPlayerFocused : undefined);
296
+ return {
297
+ mouseMoveHandler: mouseMoveHandler,
298
+ playerContainerRef: playerContainerRef,
299
+ playPauseHandler: playPauseHandler,
300
+ handleFullScreen: handleFullScreen,
301
+ videoPlayerRef: videoPlayerRef,
302
+ volume: volume,
303
+ muted: muted,
304
+ progressHandler: progressHandler,
305
+ bufferStartHandler: bufferStartHandler,
306
+ bufferEndHandler: bufferEndHandler,
307
+ onPlayerStart: onPlayerStart,
308
+ setVideoState: setVideoState,
309
+ playbackRate: playbackRate,
310
+ controlRef: controlRef,
311
+ rewindHandler: rewindHandler,
312
+ handleFastForward: handleFastForward,
313
+ formatCurrentTime: formatCurrentTime,
314
+ played: played,
315
+ onSeekMouseDownHandler: onSeekMouseDownHandler,
316
+ seekHandler: seekHandler,
317
+ seekMouseUpHandler: seekMouseUpHandler,
318
+ muteHandler: muteHandler,
319
+ volumeChangeHandler: volumeChangeHandler,
320
+ formatDuration: formatDuration,
321
+ isSubtitlesChecked: isSubtitlesChecked,
322
+ toggleSubtitlesCheck: toggleSubtitlesCheck,
323
+ isFullscreen: isFullscreen,
324
+ isControlsActive: isControlsActive,
325
+ currentSubtitle: currentSubtitle,
326
+ playing: isPlaying,
327
+ };
328
+ }
329
+ export default usePlayerControls;
330
+ //# sourceMappingURL=usePlayerControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePlayerControls.js","sourceRoot":"","sources":["../../../src/components/VideoPlayer/usePlayerControls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,172 @@
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 Vidyard_1;
20
+ var hasRequiredVidyard;
21
+
22
+ function requireVidyard () {
23
+ if (hasRequiredVidyard) return Vidyard_1;
24
+ hasRequiredVidyard = 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 Vidyard_exports = {};
58
+ __export(Vidyard_exports, {
59
+ default: () => Vidyard
60
+ });
61
+ Vidyard_1 = __toCommonJS(Vidyard_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://play.vidyard.com/embed/v4.js";
66
+ const SDK_GLOBAL = "VidyardV4";
67
+ const SDK_GLOBAL_READY = "onVidyardAPI";
68
+ class Vidyard extends import_react.Component {
69
+ constructor() {
70
+ super(...arguments);
71
+ __publicField(this, "callPlayer", import_utils.callPlayer);
72
+ __publicField(this, "mute", () => {
73
+ this.setVolume(0);
74
+ });
75
+ __publicField(this, "unmute", () => {
76
+ if (this.props.volume !== null) {
77
+ this.setVolume(this.props.volume);
78
+ }
79
+ });
80
+ __publicField(this, "ref", (container) => {
81
+ this.container = container;
82
+ });
83
+ }
84
+ componentDidMount() {
85
+ this.props.onMount && this.props.onMount(this);
86
+ }
87
+ load(url) {
88
+ const { playing, config, onError, onDuration } = this.props;
89
+ const id = url && url.match(import_patterns.MATCH_URL_VIDYARD)[1];
90
+ if (this.player) {
91
+ this.stop();
92
+ }
93
+ (0, import_utils.getSDK)(SDK_URL, SDK_GLOBAL, SDK_GLOBAL_READY).then((Vidyard2) => {
94
+ if (!this.container)
95
+ return;
96
+ Vidyard2.api.addReadyListener((data, player) => {
97
+ if (this.player) {
98
+ return;
99
+ }
100
+ this.player = player;
101
+ this.player.on("ready", this.props.onReady);
102
+ this.player.on("play", this.props.onPlay);
103
+ this.player.on("pause", this.props.onPause);
104
+ this.player.on("seek", this.props.onSeek);
105
+ this.player.on("playerComplete", this.props.onEnded);
106
+ }, id);
107
+ Vidyard2.api.renderPlayer({
108
+ uuid: id,
109
+ container: this.container,
110
+ autoplay: playing ? 1 : 0,
111
+ ...config.options
112
+ });
113
+ Vidyard2.api.getPlayerMetadata(id).then((meta) => {
114
+ this.duration = meta.length_in_seconds;
115
+ onDuration(meta.length_in_seconds);
116
+ });
117
+ }, onError);
118
+ }
119
+ play() {
120
+ this.callPlayer("play");
121
+ }
122
+ pause() {
123
+ this.callPlayer("pause");
124
+ }
125
+ stop() {
126
+ window.VidyardV4.api.destroyPlayer(this.player);
127
+ }
128
+ seekTo(amount, keepPlaying = true) {
129
+ this.callPlayer("seek", amount);
130
+ if (!keepPlaying) {
131
+ this.pause();
132
+ }
133
+ }
134
+ setVolume(fraction) {
135
+ this.callPlayer("setVolume", fraction);
136
+ }
137
+ setPlaybackRate(rate) {
138
+ this.callPlayer("setPlaybackSpeed", rate);
139
+ }
140
+ getDuration() {
141
+ return this.duration;
142
+ }
143
+ getCurrentTime() {
144
+ return this.callPlayer("currentTime");
145
+ }
146
+ getSecondsLoaded() {
147
+ return null;
148
+ }
149
+ render() {
150
+ const { display } = this.props;
151
+ const style = {
152
+ width: "100%",
153
+ height: "100%",
154
+ display
155
+ };
156
+ return /* @__PURE__ */ import_react.default.createElement("div", { style }, /* @__PURE__ */ import_react.default.createElement("div", { ref: this.ref }));
157
+ }
158
+ }
159
+ __publicField(Vidyard, "displayName", "Vidyard");
160
+ __publicField(Vidyard, "canPlay", import_patterns.canPlay.vidyard);
161
+ return Vidyard_1;
162
+ }
163
+
164
+ var VidyardExports = /*@__PURE__*/ requireVidyard();
165
+ var Vidyard = /*@__PURE__*/getDefaultExportFromCjs(VidyardExports);
166
+
167
+ var Vidyard$1 = /*#__PURE__*/_mergeNamespaces({
168
+ __proto__: null,
169
+ default: Vidyard
170
+ }, [VidyardExports]);
171
+
172
+ export { Vidyard$1 as V };