suada-components 1.0.2504230710 → 1.1.1

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,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,17 @@
1
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
+ return cooked;
4
+ };
5
+ import styled, { keyframes } from 'styled-components';
6
+ export var StyledVideoPlayerWrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n cursor: pointer;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n & > .react-player {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n border-radius: 8px;\n height: 50%;\n\n & > video {\n height: fit-content;\n width: 100%;\n object-fit: contain;\n border-radius: 8px;\n background-color: var(--neutral-colors-dark);\n }\n }\n"], ["\n cursor: pointer;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n & > .react-player {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n border-radius: 8px;\n height: 50%;\n\n & > video {\n height: fit-content;\n width: 100%;\n object-fit: contain;\n border-radius: 8px;\n background-color: var(--neutral-colors-dark);\n }\n }\n"])));
7
+ export var StyledWrapper = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n position: relative;\n z-index: 1;\n width: 100%;\n border-radius: 8px;\n overflow: hidden;\n\n &::before {\n content: '';\n display: block;\n padding-top: 56.25%;\n }\n\n & > ", " {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n"], ["\n position: relative;\n z-index: 1;\n width: 100%;\n border-radius: 8px;\n overflow: hidden;\n\n &::before {\n content: '';\n display: block;\n padding-top: 56.25%;\n }\n\n & > ", " {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n"])), StyledVideoPlayerWrapper);
8
+ export var StyledPlayerLoader = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: 8px;\n background: #e7e9ed;\n display: flex;\n align-items: center;\n top: 0;\n bottom: 0;\n margin: auto 0;\n color: var(--neutral-colors-light);\n justify-content: center;\n z-index: 5;\n"], ["\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: 8px;\n background: #e7e9ed;\n display: flex;\n align-items: center;\n top: 0;\n bottom: 0;\n margin: auto 0;\n color: var(--neutral-colors-light);\n justify-content: center;\n z-index: 5;\n"])));
9
+ var rotate = keyframes(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"], ["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"])));
10
+ export var StyledLoader = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n margin: 60px auto;\n font-size: 10px;\n position: relative;\n text-indent: -9999em;\n border-top: 3px solid var(--neutral-colors-light);\n border-right: 3px solid var(--neutral-colors-light);\n border-bottom: 3px solid var(--neutral-colors-light);\n border-left: 3px solid var(--brand-colors-accent);\n transform: translateZ(0);\n animation: ", " 1.1s infinite linear;\n border-radius: 50%;\n width: 46px;\n height: 46px;\n\n &:after {\n border-radius: 50%;\n width: 46px;\n height: 46px;\n }\n"], ["\n margin: 60px auto;\n font-size: 10px;\n position: relative;\n text-indent: -9999em;\n border-top: 3px solid var(--neutral-colors-light);\n border-right: 3px solid var(--neutral-colors-light);\n border-bottom: 3px solid var(--neutral-colors-light);\n border-left: 3px solid var(--brand-colors-accent);\n transform: translateZ(0);\n animation: ", " 1.1s infinite linear;\n border-radius: 50%;\n width: 46px;\n height: 46px;\n\n &:after {\n border-radius: 50%;\n width: 46px;\n height: 46px;\n }\n"])), rotate);
11
+ export var StyledControlsContainer = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n width: 100%;\n height: fit-content;\n display: flex;\n align-items: flex-end;\n position: absolute;\n flex-direction: column;\n left: 0;\n bottom: 0;\n z-index: 2;\n"], ["\n width: 100%;\n height: fit-content;\n display: flex;\n align-items: flex-end;\n position: absolute;\n flex-direction: column;\n left: 0;\n bottom: 0;\n z-index: 2;\n"])));
12
+ export var StyledSubtitles = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n background-color: rgba(2, 2, 16, 0.32);\n color: #fff;\n font-family: 'Open Sans', sans-serif;\n font-size: 18px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%;\n padding: 8px;\n position: absolute;\n z-index: 100;\n bottom: ", ";\n right: 0;\n left: 0;\n width: fit-content;\n margin: 0 auto;\n max-width: 80%;\n width: fit-content;\n"], ["\n background-color: rgba(2, 2, 16, 0.32);\n color: #fff;\n font-family: 'Open Sans', sans-serif;\n font-size: 18px;\n font-style: normal;\n font-weight: 400;\n line-height: 150%;\n padding: 8px;\n position: absolute;\n z-index: 100;\n bottom: ", ";\n right: 0;\n left: 0;\n width: fit-content;\n margin: 0 auto;\n max-width: 80%;\n width: fit-content;\n"])), function (_a) {
13
+ var $controls = _a.$controls;
14
+ return ($controls ? '60px' : '10px');
15
+ });
16
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;
17
+ //# sourceMappingURL=Player.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Player.styles.js","sourceRoot":"","sources":["../../../src/components/VideoPlayer/Player.styles.tsx"],"names":[],"mappings":";;;;AAAA,OAAO,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,CAAC,IAAM,wBAAwB,GAAG,MAAM,CAAC,GAAG,ghBAAA,6cAwBjD,IAAA,CAAA;AAED,MAAM,CAAC,IAAM,aAAa,GAAG,MAAM,CAAC,GAAG,wWAAA,qMAa/B,EAAwB,8FAO/B,KAPO,wBAAwB,CAO/B,CAAA;AAED,MAAM,CAAC,IAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,sVAAA,mRAc3C,IAAA,CAAA;AAED,IAAM,MAAM,GAAG,SAAS,iKAAA,8FAOvB,IAAA,CAAA;AAED,MAAM,CAAC,IAAM,YAAY,GAAG,MAAM,CAAC,GAAG,8kBAAA,qWAUvB,EAAM,oKAUpB,KAVc,MAAM,CAUpB,CAAA;AAED,MAAM,CAAC,IAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,sPAAA,mLAUhD,IAAA,CAAA;AAED,MAAM,CAAC,IAAM,eAAe,GAAG,MAAM,CAAC,GAAG,wbAAwB,iQAWrD,EAAwD,kHAOnE,KAPW,UAAC,EAAa;QAAX,SAAS,eAAA;IAAe,OAAA,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAA7B,CAA6B,CAOnE,CAAA"}
@@ -1,26 +1,10 @@
1
- declare const _default: {
2
- title: string;
3
- component: {
4
- (props: any): import("react/jsx-runtime").JSX.Element;
5
- propTypes: {
6
- url: import("prop-types").Requireable<string>;
7
- thumbnail: import("prop-types").Requireable<string>;
8
- subtitle: import("prop-types").Requireable<string>;
9
- downloadLink: import("prop-types").Requireable<string>;
10
- };
11
- };
12
- tags: string[];
13
- parameters: {
14
- layout: string;
15
- controls: {
16
- matchers: {
17
- color: RegExp;
18
- date: RegExp;
19
- };
20
- };
21
- };
22
- };
23
- export default _default;
24
- export declare const Default: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react/*").ReactRenderer, any>;
25
- export declare const WithoutSubtitles: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react/*").ReactRenderer, any>;
26
- export declare const WithoutDownload: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react/*").ReactRenderer, any>;
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { VideoPlayer } from './Player';
3
+ declare const meta: Meta<typeof VideoPlayer>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof VideoPlayer>;
6
+ export declare const Default: Story;
7
+ export declare const WithSubtitles: Story;
8
+ export declare const Playing: Story;
9
+ export declare const Favorited: Story;
10
+ export declare const NoControls: Story;
@@ -9,32 +9,187 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
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
+ };
12
48
  import { jsx as _jsx } from "react/jsx-runtime";
49
+ import { useState } from 'react';
13
50
  import { VideoPlayer } from './Player';
14
- export default {
51
+ var meta = {
15
52
  title: 'Components/VideoPlayer',
16
53
  component: VideoPlayer,
17
- tags: ['autodocs', 'video-player'],
18
54
  parameters: {
19
55
  layout: 'centered',
20
- controls: {
21
- matchers: {
22
- color: /(background|color)$/i,
23
- date: /Date$/,
24
- },
56
+ // Disable docs to avoid ref-related errors
57
+ docs: {
58
+ disable: true,
59
+ },
60
+ },
61
+ decorators: [
62
+ function (Story) { return (
63
+ // Add error boundary for storybook
64
+ _jsx("div", { style: { width: '800px', height: '450px' }, children: Story() })); },
65
+ ],
66
+ tags: ['autodocs'],
67
+ argTypes: {
68
+ url: {
69
+ control: 'text',
70
+ description: 'Video URL to play',
71
+ },
72
+ subtitle: {
73
+ control: 'text',
74
+ description: 'Subtitle URL',
75
+ },
76
+ startTime: {
77
+ control: { type: 'number', min: 0, step: 10 },
78
+ description: 'Start time in seconds',
79
+ defaultValue: 0,
80
+ },
81
+ isPlaying: {
82
+ control: 'boolean',
83
+ description: 'Controls whether the video is playing',
84
+ defaultValue: false,
85
+ },
86
+ shouldPlayerBeFocusedOnSpaceClick: {
87
+ control: 'boolean',
88
+ description: 'Controls focus behavior on space click',
89
+ defaultValue: false,
90
+ },
91
+ customStyles: {
92
+ control: 'object',
93
+ description: 'Custom styles for the player wrapper',
94
+ },
95
+ showFavorite: {
96
+ control: 'boolean',
97
+ description: 'Show favorite button',
98
+ defaultValue: true,
99
+ },
100
+ isFavorite: {
101
+ control: 'boolean',
102
+ description: 'Is video marked as favorite',
103
+ defaultValue: false,
104
+ },
105
+ isNextVideo: {
106
+ control: 'boolean',
107
+ description: 'Is there a next video available',
108
+ defaultValue: true,
25
109
  },
110
+ isPreviousVideo: {
111
+ control: 'boolean',
112
+ description: 'Is there a previous video available',
113
+ defaultValue: true,
114
+ },
115
+ },
116
+ };
117
+ export default meta;
118
+ // Wrapper component to handle state
119
+ var PlayerWrapper = function (args) {
120
+ var _a = useState(args.isPlaying || false), isPlaying = _a[0], setIsPlaying = _a[1];
121
+ var _b = useState(false), loading = _b[0], setLoading = _b[1];
122
+ var _c = useState(args.isFavorite || false), isFavorite = _c[0], setIsFavorite = _c[1];
123
+ // Ensure we have default handlers for everything
124
+ var handleTrackProgress = function (currentTime) {
125
+ console.log('Track progress:', currentTime);
126
+ };
127
+ var handleNextVideo = function () {
128
+ console.log('Next video requested');
129
+ };
130
+ var handlePreviousVideo = function () {
131
+ console.log('Previous video requested');
132
+ };
133
+ var toggleFavorite = function () { return __awaiter(void 0, void 0, void 0, function () {
134
+ return __generator(this, function (_a) {
135
+ setIsFavorite(!isFavorite);
136
+ console.log('Favorite toggled to:', !isFavorite);
137
+ return [2 /*return*/, Promise.resolve()];
138
+ });
139
+ }); };
140
+ // Provide all required props with defaults
141
+ var allProps = {
142
+ url: args.url || 'https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8',
143
+ startTime: args.startTime || 0,
144
+ loading: loading,
145
+ setLoading: setLoading,
146
+ handleTrackProgress: handleTrackProgress,
147
+ subtitle: args.subtitle || '',
148
+ handleNextVideo: args.isNextVideo ? handleNextVideo : undefined,
149
+ handlePreviousVideo: args.isPreviousVideo ? handlePreviousVideo : undefined,
150
+ isNextVideo: !!args.isNextVideo,
151
+ isPreviousVideo: !!args.isPreviousVideo,
152
+ isPlaying: isPlaying,
153
+ setIsPlaying: setIsPlaying,
154
+ shouldPlayerBeFocusedOnSpaceClick: args.shouldPlayerBeFocusedOnSpaceClick || false,
155
+ showFavorite: !!args.showFavorite,
156
+ isFavorite: isFavorite,
157
+ toggleFavorite: toggleFavorite,
158
+ customStyles: args.customStyles || { borderRadius: '8px', overflow: 'hidden' },
159
+ };
160
+ return _jsx(VideoPlayer, __assign({}, allProps));
161
+ };
162
+ // Default story
163
+ export var Default = {
164
+ render: function (args) { return _jsx(PlayerWrapper, __assign({}, args)); },
165
+ args: {
166
+ url: 'https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8',
167
+ startTime: 0,
168
+ shouldPlayerBeFocusedOnSpaceClick: true,
169
+ showFavorite: true,
170
+ isNextVideo: true,
171
+ isPreviousVideo: true,
172
+ customStyles: { borderRadius: '8px', overflow: 'hidden' },
26
173
  },
27
174
  };
