softbuilders-react-video-player 1.2.18 → 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.
Files changed (39) hide show
  1. package/dist/components/BigPlayButton/index.d.ts +2 -1
  2. package/dist/components/BigPlayButton/index.js +4 -4
  3. package/dist/components/BigPlayButton/index.js.map +1 -1
  4. package/dist/components/BigPlayButton/index.tsx +13 -5
  5. package/dist/components/ControlBar/index.js +7 -7
  6. package/dist/components/ControlBar/index.js.map +1 -1
  7. package/dist/components/ControlBar/index.tsx +40 -41
  8. package/dist/components/Slider/index.d.ts +3 -1
  9. package/dist/components/Slider/index.js +9 -3
  10. package/dist/components/Slider/index.js.map +1 -1
  11. package/dist/components/Slider/index.tsx +13 -2
  12. package/dist/components/SoftBuildersVideoPlayer/index.js +2 -1
  13. package/dist/components/SoftBuildersVideoPlayer/index.js.map +1 -1
  14. package/dist/components/SoftBuildersVideoPlayer/index.tsx +2 -1
  15. package/dist/components/TimeSlider/index.js +25 -10
  16. package/dist/components/TimeSlider/index.js.map +1 -1
  17. package/dist/components/TimeSlider/index.tsx +27 -11
  18. package/dist/components/VideoPlayerComponent/index.js +26 -4
  19. package/dist/components/VideoPlayerComponent/index.js.map +1 -1
  20. package/dist/components/VideoPlayerComponent/index.tsx +35 -4
  21. package/dist/components/VideoPlayerComponent/style/style.css +17 -1
  22. package/dist/components/VolumeSlider/index.js +26 -1
  23. package/dist/components/VolumeSlider/index.js.map +1 -1
  24. package/dist/components/VolumeSlider/index.tsx +29 -0
  25. package/dist/components/icons/SkillamiIcon.d.ts +3 -0
  26. package/dist/components/icons/SkillamiIcon.js +4 -0
  27. package/dist/components/icons/SkillamiIcon.js.map +1 -0
  28. package/dist/components/icons/SkillamiIcon.tsx +25 -0
  29. package/dist/components/icons/index.d.ts +1 -0
  30. package/dist/components/icons/index.js +1 -0
  31. package/dist/components/icons/index.js.map +1 -1
  32. package/dist/components/icons/index.ts +1 -0
  33. package/dist/images/index.d.ts +1 -0
  34. package/dist/images/index.js +1 -0
  35. package/dist/images/index.js.map +1 -1
  36. package/dist/index.css +30 -0
  37. package/dist/index.mjs +309 -207
  38. package/dist/styles/tailwind.css +15 -0
  39. 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
- onMouseDown: (e) => e.stopPropagation(),
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) => e.stopPropagation(),
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/SubIcon.tsx
436
+ // src/components/icons/SkillamiIcon.tsx
426
437
  import { jsx as jsx16, jsxs as jsxs2 } from "react/jsx-runtime";
427
- var SvgSubIcon = (props) => /* @__PURE__ */ jsxs2(
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__ */ jsx16(
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__ */ jsx16(
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 jsx17, jsxs as jsxs3 } from "react/jsx-runtime";
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 jsx18 } from "react/jsx-runtime";
515
+ import { jsx as jsx19 } from "react/jsx-runtime";
467
516
 
468
517
  // src/components/icons/VolumeHigh.tsx
469
- import { jsx as jsx19, jsxs as jsxs4 } from "react/jsx-runtime";
470
- var SvgVolumeHigh = (props) => /* @__PURE__ */ jsxs4(
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__ */ jsx19("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" }),
481
- /* @__PURE__ */ jsx19("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" })
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 jsx20 } from "react/jsx-runtime";
489
- var SvgVolumeLow = (props) => /* @__PURE__ */ jsx20(
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__ */ jsx20("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" })
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 jsx21, jsxs as jsxs5 } from "react/jsx-runtime";
505
- var SvgVolumeMute = (props) => /* @__PURE__ */ jsxs5(
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__ */ jsx21(
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__ */ jsx21("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" }),
529
- /* @__PURE__ */ jsx21("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" })
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 jsx22 } from "react/jsx-runtime";
537
- var SvgVolumeVLow = (props) => /* @__PURE__ */ jsx22(
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__ */ jsx22("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" })
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 jsx23, jsxs as jsxs6 } from "react/jsx-runtime";
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;
@@ -594,6 +644,28 @@ var VolumeSlider = ({
594
644
  player == null ? void 0 : player.muted(false);
595
645
  }
596
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
+ };
597
669
  const timeoutRef = React2.useRef(null);
