@webitch/player 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +36 -0
  3. package/dist/app/global.scss +47 -0
  4. package/dist/app/layout.d.ts +5 -0
  5. package/dist/app/layout.d.ts.map +1 -0
  6. package/dist/app/layout.js +12 -0
  7. package/dist/app/page.d.ts +2 -0
  8. package/dist/app/page.d.ts.map +1 -0
  9. package/dist/app/page.js +29 -0
  10. package/dist/assets/images/png/backward_10.png +0 -0
  11. package/dist/assets/images/png/forward10_Bold.png +0 -0
  12. package/dist/assets/images/png/forward_10.png +0 -0
  13. package/dist/assets/images/png/full-screen-off.png +0 -0
  14. package/dist/assets/images/png/full-screen-on.png +0 -0
  15. package/dist/assets/images/png/picture-in-picture.png +0 -0
  16. package/dist/assets/images/png/play-btn.png +0 -0
  17. package/dist/assets/images/png/rewind10_Bold.png +0 -0
  18. package/dist/assets/images/png/settings-icon.png +0 -0
  19. package/dist/assets/images/png/sound-off.png +0 -0
  20. package/dist/assets/images/png/sound.png +0 -0
  21. package/dist/assets/images/png/stop-btn.png +0 -0
  22. package/dist/assets/images/png/subtitle.png +0 -0
  23. package/dist/component.d.ts +25 -0
  24. package/dist/component.d.ts.map +1 -0
  25. package/dist/component.js +110 -0
  26. package/dist/entites/play-buttons/index.d.ts +2 -0
  27. package/dist/entites/play-buttons/index.d.ts.map +1 -0
  28. package/dist/entites/play-buttons/index.js +1 -0
  29. package/dist/entites/play-buttons/lib/handlers.d.ts +4 -0
  30. package/dist/entites/play-buttons/lib/handlers.d.ts.map +1 -0
  31. package/dist/entites/play-buttons/lib/handlers.js +12 -0
  32. package/dist/entites/play-buttons/ui/play-buttons.d.ts +7 -0
  33. package/dist/entites/play-buttons/ui/play-buttons.d.ts.map +1 -0
  34. package/dist/entites/play-buttons/ui/play-buttons.js +84 -0
  35. package/dist/entites/play-buttons/ui/styles.module.scss +65 -0
  36. package/dist/entites/progress-bar/index.d.ts +2 -0
  37. package/dist/entites/progress-bar/index.d.ts.map +1 -0
  38. package/dist/entites/progress-bar/index.js +1 -0
  39. package/dist/entites/progress-bar/lib/handlers.d.ts +16 -0
  40. package/dist/entites/progress-bar/lib/handlers.d.ts.map +1 -0
  41. package/dist/entites/progress-bar/lib/handlers.js +97 -0
  42. package/dist/entites/progress-bar/ui/progress-bar.d.ts +11 -0
  43. package/dist/entites/progress-bar/ui/progress-bar.d.ts.map +1 -0
  44. package/dist/entites/progress-bar/ui/progress-bar.js +140 -0
  45. package/dist/entites/progress-bar/ui/styles.module.scss +91 -0
  46. package/dist/entites/settings-buttons/index.d.ts +2 -0
  47. package/dist/entites/settings-buttons/index.d.ts.map +1 -0
  48. package/dist/entites/settings-buttons/index.js +1 -0
  49. package/dist/entites/settings-buttons/lib/handlers.d.ts +9 -0
  50. package/dist/entites/settings-buttons/lib/handlers.d.ts.map +1 -0
  51. package/dist/entites/settings-buttons/lib/handlers.js +42 -0
  52. package/dist/entites/settings-buttons/models/settings-buttons.interface.d.ts +6 -0
  53. package/dist/entites/settings-buttons/models/settings-buttons.interface.d.ts.map +1 -0
  54. package/dist/entites/settings-buttons/models/settings-buttons.interface.js +1 -0
  55. package/dist/entites/settings-buttons/ui/setting-buttons.d.ts +3 -0
  56. package/dist/entites/settings-buttons/ui/setting-buttons.d.ts.map +1 -0
  57. package/dist/entites/settings-buttons/ui/setting-buttons.js +173 -0
  58. package/dist/entites/settings-buttons/ui/styles.module.scss +135 -0
  59. package/dist/entites/sound-volume/index.d.ts +2 -0
  60. package/dist/entites/sound-volume/index.d.ts.map +1 -0
  61. package/dist/entites/sound-volume/index.js +1 -0
  62. package/dist/entites/sound-volume/lib/handlers.d.ts +6 -0
  63. package/dist/entites/sound-volume/lib/handlers.d.ts.map +1 -0
  64. package/dist/entites/sound-volume/lib/handlers.js +27 -0
  65. package/dist/entites/sound-volume/ui/sound-volume.d.ts +9 -0
  66. package/dist/entites/sound-volume/ui/sound-volume.d.ts.map +1 -0
  67. package/dist/entites/sound-volume/ui/sound-volume.js +113 -0
  68. package/dist/entites/sound-volume/ui/styles.module.scss +124 -0
  69. package/dist/features/player-tools/lib/handlers.d.ts +3 -0
  70. package/dist/features/player-tools/lib/handlers.d.ts.map +1 -0
  71. package/dist/features/player-tools/lib/handlers.js +7 -0
  72. package/dist/features/player-tools/model/player-tools.interface.d.ts +9 -0
  73. package/dist/features/player-tools/model/player-tools.interface.d.ts.map +1 -0
  74. package/dist/features/player-tools/model/player-tools.interface.js +1 -0
  75. package/dist/features/player-tools/ui/player-tools.d.ts +3 -0
  76. package/dist/features/player-tools/ui/player-tools.d.ts.map +1 -0
  77. package/dist/features/player-tools/ui/player-tools.js +48 -0
  78. package/dist/features/player-tools/ui/styles.module.scss +90 -0
  79. package/dist/index.d.ts +2 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +1 -0
  82. package/dist/shared/constants/svgs.d.ts +17 -0
  83. package/dist/shared/constants/svgs.d.ts.map +1 -0
  84. package/dist/shared/constants/svgs.js +16 -0
  85. package/dist/shared/ui/Svg/index.d.ts +13 -0
  86. package/dist/shared/ui/Svg/index.d.ts.map +1 -0
  87. package/dist/shared/ui/Svg/index.js +170 -0
  88. package/dist/shared/ui/index.d.ts +3 -0
  89. package/dist/shared/ui/index.d.ts.map +1 -0
  90. package/dist/shared/ui/index.js +2 -0
  91. package/dist/shared/ui/modal/modal.d.ts +19 -0
  92. package/dist/shared/ui/modal/modal.d.ts.map +1 -0
  93. package/dist/shared/ui/modal/modal.js +39 -0
  94. package/dist/shared/ui/modal/styles.module.scss +21 -0
  95. package/dist/shared/utils/getHHSStime.d.ts +2 -0
  96. package/dist/shared/utils/getHHSStime.d.ts.map +1 -0
  97. package/dist/shared/utils/getHHSStime.js +20 -0
  98. package/dist/widget/video-tag/lib/handlers.d.ts +6 -0
  99. package/dist/widget/video-tag/lib/handlers.d.ts.map +1 -0
  100. package/dist/widget/video-tag/lib/handlers.js +21 -0
  101. package/dist/widget/video-tag/model/video-tag.interface.d.ts +16 -0
  102. package/dist/widget/video-tag/model/video-tag.interface.d.ts.map +1 -0
  103. package/dist/widget/video-tag/model/video-tag.interface.js +1 -0
  104. package/dist/widget/video-tag/ui/styles.module.scss +16 -0
  105. package/dist/widget/video-tag/ui/video-tag.d.ts +3 -0
  106. package/dist/widget/video-tag/ui/video-tag.d.ts.map +1 -0
  107. package/dist/widget/video-tag/ui/video-tag.js +38 -0
  108. package/package.json +53 -0