28
- var Template = function (args) { return _jsx(VideoPlayer, __assign({}, args)); };
29
- export var Default = Template.bind({});
30
- Default.args = {
31
- url: 'https://dl29bi0xnzte0.cloudfront.net/lesson-562ceec7-ece7-4b00-92a7-aee4055d08aa/master.m3u8',
32
- thumbnail: 'https://via.placeholder.com/700x400',
33
- // subtitle: 'off',
34
- // downloadLink: 'https://example.com/sample-video.mp4',
35
- };
36
- export var WithoutSubtitles = Template.bind({});
37
- WithoutSubtitles.args = __assign(__assign({}, Default.args), { subtitle: 'off' });
38
- export var WithoutDownload = Template.bind({});
39
- WithoutDownload.args = __assign(__assign({}, Default.args), { downloadLink: '' });
175
+ // With Subtitles
176
+ export var WithSubtitles = {
177
+ render: function (args) { return _jsx(PlayerWrapper, __assign({}, args)); },
178
+ args: __assign(__assign({}, Default.args), { subtitle: 'https://example.com/subtitles.vtt' }),
179
+ };
180
+ // Playing State
181
+ export var Playing = {
182
+ render: function (args) { return _jsx(PlayerWrapper, __assign({}, args)); },
183
+ args: __assign(__assign({}, Default.args), { isPlaying: true }),
184
+ };
185
+ // Favorited
186
+ export var Favorited = {
187
+ render: function (args) { return _jsx(PlayerWrapper, __assign({}, args)); },
188
+ args: __assign(__assign({}, Default.args), { isFavorite: true }),
189
+ };
190
+ // No Controls
191
+ export var NoControls = {
192
+ render: function (args) { return _jsx(PlayerWrapper, __assign({}, args)); },
193
+ args: __assign(__assign({}, Default.args), { isNextVideo: false, isPreviousVideo: false, showFavorite: false }),
194
+ };
40
195
  //# sourceMappingURL=VideoPlayer.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VideoPlayer.stories.js","sourceRoot":"","sources":["../../../src/components/VideoPlayer/VideoPlayer.stories.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAGtC,eAAe;IACb,KAAK,EAAE,wBAAwB;IAC/B,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC;IAClC,UAAU,EAAE;QACV,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE;YACR,QAAQ,EAAE;gBACR,KAAK,EAAE,sBAAsB;gBAC7B,IAAI,EAAE,OAAO;aACd;SACF;KACF;CACF,CAAA;AAED,IAAM,QAAQ,GAAgC,UAAA,IAAI,IAAI,OAAA,KAAC,WAAW,eAAK,IAAI,EAAI,EAAzB,CAAyB,CAAA;AAC/E,MAAM,CAAC,IAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxC,OAAO,CAAC,IAAI,GAAG;IACb,GAAG,EAAE,8FAA8F;IACnG,SAAS,EAAE,qCAAqC;IAChD,mBAAmB;IACnB,wDAAwD;CACzD,CAAA;AAED,MAAM,CAAC,IAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACjD,gBAAgB,CAAC,IAAI,yBAChB,OAAO,CAAC,IAAI,KACf,QAAQ,EAAE,KAAK,GAChB,CAAA;AAED,MAAM,CAAC,IAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAChD,eAAe,CAAC,IAAI,yBACf,OAAO,CAAC,IAAI,KACf,YAAY,EAAE,EAAE,GACjB,CAAA"}
