softbuilders-react-video-player 1.2.17 → 1.2.19
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.
- package/dist/components/BigPlayButton/index.d.ts +2 -1
- package/dist/components/BigPlayButton/index.js +4 -4
- package/dist/components/BigPlayButton/index.js.map +1 -1
- package/dist/components/BigPlayButton/index.tsx +13 -5
- package/dist/components/ControlBar/index.js +7 -7
- package/dist/components/ControlBar/index.js.map +1 -1
- package/dist/components/ControlBar/index.tsx +40 -41
- package/dist/components/Slider/index.d.ts +3 -1
- package/dist/components/Slider/index.js +9 -3
- package/dist/components/Slider/index.js.map +1 -1
- package/dist/components/Slider/index.tsx +13 -2
- package/dist/components/SoftBuildersVideoPlayer/index.js +2 -1
- package/dist/components/SoftBuildersVideoPlayer/index.js.map +1 -1
- package/dist/components/SoftBuildersVideoPlayer/index.tsx +2 -1
- package/dist/components/TimeSlider/index.js +25 -10
- package/dist/components/TimeSlider/index.js.map +1 -1
- package/dist/components/TimeSlider/index.tsx +27 -11
- package/dist/components/VideoPlayerComponent/index.js +26 -4
- package/dist/components/VideoPlayerComponent/index.js.map +1 -1
- package/dist/components/VideoPlayerComponent/index.tsx +35 -4
- package/dist/components/VideoPlayerComponent/style/style.css +17 -1
- package/dist/components/VolumeSlider/index.js +36 -3
- package/dist/components/VolumeSlider/index.js.map +1 -1
- package/dist/components/VolumeSlider/index.tsx +38 -2
- package/dist/components/icons/SkillamiIcon.d.ts +3 -0
- package/dist/components/icons/SkillamiIcon.js +4 -0
- package/dist/components/icons/SkillamiIcon.js.map +1 -0
- package/dist/components/icons/SkillamiIcon.tsx +25 -0
- package/dist/components/icons/index.d.ts +1 -0
- package/dist/components/icons/index.js +1 -0
- package/dist/components/icons/index.js.map +1 -1
- package/dist/components/icons/index.ts +1 -0
- package/dist/images/index.d.ts +1 -0
- package/dist/images/index.js +1 -0
- package/dist/images/index.js.map +1 -1
- package/dist/index.css +30 -0
- package/dist/index.mjs +318 -209
- package/dist/styles/tailwind.css +15 -0
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
@@ -166,26 +166,37 @@ var Slider = (_a) => {
|
|
166
166
|
max = 100,
|
167
167
|
className,
|
168
168
|
handleSliderClick = () => {
|
169
|
-
}
|
169
|
+
},
|
170
|
+
setClicked,
|
171
|
+
onMouseMove
|
170
172
|
} = _b, rest = __objRest(_b, [
|
171
173
|
"value",
|
172
174
|
"handleValueChange",
|
173
175
|
"min",
|
174
176
|
"max",
|
175
177
|
"className",
|
176
|
-
"handleSliderClick"
|
178
|
+
"handleSliderClick",
|
179
|
+
"setClicked",
|
180
|
+
"onMouseMove"
|
177
181
|
]);
|
178
182
|
return /* @__PURE__ */ jsx3(
|
179
183
|
"input",
|
180
184
|
__spreadValues({
|
181
185
|
type: "range",
|
182
186
|
min,
|
183
|
-
|
187
|
+
onMouseMove: (e) => onMouseMove && onMouseMove(e),
|
188
|
+
onMouseDown: (e) => {
|
189
|
+
e.stopPropagation();
|
190
|
+
setClicked && setClicked(true);
|
191
|
+
},
|
184
192
|
onClick: (e) => {
|
185
193
|
e.stopPropagation();
|
186
194
|
handleSliderClick(e);
|
187
195
|
},
|
188
|
-
onMouseUp: (e) =>
|
196
|
+
onMouseUp: (e) => {
|
197
|
+
e.stopPropagation();
|
198
|
+
setClicked && setClicked(false);
|
199
|
+
},
|
189
200
|
max,
|
190
201
|
value,
|
191
202
|
onChange: (e) => {
|
@@ -422,9 +433,47 @@ var SvgSettingsIcon = (props) => /* @__PURE__ */ jsx15(
|
|
422
433
|
);
|
423
434
|
var SettingsIcon_default = SvgSettingsIcon;
|
424
435
|
|
425
|
-
// src/components/icons/
|
436
|
+
// src/components/icons/SkillamiIcon.tsx
|
426
437
|
import { jsx as jsx16, jsxs as jsxs2 } from "react/jsx-runtime";
|
427
|
-
var
|
438
|
+
var SvgSkillamiIcon = (props) => /* @__PURE__ */ jsxs2(
|
439
|
+
"svg",
|
440
|
+
__spreadProps(__spreadValues({
|
441
|
+
xmlns: "http://www.w3.org/2000/svg",
|
442
|
+
fill: "none",
|
443
|
+
viewBox: "0 0 45 46",
|
444
|
+
width: "1em",
|
445
|
+
height: "1em"
|
446
|
+
}, props), {
|
447
|
+
children: [
|
448
|
+
/* @__PURE__ */ jsx16(
|
449
|
+
"path",
|
450
|
+
{
|
451
|
+
fill: "#fff",
|
452
|
+
d: "m22.736 37.857-11.924-3.255-3.194-12.153a.99.99 0 0 0-1.213-.714c-.53.145-.843.7-.7 1.236l3.343 12.715a.991.991 0 0 0 .7.714l12.476 3.406a.985.985 0 0 0 1.213-.713 1.01 1.01 0 0 0-.7-1.236M44.733 25.943 39.51 6.074a1 1 0 0 0-.7-.714L19.308.033a.98.98 0 0 0-.957.26L9.389 9.428a1.02 1.02 0 0 0 0 1.428.976.976 0 0 0 1.402 0l8.56-8.717 18.39 5.024 4.93 18.741-8.56 8.724a1.02 1.02 0 0 0 0 1.428.977.977 0 0 0 1.4 0l8.963-9.133c.249-.254.348-.627.256-.975z"
|
453
|
+
}
|
454
|
+
),
|
455
|
+
/* @__PURE__ */ jsx16(
|
456
|
+
"path",
|
457
|
+
{
|
458
|
+
fill: "#fff",
|
459
|
+
d: "m24.323 30.829-7.735-2.113-2.074-7.883a.99.99 0 0 0-1.213-.714c-.53.145-.842.7-.7 1.236l2.223 8.445a.991.991 0 0 0 .7.714l8.287 2.265a.985.985 0 0 0 1.212-.714 1.01 1.01 0 0 0-.7-1.236M15.887 15.86l5.573-5.68 4.278 1.168a.985.985 0 0 0 1.213-.714 1.01 1.01 0 0 0-.7-1.236l-4.83-1.32a.98.98 0 0 0-.957.262l-5.979 6.092a1.02 1.02 0 0 0 0 1.428.977.977 0 0 0 1.402 0M29.206 30.858a.976.976 0 0 0 1.4 0l5.98-6.093c.248-.253.348-.627.255-.975l-1.294-4.921a.99.99 0 0 0-1.213-.715c-.53.145-.843.7-.7 1.236l1.145 4.36-5.574 5.68a1.02 1.02 0 0 0 0 1.428"
|
460
|
+
}
|
461
|
+
),
|
462
|
+
/* @__PURE__ */ jsx16(
|
463
|
+
"path",
|
464
|
+
{
|
465
|
+
fill: "#F26C21",
|
466
|
+
d: "m29.383 36.008-2.99-11 2.745-2.798-1.007-3.83 2.45-2.498 3.76 1.026 3.56-3.628L36.6 8.322l-4.865-1.327-3.56 3.628 1.007 3.831-2.45 2.497-3.76-1.026-2.745 2.799-10.794-3.049-1.007-3.834-4.865-1.327L0 14.142l1.302 4.959 4.865 1.326 2.745-2.798 10.794 3.048 1.007 3.835 3.762 1.025 2.991 11-2.745 2.798 1.302 4.959 4.865 1.326 3.56-3.628-1.302-4.958-3.763-1.03zM32.328 9.25l2.653.725.712 2.704-1.942 1.979-2.653-.725-.712-2.704zM5.573 18.173l-2.653-.725-.711-2.704 1.941-1.979 2.653.725.712 2.704zm16.761 4.686-.71-2.704 1.941-1.979 2.653.725.711 2.704-1.941 1.979zm7.963 20.507-2.653-.725-.711-2.704 1.942-1.979 2.653.725.711 2.704z"
|
467
|
+
}
|
468
|
+
)
|
469
|
+
]
|
470
|
+
})
|
471
|
+
);
|
472
|
+
var SkillamiIcon_default = SvgSkillamiIcon;
|
473
|
+
|
474
|
+
// src/components/icons/SubIcon.tsx
|
475
|
+
import { jsx as jsx17, jsxs as jsxs3 } from "react/jsx-runtime";
|
476
|
+
var SvgSubIcon = (props) => /* @__PURE__ */ jsxs3(
|
428
477
|
"svg",
|
429
478
|
__spreadProps(__spreadValues({
|
430
479
|
xmlns: "http://www.w3.org/2000/svg",
|
@@ -434,7 +483,7 @@ var SvgSubIcon = (props) => /* @__PURE__ */ jsxs2(
|
|
434
483
|
viewBox: "0 0 15 15"
|
435
484
|
}, props), {
|
436
485
|
children: [
|
437
|
-
/* @__PURE__ */
|
486
|
+
/* @__PURE__ */ jsx17(
|
438
487
|
"path",
|
439
488
|
{
|
440
489
|
stroke: "#D1D5DB",
|
@@ -444,7 +493,7 @@ var SvgSubIcon = (props) => /* @__PURE__ */ jsxs2(
|
|
444
493
|
d: "M1.25 7.5c0-2.487 0-3.731.658-4.561q.159-.2.346-.367c.785-.697 1.96-.697 4.309-.697h1.875c2.349 0 3.523 0 4.307.697q.19.168.347.367c.658.83.658 2.074.658 4.561s0 3.731-.658 4.561q-.157.2-.347.367c-.784.697-1.957.697-4.307.697H6.562c-2.349 0-3.523 0-4.308-.697a3 3 0 0 1-.346-.367c-.658-.83-.658-2.073-.658-4.561"
|
445
494
|
}
|
446
495
|
),
|
447
|
-
/* @__PURE__ */
|
496
|
+
/* @__PURE__ */ jsx17(
|
448
497
|
"path",
|
449
498
|
{
|
450
499
|
stroke: "#D1D5DB",
|
@@ -460,14 +509,14 @@ var SvgSubIcon = (props) => /* @__PURE__ */ jsxs2(
|
|
460
509
|
var SubIcon_default = SvgSubIcon;
|
461
510
|
|
462
511
|
// src/components/icons/SubtitlesIcon.tsx
|
463
|
-
import { jsx as
|
512
|
+
import { jsx as jsx18, jsxs as jsxs4 } from "react/jsx-runtime";
|
464
513
|
|
465
514
|
// src/components/icons/UnmuteIcon.tsx
|
466
|
-
import { jsx as
|
515
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
467
516
|
|
468
517
|
// src/components/icons/VolumeHigh.tsx
|
469
|
-
import { jsx as
|
470
|
-
var SvgVolumeHigh = (props) => /* @__PURE__ */
|
518
|
+
import { jsx as jsx20, jsxs as jsxs5 } from "react/jsx-runtime";
|
519
|
+
var SvgVolumeHigh = (props) => /* @__PURE__ */ jsxs5(
|
471
520
|
"svg",
|
472
521
|
__spreadProps(__spreadValues({
|
473
522
|
xmlns: "http://www.w3.org/2000/svg",
|
@@ -477,16 +526,16 @@ var SvgVolumeHigh = (props) => /* @__PURE__ */ jsxs4(
|
|
477
526
|
viewBox: "0 0 512 512"
|
478
527
|
}, props), {
|
479
528
|
children: [
|
480
|
-
/* @__PURE__ */
|
481
|
-
/* @__PURE__ */
|
529
|
+
/* @__PURE__ */ jsx20("path", { d: "M264 416.19a23.92 23.92 0 0 1-14.21-4.69l-.66-.51-91.46-75H88a24 24 0 0 1-24-24V200a24 24 0 0 1 24-24h69.65l91.46-75 .66-.51A24 24 0 0 1 288 119.83v272.34a24 24 0 0 1-24 24ZM352 336a16 16 0 0 1-14.29-23.18c9.49-18.9 14.3-38 14.3-56.82 0-19.36-4.66-37.92-14.25-56.73a16 16 0 0 1 28.5-14.54C378.2 208.16 384 231.47 384 256c0 23.83-6 47.78-17.7 71.18A16 16 0 0 1 352 336" }),
|
530
|
+
/* @__PURE__ */ jsx20("path", { d: "M400 384a16 16 0 0 1-13.87-24C405 327.05 416 299.45 416 256c0-44.12-10.94-71.52-29.83-103.95A16 16 0 0 1 413.83 136C434.92 172.16 448 204.88 448 256c0 50.36-13.06 83.24-34.12 120a16 16 0 0 1-13.88 8" })
|
482
531
|
]
|
483
532
|
})
|
484
533
|
);
|
485
534
|
var VolumeHigh_default = SvgVolumeHigh;
|
486
535
|
|
487
536
|
// src/components/icons/VolumeLow.tsx
|
488
|
-
import { jsx as
|
489
|
-
var SvgVolumeLow = (props) => /* @__PURE__ */
|
537
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
538
|
+
var SvgVolumeLow = (props) => /* @__PURE__ */ jsx21(
|
490
539
|
"svg",
|
491
540
|
__spreadProps(__spreadValues({
|
492
541
|
xmlns: "http://www.w3.org/2000/svg",
|
@@ -495,14 +544,14 @@ var SvgVolumeLow = (props) => /* @__PURE__ */ jsx20(
|
|
495
544
|
fill: "#fff",
|
496
545
|
viewBox: "0 0 512 512"
|
497
546
|
}, props), {
|
498
|
-
children: /* @__PURE__ */
|
547
|
+
children: /* @__PURE__ */ jsx21("path", { d: "M296 416.19a23.92 23.92 0 0 1-14.21-4.69l-.66-.51-91.46-75H120a24 24 0 0 1-24-24V200a24 24 0 0 1 24-24h69.65l91.46-75 .66-.51A24 24 0 0 1 320 119.83v272.34a24 24 0 0 1-24 24ZM384 336a16 16 0 0 1-14.29-23.18c9.49-18.9 14.3-38 14.3-56.82 0-19.36-4.66-37.92-14.25-56.73a16 16 0 0 1 28.5-14.54C410.2 208.16 416 231.47 416 256c0 23.83-6 47.78-17.7 71.18A16 16 0 0 1 384 336" })
|
499
548
|
})
|
500
549
|
);
|
501
550
|
var VolumeLow_default = SvgVolumeLow;
|
502
551
|
|
503
552
|
// src/components/icons/VolumeMute.tsx
|
504
|
-
import { jsx as
|
505
|
-
var SvgVolumeMute = (props) => /* @__PURE__ */
|
553
|
+
import { jsx as jsx22, jsxs as jsxs6 } from "react/jsx-runtime";
|
554
|
+
var SvgVolumeMute = (props) => /* @__PURE__ */ jsxs6(
|
506
555
|
"svg",
|
507
556
|
__spreadProps(__spreadValues({
|
508
557
|
xmlns: "http://www.w3.org/2000/svg",
|
@@ -512,7 +561,7 @@ var SvgVolumeMute = (props) => /* @__PURE__ */ jsxs5(
|
|
512
561
|
viewBox: "0 0 512 512"
|
513
562
|
}, props), {
|
514
563
|
children: [
|
515
|
-
/* @__PURE__ */
|
564
|
+
/* @__PURE__ */ jsx22(
|
516
565
|
"path",
|
517
566
|
{
|
518
567
|
d: "M416 432 64 80",
|
@@ -525,16 +574,16 @@ var SvgVolumeMute = (props) => /* @__PURE__ */ jsxs5(
|
|
525
574
|
}
|
526
575
|
}
|
527
576
|
),
|
528
|
-
/* @__PURE__ */
|
529
|
-
/* @__PURE__ */
|
577
|
+
/* @__PURE__ */ jsx22("path", { d: "M243.33 98.86a23.89 23.89 0 0 0-25.55 1.82l-.66.51-28.52 23.35a8 8 0 0 0-.59 11.85l54.33 54.33a8 8 0 0 0 13.66-5.66v-64.49a24.51 24.51 0 0 0-12.67-21.71M251.33 335.29 96.69 180.69A16 16 0 0 0 85.38 176H56a24 24 0 0 0-24 24v112a24 24 0 0 0 24 24h69.76l92 75.31a23.9 23.9 0 0 0 25.87 1.69A24.51 24.51 0 0 0 256 391.45v-44.86a16 16 0 0 0-4.67-11.3M352 256c0-24.56-5.81-47.87-17.75-71.27a16 16 0 1 0-28.5 14.55C315.34 218.06 320 236.62 320 256q0 4-.31 8.13a8 8 0 0 0 2.32 6.25l14.36 14.36a8 8 0 0 0 13.55-4.31A146 146 0 0 0 352 256M416 256c0-51.18-13.08-83.89-34.18-120.06a16 16 0 0 0-27.64 16.12C373.07 184.44 384 211.83 384 256c0 23.83-3.29 42.88-9.37 60.65a8 8 0 0 0 1.9 8.26L389 337.4a8 8 0 0 0 13.13-2.79C411 311.76 416 287.26 416 256" }),
|
578
|
+
/* @__PURE__ */ jsx22("path", { d: "M480 256c0-74.25-20.19-121.11-50.51-168.61a16 16 0 1 0-27 17.22C429.82 147.38 448 189.5 448 256c0 46.19-8.43 80.27-22.43 110.53a8 8 0 0 0 1.59 9l11.92 11.92a8 8 0 0 0 12.92-2.16C471.6 344.9 480 305 480 256" })
|
530
579
|
]
|
531
580
|
})
|
532
581
|
);
|
533
582
|
var VolumeMute_default = SvgVolumeMute;
|
534
583
|
|
535
584
|
// src/components/icons/VolumeVLow.tsx
|
536
|
-
import { jsx as
|
537
|
-
var SvgVolumeVLow = (props) => /* @__PURE__ */
|
585
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
586
|
+
var SvgVolumeVLow = (props) => /* @__PURE__ */ jsx23(
|
538
587
|
"svg",
|
539
588
|
__spreadProps(__spreadValues({
|
540
589
|
xmlns: "http://www.w3.org/2000/svg",
|
@@ -543,13 +592,13 @@ var SvgVolumeVLow = (props) => /* @__PURE__ */ jsx22(
|
|
543
592
|
fill: "#fff",
|
544
593
|
viewBox: "0 0 512 512"
|
545
594
|
}, props), {
|
546
|
-
children: /* @__PURE__ */
|
595
|
+
children: /* @__PURE__ */ jsx23("path", { d: "M344 416a23.92 23.92 0 0 1-14.21-4.69c-.23-.16-.44-.33-.66-.51l-91.46-74.9H168a24 24 0 0 1-24-24V200.07a24 24 0 0 1 24-24h69.65l91.46-74.9c.22-.18.43-.35.66-.51A24 24 0 0 1 368 120v272a24 24 0 0 1-24 24" })
|
547
596
|
})
|
548
597
|
);
|
549
598
|
var VolumeVLow_default = SvgVolumeVLow;
|
550
599
|
|
551
600
|
// src/components/VolumeSlider/index.tsx
|
552
|
-
import { jsx as
|
601
|
+
import { jsx as jsx24, jsxs as jsxs7 } from "react/jsx-runtime";
|
553
602
|
var MIN = 0;
|
554
603
|
var MAX = 100;
|
555
604
|
var VolumeSlider = ({
|
@@ -562,6 +611,7 @@ var VolumeSlider = ({
|
|
562
611
|
const { player } = useSoftBuildersVideoPlayerContext();
|
563
612
|
const [isVisible, setVisible] = useState2(false);
|
564
613
|
const [volume, setVolume] = useState2(0);
|
614
|
+
const [isClicked, setClicked] = useState2(false);
|
565
615
|
useEffect2(() => {
|
566
616
|
const updateVolumeState = () => {
|
567
617
|
const currentVolume = (player == null ? void 0 : player.muted()) ? 0 : Number((player == null ? void 0 : player.volume()) || 0) * 100;
|
@@ -577,8 +627,15 @@ var VolumeSlider = ({
|
|
577
627
|
e.stopPropagation();
|
578
628
|
const slider = e.currentTarget;
|
579
629
|
const rect = slider.getBoundingClientRect();
|
580
|
-
|
581
|
-
|
630
|
+
let offsetX;
|
631
|
+
let newVolume;
|
632
|
+
if (!isTrailer && width > 400) {
|
633
|
+
offsetX = e.clientY - rect.bottom;
|
634
|
+
newVolume = offsetX / rect.height * -100;
|
635
|
+
} else {
|
636
|
+
offsetX = e.clientY - rect.top;
|
637
|
+
newVolume = offsetX / rect.height * 100;
|
638
|
+
}
|
582
639
|
setVolume(newVolume);
|
583
640
|
player == null ? void 0 : player.volume(newVolume / 100);
|
584
641
|
if (newVolume === 0) {
|
@@ -587,6 +644,28 @@ var VolumeSlider = ({
|
|
587
644
|
player == null ? void 0 : player.muted(false);
|
588
645
|
}
|
589
646
|
};
|
647
|
+
const onMouseMove = (e) => {
|
648
|
+
if (isClicked) {
|
649
|
+
const slider = e.currentTarget;
|
650
|
+
const rect = slider.getBoundingClientRect();
|
651
|
+
let offsetX;
|
652
|
+
let newVolume;
|
653
|
+
if (!isTrailer && width > 400) {
|
654
|
+
offsetX = e.clientY - rect.bottom;
|
655
|
+
newVolume = offsetX / rect.height * -100;
|
656
|
+
} else {
|
657
|
+
offsetX = e.clientY - rect.top;
|
658
|
+
newVolume = offsetX / rect.height * 100;
|
659
|
+
}
|
660
|
+
setVolume(newVolume);
|
661
|
+
player == null ? void 0 : player.volume(newVolume / 100);
|
662
|
+
if (newVolume === 0) {
|
663
|
+
player == null ? void 0 : player.muted(true);
|
664
|
+
} else {
|
665
|
+
player == null ? void 0 : player.muted(false);
|
666
|
+
}
|
667
|
+
}
|
668
|
+
};
|
590
669
|
const timeoutRef = React2.useRef(null);
|
591
670
|
useEffect2(() => {
|
592
671
|
setVisible(false);
|
@@ -625,33 +704,33 @@ var VolumeSlider = ({
|
|
625
704
|
setVolume(0);
|
626
705
|
player == null ? void 0 : player.muted(true);
|
627
706
|
};
|
628
|
-
return /* @__PURE__ */
|
707
|
+
return /* @__PURE__ */ jsxs7(
|
629
708
|
"div",
|
630
709
|
{
|
631
710
|
className: `sb-flex ${isVisible ? "" : ""} ${width > 400 && !isTrailer ? "sb-flex-col-reverse" : `sb-flex-col ${isTrailer ? "sb-justify-start" : ""}`} sb-items-center sb-gap-1 sb-h-full`,
|
632
711
|
children: [
|
633
|
-
/* @__PURE__ */
|
712
|
+
/* @__PURE__ */ jsx24(
|
634
713
|
"div",
|
635
714
|
{
|
636
715
|
className: `sb-flex sb-relative ${width < 400 || isTrailer ? "-sb-top-1" : "sb-top-1"}`,
|
637
716
|
onClick: toggleVisibility,
|
638
717
|
onDoubleClick: handleDoubleClick,
|
639
|
-
children: volume == 0 || (player == null ? void 0 : player.muted()) ? /* @__PURE__ */
|
718
|
+
children: volume == 0 || (player == null ? void 0 : player.muted()) ? /* @__PURE__ */ jsx24(
|
640
719
|
VolumeMute_default,
|
641
720
|
{
|
642
721
|
className: `sb-w-3 sb-h-3 ${width < 400 || isTrailer ? "" : ""} sb-h-5 sb-w-5`
|
643
722
|
}
|
644
|
-
) : volume < 25 ? /* @__PURE__ */
|
723
|
+
) : volume < 25 ? /* @__PURE__ */ jsx24(
|
645
724
|
VolumeVLow_default,
|
646
725
|
{
|
647
726
|
className: `sb-w-3 sb-h-3 ${width < 400 || isTrailer ? "" : ""} sb-h-5 sb-w-5`
|
648
727
|
}
|
649
|
-
) : volume < 50 ? /* @__PURE__ */
|
728
|
+
) : volume < 50 ? /* @__PURE__ */ jsx24(
|
650
729
|
VolumeLow_default,
|
651
730
|
{
|
652
731
|
className: `sb-w-3 sb-h-3 ${width < 400 || isTrailer ? "" : ""} sb-h-5 sb-w-5`
|
653
732
|
}
|
654
|
-
) : /* @__PURE__ */
|
733
|
+
) : /* @__PURE__ */ jsx24(
|
655
734
|
VolumeHigh_default,
|
656
735
|
{
|
657
736
|
className: `sb-w-3 sb-h-3 ${width < 400 || isTrailer ? "" : ""} sb-h-5 sb-w-5`
|
@@ -659,19 +738,21 @@ var VolumeSlider = ({
|
|
659
738
|
)
|
660
739
|
}
|
661
740
|
),
|
662
|
-
/* @__PURE__ */
|
741
|
+
/* @__PURE__ */ jsx24("div", { className: "sb-flex sb-items-center sb-justify-center", children: /* @__PURE__ */ jsx24(
|
663
742
|
"div",
|
664
743
|
{
|
665
744
|
className: ` sb-transition-all sb-ease-in-out sb-duration-500 ${isVisible ? "sb-w-[22px] sb-opacity-100 sb-visible" : "sb-w-[22px] sb-opacity-0 sb-invisible"} ${width > 400 && !isTrailer ? "-sb-rotate-90 -sb-translate-y-1" : "sb-rotate-90 sb-translate-y-1"} sb-relative`,
|
666
|
-
children: /* @__PURE__ */
|
745
|
+
children: /* @__PURE__ */ jsx24(
|
667
746
|
Slider_default,
|
668
747
|
{
|
748
|
+
onMouseMove: (e) => onMouseMove(e),
|
669
749
|
value: volume,
|
670
750
|
handleValueChange,
|
671
751
|
min: MIN,
|
672
752
|
max: MAX,
|
673
753
|
className: "!sb-w-16 ",
|
674
|
-
handleSliderClick: handleVolumeSliderClick
|
754
|
+
handleSliderClick: handleVolumeSliderClick,
|
755
|
+
setClicked
|
675
756
|
}
|
676
757
|
)
|
677
758
|
}
|
@@ -687,7 +768,7 @@ import { useEffect as useEffect4, useState as useState4 } from "react";
|
|
687
768
|
|
688
769
|
// src/components/MenuButton/index.tsx
|
689
770
|
import { useCallback, useEffect as useEffect3, useRef, useState as useState3 } from "react";
|
690
|
-
import { jsx as
|
771
|
+
import { jsx as jsx25, jsxs as jsxs8 } from "react/jsx-runtime";
|
691
772
|
var MenuButton = ({
|
692
773
|
buttonContent,
|
693
774
|
menuContent,
|
@@ -722,14 +803,14 @@ var MenuButton = ({
|
|
722
803
|
useEffect3(() => {
|
723
804
|
setNoteOpen && setNoteOpen(isOpen);
|
724
805
|
}, [isOpen]);
|
725
|
-
return /* @__PURE__ */
|
806
|
+
return /* @__PURE__ */ jsxs8(
|
726
807
|
"div",
|
727
808
|
{
|
728
809
|
onMouseEnter,
|
729
810
|
onMouseLeave,
|
730
811
|
className: "sb-relative sb-flex sb-items-end",
|
731
812
|
children: [
|
732
|
-
/* @__PURE__ */
|
813
|
+
/* @__PURE__ */ jsx25(
|
733
814
|
"button",
|
734
815
|
{
|
735
816
|
ref: buttonRef,
|
@@ -745,7 +826,7 @@ var MenuButton = ({
|
|
745
826
|
children: buttonContent
|
746
827
|
}
|
747
828
|
),
|
748
|
-
!disablePopUp && isOpen && /* @__PURE__ */
|
829
|
+
!disablePopUp && isOpen && /* @__PURE__ */ jsx25(
|
749
830
|
"div",
|
750
831
|
{
|
751
832
|
ref: menuRef,
|
@@ -763,7 +844,7 @@ var MenuButton = ({
|
|
763
844
|
var MenuButton_default = MenuButton;
|
764
845
|
|
765
846
|
// src/components/QualityMenu/index.tsx
|
766
|
-
import { jsx as
|
847
|
+
import { jsx as jsx26, jsxs as jsxs9 } from "react/jsx-runtime";
|
767
848
|
var QualityOption = ({
|
768
849
|
isSelected,
|
769
850
|
quality,
|
@@ -771,19 +852,19 @@ var QualityOption = ({
|
|
771
852
|
width,
|
772
853
|
isTrailer
|
773
854
|
}) => {
|
774
|
-
return /* @__PURE__ */
|
855
|
+
return /* @__PURE__ */ jsx26(
|
775
856
|
"button",
|
776
857
|
{
|
777
858
|
className: `hover:sb-text-orange-500 ${width > 400 && !isTrailer ? "sb-p-2" : "sp-pb-1"}`,
|
778
859
|
onClick,
|
779
|
-
children: /* @__PURE__ */
|
780
|
-
/* @__PURE__ */
|
860
|
+
children: /* @__PURE__ */ jsxs9("div", { className: "sb-grid sb-grid-cols-12 sb-items-center sb-gap-2", children: [
|
861
|
+
/* @__PURE__ */ jsx26("div", { className: "sb-col-span-3", children: isSelected ? /* @__PURE__ */ jsx26(
|
781
862
|
CheckedIcon_default,
|
782
863
|
{
|
783
864
|
className: `${width > 400 && !isTrailer ? "sb-w-5 sb-h-5" : "sb-w-3 sb-h-3"}`
|
784
865
|
}
|
785
|
-
) : /* @__PURE__ */
|
786
|
-
/* @__PURE__ */
|
866
|
+
) : /* @__PURE__ */ jsx26("div", {}) }),
|
867
|
+
/* @__PURE__ */ jsx26("p", { className: "sb-text-left sb-col-span-9", children: quality == null ? void 0 : quality.label })
|
787
868
|
] })
|
788
869
|
}
|
789
870
|
);
|
@@ -812,25 +893,25 @@ var QualityMenu = ({ width, onClick, isTrailer }) => {
|
|
812
893
|
}
|
813
894
|
}
|
814
895
|
}, [player]);
|
815
|
-
return /* @__PURE__ */
|
896
|
+
return /* @__PURE__ */ jsx26(
|
816
897
|
MenuButton_default,
|
817
898
|
{
|
818
899
|
classContainer: `${width < 400 || isTrailer ? "!sb-top-8 -sb-left-9" : ""}`,
|
819
900
|
onClick: (e, isOpen) => {
|
820
901
|
onClick && onClick(e, isOpen);
|
821
902
|
},
|
822
|
-
buttonContent: /* @__PURE__ */
|
823
|
-
menuContent: /* @__PURE__ */
|
903
|
+
buttonContent: /* @__PURE__ */ jsx26(SettingsIcon_default, { className: "sb-w-3 sb-h-3" }),
|
904
|
+
menuContent: /* @__PURE__ */ jsx26(
|
824
905
|
"div",
|
825
906
|
{
|
826
907
|
className: `sb-rounded-md sb-bg-[#303030] sb-bg-opacity-50 ${width > 400 && !isTrailer ? "sb-w-[150px] sb-py-5" : "sb-w-[90px] sb-items-center sb-justify-center sb-py-1"}`,
|
827
|
-
children: /* @__PURE__ */
|
828
|
-
/* @__PURE__ */
|
908
|
+
children: /* @__PURE__ */ jsxs9("div", { className: "sb-flex sb-flex-col sb-gap-3", children: [
|
909
|
+
/* @__PURE__ */ jsxs9(
|
829
910
|
"div",
|
830
911
|
{
|
831
912
|
className: `sb-px-5 sb-flex sb-flex-row sb-gap-3 sb-items-start sb-relative sb-top-2`,
|
832
913
|
children: [
|
833
|
-
/* @__PURE__ */
|
914
|
+
/* @__PURE__ */ jsx26(
|
834
915
|
"button",
|
835
916
|
{
|
836
917
|
onClick: () => {
|
@@ -839,16 +920,16 @@ var QualityMenu = ({ width, onClick, isTrailer }) => {
|
|
839
920
|
}
|
840
921
|
},
|
841
922
|
className: "hover:sb-scale-150",
|
842
|
-
children: /* @__PURE__ */
|
923
|
+
children: /* @__PURE__ */ jsx26(LeftArrowIcon_default, { className: "sb-w-3 sb-h-3" })
|
843
924
|
}
|
844
925
|
),
|
845
|
-
/* @__PURE__ */
|
926
|
+
/* @__PURE__ */ jsx26("h3", { children: "Quality" })
|
846
927
|
]
|
847
928
|
}
|
848
929
|
),
|
849
|
-
/* @__PURE__ */
|
850
|
-
/* @__PURE__ */
|
851
|
-
return /* @__PURE__ */
|
930
|
+
/* @__PURE__ */ jsx26("div", { className: "sb-w-full sb-h-[.1px] sb-bg-[#AAAAAA] sb-bg-opacity-70" }),
|
931
|
+
/* @__PURE__ */ jsx26("div", { className: "sb-px-5 sb-flex sb-flex-col sb-gap-3 sb-items-start ", children: qualities == null ? void 0 : qualities.map((q, i) => {
|
932
|
+
return /* @__PURE__ */ jsx26(
|
852
933
|
QualityOption,
|
853
934
|
{
|
854
935
|
width,
|
@@ -884,7 +965,7 @@ var QualityMenu_default = QualityMenu;
|
|
884
965
|
|
885
966
|
// src/components/CreateNoteMenu/index.tsx
|
886
967
|
import React5, { useState as useState5 } from "react";
|
887
|
-
import { jsx as
|
968
|
+
import { jsx as jsx27, jsxs as jsxs10 } from "react/jsx-runtime";
|
888
969
|
var CreateNoteMenu = ({
|
889
970
|
handleSaveNoteAction,
|
890
971
|
width,
|
@@ -907,7 +988,7 @@ var CreateNoteMenu = ({
|
|
907
988
|
);
|
908
989
|
}
|
909
990
|
};
|
910
|
-
return /* @__PURE__ */
|
991
|
+
return /* @__PURE__ */ jsx27(
|
911
992
|
MenuButton_default,
|
912
993
|
{
|
913
994
|
onMouseEnter,
|
@@ -916,21 +997,21 @@ var CreateNoteMenu = ({
|
|
916
997
|
noteButtonClick,
|
917
998
|
setNoteOpen,
|
918
999
|
classContainer: `${width < 400 ? "!sb-top-8 -sb-left-[9.75rem]" : ""}`,
|
919
|
-
buttonContent: /* @__PURE__ */
|
920
|
-
menuContent: /* @__PURE__ */
|
1000
|
+
buttonContent: /* @__PURE__ */ jsx27(ClosedNoteIcon_default, { className: "sb-w-3 sb-h-3" }),
|
1001
|
+
menuContent: /* @__PURE__ */ jsx27(
|
921
1002
|
"div",
|
922
1003
|
{
|
923
1004
|
className: `sb-rounded-md sb-bg-[#303030] sb-bg-opacity-50 ${width > 400 ? " sb-py-5 sb-w-[220px]" : "sb-py-1 sb-w-[150px]"}`,
|
924
|
-
children: /* @__PURE__ */
|
1005
|
+
children: /* @__PURE__ */ jsxs10(
|
925
1006
|
"div",
|
926
1007
|
{
|
927
1008
|
className: "sb-flex sb-flex-col sb-gap-3 sb-items-center sb-justify-center",
|
928
1009
|
onClick: (e) => e.stopPropagation(),
|
929
1010
|
children: [
|
930
|
-
/* @__PURE__ */
|
931
|
-
/* @__PURE__ */
|
932
|
-
/* @__PURE__ */
|
933
|
-
/* @__PURE__ */
|
1011
|
+
/* @__PURE__ */ jsx27("h3", { className: "sb-px-5", children: "Add Note" }),
|
1012
|
+
/* @__PURE__ */ jsx27("div", { className: "sb-w-full sb-h-[.1px] sb-bg-[#AAAAAA] sb-bg-opacity-70" }),
|
1013
|
+
/* @__PURE__ */ jsxs10("div", { className: "sb-px-5 sb-flex sb-flex-col sb-gap-4 sb-items-start", children: [
|
1014
|
+
/* @__PURE__ */ jsx27(
|
934
1015
|
"input",
|
935
1016
|
{
|
936
1017
|
onClick: (e) => e.stopPropagation(),
|
@@ -943,7 +1024,7 @@ var CreateNoteMenu = ({
|
|
943
1024
|
className: "sb-text-white placeholder:sb-text-white sb-w-full sb-bg-transparent sb-px-4 sb-py-3 sb-border sb-border-[#AAAAAA] sb-rounded-md"
|
944
1025
|
}
|
945
1026
|
),
|
946
|
-
/* @__PURE__ */
|
1027
|
+
/* @__PURE__ */ jsx27("button", { className: "sb-w-full", onClick: handleSaveNote, children: /* @__PURE__ */ jsx27("div", { className: "sb-px-4 sb-py-3 sb-text-center sb-font-bold sb-bg-orange-500 sb-rounded-md", children: "Save" }) })
|
947
1028
|
] })
|
948
1029
|
]
|
949
1030
|
}
|
@@ -962,10 +1043,10 @@ import { useEffect as useEffect6, useState as useState7 } from "react";
|
|
962
1043
|
import { useState as useState6 } from "react";
|
963
1044
|
|
964
1045
|
// src/components/Tooltip/index.tsx
|
965
|
-
import { jsx as
|
1046
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
966
1047
|
var Tooltip = ({ open, children }) => {
|
967
1048
|
if (!open) return null;
|
968
|
-
return /* @__PURE__ */
|
1049
|
+
return /* @__PURE__ */ jsx28(
|
969
1050
|
"div",
|
970
1051
|
{
|
971
1052
|
className: "sb-absolute sb-bottom-full sb-mb-2 sb-left-1/2 sb-transform sb--translate-x-1/2 sb-z-10 sb-whitespace-nowrap",
|
@@ -976,14 +1057,14 @@ var Tooltip = ({ open, children }) => {
|
|
976
1057
|
var Tooltip_default = Tooltip;
|
977
1058
|
|
978
1059
|
// src/components/NoteTooltip/index.tsx
|
979
|
-
import { jsx as
|
1060
|
+
import { jsx as jsx29, jsxs as jsxs11 } from "react/jsx-runtime";
|
980
1061
|
var NoteTooltip = ({ note }) => {
|
981
1062
|
const [open, setOpen] = useState6(false);
|
982
1063
|
const { currentTime, player } = useSoftBuildersVideoPlayerContext();
|
983
1064
|
const handleValueChange = () => {
|
984
1065
|
player == null ? void 0 : player.currentTime(note.time);
|
985
1066
|
};
|
986
|
-
return /* @__PURE__ */
|
1067
|
+
return /* @__PURE__ */ jsx29(
|
987
1068
|
"div",
|
988
1069
|
{
|
989
1070
|
onClick: handleValueChange,
|
@@ -991,9 +1072,9 @@ var NoteTooltip = ({ note }) => {
|
|
991
1072
|
style: { left: `${note == null ? void 0 : note.percentage}%` },
|
992
1073
|
onMouseEnter: () => setOpen(true),
|
993
1074
|
onMouseLeave: () => setOpen(false),
|
994
|
-
children: /* @__PURE__ */
|
995
|
-
/* @__PURE__ */
|
996
|
-
/* @__PURE__ */
|
1075
|
+
children: /* @__PURE__ */ jsx29("div", { className: "sb-relative", children: /* @__PURE__ */ jsx29(Tooltip_default, { open, children: /* @__PURE__ */ jsxs11("div", { className: "sb-flex sb-flex-col sb-gap-2 sb-items-center", children: [
|
1076
|
+
/* @__PURE__ */ jsx29("p", { children: note == null ? void 0 : note.label }),
|
1077
|
+
/* @__PURE__ */ jsx29("p", { className: "sb-p-2 sb-bg-[#303030] sb-bg-opacity-50 sb-rounded-md", children: durationFormater(note.time) })
|
997
1078
|
] }) }) })
|
998
1079
|
}
|
999
1080
|
);
|
@@ -1001,7 +1082,7 @@ var NoteTooltip = ({ note }) => {
|
|
1001
1082
|
var NoteTooltip_default = NoteTooltip;
|
1002
1083
|
|
1003
1084
|
// src/components/NotesPanal/index.tsx
|
1004
|
-
import { jsx as
|
1085
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
1005
1086
|
var NotesPanal = ({ notes }) => {
|
1006
1087
|
const [ns, setNs] = useState7([]);
|
1007
1088
|
const { duration } = useSoftBuildersVideoPlayerContext();
|
@@ -1014,7 +1095,7 @@ var NotesPanal = ({ notes }) => {
|
|
1014
1095
|
});
|
1015
1096
|
newNs && setNs(newNs);
|
1016
1097
|
}, [notes, duration]);
|
1017
|
-
return /* @__PURE__ */
|
1098
|
+
return /* @__PURE__ */ jsx30("div", { id: "notes-panal", className: "sb-w-full sb-h-full sb-relative ", children: ns.map((n, i) => /* @__PURE__ */ jsx30(NoteTooltip_default, { note: n }, `note-${i}-${n.time}`)) });
|
1018
1099
|
};
|
1019
1100
|
var NotesPanal_default = NotesPanal;
|
1020
1101
|
|
@@ -1023,7 +1104,7 @@ import { useEffect as useEffect8, useState as useState9 } from "react";
|
|
1023
1104
|
|
1024
1105
|
// src/components/ChapterTooltip/index.tsx
|
1025
1106
|
import { useEffect as useEffect7, useState as useState8 } from "react";
|
1026
|
-
import { jsx as
|
1107
|
+
import { jsx as jsx31, jsxs as jsxs12 } from "react/jsx-runtime";
|
1027
1108
|
var ChapterTooltip = ({ chapter }) => {
|
1028
1109
|
const { player } = useSoftBuildersVideoPlayerContext();
|
1029
1110
|
const [open, setOpen] = useState8(false);
|
@@ -1045,7 +1126,7 @@ var ChapterTooltip = ({ chapter }) => {
|
|
1045
1126
|
const clickedTime = chapter.startTime + clickPercentage * (chapter.endTime - chapter.startTime);
|
1046
1127
|
player == null ? void 0 : player.currentTime(clickedTime);
|
1047
1128
|
};
|
1048
|
-
return /* @__PURE__ */
|
1129
|
+
return /* @__PURE__ */ jsx31(
|
1049
1130
|
"div",
|
1050
1131
|
{
|
1051
1132
|
id: `ii-section-${chapter.title}`,
|
@@ -1056,15 +1137,15 @@ var ChapterTooltip = ({ chapter }) => {
|
|
1056
1137
|
},
|
1057
1138
|
onMouseEnter: () => setOpen(true),
|
1058
1139
|
onMouseLeave: () => setOpen(false),
|
1059
|
-
children: /* @__PURE__ */
|
1140
|
+
children: /* @__PURE__ */ jsx31(
|
1060
1141
|
"button",
|
1061
1142
|
{
|
1062
1143
|
id: `section-${chapter.title}`,
|
1063
1144
|
className: "sb-h-full sb-w-full",
|
1064
1145
|
onClick: handleClickChapter,
|
1065
|
-
children: /* @__PURE__ */
|
1066
|
-
/* @__PURE__ */
|
1067
|
-
/* @__PURE__ */
|
1146
|
+
children: /* @__PURE__ */ jsx31("div", { className: "sb-relative sb-flex sb-h-full sb-w-full sb-justify-between sb-items-center", children: /* @__PURE__ */ jsx31(Tooltip_default, { open, children: /* @__PURE__ */ jsxs12("div", { className: "sb-flex sb-flex-col sb-gap-2 sb-items-center", children: [
|
1147
|
+
/* @__PURE__ */ jsx31("p", { children: chapter.title }),
|
1148
|
+
/* @__PURE__ */ jsxs12("p", { className: "sb-p-2 sb-bg-[#303030] sb-bg-opacity-50 sb-rounded-md", children: [
|
1068
1149
|
durationFormater(chapter.startTime),
|
1069
1150
|
" -",
|
1070
1151
|
" ",
|
@@ -1079,7 +1160,7 @@ var ChapterTooltip = ({ chapter }) => {
|
|
1079
1160
|
var ChapterTooltip_default = ChapterTooltip;
|
1080
1161
|
|
1081
1162
|
// src/components/ChaptersPanal/index.tsx
|
1082
|
-
import { jsx as
|
1163
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
1083
1164
|
var ChaptersPanal = ({ chapters }) => {
|
1084
1165
|
const [cs, setCs] = useState9([]);
|
1085
1166
|
const { duration } = useSoftBuildersVideoPlayerContext();
|
@@ -1094,19 +1175,20 @@ var ChaptersPanal = ({ chapters }) => {
|
|
1094
1175
|
});
|
1095
1176
|
newCs && setCs(newCs);
|
1096
1177
|
}, [chapters, duration]);
|
1097
|
-
return /* @__PURE__ */
|
1178
|
+
return /* @__PURE__ */ jsx32("div", { id: "chapters-panal", className: "sb-w-full sb-h-full sb-relative ", children: cs.map((c, i) => /* @__PURE__ */ jsx32(ChapterTooltip_default, { chapter: c }, `chapter-${i}-${c.startTime}`)) });
|
1098
1179
|
};
|
1099
1180
|
var ChaptersPanal_default = ChaptersPanal;
|
1100
1181
|
|
1101
1182
|
// src/components/TimeSlider/index.tsx
|
1102
1183
|
import { useEffect as useEffect9, useState as useState10 } from "react";
|
1103
|
-
import { jsx as
|
1184
|
+
import { jsx as jsx33, jsxs as jsxs13 } from "react/jsx-runtime";
|
1104
1185
|
var MIN2 = 0;
|
1105
1186
|
var MAX2 = 100;
|
1106
1187
|
var DEFERENCE = Math.abs(MAX2 - MIN2);
|
1107
1188
|
var BAR_PERCENTAGE_WIDTH = 0.5;
|
1108
1189
|
var TimeSlider = ({ chapters }) => {
|
1109
1190
|
const [timeSlider, setTimeSlider] = useState10(0);
|
1191
|
+
const [isClicked, setClicked] = useState10(false);
|
1110
1192
|
const { player, duration, downloadedBufferPercentage } = useSoftBuildersVideoPlayerContext();
|
1111
1193
|
const handleValueChange = (e) => {
|
1112
1194
|
const newTimeSlider = Number(e.target.value);
|
@@ -1114,14 +1196,16 @@ var TimeSlider = ({ chapters }) => {
|
|
1114
1196
|
const time = newTimeSlider * duration / DEFERENCE;
|
1115
1197
|
player == null ? void 0 : player.currentTime(time);
|
1116
1198
|
};
|
1117
|
-
const
|
1118
|
-
|
1119
|
-
|
1120
|
-
|
1121
|
-
|
1122
|
-
|
1123
|
-
|
1124
|
-
|
1199
|
+
const onMouseMove = (e) => {
|
1200
|
+
if (isClicked) {
|
1201
|
+
const slider = e.currentTarget;
|
1202
|
+
const rect = slider.getBoundingClientRect();
|
1203
|
+
const offsetX = e.clientX - rect.left;
|
1204
|
+
const newTimeSlider = offsetX / rect.width * DEFERENCE;
|
1205
|
+
const time = newTimeSlider * duration / DEFERENCE;
|
1206
|
+
player == null ? void 0 : player.currentTime(time);
|
1207
|
+
setTimeSlider(newTimeSlider);
|
1208
|
+
}
|
1125
1209
|
};
|
1126
1210
|
useEffect9(() => {
|
1127
1211
|
const intervalId = setInterval(() => {
|
@@ -1149,13 +1233,14 @@ var TimeSlider = ({ chapters }) => {
|
|
1149
1233
|
arr.push(`black 100%`);
|
1150
1234
|
setMaskCuttes(arr.toString());
|
1151
1235
|
}, [chapters, duration]);
|
1152
|
-
return /* @__PURE__ */
|
1153
|
-
/* @__PURE__ */
|
1236
|
+
return /* @__PURE__ */ jsxs13("div", { className: " sb-w-full sb-h-2 sb-flex sb-items-center sb-justify-center", children: [
|
1237
|
+
/* @__PURE__ */ jsx33("div", { className: "sb-absolute sb-top-0 sb-left-0 sb-w-full sb-z-10", children: /* @__PURE__ */ jsx33(
|
1154
1238
|
Slider_default,
|
1155
1239
|
{
|
1240
|
+
onMouseMove: (e) => onMouseMove(e),
|
1241
|
+
setClicked,
|
1156
1242
|
value: timeSlider,
|
1157
1243
|
handleValueChange,
|
1158
|
-
handleSliderClick,
|
1159
1244
|
min: MIN2,
|
1160
1245
|
max: MAX2,
|
1161
1246
|
style: {
|
@@ -1163,7 +1248,7 @@ var TimeSlider = ({ chapters }) => {
|
|
1163
1248
|
}
|
1164
1249
|
}
|
1165
1250
|
) }),
|
1166
|
-
/* @__PURE__ */
|
1251
|
+
/* @__PURE__ */ jsx33(
|
1167
1252
|
"div",
|
1168
1253
|
{
|
1169
1254
|
className: "sb-absolute sb-top-0 sb-left-0 sb-w-full sb-h-2 sb-bg-slate-400 sb-rounded-md",
|
@@ -1193,24 +1278,24 @@ var TimeSlider = ({ chapters }) => {
|
|
1193
1278
|
var TimeSlider_default = TimeSlider;
|
1194
1279
|
|
1195
1280
|
// src/components/TimeSliderContainer/index.tsx
|
1196
|
-
import { jsx as
|
1281
|
+
import { jsx as jsx34, jsxs as jsxs14 } from "react/jsx-runtime";
|
1197
1282
|
var TimeSliderContainer = ({ notes, chapters }) => {
|
1198
|
-
return /* @__PURE__ */
|
1283
|
+
return /* @__PURE__ */ jsxs14(
|
1199
1284
|
"div",
|
1200
1285
|
{
|
1201
1286
|
id: "time-slider-container",
|
1202
1287
|
className: "sb-w-full sb-relative sb-flex sb-items-center sb-justify-center",
|
1203
1288
|
children: [
|
1204
|
-
/* @__PURE__ */
|
1289
|
+
/* @__PURE__ */ jsx34(
|
1205
1290
|
"div",
|
1206
1291
|
{
|
1207
1292
|
id: "notes-panal",
|
1208
1293
|
className: "sb-absolute sb-w-full sb-h-full sb-top-[27%] sb-left-0",
|
1209
|
-
children: /* @__PURE__ */
|
1294
|
+
children: /* @__PURE__ */ jsx34(NotesPanal_default, { notes })
|
1210
1295
|
}
|
1211
1296
|
),
|
1212
|
-
/* @__PURE__ */
|
1213
|
-
/* @__PURE__ */
|
1297
|
+
/* @__PURE__ */ jsx34("div", { className: "sb-absolute sb-w-full sb-h-full sb-top-0 sb-left-0", children: /* @__PURE__ */ jsx34(ChaptersPanal_default, { chapters }) }),
|
1298
|
+
/* @__PURE__ */ jsx34(TimeSlider_default, { chapters })
|
1214
1299
|
]
|
1215
1300
|
}
|
1216
1301
|
);
|
@@ -1219,7 +1304,7 @@ var TimeSliderContainer_default = TimeSliderContainer;
|
|
1219
1304
|
|
1220
1305
|
// src/components/BufferTracker/index.tsx
|
1221
1306
|
import { useEffect as useEffect10 } from "react";
|
1222
|
-
import { Fragment, jsx as
|
1307
|
+
import { Fragment, jsx as jsx35 } from "react/jsx-runtime";
|
1223
1308
|
var BufferTracker = () => {
|
1224
1309
|
const { player, setDownloadedBufferTimeufferTime } = useSoftBuildersVideoPlayerContext();
|
1225
1310
|
useEffect10(() => {
|
@@ -1228,13 +1313,13 @@ var BufferTracker = () => {
|
|
1228
1313
|
}, 1e3);
|
1229
1314
|
return () => clearInterval(intervalId);
|
1230
1315
|
}, [player]);
|
1231
|
-
return /* @__PURE__ */
|
1316
|
+
return /* @__PURE__ */ jsx35(Fragment, {});
|
1232
1317
|
};
|
1233
1318
|
var BufferTracker_default = BufferTracker;
|
1234
1319
|
|
1235
1320
|
// src/components/CurrentTimeTracker/index.tsx
|
1236
1321
|
import { useEffect as useEffect11 } from "react";
|
1237
|
-
import { Fragment as Fragment2, jsx as
|
1322
|
+
import { Fragment as Fragment2, jsx as jsx36 } from "react/jsx-runtime";
|
1238
1323
|
var CurrentTimeTracker = () => {
|
1239
1324
|
const { setCurrentTime, player } = useSoftBuildersVideoPlayerContext();
|
1240
1325
|
useEffect11(() => {
|
@@ -1243,19 +1328,19 @@ var CurrentTimeTracker = () => {
|
|
1243
1328
|
}, 500);
|
1244
1329
|
return () => clearInterval(intervalId);
|
1245
1330
|
}, [player]);
|
1246
|
-
return /* @__PURE__ */
|
1331
|
+
return /* @__PURE__ */ jsx36(Fragment2, {});
|
1247
1332
|
};
|
1248
1333
|
var CurrentTimeTracker_default = CurrentTimeTracker;
|
1249
1334
|
|
1250
1335
|
// src/components/SubtitleMenu/index.tsx
|
1251
1336
|
import { useEffect as useEffect12, useState as useState11 } from "react";
|
1252
|
-
import { jsx as
|
1337
|
+
import { jsx as jsx37, jsxs as jsxs15 } from "react/jsx-runtime";
|
1253
1338
|
var SubtitleOption = ({
|
1254
1339
|
isSelected,
|
1255
1340
|
subtitle,
|
1256
1341
|
onClick
|
1257
1342
|
}) => {
|
1258
|
-
return /* @__PURE__ */
|
1343
|
+
return /* @__PURE__ */ jsx37(
|
1259
1344
|
"button",
|
1260
1345
|
{
|
1261
1346
|
className: "hover:sb-text-orange-500 sb-p-2",
|
@@ -1263,9 +1348,9 @@ var SubtitleOption = ({
|
|
1263
1348
|
e.stopPropagation();
|
1264
1349
|
onClick(e);
|
1265
1350
|
},
|
1266
|
-
children: /* @__PURE__ */
|
1267
|
-
/* @__PURE__ */
|
1268
|
-
/* @__PURE__ */
|
1351
|
+
children: /* @__PURE__ */ jsxs15("div", { className: "sb-grid sb-grid-cols-12 sb-items-center sb-gap-2", children: [
|
1352
|
+
/* @__PURE__ */ jsx37("div", { className: "sb-col-span-3", children: isSelected ? /* @__PURE__ */ jsx37(CheckedIcon_default, { className: "sb-w-5 sb-h-5" }) : /* @__PURE__ */ jsx37("div", {}) }),
|
1353
|
+
/* @__PURE__ */ jsx37("p", { className: "sb-text-left sb-col-span-9", children: subtitle.label })
|
1269
1354
|
] })
|
1270
1355
|
}
|
1271
1356
|
);
|
@@ -1298,7 +1383,7 @@ var SubtitleMenu = ({
|
|
1298
1383
|
setSubtitles(textTracks);
|
1299
1384
|
}
|
1300
1385
|
}, [player]);
|
1301
|
-
return /* @__PURE__ */
|
1386
|
+
return /* @__PURE__ */ jsx37(
|
1302
1387
|
MenuButton_default,
|
1303
1388
|
{
|
1304
1389
|
onMouseEnter,
|
@@ -1307,14 +1392,14 @@ var SubtitleMenu = ({
|
|
1307
1392
|
onClick && onClick(e, isOpen);
|
1308
1393
|
},
|
1309
1394
|
classContainer: `${width < 400 || isTrailer ? "!sb-top-8 -sb-left-9" : ""}`,
|
1310
|
-
buttonContent: /* @__PURE__ */
|
1311
|
-
menuContent: /* @__PURE__ */
|
1395
|
+
buttonContent: /* @__PURE__ */ jsx37(SubIcon_default, { className: "sb-w-4 sb-h-4 sb-text-white " }),
|
1396
|
+
menuContent: /* @__PURE__ */ jsx37(
|
1312
1397
|
"div",
|
1313
1398
|
{
|
1314
1399
|
className: `sb-rounded-md sb-bg-[#303030] sb-bg-opacity-50 ${width > 400 && !isTrailer ? "sb-w-[150px] sb-py-5" : "sb-w-[90px] sb-items-center sb-justify-center sb-py-1"}`,
|
1315
|
-
children: /* @__PURE__ */
|
1316
|
-
/* @__PURE__ */
|
1317
|
-
/* @__PURE__ */
|
1400
|
+
children: /* @__PURE__ */ jsxs15("div", { className: "sb-flex sb-flex-col sb-gap-3", children: [
|
1401
|
+
/* @__PURE__ */ jsxs15("div", { className: "sb-px-5 sb-flex sb-flex-row sb-gap-3 sb-items-center sb-justify-center", children: [
|
1402
|
+
/* @__PURE__ */ jsx37(
|
1318
1403
|
"button",
|
1319
1404
|
{
|
1320
1405
|
onClick: () => {
|
@@ -1323,14 +1408,14 @@ var SubtitleMenu = ({
|
|
1323
1408
|
}
|
1324
1409
|
},
|
1325
1410
|
className: "hover:sb-scale-150",
|
1326
|
-
children: /* @__PURE__ */
|
1411
|
+
children: /* @__PURE__ */ jsx37(LeftArrowIcon_default, { className: "sb-w-3 sb-h-3" })
|
1327
1412
|
}
|
1328
1413
|
),
|
1329
|
-
/* @__PURE__ */
|
1414
|
+
/* @__PURE__ */ jsx37("h3", { children: "Subtitle" })
|
1330
1415
|
] }),
|
1331
|
-
/* @__PURE__ */
|
1332
|
-
/* @__PURE__ */
|
1333
|
-
return /* @__PURE__ */
|
1416
|
+
/* @__PURE__ */ jsx37("div", { className: "sb-w-full sb-h-[.1px] sb-bg-[#AAAAAA] sb-bg-opacity-70" }),
|
1417
|
+
/* @__PURE__ */ jsx37("div", { className: "sb-px-5 sb-flex sb-flex-col sb-gap-3 sb-items-start", children: subtitles.map((q, i) => {
|
1418
|
+
return /* @__PURE__ */ jsx37(
|
1334
1419
|
SubtitleOption,
|
1335
1420
|
{
|
1336
1421
|
isSelected: q.mode === "showing",
|
@@ -1355,7 +1440,7 @@ var SubtitleMenu_default = SubtitleMenu;
|
|
1355
1440
|
|
1356
1441
|
// src/components/Tooltip/GlobalTooltip.tsx
|
1357
1442
|
import { useState as useState12 } from "react";
|
1358
|
-
import { jsx as
|
1443
|
+
import { jsx as jsx38, jsxs as jsxs16 } from "react/jsx-runtime";
|
1359
1444
|
var TooltipModal = ({
|
1360
1445
|
content,
|
1361
1446
|
children,
|
@@ -1365,13 +1450,13 @@ var TooltipModal = ({
|
|
1365
1450
|
const [isOpen, setIsOpen] = useState12(false);
|
1366
1451
|
const showTooltip = () => setIsOpen(true);
|
1367
1452
|
const hideTooltip = () => setIsOpen(false);
|
1368
|
-
return /* @__PURE__ */
|
1453
|
+
return /* @__PURE__ */ jsxs16(
|
1369
1454
|
"div",
|
1370
1455
|
{
|
1371
1456
|
className: "tooltip-container",
|
1372
1457
|
style: { position: "relative", display: "inline-block" },
|
1373
1458
|
children: [
|
1374
|
-
/* @__PURE__ */
|
1459
|
+
/* @__PURE__ */ jsx38(
|
1375
1460
|
"div",
|
1376
1461
|
{
|
1377
1462
|
onMouseEnter: showTooltip,
|
@@ -1380,7 +1465,7 @@ var TooltipModal = ({
|
|
1380
1465
|
children
|
1381
1466
|
}
|
1382
1467
|
),
|
1383
|
-
isOpen && /* @__PURE__ */
|
1468
|
+
isOpen && /* @__PURE__ */ jsx38(
|
1384
1469
|
"div",
|
1385
1470
|
{
|
1386
1471
|
className: `sb-tooltip-modal sb-text-orange-900 sb-my-2 ${width > 400 ? "!sb-bottom-[105%]" : "!sb-top-[105%]"}`,
|
@@ -1405,7 +1490,7 @@ var TooltipModal = ({
|
|
1405
1490
|
var GlobalTooltip_default = TooltipModal;
|
1406
1491
|
|
1407
1492
|
// src/components/ControlBar/index.tsx
|
1408
|
-
import {
|
1493
|
+
import { jsx as jsx39, jsxs as jsxs17 } from "react/jsx-runtime";
|
1409
1494
|
var ControlBar = ({
|
1410
1495
|
player,
|
1411
1496
|
isPaused,
|
@@ -1456,67 +1541,64 @@ var ControlBar = ({
|
|
1456
1541
|
useEffect13(() => {
|
1457
1542
|
setDuration(duration);
|
1458
1543
|
}, [duration]);
|
1459
|
-
return /* @__PURE__ */
|
1544
|
+
return /* @__PURE__ */ jsxs17(
|
1460
1545
|
"div",
|
1461
1546
|
{
|
1462
1547
|
className: ` !sb-px-4 sb-flex sb-pt-2 sb-justify-center sb-gap-3 sb-w-full sb-h-full ${width > 400 && !isTrailer ? "sb-absolute sb-bottom-1 sb-items-end sb-mb-1 sb-pb-2 " : "sb-items-start"} sb-pb-2`,
|
1463
1548
|
children: [
|
1464
|
-
/* @__PURE__ */
|
1465
|
-
/* @__PURE__ */
|
1466
|
-
!isTrailer && /* @__PURE__ */
|
1467
|
-
"
|
1468
|
-
|
1469
|
-
|
1470
|
-
|
1471
|
-
|
1472
|
-
|
1473
|
-
|
1474
|
-
|
1475
|
-
|
1476
|
-
{
|
1477
|
-
|
1478
|
-
|
1479
|
-
|
1480
|
-
|
1481
|
-
|
1482
|
-
|
1483
|
-
|
1484
|
-
|
1485
|
-
|
1486
|
-
|
1487
|
-
{
|
1488
|
-
|
1489
|
-
|
1490
|
-
|
1491
|
-
|
1492
|
-
|
1493
|
-
|
1494
|
-
|
1495
|
-
|
1496
|
-
|
1497
|
-
|
1498
|
-
|
1499
|
-
|
1500
|
-
|
1501
|
-
|
1502
|
-
|
1503
|
-
{
|
1504
|
-
|
1505
|
-
|
1506
|
-
|
1507
|
-
|
1508
|
-
|
1509
|
-
|
1510
|
-
}
|
1511
|
-
)
|
1512
|
-
] }),
|
1549
|
+
/* @__PURE__ */ jsx39(BufferTracker_default, {}),
|
1550
|
+
/* @__PURE__ */ jsx39(CurrentTimeTracker_default, {}),
|
1551
|
+
!isTrailer && /* @__PURE__ */ jsx39(
|
1552
|
+
"button",
|
1553
|
+
{
|
1554
|
+
onClick: () => {
|
1555
|
+
seek(-seekStep);
|
1556
|
+
},
|
1557
|
+
children: /* @__PURE__ */ jsx39(
|
1558
|
+
GlobalTooltip_default,
|
1559
|
+
{
|
1560
|
+
width,
|
1561
|
+
content: /* @__PURE__ */ jsx39("p", { children: "Backward 5 sec" }),
|
1562
|
+
isLeft: true,
|
1563
|
+
children: /* @__PURE__ */ jsx39(BackwardIcon_default, { className: "sb-w-3 sb-h-3" })
|
1564
|
+
}
|
1565
|
+
)
|
1566
|
+
}
|
1567
|
+
),
|
1568
|
+
/* @__PURE__ */ jsx39("button", { onClick: togglePlay, children: /* @__PURE__ */ jsx39(
|
1569
|
+
GlobalTooltip_default,
|
1570
|
+
{
|
1571
|
+
width,
|
1572
|
+
content: /* @__PURE__ */ jsx39("p", { children: isPaused ? "Play" : "pause" }),
|
1573
|
+
isLeft: true,
|
1574
|
+
children: isPaused ? /* @__PURE__ */ jsx39(PlayIcon_default, { className: "sb-w-3 sb-h-3" }) : /* @__PURE__ */ jsx39(PauseIcon_default, { className: "sb-w-3 sb-h-3" })
|
1575
|
+
}
|
1576
|
+
) }),
|
1577
|
+
!isTrailer && /* @__PURE__ */ jsx39(
|
1578
|
+
"button",
|
1579
|
+
{
|
1580
|
+
onClick: (e) => {
|
1581
|
+
e.preventDefault();
|
1582
|
+
seek(seekStep);
|
1583
|
+
},
|
1584
|
+
children: /* @__PURE__ */ jsx39(
|
1585
|
+
GlobalTooltip_default,
|
1586
|
+
{
|
1587
|
+
width,
|
1588
|
+
content: /* @__PURE__ */ jsx39("p", { children: "Forward 5 sec" }),
|
1589
|
+
isLeft: true,
|
1590
|
+
children: /* @__PURE__ */ jsx39(ForwardIcon_default, { className: "sb-w-3 sb-h-3" })
|
1591
|
+
}
|
1592
|
+
)
|
1593
|
+
}
|
1594
|
+
),
|
1513
1595
|
// isSeeking ||
|
1514
1596
|
// width > 400 &&
|
1515
|
-
/* @__PURE__ */
|
1597
|
+
/* @__PURE__ */ jsx39(
|
1516
1598
|
"div",
|
1517
1599
|
{
|
1518
1600
|
className: `${width < 400 && !isTrailer ? "sb-flex-1 sb-ml-0 sb-mr-0" : "sb-w-full"}`,
|
1519
|
-
children: /* @__PURE__ */
|
1601
|
+
children: /* @__PURE__ */ jsxs17(
|
1520
1602
|
"div",
|
1521
1603
|
{
|
1522
1604
|
style: width < 400 && !isTrailer ? {
|
@@ -1526,15 +1608,15 @@ var ControlBar = ({
|
|
1526
1608
|
} : { width: "98%" },
|
1527
1609
|
className: `flex gap-2 ${width < 400 && !isTrailer ? "absolute sb-top-1" : "-sb-translate-y-0 sb-w-full"} hover:sb-w-[45%] `,
|
1528
1610
|
children: [
|
1529
|
-
/* @__PURE__ */
|
1530
|
-
/* @__PURE__ */
|
1531
|
-
/* @__PURE__ */
|
1611
|
+
/* @__PURE__ */ jsx39(CurrentTimeLabel_default, {}),
|
1612
|
+
/* @__PURE__ */ jsx39(TimeSliderContainer_default, { chapters, notes }),
|
1613
|
+
/* @__PURE__ */ jsx39("p", { children: durationFormater(duration) })
|
1532
1614
|
]
|
1533
1615
|
}
|
1534
1616
|
)
|
1535
1617
|
}
|
1536
1618
|
),
|
1537
|
-
/* @__PURE__ */
|
1619
|
+
/* @__PURE__ */ jsx39("div", { className: "sb-h-full", children: /* @__PURE__ */ jsx39(
|
1538
1620
|
VolumeSlider_default,
|
1539
1621
|
{
|
1540
1622
|
isTrailer,
|
@@ -1544,7 +1626,7 @@ var ControlBar = ({
|
|
1544
1626
|
handleControlDisplayTimer
|
1545
1627
|
}
|
1546
1628
|
) }),
|
1547
|
-
/* @__PURE__ */
|
1629
|
+
/* @__PURE__ */ jsx39(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx39("p", { children: "Quality" }), children: /* @__PURE__ */ jsx39(
|
1548
1630
|
QualityMenu_default,
|
1549
1631
|
{
|
1550
1632
|
isTrailer,
|
@@ -1555,7 +1637,7 @@ var ControlBar = ({
|
|
1555
1637
|
}
|
1556
1638
|
}
|
1557
1639
|
) }),
|
1558
|
-
disableNote && /* @__PURE__ */
|
1640
|
+
disableNote && /* @__PURE__ */ jsx39(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx39("p", { children: "Create note" }), children: /* @__PURE__ */ jsx39(
|
1559
1641
|
CreateNoteMenu_default,
|
1560
1642
|
{
|
1561
1643
|
handleSaveNoteAction,
|
@@ -1570,7 +1652,7 @@ var ControlBar = ({
|
|
1570
1652
|
}
|
1571
1653
|
}
|
1572
1654
|
) }),
|
1573
|
-
/* @__PURE__ */
|
1655
|
+
/* @__PURE__ */ jsx39(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx39("p", { children: "Subtitle" }), children: /* @__PURE__ */ jsx39(
|
1574
1656
|
SubtitleMenu_default,
|
1575
1657
|
{
|
1576
1658
|
isTrailer,
|
@@ -1581,7 +1663,7 @@ var ControlBar = ({
|
|
1581
1663
|
}
|
1582
1664
|
}
|
1583
1665
|
) }),
|
1584
|
-
/* @__PURE__ */
|
1666
|
+
/* @__PURE__ */ jsx39(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx39("p", { children: "Full screen" }), children: /* @__PURE__ */ jsx39(
|
1585
1667
|
"button",
|
1586
1668
|
{
|
1587
1669
|
onClick: (e) => {
|
@@ -1593,7 +1675,7 @@ var ControlBar = ({
|
|
1593
1675
|
player == null ? void 0 : player.requestFullscreen();
|
1594
1676
|
}
|
1595
1677
|
},
|
1596
|
-
children: /* @__PURE__ */
|
1678
|
+
children: /* @__PURE__ */ jsx39(FullScreenIcon_default, { className: "sb-w-3 sb-h-3" })
|
1597
1679
|
}
|
1598
1680
|
) })
|
1599
1681
|
]
|
@@ -1606,36 +1688,40 @@ var ControlBar_default = ControlBar;
|
|
1606
1688
|
import { isEqual } from "lodash";
|
1607
1689
|
|
1608
1690
|
// src/components/BigPlayButton/index.tsx
|
1609
|
-
import { jsx as
|
1691
|
+
import { jsx as jsx40, jsxs as jsxs18 } from "react/jsx-runtime";
|
1610
1692
|
var BigPlayButton = ({
|
1611
1693
|
player,
|
1612
1694
|
isPaused,
|
1613
1695
|
setIsPaused,
|
1614
1696
|
height,
|
1615
1697
|
id,
|
1616
|
-
heightValue
|
1698
|
+
heightValue,
|
1699
|
+
isLoading
|
1617
1700
|
}) => {
|
1618
1701
|
const togglePlay = () => {
|
1619
1702
|
if (isPaused) player == null ? void 0 : player.play();
|
1620
1703
|
else player == null ? void 0 : player.pause();
|
1621
1704
|
setIsPaused(!isPaused);
|
1622
1705
|
};
|
1623
|
-
return /* @__PURE__ */
|
1706
|
+
return /* @__PURE__ */ jsx40(
|
1624
1707
|
"div",
|
1625
1708
|
{
|
1626
1709
|
style: __spreadValues({}, height && heightValue ? { position: "absolute", top: `-${(heightValue - height) / 2}px` } : {}),
|
1627
1710
|
onClick: togglePlay,
|
1628
|
-
className: ` sb-w-16 sb-h-16 sb-rounded-full sb-bg-white/30 sb-backdrop-blur-lg sb-flex sb-items-center sb-justify-center`,
|
1629
|
-
children: isPaused ? /* @__PURE__ */
|
1711
|
+
className: ` sb-w-16 sb-h-16 sb-rounded-full ${!isLoading ? "sb-bg-white/30 sb-backdrop-blur-lg" : ""} sb-flex sb-items-center sb-justify-center`,
|
1712
|
+
children: isPaused || isLoading ? /* @__PURE__ */ jsxs18("div", { children: [
|
1713
|
+
!isLoading && /* @__PURE__ */ jsx40(PlayIcon_default, { className: "sb-w-4 sb-h-4" }),
|
1714
|
+
isLoading && /* @__PURE__ */ jsx40(SkillamiIcon_default, { className: " sb-w-16 sb-h-16 sb-animate-spin sb-absolute -sb-top-2 -sb-right-2 " })
|
1715
|
+
] }) : /* @__PURE__ */ jsx40(PauseIcon_default, { className: "sb-w-4 sb-h-4" })
|
1630
1716
|
}
|
1631
1717
|
);
|
1632
1718
|
};
|
1633
1719
|
var BigPlayButton_default = BigPlayButton;
|
1634
1720
|
|
1635
1721
|
// src/components/VideoPlayerComponent/index.tsx
|
1636
|
-
import { Fragment as
|
1722
|
+
import { Fragment as Fragment3, jsx as jsx41, jsxs as jsxs19 } from "react/jsx-runtime";
|
1637
1723
|
var bigPlayButtonRoot = {};
|
1638
|
-
var renderBigPlayButton = (id, player, isPaused, setIsPaused, opacity = "100", height, heightValue) => {
|
1724
|
+
var renderBigPlayButton = (id, player, isPaused, setIsPaused, opacity = "100", height, heightValue, isLoading) => {
|
1639
1725
|
const container = document.getElementById(`video-container-${id}`);
|
1640
1726
|
if (container) {
|
1641
1727
|
container.style.height = "100%";
|
@@ -1646,14 +1732,15 @@ var renderBigPlayButton = (id, player, isPaused, setIsPaused, opacity = "100", h
|
|
1646
1732
|
bigPlayButtonRoot[id] = ReactDOM.createRoot(element);
|
1647
1733
|
}
|
1648
1734
|
bigPlayButtonRoot[id].render(
|
1649
|
-
/* @__PURE__ */
|
1735
|
+
/* @__PURE__ */ jsx41(
|
1650
1736
|
BigPlayButton_default,
|
1651
1737
|
{
|
1652
1738
|
player,
|
1653
1739
|
isPaused,
|
1654
1740
|
setIsPaused,
|
1655
1741
|
height,
|
1656
|
-
heightValue
|
1742
|
+
heightValue,
|
1743
|
+
isLoading
|
1657
1744
|
}
|
1658
1745
|
)
|
1659
1746
|
);
|
@@ -1678,7 +1765,7 @@ var renderControlBar = (id, player, isPaused, setIsPaused, duration, notes, chap
|
|
1678
1765
|
element.style.height = "100%";
|
1679
1766
|
element.style.alignItems = "flex-end";
|
1680
1767
|
controlBarRoot[id].render(
|
1681
|
-
/* @__PURE__ */
|
1768
|
+
/* @__PURE__ */ jsx41(SoftBuildersVideoPlayerProvider, { children: /* @__PURE__ */ jsx41(
|
1682
1769
|
ControlBar_default,
|
1683
1770
|
{
|
1684
1771
|
id,
|
@@ -1736,6 +1823,7 @@ var VideoPlayerComponent = forwardRef(
|
|
1736
1823
|
const [isHovered, setIsHovered] = useState14(false);
|
1737
1824
|
const [isNoteOpen, setNoteOpen] = useState14(false);
|
1738
1825
|
const [heightValue, setHeightValue] = useState14(0);
|
1826
|
+
const [isLoading, setIsloading] = useState14(false);
|
1739
1827
|
const onReady = (player) => {
|
1740
1828
|
if (playerRef) {
|
1741
1829
|
playerRef.current = player;
|
@@ -1885,12 +1973,13 @@ var VideoPlayerComponent = forwardRef(
|
|
1885
1973
|
setIsPaused,
|
1886
1974
|
opacity,
|
1887
1975
|
height,
|
1888
|
-
heightValue
|
1976
|
+
heightValue,
|
1977
|
+
isLoading
|
1889
1978
|
);
|
1890
1979
|
}, 500);
|
1891
1980
|
return () => clearTimeout(playButtonTimeout);
|
1892
1981
|
}
|
1893
|
-
}, [isPaused, opacity, isReady, id, height, heightValue]);
|
1982
|
+
}, [isPaused, opacity, isReady, id, height, heightValue, isLoading]);
|
1894
1983
|
useEffect14(() => {
|
1895
1984
|
if (playerRef.current) {
|
1896
1985
|
const intervalId = setInterval(() => {
|
@@ -2020,7 +2109,27 @@ var VideoPlayerComponent = forwardRef(
|
|
2020
2109
|
if (controlBar) {
|
2021
2110
|
resizeObserver.observe(controlBar);
|
2022
2111
|
}
|
2023
|
-
|
2112
|
+
function debounce(func, delay) {
|
2113
|
+
let timeoutId;
|
2114
|
+
return function(arg) {
|
2115
|
+
if (timeoutId) {
|
2116
|
+
clearTimeout(timeoutId);
|
2117
|
+
}
|
2118
|
+
timeoutId = setTimeout(() => {
|
2119
|
+
func(arg);
|
2120
|
+
}, delay);
|
2121
|
+
};
|
2122
|
+
}
|
2123
|
+
if (playerRef.current) {
|
2124
|
+
playerRef.current.on("waiting", function() {
|
2125
|
+
console.log("The player is buffering...");
|
2126
|
+
debounce((arg) => setIsloading(arg), 300)(true);
|
2127
|
+
});
|
2128
|
+
playerRef.current.on("playing", function() {
|
2129
|
+
debounce((arg) => setIsloading(arg), 300)(false);
|
2130
|
+
});
|
2131
|
+
}
|
2132
|
+
return /* @__PURE__ */ jsx41(Fragment3, { children: /* @__PURE__ */ jsxs19(
|
2024
2133
|
"div",
|
2025
2134
|
{
|
2026
2135
|
ref: videoRefs,
|
@@ -2032,7 +2141,7 @@ var VideoPlayerComponent = forwardRef(
|
|
2032
2141
|
onMouseEnter: () => setIsHovered(true),
|
2033
2142
|
onMouseLeave: () => setIsHovered(false),
|
2034
2143
|
children: [
|
2035
|
-
bottomRedBar && /* @__PURE__ */
|
2144
|
+
bottomRedBar && /* @__PURE__ */ jsx41(
|
2036
2145
|
"div",
|
2037
2146
|
{
|
2038
2147
|
ref: childRef,
|
@@ -2043,12 +2152,12 @@ var VideoPlayerComponent = forwardRef(
|
|
2043
2152
|
}
|
2044
2153
|
}
|
2045
2154
|
),
|
2046
|
-
/* @__PURE__ */
|
2155
|
+
/* @__PURE__ */ jsx41(
|
2047
2156
|
"div",
|
2048
2157
|
{
|
2049
2158
|
className: "hover:sb-cursor-pointer sb-w-full sb-h-full",
|
2050
2159
|
"data-vjs-player": true,
|
2051
|
-
children: /* @__PURE__ */
|
2160
|
+
children: /* @__PURE__ */ jsx41(
|
2052
2161
|
"div",
|
2053
2162
|
{
|
2054
2163
|
onClick: handlePlayerClick,
|
@@ -2068,7 +2177,7 @@ var VideoPlayerComponent_default = VideoPlayerComponent;
|
|
2068
2177
|
// src/components/SoftBuildersVideoPlayer/index.tsx
|
2069
2178
|
import { isEqual as isEqual2 } from "lodash";
|
2070
2179
|
import { v4 as uuidv4 } from "uuid";
|
2071
|
-
import { jsx as
|
2180
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
2072
2181
|
var DEFAULT_OPTIONS = {
|
2073
2182
|
autoplay: false,
|
2074
2183
|
controls: true,
|
@@ -2137,7 +2246,7 @@ var Component = forwardRef2(
|
|
2137
2246
|
useEffect15(() => {
|
2138
2247
|
setUuid(uuidv4());
|
2139
2248
|
}, []);
|
2140
|
-
return /* @__PURE__ */
|
2249
|
+
return /* @__PURE__ */ jsx42(
|
2141
2250
|
VideoPlayerComponent_default,
|
2142
2251
|
{
|
2143
2252
|
id: uuid,
|
@@ -2160,7 +2269,7 @@ var Component = forwardRef2(
|
|
2160
2269
|
}
|
2161
2270
|
);
|
2162
2271
|
var SoftBuildersVideoPlayer = memo(Component, (prevProps, nextProps) => {
|
2163
|
-
return isEqual2(prevProps.options, nextProps.options) && prevProps.notes === nextProps.notes && prevProps.chapters === nextProps.chapters && prevProps.startTime === nextProps.startTime;
|
2272
|
+
return isEqual2(prevProps.options, nextProps.options) && prevProps.notes === nextProps.notes && prevProps.chapters === nextProps.chapters && prevProps.startTime === nextProps.startTime && prevProps.height === nextProps.height;
|
2164
2273
|
});
|
2165
2274
|
var SoftBuildersVideoPlayer_default = SoftBuildersVideoPlayer;
|
2166
2275
|
|