@@ -0,0 +1,48 @@
1
+ 'use client';
2
+
3
+ import { ProgressBar } from '../../../entites/progress-bar';
4
+ import { SettingsButtons } from "../../../entites/settings-buttons";
5
+ import { PlayButtons } from "../../../entites/play-buttons";
6
+ import { SoundAndTimeVolume } from "../../../entites/sound-volume";
7
+ import styles from './styles.module.scss';
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ export const PlayerTools = ({
10
+ duration,
11
+ videoRef,
12
+ isVisibleTools,
13
+ fragments
14
+ }) => {
15
+ const currentTime = videoRef.current?.currentTime;
16
+ const handleGetCurrentFragment = () => {
17
+ return fragments?.find(fragment => fragment.start < currentTime && currentTime < fragment.end);
18
+ };
19
+ return (_jsx("div", {
20
+ className: styles.toolsContainer,
21
+ children: _jsxs("div", {
22
+ className: styles.toolsWrapper,
23
+ onClick: e => e.stopPropagation(),
24
+ children: [_jsx(ProgressBar, {
25
+ duration: duration,
26
+ videoRef: videoRef,
27
+ fragments: fragments
28
+ }), _jsx("div", {
29
+ className: styles.toolsBackground
30
+ }), _jsxs("div", {
31
+ className: styles.toolsArea,
32
+ children: [_jsxs("div", {
33
+ className: styles.toolsArea2,
34
+ children: [_jsx(PlayButtons, {
35
+ videoRef: videoRef
36
+ }), _jsx(SoundAndTimeVolume, {
37
+ videoRef: videoRef,
38
+ duration: duration,
39
+ fragmentTitle: handleGetCurrentFragment()?.title
40
+ })]
41
+ }), _jsx(SettingsButtons, {
42
+ videoRef: videoRef
43
+ })]
44
+ })]
45
+ })
46
+ })
47
+ );
48
+ };
@@ -0,0 +1,90 @@
1
+ body {
2
+ margin: 20;
3
+ }
4
+
5
+ .toolsContainer {
6
+ width: 100%;
7
+ height: 100%;
8
+ position: absolute;
9
+ top: 0;
10
+ left: 0;
11
+ display: flex;
12
+ flex-direction: column;
13
+ gap: 20px;
14
+ align-items: center;
15
+ justify-content: center;
16
+
17
+ opacity: 1;
18
+ visibility: visible;
19
+ transition: opacity 0.3s ease, visibility 0.3s ease;
20
+
21
+ &_hidden {
22
+ transition: opacity 0.3s ease, visibility 0.3s ease;
23
+ opacity: 0;
24
+ visibility: hidden;
25
+ }
26
+ }
27
+
28
+ .toolsWrapper {
29
+ position: absolute;
30
+ bottom: 0;
31
+ // left: -0;
32
+ width: 100%;
33
+ height: 6%;
34
+ display: block;
35
+ pointer-events: auto;
36
+
37
+
38
+ @media (max-width: 1080px) {
39
+ height: 8%;
40
+ }
41
+
42
+ @media (max-width: 1440px) {
43
+ height: 8%;
44
+ }
45
+
46
+ @media (max-width: 1920px) {
47
+ height: 9%;
48
+ }
49
+
50
+ @media (min-width: 1920px) {
51
+ height: 9%;
52
+ }
53
+
54
+ // @media (max-width: 2500px) {
55
+ // height: 10%;
56
+ // }
57
+ }
58
+
59
+ .toolsBackground {
60
+ position: absolute;
61
+ bottom: 0;
62
+ left: 0;
63
+ width: 100%;
64
+ height: 100%;
65
+ // background-color: rgba(255, 255, 255, 0.7);
66
+ pointer-events: none;
67
+ z-index: 1;
68
+ }
69
+
70
+ .toolsArea {
71
+ // position: absolute;
72
+ // bottom: 0;
73
+ width: 100%;
74
+ height: 90%;
75
+ display: flex;
76
+ justify-content: space-between;
77
+
78
+ // align-self: flex-end;
79
+ // justify-content: end;
80
+ // align-items: end;
81
+ z-index: 50;
82
+ }
83
+
84
+ .toolsArea2 {
85
+ width: 100%;
86
+ display: flex;
87
+ gap: 20px;
88
+ height:100%;
89
+ justify-content: start;
90
+ }
@@ -0,0 +1,2 @@
1
+ export { Player } from './component';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1 @@
1
+ export { Player } from './component';
@@ -0,0 +1,17 @@
1
+ export declare const svgs: {
2
+ stop: string;
3
+ play: string;
4
+ backword: string;
5
+ forward: string;
6
+ fullScreenOn: string;
7
+ fullScreenOff: string;
8
+ pictureInPicture: string;
9
+ settings: string;
10
+ soundOn: string;
11
+ soundOff: string;
12
+ subtitle: string;
13
+ wideScreen: string;
14
+ prevVideo: string;
15
+ nextVideo: string;
16
+ };
17
+ //# sourceMappingURL=svgs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svgs.d.ts","sourceRoot":"","sources":["../../../src/shared/constants/svgs.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;CAehB,CAAA"}
@@ -0,0 +1,16 @@
1
+ export const svgs = {
2
+ stop: 'stop',
3
+ play: 'play',
4
+ backword: 'backword',
5
+ forward: 'forward',
6
+ fullScreenOn: 'fullScreenOn',
7
+ fullScreenOff: 'fullScreenOff',
8
+ pictureInPicture: 'pictureInPicture',
9
+ settings: 'settings',
10
+ soundOn: 'soundOn',
11
+ soundOff: 'soundOff',
12
+ subtitle: 'subtitle',
13
+ wideScreen: "wideScreen",
14
+ prevVideo: "prevVideo",
15
+ nextVideo: "nextVideo"
16
+ };
@@ -0,0 +1,13 @@
1
+ import { svgs } from "@/shared/constants/svgs";
2
+ declare const sizes: {
3
+ small: number;
4
+ middle: number;
5
+ big: number;
6
+ };
7
+ interface ISvg {
8
+ name: keyof typeof svgs;
9
+ size?: keyof typeof sizes;
10
+ }
11
+ export declare const Svg: React.FC<ISvg>;
12
+ export {};
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared/ui/Svg/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAE9C,QAAA,MAAM,KAAK;;;;CAIV,CAAA;AAED,UAAU,IAAI;IACV,IAAI,EAAE,MAAM,OAAO,IAAI,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,OAAO,KAAK,CAAA;CAC5B;AAED,eAAO,MAAM,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CA4E9B,CAAA"}
@@ -0,0 +1,170 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ const sizes = {
3
+ small: 16,
4
+ middle: 24,
5
+ big: 32
6
+ };
7
+ export const Svg = ({
8
+ name,
9
+ size = 'middle'
10
+ }) => {
11
+ switch (name) {
12
+ case 'stop':
13
+ return _jsx("svg", {
14
+ fill: "currentColor",
15
+ height: sizes[size],
16
+ viewBox: "0 0 36 36",
17
+ width: sizes[size],
18
+ children: _jsx("path", {
19
+ d: "M 12.75 4.5 L 9.75 4.5 C 9.15 4.5 8.58 4.73 8.15 5.15 C 7.73 5.58 7.5 6.15 7.5 6.75 L 7.5 29.25 C 7.5 29.84 7.73 30.41 8.15 30.84 C 8.58 31.26 9.15 31.5 9.75 31.5 L 12.75 31.5 C 13.34 31.5 13.91 31.26 14.34 30.84 C 14.76 30.41 15 29.84 15 29.25 L 15 6.75 C 15 6.15 14.76 5.58 14.34 5.15 C 13.91 4.73 13.34 4.5 12.75 4.5 Z M 26.25 4.5 L 23.25 4.5 C 22.65 4.5 22.08 4.73 21.65 5.15 C 21.23 5.58 21 6.15 21 6.75 V 29.25 C 21 29.84 21.23 30.41 21.65 30.84 C 22.08 31.26 22.65 31.5 23.25 31.5 L 26.25 31.5 C 26.84 31.5 27.41 31.26 27.84 30.84 C 28.26 30.41 28.5 29.84 28.5 29.25 V 6.75 L 28.5 6.75 C 28.5 6.15 28.26 5.58 27.84 5.15 C 27.41 4.73 26.84 4.5 26.25 4.5 Z",
20
+ fill: "white"
21
+ })
22
+ });
23
+ case 'play':
24
+ return _jsx("svg", {
25
+ fill: "currentColor",
26
+ height: sizes[size],
27
+ viewBox: "0 0 36 36",
28
+ width: sizes[size],
29
+ children: _jsx("path", {
30
+ d: "M 17 8.6 L 10.89 4.99 C 9.39 4.11 7.5 5.19 7.5 6.93 C 7.5 6.93 7.5 6.93 7.5 6.93 L 7.5 29.06 C 7.5 30.8 9.39 31.88 10.89 31 C 10.89 31 10.89 31 10.89 31 L 17 27.4 C 17 27.4 17 27.4 17 27.4 C 17 27.4 17 27.4 17 27.4 L 17 8.6 C 17 8.6 17 8.6 17 8.6 C 17 8.6 17 8.6 17 8.6 Z M 17 8.6 L 17 8.6 C 17 8.6 17 8.6 17 8.6 C 17 8.6 17 8.6 17 8.6 V 27.4 C 17 27.4 17 27.4 17 27.4 C 17 27.4 17 27.4 17 27.4 L 33 18 C 33 18 33 18 33 18 C 33 18 33 18 33 18 V 18 L 17 8.6 C 17 8.6 17 8.6 17 8.6 C 17 8.6 17 8.6 17 8.6 Z",
31
+ fill: "white"
32
+ })
33
+ });
34
+ case 'backword':
35
+ return '';
36
+ case 'forward':
37
+ return '';
38
+ case 'fullScreenOn':
39
+ return _jsx("svg", {
40
+ fill: "currentColor",
41
+ height: sizes[size],
42
+ viewBox: "0 0 24 24",
43
+ width: sizes[size],
44
+ children: _jsx("path", {
45
+ d: "M10 3H3V10C3 10.26 3.10 10.51 3.29 10.70C3.48 10.89 3.73 11 4 11C4.26 11 4.51 10.89 4.70 10.70C4.89 10.51 5 10.26 5 10V6.41L9.29 10.70L9.36 10.77C9.56 10.92 9.80 11.00 10.04 10.99C10.29 10.98 10.52 10.87 10.70 10.70C10.87 10.52 10.98 10.29 10.99 10.04C11.00 9.80 10.92 9.56 10.77 9.36L10.70 9.29L6.41 5H10C10.26 5 10.51 4.89 10.70 4.70C10.89 4.51 11 4.26 11 4C11 3.73 10.89 3.48 10.70 3.29C10.51 3.10 10.26 3 10 3ZM20 13C19.73 13 19.48 13.10 19.29 13.29C19.10 13.48 19 13.73 19 14V17.58L14.70 13.29L14.63 13.22C14.43 13.07 14.19 12.99 13.95 13.00C13.70 13.01 13.47 13.12 13.29 13.29C13.12 13.47 13.01 13.70 13.00 13.95C12.99 14.19 13.07 14.43 13.22 14.63L13.29 14.70L17.58 19H14C13.73 19 13.48 19.10 13.29 19.29C13.10 19.48 13 19.73 13 20C13 20.26 13.10 20.51 13.29 20.70C13.48 20.89 13.73 21 14 21H21V14C21 13.73 20.89 13.48 20.70 13.29C20.51 13.10 20.26 13 20 13Z",
46
+ fill: "white"
47
+ })
48
+ });
49
+ case 'fullScreenOff':
50
+ return _jsx("svg", {
51
+ fill: "currentColor",
52
+ height: sizes[size],
53
+ viewBox: "0 0 24 24",
54
+ width: sizes[size],
55
+ children: _jsx("path", {
56
+ d: "M3.29 3.29C3.11 3.46 3.01 3.70 3.00 3.94C2.98 4.19 3.06 4.43 3.22 4.63L3.29 4.70L7.58 8.99H5C4.73 8.99 4.48 9.10 4.29 9.29C4.10 9.47 4 9.73 4 9.99C4 10.26 4.10 10.51 4.29 10.70C4.48 10.89 4.73 10.99 5 10.99H11V4.99C11 4.73 10.89 4.47 10.70 4.29C10.51 4.10 10.26 3.99 10 3.99C9.73 3.99 9.48 4.10 9.29 4.29C9.10 4.47 9 4.73 9 4.99V7.58L4.70 3.29L4.63 3.22C4.43 3.06 4.19 2.98 3.94 3.00C3.70 3.01 3.46 3.11 3.29 3.29ZM19 13H13V19C13 19.26 13.10 19.51 13.29 19.70C13.48 19.89 13.73 20 14 20C14.26 20 14.51 19.89 14.70 19.70C14.89 19.51 15 19.26 15 19V16.41L19.29 20.70L19.36 20.77C19.56 20.92 19.80 21.00 20.04 20.99C20.29 20.98 20.52 20.87 20.70 20.70C20.87 20.52 20.98 20.29 20.99 20.04C21.00 19.80 20.92 19.56 20.77 19.36L20.70 19.29L16.41 15H19C19.26 15 19.51 14.89 19.70 14.70C19.89 14.51 20 14.26 20 14C20 13.73 19.89 13.48 19.70 13.29C19.51 13.10 19.26 13 19 13Z",
57
+ fill: "white"
58
+ })
59
+ });
60
+ case 'pictureInPicture':
61
+ return _jsxs("svg", {
62
+ xmlns: "http://www.w3.org/2000/svg",
63
+ width: sizes[size],
64
+ height: sizes[size],
65
+ viewBox: "0 0 24 24",
66
+ fill: "none",
67
+ stroke: "currentColor",
68
+ "stroke-width": "2",
69
+ "stroke-linecap": "round",
70
+ "stroke-linejoin": "round",
71
+ children: [_jsx("path", {
72
+ stroke: "none",
73
+ d: "M0 0h24v24H0z"
74
+ }), _jsx("path", {
75
+ d: "M11 19h-6a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v4"
76
+ }), _jsx("path", {
77
+ d: "M14 15a1 1 0 0 1 1 -1h5a1 1 0 0 1 1 1v3a1 1 0 0 1 -1 1h-5a1 1 0 0 1 -1 -1l0 -3"
78
+ })]
79
+ });
80
+ case 'settings':
81
+ return _jsx("svg", {
82
+ fill: "currentColor",
83
+ xmlns: "http://www.w3.org/2000/svg",
84
+ height: sizes[size],
85
+ viewBox: "0 0 24 24",
86
+ width: sizes[size],
87
+ focusable: "false",
88
+ "aria-hidden": "true",
89
+ children: _jsx("path", {
90
+ d: "M20 5H4a1 1 0 000 2h16a1 1 0 100-2Zm0 6H4a1 1 0 000 2h16a1 1 0 000-2Zm0 6H4a1 1 0 000 2h16a1 1 0 000-2Z"
91
+ })
92
+ });
93
+ case 'soundOn':
94
+ return _jsxs("svg", {
95
+ fill: "currentColor",
96
+ height: sizes[size],
97
+ viewBox: "0 0 24 24",
98
+ width: sizes[size],
99
+ children: [_jsx("path", {
100
+ d: "M 11.60 2.08 L 11.48 2.14 L 3.91 6.68 C 3.02 7.21 2.28 7.97 1.77 8.87 C 1.26 9.77 1.00 10.79 1 11.83 V 12.16 L 1.01 12.56 C 1.07 13.52 1.37 14.46 1.87 15.29 C 2.38 16.12 3.08 16.81 3.91 17.31 L 11.48 21.85 C 11.63 21.94 11.80 21.99 11.98 21.99 C 12.16 22.00 12.33 21.95 12.49 21.87 C 12.64 21.78 12.77 21.65 12.86 21.50 C 12.95 21.35 13 21.17 13 21 V 3 C 12.99 2.83 12.95 2.67 12.87 2.52 C 12.80 2.37 12.68 2.25 12.54 2.16 C 12.41 2.07 12.25 2.01 12.08 2.00 C 11.92 1.98 11.75 2.01 11.60 2.08 Z",
101
+ fill: "#fff"
102
+ }), _jsx("path", {
103
+ d: " M 15.53 7.05 C 15.35 7.22 15.25 7.45 15.24 7.70 C 15.23 7.95 15.31 8.19 15.46 8.38 L 15.53 8.46 L 15.70 8.64 C 16.09 9.06 16.39 9.55 16.61 10.08 L 16.70 10.31 C 16.90 10.85 17 11.42 17 12 L 16.99 12.24 C 16.96 12.73 16.87 13.22 16.70 13.68 L 16.61 13.91 C 16.36 14.51 15.99 15.07 15.53 15.53 C 15.35 15.72 15.25 15.97 15.26 16.23 C 15.26 16.49 15.37 16.74 15.55 16.92 C 15.73 17.11 15.98 17.21 16.24 17.22 C 16.50 17.22 16.76 17.12 16.95 16.95 C 17.6 16.29 18.11 15.52 18.46 14.67 L 18.59 14.35 C 18.82 13.71 18.95 13.03 18.99 12.34 L 19 12 C 18.99 11.19 18.86 10.39 18.59 9.64 L 18.46 9.32 C 18.15 8.57 17.72 7.89 17.18 7.3 L 16.95 7.05 L 16.87 6.98 C 16.68 6.82 16.43 6.74 16.19 6.75 C 15.94 6.77 15.71 6.87 15.53 7.05",
104
+ fill: "#fff",
105
+ transform: "translate(18, 12) scale(1) translate(-18,-12)"
106
+ }), _jsx("path", {
107
+ d: "M18.36 4.22C18.18 4.39 18.08 4.62 18.07 4.87C18.05 5.12 18.13 5.36 18.29 5.56L18.36 5.63L18.66 5.95C19.36 6.72 19.91 7.60 20.31 8.55L20.47 8.96C20.82 9.94 21 10.96 21 11.99L20.98 12.44C20.94 13.32 20.77 14.19 20.47 15.03L20.31 15.44C19.86 16.53 19.19 17.52 18.36 18.36C18.17 18.55 18.07 18.80 18.07 19.07C18.07 19.33 18.17 19.59 18.36 19.77C18.55 19.96 18.80 20.07 19.07 20.07C19.33 20.07 19.59 19.96 19.77 19.77C20.79 18.75 21.61 17.54 22.16 16.20L22.35 15.70C22.72 14.68 22.93 13.62 22.98 12.54L23 12C22.99 10.73 22.78 9.48 22.35 8.29L22.16 7.79C21.67 6.62 20.99 5.54 20.15 4.61L19.77 4.22L19.70 4.15C19.51 3.99 19.26 3.91 19.02 3.93C18.77 3.94 18.53 4.04 18.36 4.22 Z",
108
+ fill: "#fff",
109
+ transform: "translate(22, 12) scale(1) translate(-22, -12)"
110
+ })]
111
+ });
112
+ case 'soundOff':
113
+ return _jsx("svg", {
114
+ fill: "currentColor",
115
+ height: sizes[size],
116
+ viewBox: "0 0 24 24",
117
+ width: sizes[size],
118
+ children: _jsx("path", {
119
+ d: "M11.60 2.08L11.48 2.14L3.91 6.68C3.02 7.21 2.28 7.97 1.77 8.87C1.26 9.77 1.00 10.79 1 11.83V12.16L1.01 12.56C1.07 13.52 1.37 14.46 1.87 15.29C2.38 16.12 3.08 16.81 3.91 17.31L11.48 21.85C11.63 21.94 11.80 21.99 11.98 21.99C12.16 22.00 12.33 21.95 12.49 21.87C12.64 21.78 12.77 21.65 12.86 21.50C12.95 21.35 13 21.17 13 21V3C12.99 2.83 12.95 2.67 12.87 2.52C12.80 2.37 12.68 2.25 12.54 2.16C12.41 2.07 12.25 2.01 12.08 2.00C11.92 1.98 11.75 2.01 11.60 2.08ZM4.94 8.4V8.40L11 4.76V19.23L4.94 15.6C4.38 15.26 3.92 14.80 3.58 14.25C3.24 13.70 3.05 13.07 3.00 12.43L3 12.17V11.83C2.99 11.14 3.17 10.46 3.51 9.86C3.85 9.25 4.34 8.75 4.94 8.4ZM21.29 8.29L19 10.58L16.70 8.29L16.63 8.22C16.43 8.07 16.19 7.99 15.95 8.00C15.70 8.01 15.47 8.12 15.29 8.29C15.12 8.47 15.01 8.70 15.00 8.95C14.99 9.19 15.07 9.43 15.22 9.63L15.29 9.70L17.58 12L15.29 14.29C15.19 14.38 15.12 14.49 15.06 14.61C15.01 14.73 14.98 14.87 14.98 15.00C14.98 15.13 15.01 15.26 15.06 15.39C15.11 15.51 15.18 15.62 15.28 15.71C15.37 15.81 15.48 15.88 15.60 15.93C15.73 15.98 15.86 16.01 15.99 16.01C16.12 16.01 16.26 15.98 16.38 15.93C16.50 15.87 16.61 15.80 16.70 15.70L19 13.41L21.29 15.70L21.36 15.77C21.56 15.93 21.80 16.01 22.05 15.99C22.29 15.98 22.53 15.88 22.70 15.70C22.88 15.53 22.98 15.29 22.99 15.05C23.00 14.80 22.93 14.56 22.77 14.36L22.70 14.29L20.41 12L22.70 9.70C22.80 9.61 22.87 9.50 22.93 9.38C22.98 9.26 23.01 9.12 23.01 8.99C23.01 8.86 22.98 8.73 22.93 8.60C22.88 8.48 22.81 8.37 22.71 8.28C22.62 8.18 22.51 8.11 22.39 8.06C22.26 8.01 22.13 7.98 22.00 7.98C21.87 7.98 21.73 8.01 21.61 8.06C21.49 8.12 21.38 8.19 21.29 8.29Z",
120
+ fill: "white"
121
+ })
122
+ });
123
+ case 'subtitle':
124
+ return _jsx("svg", {
125
+ fill: "currentColor",
126
+ height: sizes[size],
127
+ viewBox: "0 0 24 24",
128
+ width: sizes[size],
129
+ children: _jsx("path", {
130
+ d: "M21.20 3.01L21 3H3L2.79 3.01C2.30 3.06 1.84 3.29 1.51 3.65C1.18 4.02 .99 4.50 1 5V19L1.01 19.20C1.05 19.66 1.26 20.08 1.58 20.41C1.91 20.73 2.33 20.94 2.79 20.99L3 21H21L21.20 20.98C21.66 20.94 22.08 20.73 22.41 20.41C22.73 20.08 22.94 19.66 22.99 19.20L23 19V5C23.00 4.50 22.81 4.02 22.48 3.65C22.15 3.29 21.69 3.06 21.20 3.01ZM3 19V5H21V19H3ZM8 11H6C5.73 11 5.48 11.10 5.29 11.29C5.10 11.48 5 11.73 5 12C5 12.26 5.10 12.51 5.29 12.70C5.48 12.89 5.73 13 6 13H8C8.26 13 8.51 12.89 8.70 12.70C8.89 12.51 9 12.26 9 12C9 11.73 8.89 11.48 8.70 11.29C8.51 11.10 8.26 11 8 11ZM18 11H12C11.73 11 11.48 11.10 11.29 11.29C11.10 11.48 11 11.73 11 12C11 12.26 11.10 12.51 11.29 12.70C11.48 12.89 11.73 13 12 13H18C18.26 13 18.51 12.89 18.70 12.70C18.89 12.51 19 12.26 19 12C19 11.73 18.89 11.48 18.70 11.29C18.51 11.10 18.26 11 18 11ZM18 15H16C15.73 15 15.48 15.10 15.29 15.29C15.10 15.48 15 15.73 15 16C15 16.26 15.10 16.51 15.29 16.70C15.48 16.89 15.73 17 16 17H18C18.26 17 18.51 16.89 18.70 16.70C18.89 16.51 19 16.26 19 16C19 15.73 18.89 15.48 18.70 15.29C18.51 15.10 18.26 15 18 15ZM12 15H6C5.73 15 5.48 15.10 5.29 15.29C5.10 15.48 5 15.73 5 16C5 16.26 5.10 16.51 5.29 16.70C5.48 16.89 5.73 17 6 17H12C12.26 17 12.51 16.89 12.70 16.70C12.89 16.51 13 16.26 13 16C13 15.73 12.89 15.48 12.70 15.29C12.51 15.10 12.26 15 12 15Z",
131
+ fill: "white"
132
+ })
133
+ });
134
+ case 'wideScreen':
135
+ return _jsx("svg", {
136
+ fill: "currentColor",
137
+ height: sizes[size],
138
+ viewBox: "0 0 24 24",
139
+ width: sizes[size],
140
+ children: _jsx("path", {
141
+ d: "M21.20 3.01L21 3H3L2.79 3.01C2.30 3.06 1.84 3.29 1.51 3.65C1.18 4.02 .99 4.50 1 5V19L1.01 19.20C1.05 19.66 1.26 20.08 1.58 20.41C1.91 20.73 2.33 20.94 2.79 20.99L3 21H21L21.20 20.98C21.66 20.94 22.08 20.73 22.41 20.41C22.73 20.08 22.94 19.66 22.99 19.20L23 19V5C23.00 4.50 22.81 4.02 22.48 3.65C22.15 3.29 21.69 3.06 21.20 3.01ZM3 15V5H21V15H3ZM7.87 6.72L7.79 6.79L4.58 10L7.79 13.20C7.88 13.30 7.99 13.37 8.11 13.43C8.23 13.48 8.37 13.51 8.50 13.51C8.63 13.51 8.76 13.48 8.89 13.43C9.01 13.38 9.12 13.31 9.21 13.21C9.31 13.12 9.38 13.01 9.43 12.89C9.48 12.76 9.51 12.63 9.51 12.50C9.51 12.37 9.48 12.23 9.43 12.11C9.37 11.99 9.30 11.88 9.20 11.79L7.41 10L9.20 8.20L9.27 8.13C9.42 7.93 9.50 7.69 9.48 7.45C9.47 7.20 9.36 6.97 9.19 6.80C9.02 6.63 8.79 6.52 8.54 6.51C8.30 6.49 8.06 6.57 7.87 6.72ZM14.79 6.79C14.60 6.98 14.50 7.23 14.50 7.5C14.50 7.76 14.60 8.01 14.79 8.20L16.58 10L14.79 11.79L14.72 11.86C14.57 12.06 14.49 12.30 14.50 12.54C14.51 12.79 14.62 13.02 14.79 13.20C14.97 13.37 15.20 13.48 15.45 13.49C15.69 13.50 15.93 13.42 16.13 13.27L16.20 13.20L19.41 10L16.20 6.79C16.01 6.60 15.76 6.50 15.5 6.50C15.23 6.50 14.98 6.60 14.79 6.79ZM3 19V17H21V19H3Z",
142
+ fill: "white"
143
+ })
144
+ });
145
+ case 'prevVideo':
146
+ return _jsx("svg", {
147
+ fill: "currentColor",
148
+ height: sizes[size],
149
+ viewBox: "0 0 24 24",
150
+ width: sizes[size],
151
+ children: _jsx("path", {
152
+ d: "M4 4C3.73 4 3.48 4.10 3.29 4.29C3.10 4.48 3 4.73 3 5V19C3 19.26 3.10 19.51 3.29 19.70C3.48 19.89 3.73 20 4 20C4.26 20 4.51 19.89 4.70 19.70C4.89 19.51 5 19.26 5 19V5C5 4.73 4.89 4.48 4.70 4.29C4.51 4.10 4.26 4 4 4ZM18.95 4.23L6 12.00L18.95 19.77C19.15 19.89 19.39 19.96 19.63 19.96C19.87 19.97 20.10 19.91 20.31 19.79C20.52 19.67 20.69 19.50 20.81 19.29C20.93 19.09 21.00 18.85 21 18.61V5.38C20.99 5.14 20.93 4.91 20.81 4.70C20.69 4.50 20.52 4.33 20.31 4.21C20.10 4.09 19.87 4.03 19.63 4.03C19.39 4.04 19.15 4.10 18.95 4.23Z",
153
+ fill: "white"
154
+ })
155
+ });
156
+ case 'nextVideo':
157
+ return _jsx("svg", {
158
+ fill: "colorFill",
159
+ height: sizes[size],
160
+ viewBox: "0 0 24 24",
161
+ width: sizes[size],
162
+ children: _jsx("path", {
163
+ d: "M20 20C20.26 20 20.51 19.89 20.70 19.70C20.89 19.51 21 19.26 21 19V5C21 4.73 20.89 4.48 20.70 4.29C20.51 4.10 20.26 4 20 4C19.73 4 19.48 4.10 19.29 4.29C19.10 4.48 19 4.73 19 5V19C19 19.26 19.10 19.51 19.29 19.70C19.48 19.89 19.73 20 20 20ZM5.04 19.77L18 12L5.04 4.22C4.84 4.10 4.60 4.03 4.36 4.03C4.12 4.03 3.89 4.09 3.68 4.21C3.47 4.32 3.30 4.49 3.18 4.70C3.06 4.91 2.99 5.14 3 5.38V18.61C2.99 18.85 3.06 19.08 3.18 19.29C3.30 19.50 3.47 19.67 3.68 19.79C3.89 19.90 4.12 19.96 4.36 19.96C4.60 19.96 4.84 19.89 5.04 19.77Z",
164
+ fill: "white"
165
+ })
166
+ });
167
+ default:
168
+ break;
169
+ }
170
+ };
@@ -0,0 +1,3 @@
1
+ export { Modal, ModalProvider } from './modal/modal';
2
+ export { Svg } from './Svg';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { Modal, ModalProvider } from './modal/modal';
2
+ export { Svg } from './Svg';
@@ -0,0 +1,19 @@
1
+ interface IModalProvider {
2
+ isOpened: boolean;
3
+ setIsOpened: (el: boolean) => void;
4
+ children: React.ReactNode;
5
+ }
6
+ interface IModal {
7
+ children?: React.ReactNode;
8
+ title?: string;
9
+ level: number;
10
+ }
11
+ interface IModalContext {
12
+ openedModal: string | undefined | null;
13
+ setOpenedModal: (title: string | undefined | null) => void;
14
+ }
15
+ export declare const ModalContext: import("react").Context<IModalContext | null | undefined>;
16
+ export declare const ModalProvider: React.FC<IModalProvider>;
17
+ export declare const Modal: React.FC<IModal>;
18
+ export {};
19
+ //# sourceMappingURL=modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../../../src/shared/ui/modal/modal.tsx"],"names":[],"mappings":"AAGA,UAAU,cAAc;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AACD,UAAU,MAAM;IACZ,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,aAAa;IACnB,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACvC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;CAC9D;AAED,eAAO,MAAM,YAAY,2DAA6D,CAAA;AAEtF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAelD,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAWlC,CAAA"}
@@ -0,0 +1,39 @@
1
+ import { createContext, useContext, useState } from 'react';
2
+ import styles from './styles.module.scss';
3
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
+ export const ModalContext = createContext(undefined);
5
+ export const ModalProvider = ({
6
+ isOpened = 'settings',
7
+ setIsOpened,
8
+ children
9
+ }) => {
10
+ console.log('isOpened = ', isOpened);
11
+ const [openedModal, setOpenedModal] = useState();
12
+ console.log('openedModal:::: ', openedModal);
13
+ return _jsx("div", {
14
+ className: isOpened ? styles.modalContainer : styles.modalContainer_hidden,
15
+ children: _jsx(ModalContext.Provider, {
16
+ value: {
17
+ openedModal,
18
+ setOpenedModal
19
+ },
20
+ children: children
21
+ })
22
+ });
23
+ };
24
+ export const Modal = ({
25
+ children,
26
+ title,
27
+ level
28
+ }) => {
29
+ const context = useContext(ModalContext);
30
+ console.log('openedModal = ', context?.openedModal);
31
+ return _jsxs("div", {
32
+ className: context?.openedModal === title ? styles.wrappedModal : styles.wrappedModal_hidden,
33
+ children: [_jsx("div", {
34
+ className: styles.modalTitle,
35
+ onClick: e => context?.setOpenedModal(title),
36
+ children: title
37
+ }), children]
38
+ });
39
+ };
@@ -0,0 +1,21 @@
1
+ .modalContainer {
2
+ display: block;
3
+ position: absolute;
4
+ bottom: 200%;
5
+ background-color: aqua;
6
+ display: flex;
7
+ flex-direction: column;
8
+ gap: 10px;
9
+
10
+ &_hidden {
11
+ display: none;
12
+ }
13
+ }
14
+
15
+ .wrappedModal {
16
+ display: block;
17
+ position: absolute;
18
+ bottom: 200%;
19
+ display: flex;
20
+ flex-direction: column;
21
+ }
@@ -0,0 +1,2 @@
1
+ export declare const getHHSStime: (duartion: number) => string | undefined;
2
+ //# sourceMappingURL=getHHSStime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getHHSStime.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/getHHSStime.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,uBA2B3C,CAAA"}
@@ -0,0 +1,20 @@
1
+ export const getHHSStime = duartion => {
2
+ if (duartion === 0) return `00:00`;
3
+ if (!duartion) return;
4
+ if (duartion < 10) return `0:0${duartion}`;
5
+ if (duartion < 60) return `0:${duartion}`;
6
+ if (duartion === 60) return `1:00`;
7
+ if (duartion > 60) {
8
+ var seconds = Math.trunc(duartion % 60);
9
+ var minutes = Math.trunc(duartion / 60);
10
+ var secondsFormatet;
11
+ var minutesFormatet;
12
+ if (seconds < 1) secondsFormatet = `00`;
13
+ if (seconds < 10) secondsFormatet = `0${seconds}`;
14
+ if (seconds >= 10) secondsFormatet = `${seconds}`;
15
+ if (minutes === 1) minutesFormatet = `00`;
16
+ if (minutes < 10) minutesFormatet = `${minutes}`;
17
+ if (minutes >= 10) minutesFormatet = `${minutes}`;
18
+ return `${minutesFormatet}:${secondsFormatet}`;
19
+ }
20
+ };
@@ -0,0 +1,6 @@
1
+ import { RefObject } from "react";
2
+ export declare const VideoTagHandlers: (hideToolsTimer: RefObject<NodeJS.Timeout | null>, setIsVisibleTools: (visible: boolean) => void) => {
3
+ handleMouseMove: () => void;
4
+ handleMouseLeave: () => void;
5
+ };
6
+ //# sourceMappingURL=handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../../src/widget/video-tag/lib/handlers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,eAAO,MAAM,gBAAgB,GACzB,gBAAgB,SAAS,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,EAChD,mBAAmB,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI;;;CAwBhD,CAAC"}
@@ -0,0 +1,21 @@
1
+ export const VideoTagHandlers = (hideToolsTimer, setIsVisibleTools) => {
2
+ const handleMouseMove = () => {
3
+ setIsVisibleTools(true);
4
+ if (hideToolsTimer.current) {
5
+ clearTimeout(hideToolsTimer.current);
6
+ }
7
+ hideToolsTimer.current = setTimeout(() => {
8
+ setIsVisibleTools(false);
9
+ }, 3000);
10
+ };
11
+ const handleMouseLeave = () => {
12
+ if (hideToolsTimer.current) {
13
+ clearTimeout(hideToolsTimer.current);
14
+ }
15
+ setIsVisibleTools(false);
16
+ };
17
+ return {
18
+ handleMouseMove,
19
+ handleMouseLeave
20
+ };
21
+ };
@@ -0,0 +1,16 @@
1
+ import { RefObject } from "react";
2
+ export interface IFragment {
3
+ start: number;
4
+ end: number;
5
+ title: string;
6
+ }
7
+ export interface IVideoTag {
8
+ duration: number;
9
+ videoRef: RefObject<HTMLVideoElement | null>;
10
+ fragments?: IFragment[];
11
+ isLiveStream?: boolean;
12
+ }
13
+ export interface IVideoTagHandlers {
14
+ setIsVisibleTools: (isVisible: boolean) => void;
15
+ }
16
+ //# sourceMappingURL=video-tag.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-tag.interface.d.ts","sourceRoot":"","sources":["../../../../src/widget/video-tag/model/video-tag.interface.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IAC5C,SAAS,CAAC,EAAE,SAAS,EAAE,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,iBAAiB;IAC9B,iBAAiB,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CAClD"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ .playerContainer {
2
+ position: relative;
3
+ width: 1400px;
4
+
5
+ &_hidden {
6
+ transition: all 1s ease;
7
+ position: relative;
8
+ width: 1400px;
9
+ cursor: none;
10
+ }
11
+ }
12
+
13
+ .video {
14
+ height: 100%;
15
+ width: 100%;
16
+ }
@@ -0,0 +1,3 @@
1
+ import { IVideoTag } from "../model/video-tag.interface";
2
+ export declare const VideoTag: React.FC<IVideoTag>;
3
+ //# sourceMappingURL=video-tag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-tag.d.ts","sourceRoot":"","sources":["../../../../src/widget/video-tag/ui/video-tag.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAKxD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAuBxC,CAAA"}
@@ -0,0 +1,38 @@
1
+ 'use client';
2
+
3
+ import { PlayerTools } from "../../../features/player-tools/ui/player-tools";
4
+ import { usePlayerContext } from "../../../component";
5
+ import { VideoTagHandlers } from "../lib/handlers";
6
+ import styles from './styles.module.scss';
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ export const VideoTag = ({
9
+ duration,
10
+ videoRef,
11
+ fragments,
12
+ isLiveStream
13
+ }) => {
14
+ const context = usePlayerContext();
15
+ const {
16
+ handleMouseMove,
17
+ handleMouseLeave
18
+ } = VideoTagHandlers(context.hideToolsTimer, context.setIsVisibleTools);
19
+ return _jsxs("div", {
20
+ id: "playerContainer",
21
+ className: context.isVisibleTools ? styles.playerContainer : styles.playerContainer_hidden,
22
+ onClick: () => {
23
+ context.setIsPaused(prev => !prev);
24
+ },
25
+ onMouseMove: handleMouseMove,
26
+ onMouseLeave: handleMouseLeave,
27
+ children: [_jsx("video", {
28
+ className: styles.video,
29
+ id: "video",
30
+ ref: videoRef
31
+ }), _jsx(PlayerTools, {
32
+ duration: duration,
33
+ videoRef: videoRef,
34
+ isVisibleTools: context.isVisibleTools,
35
+ fragments: fragments
36
+ })]
37
+ });
38
+ };