1
+ {"version":3,"file":"VideoPlayer.stories.js","sourceRoot":"","sources":["../../../src/components/VideoPlayer/VideoPlayer.stories.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { PlaybackSpeedItem } from '../PlaybackSpeedMenu.interface';
2
+ export declare const PLAYBACK_SPEED_LIST: PlaybackSpeedItem[];
@@ -0,0 +1,31 @@
1
+ export var PLAYBACK_SPEED_LIST = [
2
+ {
3
+ label: 'playback_speed.2x',
4
+ value: 2.0,
5
+ },
6
+ {
7
+ label: 'playback_speed.1_75x',
8
+ value: 1.75,
9
+ },
10
+ {
11
+ label: 'playback_speed.1_5x',
12
+ value: 1.5,
13
+ },
14
+ {
15
+ label: 'playback_speed.1_25x',
16
+ value: 1.25,
17
+ },
18
+ {
19
+ label: 'general.normal',
20
+ value: 1.0,
21
+ },
22
+ {
23
+ label: 'playback_speed.0_75x',
24
+ value: 0.75,
25
+ },
26
+ {
27
+ label: 'playback_speed.0_5x',
28
+ value: 0.5,
29
+ },
30
+ ];
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/VideoPlayer/constants/index.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAM,mBAAmB,GAAwB;IACtD;QACE,KAAK,EAAE,mBAAmB;QAC1B,KAAK,EAAE,GAAG;KACX;IACD;QACE,KAAK,EAAE,sBAAsB;QAC7B,KAAK,EAAE,IAAI;KACZ;IACD;QACE,KAAK,EAAE,qBAAqB;QAC5B,KAAK,EAAE,GAAG;KACX;IACD;QACE,KAAK,EAAE,sBAAsB;QAC7B,KAAK,EAAE,IAAI;KACZ;IACD;QACE,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,GAAG;KACX;IACD;QACE,KAAK,EAAE,sBAAsB;QAC7B,KAAK,EAAE,IAAI;KACZ;IACD;QACE,KAAK,EAAE,qBAAqB;QAC5B,KAAK,EAAE,GAAG;KACX;CACF,CAAA"}
@@ -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,35 @@
1
+ export function parseVTT(content) {
2
+ var lines = content.split(/\r?\n/);
3
+ var entries = [];
4
+ for (var i = 0; i < lines.length; i++) {
5
+ if (lines[i].includes('-->')) {
6
+ var times = lines[i].split(' --> ');
7
+ if (times.length === 2) {
8
+ var start = hmsToSeconds(times[0]);
9
+ var end = hmsToSeconds(times[1]);
10
+ var text = '';
11
+ i++;
12
+ while (i < lines.length && lines[i].trim() !== '') {
13
+ text += lines[i] + ' ';
14
+ i++;
15
+ }
16
+ entries.push({
17
+ start: start,
18
+ end: end,
19
+ text: text.trim(),
20
+ });
21
+ }
22
+ }
23
+ }
24
+ function hmsToSeconds(str) {
25
+ var p = str.split(':');
26
+ var s = 0, m = 1;
27
+ while (p.length > 0) {
28
+ s += m * parseFloat(p.pop() || '0');
29
+ m *= 60;
30
+ }
31
+ return s;
32
+ }
33
+ return entries;
34
+ }
35
+ //# sourceMappingURL=parseVtt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseVtt.js","sourceRoot":"","sources":["../../../src/components/VideoPlayer/parseVtt.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,IAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACpC,IAAM,OAAO,GAAoB,EAAE,CAAA;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAErC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBACpC,IAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBAElC,IAAI,IAAI,GAAG,EAAE,CAAA;gBACb,CAAC,EAAE,CAAA;gBAEH,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBAClD,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;oBACtB,CAAC,EAAE,CAAA;gBACL,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK,OAAA;oBACL,GAAG,KAAA;oBACH,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;iBAClB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,YAAY,CAAC,GAAW;QAC/B,IAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACxB,IAAI,CAAC,GAAG,CAAC,EACP,CAAC,GAAG,CAAC,CAAA;QACP,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAA;YACnC,CAAC,IAAI,EAAE,CAAA;QACT,CAAC;QACD,OAAO,CAAC,CAAA;IACV,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -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,70 @@
1
+ import moment from 'moment';
2
+ export var ConvertSecondsToReadableFormat = function (duration) {
3
+ var durationObject = moment.duration(duration, 'seconds');
4
+ var hours = durationObject.hours();
5
+ var remainingMinutes = durationObject.minutes();
6
+ if (hours > 0) {
7
+ return "".concat(hours, "h ").concat(remainingMinutes, " min");
8
+ }
9
+ else {
10
+ return "".concat(remainingMinutes, " min");
11
+ }
12
+ };
13
+ export var FormatSecondsToTimeString = function (time) {
14
+ if (isNaN(time)) {
15
+ return '00:00';
16
+ }
17
+ var timeInMilliseconds = time * 1000;
18
+ var timeObject = moment.utc(timeInMilliseconds);
19
+ if (timeObject.hours()) {
20
+ return timeObject.format('HH:mm:ss');
21
+ }
22
+ else {
23
+ return timeObject.format('mm:ss');
24
+ }
25
+ };
26
+ export var postTimeFormatter = function (postCreateTimestamp) {
27
+ if (!postCreateTimestamp) {
28
+ return 'Invalid date'; // Handle falsy timestamp
29
+ }
30
+ var dateTime = moment(postCreateTimestamp);
31
+ var currDateTime = moment();
32
+ var time = dateTime.format('h:mm a');
33
+ var dateDiff = currDateTime.diff(moment(postCreateTimestamp).format('YYYY-MM-DD'), 'days');
34
+ if (dateDiff === 0) {
35
+ return "Today at ".concat(time);
36
+ }
37
+ else if (dateDiff === 1) {
38
+ return "Yesterday at ".concat(time);
39
+ }
40
+ else {
41
+ return dateTime.format('MMM DD, YYYY [at] h:mm a');
42
+ }
43
+ };
44
+ export var commentTimeFormatter = function (commentTimestamp, includeAgo) {
45
+ if (includeAgo === void 0) { includeAgo = false; }
46
+ if (!commentTimestamp)
47
+ return 'Invalid date';
48
+ var now = moment().valueOf();
49
+ var differenceInSeconds = (now - commentTimestamp) / 1000;
50
+ if (differenceInSeconds < 1)
51
+ return 'Just now';
52
+ var timeUnits = [
53
+ { unit: 'year', limit: 31536000 },
54
+ { unit: 'week', limit: 604800 },
55
+ { unit: 'day', limit: 86400 },
56
+ { unit: 'hour', limit: 3600 },
57
+ { unit: 'minute', limit: 60 },
58
+ { unit: 'second', limit: 1 },
59
+ ];
60
+ var unit = timeUnits.find(function (u) { return differenceInSeconds >= u.limit; });
61
+ if (!unit)
62
+ return 'Invalid date';
63
+ var unitDifference = Math.floor(differenceInSeconds / unit.limit);
64
+ var agoText = includeAgo ? ' ago' : '';
65
+ return "".concat(unitDifference).concat(unit.unit.charAt(0)).concat(agoText);
66
+ };
67
+ export var convertTimestampToDateShortFormat = function (timestamp) {
68
+ return moment(timestamp).format('DD.MM.YY');
69
+ };
70
+ //# sourceMappingURL=timeConversion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeConversion.js","sourceRoot":"","sources":["../../../src/components/VideoPlayer/timeConversion.ts"],"names":[],"mappings":"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"}
@@ -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,50 @@
1
+ import { useState, useEffect } from 'react';
2
+ export var DropdownVerticalPositionEnum;
3
+ (function (DropdownVerticalPositionEnum) {
4
+ DropdownVerticalPositionEnum["Top"] = "top";
5
+ DropdownVerticalPositionEnum["Bottom"] = "bottom";
6
+ })(DropdownVerticalPositionEnum || (DropdownVerticalPositionEnum = {}));
7
+ export var DropdownHorizontalPositionEnum;
8
+ (function (DropdownHorizontalPositionEnum) {
9
+ DropdownHorizontalPositionEnum["Left"] = "left";
10
+ DropdownHorizontalPositionEnum["Right"] = "right";
11
+ })(DropdownHorizontalPositionEnum || (DropdownHorizontalPositionEnum = {}));
12
+ var defaultPosition = {
13
+ vertical: DropdownVerticalPositionEnum.Top,
14
+ horizontal: DropdownHorizontalPositionEnum.Left,
15
+ };
16
+ var useDynamicPosition = function (isActive, ref, offset) {
17
+ if (offset === void 0) { offset = 0; }
18
+ var _a = useState(defaultPosition), position = _a[0], setPosition = _a[1];
19
+ useEffect(function () {
20
+ if (isActive && ref.current) {
21
+ var element = ref.current;
22
+ var rect = element.getBoundingClientRect();
23
+ var viewportWidth = window.innerWidth;
24
+ var viewportHeight = window.innerHeight;
25
+ // Vertical Position
26
+ var elementBottom = rect.bottom + offset;
27
+ var elementTop = rect.top - offset;
28
+ var fitsAbove = elementTop >= rect.height + offset; // Checks if there's enough space above with offset
29
+ var fitsBelow = viewportHeight - elementBottom >= rect.height + offset; // Checks if there's enough space below with offset
30
+ var verticalPosition = fitsAbove && !fitsBelow // If it fits above but not below
31
+ ? DropdownVerticalPositionEnum.Top
32
+ : !fitsAbove && fitsBelow // If it doesn't fit above but does below
33
+ ? DropdownVerticalPositionEnum.Bottom
34
+ : viewportHeight - elementBottom > elementTop // If it fits both ways, prefer the one with more space
35
+ ? DropdownVerticalPositionEnum.Bottom
36
+ : DropdownVerticalPositionEnum.Top;
37
+ // Horizontal Position
38
+ var elementRight = rect.right;
39
+ var elementWidth = rect.width;
40
+ var spaceOnRight = viewportWidth - elementRight; // Space available on the right of the element
41
+ var horizontalPosition = spaceOnRight >= elementWidth + offset // Check if there's enough space on the right including the offset
42
+ ? DropdownHorizontalPositionEnum.Right // Prefer Right if enough space
43
+ : DropdownHorizontalPositionEnum.Left; // Otherwise, fallback to Left
44
+ setPosition({ vertical: verticalPosition, horizontal: horizontalPosition });
45
+ }
46
+ }, [isActive, ref, offset]);
47
+ return position;
48
+ };
49
+ export default useDynamicPosition;
50
+ //# sourceMappingURL=useDynamicPosition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDynamicPosition.js","sourceRoot":"","sources":["../../../src/components/VideoPlayer/useDynamicPosition.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAa,MAAM,OAAO,CAAA;AAEtD,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;AAaD,IAAM,eAAe,GAAqB;IACxC,QAAQ,EAAE,4BAA4B,CAAC,GAAG;IAC1C,UAAU,EAAE,8BAA8B,CAAC,IAAI;CAChD,CAAA;AAED,IAAM,kBAAkB,GAAiC,UAAC,QAAQ,EAAE,GAAG,EAAE,MAAU;IAAV,uBAAA,EAAA,UAAU;IAC3E,IAAA,KAA0B,QAAQ,CAAmB,eAAe,CAAC,EAApE,QAAQ,QAAA,EAAE,WAAW,QAA+C,CAAA;IAE3E,SAAS,CAAC;QACR,IAAI,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;YAC3B,IAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAA;YAC5C,IAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAA;YACvC,IAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAA;YAEzC,oBAAoB;YACpB,IAAM,aAAa,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;YAC1C,IAAM,UAAU,GAAG,IAAI,CAAC,GAAG,GAAG,MAAM,CAAA;YACpC,IAAM,SAAS,GAAG,UAAU,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA,CAAC,mDAAmD;YACxG,IAAM,SAAS,GAAG,cAAc,GAAG,aAAa,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA,CAAC,mDAAmD;YAE5H,IAAM,gBAAgB,GACpB,SAAS,IAAI,CAAC,SAAS,CAAC,iCAAiC;gBACvD,CAAC,CAAC,4BAA4B,CAAC,GAAG;gBAClC,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,yCAAyC;oBACnE,CAAC,CAAC,4BAA4B,CAAC,MAAM;oBACrC,CAAC,CAAC,cAAc,GAAG,aAAa,GAAG,UAAU,CAAC,uDAAuD;wBACrG,CAAC,CAAC,4BAA4B,CAAC,MAAM;wBACrC,CAAC,CAAC,4BAA4B,CAAC,GAAG,CAAA;YAEtC,sBAAsB;YACtB,IAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAA;YAC/B,IAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAA;YAC/B,IAAM,YAAY,GAAG,aAAa,GAAG,YAAY,CAAA,CAAC,8CAA8C;YAEhG,IAAM,kBAAkB,GACtB,YAAY,IAAI,YAAY,GAAG,MAAM,CAAC,kEAAkE;gBACtG,CAAC,CAAC,8BAA8B,CAAC,KAAK,CAAC,+BAA+B;gBACtE,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAA,CAAC,8BAA8B;YAExE,WAAW,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAA;QAC7E,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;IAE3B,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,eAAe,kBAAkB,CAAA"}
@@ -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,27 @@
1
+ import { useRef, useEffect } from 'react';
2
+ var useEventListener = function (eventName, handler, element, shouldRun) {
3
+ if (shouldRun === void 0) { shouldRun = function () { return true; }; }
4
+ var savedHandler = useRef();
5
+ useEffect(function () {
6
+ savedHandler.current = handler;
7
+ }, [handler]);
8
+ useEffect(function () {
9
+ var targetElement = element && 'current' in element ? element.current : window;
10
+ if (!targetElement)
11
+ return;
12
+ var isSupported = targetElement.addEventListener;
13
+ if (!isSupported)
14
+ return;
15
+ var eventListener = function (event) {
16
+ if (savedHandler.current && shouldRun()) {
17
+ savedHandler.current(event);
18
+ }
19
+ };
20
+ targetElement.addEventListener(eventName, eventListener);
21
+ return function () {
22
+ targetElement.removeEventListener(eventName, eventListener);
23
+ };
24
+ }, [eventName, element, shouldRun]);
25
+ };
26
+ export default useEventListener;
27
+ //# sourceMappingURL=useEventListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEventListener.js","sourceRoot":"","sources":["../../../src/components/VideoPlayer/useEventListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAa,MAAM,OAAO,CAAA;AAEpD,IAAM,gBAAgB,GAAG,UACvB,SAA+B,EAC/B,OAA+C,EAC/C,OAAsC,EACtC,SAA8C;IAA9C,0BAAA,EAAA,0BAA0C,OAAA,IAAI,EAAJ,CAAI;IAE9C,IAAM,YAAY,GAAG,MAAM,EAA0C,CAAA;IAErE,SAAS,CAAC;QACR,YAAY,CAAC,OAAO,GAAG,OAAO,CAAA;IAChC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEb,SAAS,CAAC;QACR,IAAM,aAAa,GACjB,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;QAC5D,IAAI,CAAC,aAAa;YAAE,OAAM;QAE1B,IAAM,WAAW,GAAG,aAAa,CAAC,gBAAgB,CAAA;QAClD,IAAI,CAAC,WAAW;YAAE,OAAM;QAExB,IAAM,aAAa,GAAG,UAAC,KAA4B;YACjD,IAAI,YAAY,CAAC,OAAO,IAAI,SAAS,EAAE,EAAE,CAAC;gBACxC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAC7B,CAAC;QACH,CAAC,CAAA;QAED,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QAExD,OAAO;YACL,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QAC7D,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;AACrC,CAAC,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -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;