598
670
  useEffect2(() => {
599
671
  setVisible(false);
@@ -632,33 +704,33 @@ var VolumeSlider = ({
632
704
  setVolume(0);
633
705
  player == null ? void 0 : player.muted(true);
634
706
  };
635
- return /* @__PURE__ */ jsxs6(
707
+ return /* @__PURE__ */ jsxs7(
636
708
  "div",
637
709
  {
638
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`,
639
711
  children: [
640
- /* @__PURE__ */ jsx23(
712
+ /* @__PURE__ */ jsx24(
641
713
  "div",
642
714
  {
643
715
  className: `sb-flex sb-relative ${width < 400 || isTrailer ? "-sb-top-1" : "sb-top-1"}`,
644
716
  onClick: toggleVisibility,
645
717
  onDoubleClick: handleDoubleClick,
646
- children: volume == 0 || (player == null ? void 0 : player.muted()) ? /* @__PURE__ */ jsx23(
718
+ children: volume == 0 || (player == null ? void 0 : player.muted()) ? /* @__PURE__ */ jsx24(
647
719
  VolumeMute_default,
648
720
  {
649
721
  className: `sb-w-3 sb-h-3 ${width < 400 || isTrailer ? "" : ""} sb-h-5 sb-w-5`
650
722
  }
651
- ) : volume < 25 ? /* @__PURE__ */ jsx23(
723
+ ) : volume < 25 ? /* @__PURE__ */ jsx24(
652
724
  VolumeVLow_default,
653
725
  {
654
726
  className: `sb-w-3 sb-h-3 ${width < 400 || isTrailer ? "" : ""} sb-h-5 sb-w-5`
655
727
  }
656
- ) : volume < 50 ? /* @__PURE__ */ jsx23(
728
+ ) : volume < 50 ? /* @__PURE__ */ jsx24(
657
729
  VolumeLow_default,
658
730
  {
659
731
  className: `sb-w-3 sb-h-3 ${width < 400 || isTrailer ? "" : ""} sb-h-5 sb-w-5`
660
732
  }
661
- ) : /* @__PURE__ */ jsx23(
733
+ ) : /* @__PURE__ */ jsx24(
662
734
  VolumeHigh_default,
663
735
  {
664
736
  className: `sb-w-3 sb-h-3 ${width < 400 || isTrailer ? "" : ""} sb-h-5 sb-w-5`
@@ -666,19 +738,21 @@ var VolumeSlider = ({
666
738
  )
667
739
  }
668
740
  ),
669
- /* @__PURE__ */ jsx23("div", { className: "sb-flex sb-items-center sb-justify-center", children: /* @__PURE__ */ jsx23(
741
+ /* @__PURE__ */ jsx24("div", { className: "sb-flex sb-items-center sb-justify-center", children: /* @__PURE__ */ jsx24(
670
742
  "div",
671
743
  {
672
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`,
673
- children: /* @__PURE__ */ jsx23(
745
+ children: /* @__PURE__ */ jsx24(
674
746
  Slider_default,
675
747
  {
748
+ onMouseMove: (e) => onMouseMove(e),
676
749
  value: volume,
677
750
  handleValueChange,
678
751
  min: MIN,
679
752
  max: MAX,
680
753
  className: "!sb-w-16 ",
681
- handleSliderClick: handleVolumeSliderClick
754
+ handleSliderClick: handleVolumeSliderClick,
755
+ setClicked
682
756
  }
683
757
  )
684
758
  }
@@ -694,7 +768,7 @@ import { useEffect as useEffect4, useState as useState4 } from "react";
694
768
 
695
769
  // src/components/MenuButton/index.tsx
696
770
  import { useCallback, useEffect as useEffect3, useRef, useState as useState3 } from "react";
697
- import { jsx as jsx24, jsxs as jsxs7 } from "react/jsx-runtime";
771
+ import { jsx as jsx25, jsxs as jsxs8 } from "react/jsx-runtime";
698
772
  var MenuButton = ({
699
773
  buttonContent,
700
774
  menuContent,
@@ -729,14 +803,14 @@ var MenuButton = ({
729
803
  useEffect3(() => {
730
804
  setNoteOpen && setNoteOpen(isOpen);
731
805
  }, [isOpen]);
732
- return /* @__PURE__ */ jsxs7(
806
+ return /* @__PURE__ */ jsxs8(
733
807
  "div",
734
808
  {
735
809
  onMouseEnter,
736
810
  onMouseLeave,
737
811
  className: "sb-relative sb-flex sb-items-end",
738
812
  children: [
739
- /* @__PURE__ */ jsx24(
813
+ /* @__PURE__ */ jsx25(
740
814
  "button",
741
815
  {
742
816
  ref: buttonRef,
@@ -752,7 +826,7 @@ var MenuButton = ({
752
826
  children: buttonContent
753
827
  }
754
828
  ),
755
- !disablePopUp && isOpen && /* @__PURE__ */ jsx24(
829
+ !disablePopUp && isOpen && /* @__PURE__ */ jsx25(
756
830
  "div",
757
831
  {
758
832
  ref: menuRef,
@@ -770,7 +844,7 @@ var MenuButton = ({
770
844
  var MenuButton_default = MenuButton;
771
845
 
772
846
  // src/components/QualityMenu/index.tsx
773
- import { jsx as jsx25, jsxs as jsxs8 } from "react/jsx-runtime";
847
+ import { jsx as jsx26, jsxs as jsxs9 } from "react/jsx-runtime";
774
848
  var QualityOption = ({
775
849
  isSelected,
776
850
  quality,
@@ -778,19 +852,19 @@ var QualityOption = ({
778
852
  width,
779
853
  isTrailer
780
854
  }) => {
781
- return /* @__PURE__ */ jsx25(
855
+ return /* @__PURE__ */ jsx26(
782
856
  "button",
783
857
  {
784
858
  className: `hover:sb-text-orange-500 ${width > 400 && !isTrailer ? "sb-p-2" : "sp-pb-1"}`,
785
859
  onClick,
786
- children: /* @__PURE__ */ jsxs8("div", { className: "sb-grid sb-grid-cols-12 sb-items-center sb-gap-2", children: [
787
- /* @__PURE__ */ jsx25("div", { className: "sb-col-span-3", children: isSelected ? /* @__PURE__ */ jsx25(
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(
788
862
  CheckedIcon_default,
789
863
  {
790
864
  className: `${width > 400 && !isTrailer ? "sb-w-5 sb-h-5" : "sb-w-3 sb-h-3"}`
791
865
  }
792
- ) : /* @__PURE__ */ jsx25("div", {}) }),
793
- /* @__PURE__ */ jsx25("p", { className: "sb-text-left sb-col-span-9", children: quality == null ? void 0 : quality.label })
866
+ ) : /* @__PURE__ */ jsx26("div", {}) }),
867
+ /* @__PURE__ */ jsx26("p", { className: "sb-text-left sb-col-span-9", children: quality == null ? void 0 : quality.label })
794
868
  ] })
795
869
  }
796
870
  );
@@ -819,25 +893,25 @@ var QualityMenu = ({ width, onClick, isTrailer }) => {
819
893
  }
820
894
  }
821
895
  }, [player]);
822
- return /* @__PURE__ */ jsx25(
896
+ return /* @__PURE__ */ jsx26(
823
897
  MenuButton_default,
824
898
  {
825
899
  classContainer: `${width < 400 || isTrailer ? "!sb-top-8 -sb-left-9" : ""}`,
826
900
  onClick: (e, isOpen) => {
827
901
  onClick && onClick(e, isOpen);
828
902
  },
829
- buttonContent: /* @__PURE__ */ jsx25(SettingsIcon_default, { className: "sb-w-3 sb-h-3" }),
830
- menuContent: /* @__PURE__ */ jsx25(
903
+ buttonContent: /* @__PURE__ */ jsx26(SettingsIcon_default, { className: "sb-w-3 sb-h-3" }),
904
+ menuContent: /* @__PURE__ */ jsx26(
831
905
  "div",
832
906
  {
833
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"}`,
834
- children: /* @__PURE__ */ jsxs8("div", { className: "sb-flex sb-flex-col sb-gap-3", children: [
835
- /* @__PURE__ */ jsxs8(
908
+ children: /* @__PURE__ */ jsxs9("div", { className: "sb-flex sb-flex-col sb-gap-3", children: [
909
+ /* @__PURE__ */ jsxs9(
836
910
  "div",
837
911
  {
838
912
  className: `sb-px-5 sb-flex sb-flex-row sb-gap-3 sb-items-start sb-relative sb-top-2`,
839
913
  children: [
840
- /* @__PURE__ */ jsx25(
914
+ /* @__PURE__ */ jsx26(
841
915
  "button",
842
916
  {
843
917
  onClick: () => {
@@ -846,16 +920,16 @@ var QualityMenu = ({ width, onClick, isTrailer }) => {
846
920
  }
847
921
  },
848
922
  className: "hover:sb-scale-150",
849
- children: /* @__PURE__ */ jsx25(LeftArrowIcon_default, { className: "sb-w-3 sb-h-3" })
923
+ children: /* @__PURE__ */ jsx26(LeftArrowIcon_default, { className: "sb-w-3 sb-h-3" })
850
924
  }
851
925
  ),
852
- /* @__PURE__ */ jsx25("h3", { children: "Quality" })
926
+ /* @__PURE__ */ jsx26("h3", { children: "Quality" })
853
927
  ]
854
928
  }
855
929
  ),
856
- /* @__PURE__ */ jsx25("div", { className: "sb-w-full sb-h-[.1px] sb-bg-[#AAAAAA] sb-bg-opacity-70" }),
857
- /* @__PURE__ */ jsx25("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) => {
858
- return /* @__PURE__ */ jsx25(
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(
859
933
  QualityOption,
860
934
  {
861
935
  width,
@@ -891,7 +965,7 @@ var QualityMenu_default = QualityMenu;
891
965
 
892
966
  // src/components/CreateNoteMenu/index.tsx
893
967
  import React5, { useState as useState5 } from "react";
894
- import { jsx as jsx26, jsxs as jsxs9 } from "react/jsx-runtime";
968
+ import { jsx as jsx27, jsxs as jsxs10 } from "react/jsx-runtime";
895
969
  var CreateNoteMenu = ({
896
970
  handleSaveNoteAction,
897
971
  width,
@@ -914,7 +988,7 @@ var CreateNoteMenu = ({
914
988
  );
915
989
  }
916
990
  };
917
- return /* @__PURE__ */ jsx26(
991
+ return /* @__PURE__ */ jsx27(
918
992
  MenuButton_default,
919
993
  {
920
994
  onMouseEnter,
@@ -923,21 +997,21 @@ var CreateNoteMenu = ({
923
997
  noteButtonClick,
924
998
  setNoteOpen,
925
999
  classContainer: `${width < 400 ? "!sb-top-8 -sb-left-[9.75rem]" : ""}`,
926
- buttonContent: /* @__PURE__ */ jsx26(ClosedNoteIcon_default, { className: "sb-w-3 sb-h-3" }),
927
- menuContent: /* @__PURE__ */ jsx26(
1000
+ buttonContent: /* @__PURE__ */ jsx27(ClosedNoteIcon_default, { className: "sb-w-3 sb-h-3" }),
1001
+ menuContent: /* @__PURE__ */ jsx27(
928
1002
  "div",
929
1003
  {
930
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]"}`,
931
- children: /* @__PURE__ */ jsxs9(
1005
+ children: /* @__PURE__ */ jsxs10(
932
1006
  "div",
933
1007
  {
934
1008
  className: "sb-flex sb-flex-col sb-gap-3 sb-items-center sb-justify-center",
935
1009
  onClick: (e) => e.stopPropagation(),
936
1010
  children: [
937
- /* @__PURE__ */ jsx26("h3", { className: "sb-px-5", children: "Add Note" }),
938
- /* @__PURE__ */ jsx26("div", { className: "sb-w-full sb-h-[.1px] sb-bg-[#AAAAAA] sb-bg-opacity-70" }),
939
- /* @__PURE__ */ jsxs9("div", { className: "sb-px-5 sb-flex sb-flex-col sb-gap-4 sb-items-start", children: [
940
- /* @__PURE__ */ jsx26(
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(
941
1015
  "input",
942
1016
  {
943
1017
  onClick: (e) => e.stopPropagation(),
@@ -950,7 +1024,7 @@ var CreateNoteMenu = ({
950
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"
951
1025
  }
952
1026
  ),
953
- /* @__PURE__ */ jsx26("button", { className: "sb-w-full", onClick: handleSaveNote, children: /* @__PURE__ */ jsx26("div", { className: "sb-px-4 sb-py-3 sb-text-center sb-font-bold sb-bg-orange-500 sb-rounded-md", children: "Save" }) })
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" }) })
954
1028
  ] })
955
1029
  ]
956
1030
  }
@@ -969,10 +1043,10 @@ import { useEffect as useEffect6, useState as useState7 } from "react";
969
1043
  import { useState as useState6 } from "react";
970
1044
 
971
1045
  // src/components/Tooltip/index.tsx
972
- import { jsx as jsx27 } from "react/jsx-runtime";
1046
+ import { jsx as jsx28 } from "react/jsx-runtime";
973
1047
  var Tooltip = ({ open, children }) => {
974
1048
  if (!open) return null;
975
- return /* @__PURE__ */ jsx27(
1049
+ return /* @__PURE__ */ jsx28(
976
1050
  "div",
977
1051
  {
978
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",
@@ -983,14 +1057,14 @@ var Tooltip = ({ open, children }) => {
983
1057
  var Tooltip_default = Tooltip;
984
1058
 
985
1059
  // src/components/NoteTooltip/index.tsx
986
- import { jsx as jsx28, jsxs as jsxs10 } from "react/jsx-runtime";
1060
+ import { jsx as jsx29, jsxs as jsxs11 } from "react/jsx-runtime";
987
1061
  var NoteTooltip = ({ note }) => {
988
1062
  const [open, setOpen] = useState6(false);
989
1063
  const { currentTime, player } = useSoftBuildersVideoPlayerContext();
990
1064
  const handleValueChange = () => {
991
1065
  player == null ? void 0 : player.currentTime(note.time);
992
1066
  };
993
- return /* @__PURE__ */ jsx28(
1067
+ return /* @__PURE__ */ jsx29(
994
1068
  "div",
995
1069
  {
996
1070
  onClick: handleValueChange,
@@ -998,9 +1072,9 @@ var NoteTooltip = ({ note }) => {
998
1072
  style: { left: `${note == null ? void 0 : note.percentage}%` },
999
1073
  onMouseEnter: () => setOpen(true),
1000
1074
  onMouseLeave: () => setOpen(false),
1001
- children: /* @__PURE__ */ jsx28("div", { className: "sb-relative", children: /* @__PURE__ */ jsx28(Tooltip_default, { open, children: /* @__PURE__ */ jsxs10("div", { className: "sb-flex sb-flex-col sb-gap-2 sb-items-center", children: [
1002
- /* @__PURE__ */ jsx28("p", { children: note == null ? void 0 : note.label }),
1003
- /* @__PURE__ */ jsx28("p", { className: "sb-p-2 sb-bg-[#303030] sb-bg-opacity-50 sb-rounded-md", children: durationFormater(note.time) })
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) })
1004
1078
  ] }) }) })
1005
1079
  }
1006
1080
  );
@@ -1008,7 +1082,7 @@ var NoteTooltip = ({ note }) => {
1008
1082
  var NoteTooltip_default = NoteTooltip;
1009
1083
 
1010
1084
  // src/components/NotesPanal/index.tsx
1011
- import { jsx as jsx29 } from "react/jsx-runtime";
1085
+ import { jsx as jsx30 } from "react/jsx-runtime";
1012
1086
  var NotesPanal = ({ notes }) => {
1013
1087
  const [ns, setNs] = useState7([]);
1014
1088
  const { duration } = useSoftBuildersVideoPlayerContext();
@@ -1021,7 +1095,7 @@ var NotesPanal = ({ notes }) => {
1021
1095
  });
1022
1096
  newNs && setNs(newNs);
1023
1097
  }, [notes, duration]);
1024
- return /* @__PURE__ */ jsx29("div", { id: "notes-panal", className: "sb-w-full sb-h-full sb-relative ", children: ns.map((n, i) => /* @__PURE__ */ jsx29(NoteTooltip_default, { note: n }, `note-${i}-${n.time}`)) });
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}`)) });
1025
1099
  };
1026
1100
  var NotesPanal_default = NotesPanal;
1027
1101
 
@@ -1030,7 +1104,7 @@ import { useEffect as useEffect8, useState as useState9 } from "react";
1030
1104
 
1031
1105
  // src/components/ChapterTooltip/index.tsx
1032
1106
  import { useEffect as useEffect7, useState as useState8 } from "react";
1033
- import { jsx as jsx30, jsxs as jsxs11 } from "react/jsx-runtime";
1107
+ import { jsx as jsx31, jsxs as jsxs12 } from "react/jsx-runtime";
1034
1108
  var ChapterTooltip = ({ chapter }) => {
1035
1109
  const { player } = useSoftBuildersVideoPlayerContext();
1036
1110
  const [open, setOpen] = useState8(false);
@@ -1052,7 +1126,7 @@ var ChapterTooltip = ({ chapter }) => {
1052
1126
  const clickedTime = chapter.startTime + clickPercentage * (chapter.endTime - chapter.startTime);
1053
1127
  player == null ? void 0 : player.currentTime(clickedTime);
1054
1128
  };
1055
- return /* @__PURE__ */ jsx30(
1129
+ return /* @__PURE__ */ jsx31(
1056
1130
  "div",
1057
1131
  {
1058
1132
  id: `ii-section-${chapter.title}`,
@@ -1063,15 +1137,15 @@ var ChapterTooltip = ({ chapter }) => {
1063
1137
  },
1064
1138
  onMouseEnter: () => setOpen(true),
1065
1139
  onMouseLeave: () => setOpen(false),
1066
- children: /* @__PURE__ */ jsx30(
1140
+ children: /* @__PURE__ */ jsx31(
1067
1141
  "button",
1068
1142
  {
1069
1143
  id: `section-${chapter.title}`,
1070
1144
  className: "sb-h-full sb-w-full",
1071
1145
  onClick: handleClickChapter,
1072
- children: /* @__PURE__ */ jsx30("div", { className: "sb-relative sb-flex sb-h-full sb-w-full sb-justify-between sb-items-center", children: /* @__PURE__ */ jsx30(Tooltip_default, { open, children: /* @__PURE__ */ jsxs11("div", { className: "sb-flex sb-flex-col sb-gap-2 sb-items-center", children: [
1073
- /* @__PURE__ */ jsx30("p", { children: chapter.title }),
1074
- /* @__PURE__ */ jsxs11("p", { className: "sb-p-2 sb-bg-[#303030] sb-bg-opacity-50 sb-rounded-md", children: [
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: [
1075
1149
  durationFormater(chapter.startTime),
1076
1150
  " -",
1077
1151
  " ",
@@ -1086,7 +1160,7 @@ var ChapterTooltip = ({ chapter }) => {
1086
1160
  var ChapterTooltip_default = ChapterTooltip;
1087
1161
 
1088
1162
  // src/components/ChaptersPanal/index.tsx
1089
- import { jsx as jsx31 } from "react/jsx-runtime";
1163
+ import { jsx as jsx32 } from "react/jsx-runtime";
1090
1164
  var ChaptersPanal = ({ chapters }) => {
1091
1165
  const [cs, setCs] = useState9([]);
1092
1166
  const { duration } = useSoftBuildersVideoPlayerContext();
@@ -1101,19 +1175,20 @@ var ChaptersPanal = ({ chapters }) => {
1101
1175
  });
1102
1176
  newCs && setCs(newCs);
1103
1177
  }, [chapters, duration]);
1104
- return /* @__PURE__ */ jsx31("div", { id: "chapters-panal", className: "sb-w-full sb-h-full sb-relative ", children: cs.map((c, i) => /* @__PURE__ */ jsx31(ChapterTooltip_default, { chapter: c }, `chapter-${i}-${c.startTime}`)) });
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}`)) });
1105
1179
  };
1106
1180
  var ChaptersPanal_default = ChaptersPanal;
1107
1181
 
1108
1182
  // src/components/TimeSlider/index.tsx
1109
1183
  import { useEffect as useEffect9, useState as useState10 } from "react";
1110
- import { jsx as jsx32, jsxs as jsxs12 } from "react/jsx-runtime";
1184
+ import { jsx as jsx33, jsxs as jsxs13 } from "react/jsx-runtime";
1111
1185
  var MIN2 = 0;
1112
1186
  var MAX2 = 100;
1113
1187
  var DEFERENCE = Math.abs(MAX2 - MIN2);
1114
1188
  var BAR_PERCENTAGE_WIDTH = 0.5;
1115
1189
  var TimeSlider = ({ chapters }) => {
1116
1190
  const [timeSlider, setTimeSlider] = useState10(0);
1191
+ const [isClicked, setClicked] = useState10(false);
1117
1192
  const { player, duration, downloadedBufferPercentage } = useSoftBuildersVideoPlayerContext();
1118
1193
  const handleValueChange = (e) => {
1119
1194
  const newTimeSlider = Number(e.target.value);
@@ -1121,14 +1196,16 @@ var TimeSlider = ({ chapters }) => {
1121
1196
  const time = newTimeSlider * duration / DEFERENCE;
1122
1197
  player == null ? void 0 : player.currentTime(time);
1123
1198
  };
1124
- const handleSliderClick = (e) => {
1125
- const slider = e.currentTarget;
1126
- const rect = slider.getBoundingClientRect();
1127
- const offsetX = e.clientX - rect.left;
1128
- const newTimeSlider = offsetX / rect.width * DEFERENCE;
1129
- const time = newTimeSlider * duration / DEFERENCE;
1130
- player == null ? void 0 : player.currentTime(time);
1131
- setTimeSlider(newTimeSlider);
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
+ }
1132
1209
  };
1133
1210
  useEffect9(() => {
1134
1211
  const intervalId = setInterval(() => {
@@ -1156,13 +1233,14 @@ var TimeSlider = ({ chapters }) => {
1156
1233
  arr.push(`black 100%`);
1157
1234
  setMaskCuttes(arr.toString());
1158
1235
  }, [chapters, duration]);
1159
- return /* @__PURE__ */ jsxs12("div", { className: " sb-w-full sb-h-2 sb-flex sb-items-center sb-justify-center", children: [
1160
- /* @__PURE__ */ jsx32("div", { className: "sb-absolute sb-top-0 sb-left-0 sb-w-full sb-z-10", children: /* @__PURE__ */ jsx32(
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(
1161
1238
  Slider_default,
1162
1239
  {
1240
+ onMouseMove: (e) => onMouseMove(e),
1241
+ setClicked,
1163
1242
  value: timeSlider,
1164
1243
  handleValueChange,
1165
- handleSliderClick,
1166
1244
  min: MIN2,
1167
1245
  max: MAX2,
1168
1246
  style: {
@@ -1170,7 +1248,7 @@ var TimeSlider = ({ chapters }) => {
1170
1248
  }
1171
1249
  }
1172
1250
  ) }),
1173
- /* @__PURE__ */ jsx32(
1251
+ /* @__PURE__ */ jsx33(
1174
1252
  "div",
1175
1253
  {
1176
1254
  className: "sb-absolute sb-top-0 sb-left-0 sb-w-full sb-h-2 sb-bg-slate-400 sb-rounded-md",
@@ -1200,24 +1278,24 @@ var TimeSlider = ({ chapters }) => {
1200
1278
  var TimeSlider_default = TimeSlider;
1201
1279
 
1202
1280
  // src/components/TimeSliderContainer/index.tsx
1203
- import { jsx as jsx33, jsxs as jsxs13 } from "react/jsx-runtime";
1281
+ import { jsx as jsx34, jsxs as jsxs14 } from "react/jsx-runtime";
1204
1282
  var TimeSliderContainer = ({ notes, chapters }) => {
1205
- return /* @__PURE__ */ jsxs13(
1283
+ return /* @__PURE__ */ jsxs14(
1206
1284
  "div",
1207
1285
  {
1208
1286
  id: "time-slider-container",
1209
1287
  className: "sb-w-full sb-relative sb-flex sb-items-center sb-justify-center",
1210
1288
  children: [
1211
- /* @__PURE__ */ jsx33(
1289
+ /* @__PURE__ */ jsx34(
1212
1290
  "div",
1213
1291
  {
1214
1292
  id: "notes-panal",
1215
1293
  className: "sb-absolute sb-w-full sb-h-full sb-top-[27%] sb-left-0",
1216
- children: /* @__PURE__ */ jsx33(NotesPanal_default, { notes })
1294
+ children: /* @__PURE__ */ jsx34(NotesPanal_default, { notes })
1217
1295
  }
1218
1296
  ),
1219
- /* @__PURE__ */ jsx33("div", { className: "sb-absolute sb-w-full sb-h-full sb-top-0 sb-left-0", children: /* @__PURE__ */ jsx33(ChaptersPanal_default, { chapters }) }),
1220
- /* @__PURE__ */ jsx33(TimeSlider_default, { chapters })
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 })
1221
1299
  ]
1222
1300
  }
1223
1301
  );
@@ -1226,7 +1304,7 @@ var TimeSliderContainer_default = TimeSliderContainer;
1226
1304
 
1227
1305
  // src/components/BufferTracker/index.tsx
1228
1306
  import { useEffect as useEffect10 } from "react";
1229
- import { Fragment, jsx as jsx34 } from "react/jsx-runtime";
1307
+ import { Fragment, jsx as jsx35 } from "react/jsx-runtime";
1230
1308
  var BufferTracker = () => {
1231
1309
  const { player, setDownloadedBufferTimeufferTime } = useSoftBuildersVideoPlayerContext();
1232
1310
  useEffect10(() => {
@@ -1235,13 +1313,13 @@ var BufferTracker = () => {
1235
1313
  }, 1e3);
1236
1314
  return () => clearInterval(intervalId);
1237
1315
  }, [player]);
1238
- return /* @__PURE__ */ jsx34(Fragment, {});
1316
+ return /* @__PURE__ */ jsx35(Fragment, {});
1239
1317
  };
1240
1318
  var BufferTracker_default = BufferTracker;
1241
1319
 
1242
1320
  // src/components/CurrentTimeTracker/index.tsx
1243
1321
  import { useEffect as useEffect11 } from "react";
1244
- import { Fragment as Fragment2, jsx as jsx35 } from "react/jsx-runtime";
1322
+ import { Fragment as Fragment2, jsx as jsx36 } from "react/jsx-runtime";
1245
1323
  var CurrentTimeTracker = () => {
1246
1324
  const { setCurrentTime, player } = useSoftBuildersVideoPlayerContext();
1247
1325
  useEffect11(() => {
@@ -1250,19 +1328,19 @@ var CurrentTimeTracker = () => {
1250
1328
  }, 500);
1251
1329
  return () => clearInterval(intervalId);
1252
1330
  }, [player]);
1253
- return /* @__PURE__ */ jsx35(Fragment2, {});
1331
+ return /* @__PURE__ */ jsx36(Fragment2, {});
1254
1332
  };
1255
1333
  var CurrentTimeTracker_default = CurrentTimeTracker;
1256
1334
 
1257
1335
  // src/components/SubtitleMenu/index.tsx
1258
1336
  import { useEffect as useEffect12, useState as useState11 } from "react";
1259
- import { jsx as jsx36, jsxs as jsxs14 } from "react/jsx-runtime";
1337
+ import { jsx as jsx37, jsxs as jsxs15 } from "react/jsx-runtime";
1260
1338
  var SubtitleOption = ({
1261
1339
  isSelected,
1262
1340
  subtitle,
1263
1341
  onClick
1264
1342
  }) => {
1265
- return /* @__PURE__ */ jsx36(
1343
+ return /* @__PURE__ */ jsx37(
1266
1344
  "button",
1267
1345
  {
1268
1346
  className: "hover:sb-text-orange-500 sb-p-2",
@@ -1270,9 +1348,9 @@ var SubtitleOption = ({
1270
1348
  e.stopPropagation();
1271
1349
  onClick(e);
1272
1350
  },
1273
- children: /* @__PURE__ */ jsxs14("div", { className: "sb-grid sb-grid-cols-12 sb-items-center sb-gap-2", children: [
1274
- /* @__PURE__ */ jsx36("div", { className: "sb-col-span-3", children: isSelected ? /* @__PURE__ */ jsx36(CheckedIcon_default, { className: "sb-w-5 sb-h-5" }) : /* @__PURE__ */ jsx36("div", {}) }),
1275
- /* @__PURE__ */ jsx36("p", { className: "sb-text-left sb-col-span-9", children: subtitle.label })
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 })
1276
1354
  ] })
1277
1355
  }
1278
1356
  );
@@ -1305,7 +1383,7 @@ var SubtitleMenu = ({
1305
1383
  setSubtitles(textTracks);
1306
1384
  }
1307
1385
  }, [player]);
1308
- return /* @__PURE__ */ jsx36(
1386
+ return /* @__PURE__ */ jsx37(
1309
1387
  MenuButton_default,
1310
1388
  {
1311
1389
  onMouseEnter,
@@ -1314,14 +1392,14 @@ var SubtitleMenu = ({
1314
1392
  onClick && onClick(e, isOpen);
1315
1393
  },
1316
1394
  classContainer: `${width < 400 || isTrailer ? "!sb-top-8 -sb-left-9" : ""}`,
1317
- buttonContent: /* @__PURE__ */ jsx36(SubIcon_default, { className: "sb-w-4 sb-h-4 sb-text-white " }),
1318
- menuContent: /* @__PURE__ */ jsx36(
1395
+ buttonContent: /* @__PURE__ */ jsx37(SubIcon_default, { className: "sb-w-4 sb-h-4 sb-text-white " }),
1396
+ menuContent: /* @__PURE__ */ jsx37(
1319
1397
  "div",
1320
1398
  {
1321
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"}`,
1322
- children: /* @__PURE__ */ jsxs14("div", { className: "sb-flex sb-flex-col sb-gap-3", children: [
1323
- /* @__PURE__ */ jsxs14("div", { className: "sb-px-5 sb-flex sb-flex-row sb-gap-3 sb-items-center sb-justify-center", children: [
1324
- /* @__PURE__ */ jsx36(
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(
1325
1403
  "button",
1326
1404
  {
1327
1405
  onClick: () => {
@@ -1330,14 +1408,14 @@ var SubtitleMenu = ({
1330
1408
  }
1331
1409
  },
1332
1410
  className: "hover:sb-scale-150",
1333
- children: /* @__PURE__ */ jsx36(LeftArrowIcon_default, { className: "sb-w-3 sb-h-3" })
1411
+ children: /* @__PURE__ */ jsx37(LeftArrowIcon_default, { className: "sb-w-3 sb-h-3" })
1334
1412
  }
1335
1413
  ),
1336
- /* @__PURE__ */ jsx36("h3", { children: "Subtitle" })
1414
+ /* @__PURE__ */ jsx37("h3", { children: "Subtitle" })
1337
1415
  ] }),
1338
- /* @__PURE__ */ jsx36("div", { className: "sb-w-full sb-h-[.1px] sb-bg-[#AAAAAA] sb-bg-opacity-70" }),
1339
- /* @__PURE__ */ jsx36("div", { className: "sb-px-5 sb-flex sb-flex-col sb-gap-3 sb-items-start", children: subtitles.map((q, i) => {
1340
- return /* @__PURE__ */ jsx36(
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(
1341
1419
  SubtitleOption,
1342
1420
  {
1343
1421
  isSelected: q.mode === "showing",
@@ -1362,7 +1440,7 @@ var SubtitleMenu_default = SubtitleMenu;
1362
1440
 
1363
1441
  // src/components/Tooltip/GlobalTooltip.tsx
1364
1442
  import { useState as useState12 } from "react";
1365
- import { jsx as jsx37, jsxs as jsxs15 } from "react/jsx-runtime";
1443
+ import { jsx as jsx38, jsxs as jsxs16 } from "react/jsx-runtime";
1366
1444
  var TooltipModal = ({
1367
1445
  content,
1368
1446
  children,
@@ -1372,13 +1450,13 @@ var TooltipModal = ({
1372
1450
  const [isOpen, setIsOpen] = useState12(false);
1373
1451
  const showTooltip = () => setIsOpen(true);
1374
1452
  const hideTooltip = () => setIsOpen(false);
1375
- return /* @__PURE__ */ jsxs15(
1453
+ return /* @__PURE__ */ jsxs16(
1376
1454
  "div",
1377
1455
  {
1378
1456
  className: "tooltip-container",
1379
1457
  style: { position: "relative", display: "inline-block" },
1380
1458
  children: [
1381
- /* @__PURE__ */ jsx37(
1459
+ /* @__PURE__ */ jsx38(
1382
1460
  "div",
1383
1461
  {
1384
1462
  onMouseEnter: showTooltip,
@@ -1387,7 +1465,7 @@ var TooltipModal = ({
1387
1465
  children
1388
1466
  }
1389
1467
  ),
1390
- isOpen && /* @__PURE__ */ jsx37(
1468
+ isOpen && /* @__PURE__ */ jsx38(
1391
1469
  "div",
1392
1470
  {
1393
1471
  className: `sb-tooltip-modal sb-text-orange-900 sb-my-2 ${width > 400 ? "!sb-bottom-[105%]" : "!sb-top-[105%]"}`,
@@ -1412,7 +1490,7 @@ var TooltipModal = ({
1412
1490
  var GlobalTooltip_default = TooltipModal;
1413
1491
 
1414
1492
  // src/components/ControlBar/index.tsx
1415
- import { Fragment as Fragment3, jsx as jsx38, jsxs as jsxs16 } from "react/jsx-runtime";
1493
+ import { jsx as jsx39, jsxs as jsxs17 } from "react/jsx-runtime";
1416
1494
  var ControlBar = ({
1417
1495
  player,
1418
1496
  isPaused,
@@ -1463,67 +1541,64 @@ var ControlBar = ({
1463
1541
  useEffect13(() => {
1464
1542
  setDuration(duration);
1465
1543
  }, [duration]);
1466
- return /* @__PURE__ */ jsxs16(
1544
+ return /* @__PURE__ */ jsxs17(
1467
1545
  "div",
1468
1546
  {
1469
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`,
1470
1548
  children: [
1471
- /* @__PURE__ */ jsx38(BufferTracker_default, {}),
1472
- /* @__PURE__ */ jsx38(CurrentTimeTracker_default, {}),
1473
- !isTrailer && /* @__PURE__ */ jsxs16(Fragment3, { children: [
1474
- " ",
1475
- /* @__PURE__ */ jsx38(
1476
- "button",
1477
- {
1478
- onClick: () => {
1479
- seek(-seekStep);
1480
- },
1481
- children: /* @__PURE__ */ jsx38(
1482
- GlobalTooltip_default,
1483
- {
1484
- width,
1485
- content: /* @__PURE__ */ jsx38("p", { children: "Backward 5 sec" }),
1486
- isLeft: true,
1487
- children: /* @__PURE__ */ jsx38(BackwardIcon_default, { className: "sb-w-3 sb-h-3" })
1488
- }
1489
- )
1490
- }
1491
- ),
1492
- /* @__PURE__ */ jsx38("button", { onClick: togglePlay, children: /* @__PURE__ */ jsx38(
1493
- GlobalTooltip_default,
1494
- {
1495
- width,
1496
- content: /* @__PURE__ */ jsx38("p", { children: isPaused ? "Play" : "pause" }),
1497
- isLeft: true,
1498
- children: isPaused ? /* @__PURE__ */ jsx38(PlayIcon_default, { className: "sb-w-3 sb-h-3" }) : /* @__PURE__ */ jsx38(PauseIcon_default, { className: "sb-w-3 sb-h-3" })
1499
- }
1500
- ) }),
1501
- /* @__PURE__ */ jsx38(
1502
- "button",
1503
- {
1504
- onClick: (e) => {
1505
- e.preventDefault();
1506
- seek(seekStep);
1507
- },
1508
- children: /* @__PURE__ */ jsx38(
1509
- GlobalTooltip_default,
1510
- {
1511
- width,
1512
- content: /* @__PURE__ */ jsx38("p", { children: "Forward 5 sec" }),
1513
- isLeft: true,
1514
- children: /* @__PURE__ */ jsx38(ForwardIcon_default, { className: "sb-w-3 sb-h-3" })
1515
- }
1516
- )
1517
- }
1518
- )
1519
- ] }),
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
+ ),
1520
1595
  // isSeeking ||
1521
1596
  // width > 400 &&
1522
- /* @__PURE__ */ jsx38(
1597
+ /* @__PURE__ */ jsx39(
1523
1598
  "div",
1524
1599
  {
1525
1600
  className: `${width < 400 && !isTrailer ? "sb-flex-1 sb-ml-0 sb-mr-0" : "sb-w-full"}`,
1526
- children: /* @__PURE__ */ jsxs16(
1601
+ children: /* @__PURE__ */ jsxs17(
1527
1602
  "div",
1528
1603
  {
1529
1604
  style: width < 400 && !isTrailer ? {
@@ -1533,15 +1608,15 @@ var ControlBar = ({
1533
1608
  } : { width: "98%" },
1534
1609
  className: `flex gap-2 ${width < 400 && !isTrailer ? "absolute sb-top-1" : "-sb-translate-y-0 sb-w-full"} hover:sb-w-[45%] `,
1535
1610
  children: [
1536
- /* @__PURE__ */ jsx38(CurrentTimeLabel_default, {}),
1537
- /* @__PURE__ */ jsx38(TimeSliderContainer_default, { chapters, notes }),
1538
- /* @__PURE__ */ jsx38("p", { children: durationFormater(duration) })
1611
+ /* @__PURE__ */ jsx39(CurrentTimeLabel_default, {}),
1612
+ /* @__PURE__ */ jsx39(TimeSliderContainer_default, { chapters, notes }),
1613
+ /* @__PURE__ */ jsx39("p", { children: durationFormater(duration) })
1539
1614
  ]
1540
1615
  }
1541
1616
  )
1542
1617
  }
1543
1618
  ),
1544
- /* @__PURE__ */ jsx38("div", { className: "sb-h-full", children: /* @__PURE__ */ jsx38(
1619
+ /* @__PURE__ */ jsx39("div", { className: "sb-h-full", children: /* @__PURE__ */ jsx39(
1545
1620
  VolumeSlider_default,
1546
1621
  {
1547
1622
  isTrailer,
@@ -1551,7 +1626,7 @@ var ControlBar = ({
1551
1626
  handleControlDisplayTimer
1552
1627
  }
1553
1628
  ) }),
1554
- /* @__PURE__ */ jsx38(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx38("p", { children: "Quality" }), children: /* @__PURE__ */ jsx38(
1629
+ /* @__PURE__ */ jsx39(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx39("p", { children: "Quality" }), children: /* @__PURE__ */ jsx39(
1555
1630
  QualityMenu_default,
1556
1631
  {
1557
1632
  isTrailer,
@@ -1562,7 +1637,7 @@ var ControlBar = ({
1562
1637
  }
1563
1638
  }
1564
1639
  ) }),
1565
- disableNote && /* @__PURE__ */ jsx38(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx38("p", { children: "Create note" }), children: /* @__PURE__ */ jsx38(
1640
+ disableNote && /* @__PURE__ */ jsx39(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx39("p", { children: "Create note" }), children: /* @__PURE__ */ jsx39(
1566
1641
  CreateNoteMenu_default,
1567
1642
  {
1568
1643
  handleSaveNoteAction,
@@ -1577,7 +1652,7 @@ var ControlBar = ({
1577
1652
  }
1578
1653
  }
1579
1654
  ) }),
1580
- /* @__PURE__ */ jsx38(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx38("p", { children: "Subtitle" }), children: /* @__PURE__ */ jsx38(
1655
+ /* @__PURE__ */ jsx39(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx39("p", { children: "Subtitle" }), children: /* @__PURE__ */ jsx39(
1581
1656
  SubtitleMenu_default,
1582
1657
  {
1583
1658
  isTrailer,
@@ -1588,7 +1663,7 @@ var ControlBar = ({
1588
1663
  }
1589
1664
  }
1590
1665
  ) }),
1591
- /* @__PURE__ */ jsx38(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx38("p", { children: "Full screen" }), children: /* @__PURE__ */ jsx38(
1666
+ /* @__PURE__ */ jsx39(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx39("p", { children: "Full screen" }), children: /* @__PURE__ */ jsx39(
1592
1667
  "button",
1593
1668
  {
1594
1669
  onClick: (e) => {
@@ -1600,7 +1675,7 @@ var ControlBar = ({
1600
1675
  player == null ? void 0 : player.requestFullscreen();
1601
1676
  }
1602
1677
  },
1603
- children: /* @__PURE__ */ jsx38(FullScreenIcon_default, { className: "sb-w-3 sb-h-3" })
1678
+ children: /* @__PURE__ */ jsx39(FullScreenIcon_default, { className: "sb-w-3 sb-h-3" })
1604
1679
  }
1605
1680
  ) })
1606
1681
  ]
@@ -1613,36 +1688,40 @@ var ControlBar_default = ControlBar;
1613
1688
  import { isEqual } from "lodash";
1614
1689
 
1615
1690
  // src/components/BigPlayButton/index.tsx
1616
- import { jsx as jsx39 } from "react/jsx-runtime";
1691
+ import { jsx as jsx40, jsxs as jsxs18 } from "react/jsx-runtime";
1617
1692
  var BigPlayButton = ({
1618
1693
  player,
1619
1694
  isPaused,
1620
1695
  setIsPaused,
1621
1696
  height,
1622
1697
  id,
1623
- heightValue
1698
+ heightValue,
1699
+ isLoading
1624
1700
  }) => {
1625
1701
  const togglePlay = () => {
1626
1702
  if (isPaused) player == null ? void 0 : player.play();
1627
1703
  else player == null ? void 0 : player.pause();
1628
1704
  setIsPaused(!isPaused);
1629
1705
  };
1630
- return /* @__PURE__ */ jsx39(
1706
+ return /* @__PURE__ */ jsx40(
1631
1707
  "div",
1632
1708
  {
1633
1709
  style: __spreadValues({}, height && heightValue ? { position: "absolute", top: `-${(heightValue - height) / 2}px` } : {}),
1634
1710
  onClick: togglePlay,
1635
- 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`,
1636
- children: isPaused ? /* @__PURE__ */ jsx39(PlayIcon_default, { className: "sb-w-4 sb-h-4" }) : /* @__PURE__ */ jsx39(PauseIcon_default, { className: "sb-w-4 sb-h-4" })
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" })
1637
1716
  }
1638
1717
  );
1639
1718
  };
1640
1719
  var BigPlayButton_default = BigPlayButton;
1641
1720
 
1642
1721
  // src/components/VideoPlayerComponent/index.tsx
1643
- import { Fragment as Fragment4, jsx as jsx40, jsxs as jsxs17 } from "react/jsx-runtime";
1722
+ import { Fragment as Fragment3, jsx as jsx41, jsxs as jsxs19 } from "react/jsx-runtime";
1644
1723
  var bigPlayButtonRoot = {};
1645
- var renderBigPlayButton = (id, player, isPaused, setIsPaused, opacity = "100", height, heightValue) => {
1724
+ var renderBigPlayButton = (id, player, isPaused, setIsPaused, opacity = "100", height, heightValue, isLoading) => {
1646
1725
  const container = document.getElementById(`video-container-${id}`);
1647
1726
  if (container) {
1648
1727
  container.style.height = "100%";
@@ -1653,14 +1732,15 @@ var renderBigPlayButton = (id, player, isPaused, setIsPaused, opacity = "100", h
1653
1732
  bigPlayButtonRoot[id] = ReactDOM.createRoot(element);
1654
1733
  }
1655
1734
  bigPlayButtonRoot[id].render(
1656
- /* @__PURE__ */ jsx40(
1735
+ /* @__PURE__ */ jsx41(
1657
1736
  BigPlayButton_default,
1658
1737
  {
1659
1738
  player,
1660
1739
  isPaused,
1661
1740
  setIsPaused,
1662
1741
  height,
1663
- heightValue
1742
+ heightValue,
1743
+ isLoading
1664
1744
  }
1665
1745
  )
1666
1746
  );
@@ -1685,7 +1765,7 @@ var renderControlBar = (id, player, isPaused, setIsPaused, duration, notes, chap
1685
1765
  element.style.height = "100%";
1686
1766
  element.style.alignItems = "flex-end";
1687
1767
  controlBarRoot[id].render(
1688
- /* @__PURE__ */ jsx40(SoftBuildersVideoPlayerProvider, { children: /* @__PURE__ */ jsx40(
1768
+ /* @__PURE__ */ jsx41(SoftBuildersVideoPlayerProvider, { children: /* @__PURE__ */ jsx41(
1689
1769
  ControlBar_default,
1690
1770
  {
1691
1771
  id,
@@ -1743,6 +1823,7 @@ var VideoPlayerComponent = forwardRef(
1743
1823
  const [isHovered, setIsHovered] = useState14(false);
1744
1824
  const [isNoteOpen, setNoteOpen] = useState14(false);
1745
1825
  const [heightValue, setHeightValue] = useState14(0);
1826
+ const [isLoading, setIsloading] = useState14(false);
1746
1827
  const onReady = (player) => {
1747
1828
  if (playerRef) {
1748
1829
  playerRef.current = player;
@@ -1892,12 +1973,13 @@ var VideoPlayerComponent = forwardRef(
1892
1973
  setIsPaused,
1893
1974
  opacity,
1894
1975
  height,
1895
- heightValue
1976
+ heightValue,
1977
+ isLoading
1896
1978
  );
1897
1979
  }, 500);
1898
1980
  return () => clearTimeout(playButtonTimeout);
1899
1981
  }
1900
- }, [isPaused, opacity, isReady, id, height, heightValue]);
1982
+ }, [isPaused, opacity, isReady, id, height, heightValue, isLoading]);
1901
1983
  useEffect14(() => {
1902
1984
  if (playerRef.current) {
1903
1985
  const intervalId = setInterval(() => {
@@ -2027,7 +2109,27 @@ var VideoPlayerComponent = forwardRef(
2027
2109
  if (controlBar) {
2028
2110
  resizeObserver.observe(controlBar);
2029
2111
  }
2030
- return /* @__PURE__ */ jsx40(Fragment4, { children: /* @__PURE__ */ jsxs17(
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(
2031
2133
  "div",
2032
2134
  {
2033
2135
  ref: videoRefs,
@@ -2039,7 +2141,7 @@ var VideoPlayerComponent = forwardRef(
2039
2141
  onMouseEnter: () => setIsHovered(true),
2040
2142
  onMouseLeave: () => setIsHovered(false),
2041
2143
  children: [
2042
- bottomRedBar && /* @__PURE__ */ jsx40(
2144
+ bottomRedBar && /* @__PURE__ */ jsx41(
2043
2145
  "div",
2044
2146
  {
2045
2147
  ref: childRef,
@@ -2050,12 +2152,12 @@ var VideoPlayerComponent = forwardRef(
2050
2152
  }
2051
2153
  }
2052
2154
  ),
2053
- /* @__PURE__ */ jsx40(
2155
+ /* @__PURE__ */ jsx41(
2054
2156
  "div",
2055
2157
  {
2056
2158
  className: "hover:sb-cursor-pointer sb-w-full sb-h-full",
2057
2159
  "data-vjs-player": true,
2058
- children: /* @__PURE__ */ jsx40(
2160
+ children: /* @__PURE__ */ jsx41(
2059
2161
  "div",
2060
2162
  {
2061
2163
  onClick: handlePlayerClick,
@@ -2075,7 +2177,7 @@ var VideoPlayerComponent_default = VideoPlayerComponent;
2075
2177
  // src/components/SoftBuildersVideoPlayer/index.tsx
2076
2178
  import { isEqual as isEqual2 } from "lodash";
2077
2179
  import { v4 as uuidv4 } from "uuid";
2078
- import { jsx as jsx41 } from "react/jsx-runtime";
2180
+ import { jsx as jsx42 } from "react/jsx-runtime";
2079
2181
  var DEFAULT_OPTIONS = {
2080
2182
  autoplay: false,
2081
2183
  controls: true,
@@ -2144,7 +2246,7 @@ var Component = forwardRef2(
2144
2246
  useEffect15(() => {
2145
2247
  setUuid(uuidv4());
2146
2248
  }, []);
2147
- return /* @__PURE__ */ jsx41(
2249
+ return /* @__PURE__ */ jsx42(
2148
2250
  VideoPlayerComponent_default,
2149
2251
  {
2150
2252
  id: uuid,
@@ -2167,7 +2269,7 @@ var Component = forwardRef2(
2167
2269
  }
2168
2270
  );
2169
2271
  var SoftBuildersVideoPlayer = memo(Component, (prevProps, nextProps) => {
2170
- 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;
2171
2273
  });
2172
2274
  var SoftBuildersVideoPlayer_default = SoftBuildersVideoPlayer;
2173
2275