softbuilders-react-video-player 1.2.14 → 1.2.16

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 (78) hide show
  1. package/dist/components/BigPlayButton/index.d.ts +4 -1
  2. package/dist/components/BigPlayButton/index.js +4 -2
  3. package/dist/components/BigPlayButton/index.js.map +1 -1
  4. package/dist/components/BigPlayButton/index.tsx +18 -3
  5. package/dist/components/ControlBar/index.d.ts +2 -1
  6. package/dist/components/ControlBar/index.js +16 -12
  7. package/dist/components/ControlBar/index.js.map +1 -1
  8. package/dist/components/ControlBar/index.tsx +58 -46
  9. package/dist/components/QualityMenu/index.d.ts +2 -1
  10. package/dist/components/QualityMenu/index.js +6 -6
  11. package/dist/components/QualityMenu/index.js.map +1 -1
  12. package/dist/components/QualityMenu/index.tsx +13 -5
  13. package/dist/components/Slider/index.js +1 -1
  14. package/dist/components/Slider/index.js.map +1 -1
  15. package/dist/components/Slider/index.tsx +36 -36
  16. package/dist/components/SoftBuildersVideoPlayer/index.d.ts +2 -0
  17. package/dist/components/SoftBuildersVideoPlayer/index.js +2 -2
  18. package/dist/components/SoftBuildersVideoPlayer/index.js.map +1 -1
  19. package/dist/components/SoftBuildersVideoPlayer/index.tsx +6 -0
  20. package/dist/components/SubtitleMenu/index.d.ts +2 -1
  21. package/dist/components/SubtitleMenu/index.js +2 -2
  22. package/dist/components/SubtitleMenu/index.js.map +1 -1
  23. package/dist/components/SubtitleMenu/index.tsx +6 -2
  24. package/dist/components/TimeSlider/index.js.map +1 -1
  25. package/dist/components/TimeSlider/index.tsx +0 -1
  26. package/dist/components/VideoPlayerComponent/index.d.ts +2 -0
  27. package/dist/components/VideoPlayerComponent/index.js +35 -20
  28. package/dist/components/VideoPlayerComponent/index.js.map +1 -1
  29. package/dist/components/VideoPlayerComponent/index.tsx +76 -41
  30. package/dist/components/VolumeSlider/index.d.ts +2 -1
  31. package/dist/components/VolumeSlider/index.js +29 -8
  32. package/dist/components/VolumeSlider/index.js.map +1 -1
  33. package/dist/components/VolumeSlider/index.tsx +57 -15
  34. package/dist/components/icons/SubIcon.js +1 -1
  35. package/dist/components/icons/SubIcon.js.map +1 -1
  36. package/dist/components/icons/SubIcon.tsx +27 -28
  37. package/dist/components/icons/VolumeHigh.d.ts +3 -0
  38. package/dist/components/icons/VolumeHigh.js +4 -0
  39. package/dist/components/icons/VolumeHigh.js.map +1 -0
  40. package/dist/components/icons/VolumeHigh.tsx +15 -0
  41. package/dist/components/icons/VolumeHighIcon.d.ts +3 -0
  42. package/dist/components/icons/VolumeHighIcon.js +4 -0
  43. package/dist/components/icons/VolumeHighIcon.js.map +1 -0
  44. package/dist/components/icons/VolumeHighIcon.tsx +16 -0
  45. package/dist/components/icons/VolumeIconHigh.d.ts +3 -0
  46. package/dist/components/icons/VolumeIconHigh.js +4 -0
  47. package/dist/components/icons/VolumeIconHigh.js.map +1 -0
  48. package/dist/components/icons/VolumeIconHigh.tsx +16 -0
  49. package/dist/components/icons/VolumeIconLow copy.d.ts +3 -0
  50. package/dist/components/icons/VolumeIconLow copy.js +4 -0
  51. package/dist/components/icons/VolumeIconLow copy.js.map +1 -0
  52. package/dist/components/icons/VolumeIconLow copy.tsx +17 -0
  53. package/dist/components/icons/VolumeLow.d.ts +3 -0
  54. package/dist/components/icons/VolumeLow.js +4 -0
  55. package/dist/components/icons/VolumeLow.js.map +1 -0
  56. package/dist/components/icons/VolumeLow.tsx +14 -0
  57. package/dist/components/icons/VolumeLowIcon.d.ts +3 -0
  58. package/dist/components/icons/VolumeLowIcon.js +4 -0
  59. package/dist/components/icons/VolumeLowIcon.js.map +1 -0
  60. package/dist/components/icons/VolumeLowIcon.tsx +15 -0
  61. package/dist/components/icons/VolumeMute.d.ts +3 -0
  62. package/dist/components/icons/VolumeMute.js +10 -0
  63. package/dist/components/icons/VolumeMute.js.map +1 -0
  64. package/dist/components/icons/VolumeMute.tsx +25 -0
  65. package/dist/components/icons/VolumeVLow.d.ts +3 -0
  66. package/dist/components/icons/VolumeVLow.js +4 -0
  67. package/dist/components/icons/VolumeVLow.js.map +1 -0
  68. package/dist/components/icons/VolumeVLow.tsx +14 -0
  69. package/dist/components/icons/index.d.ts +4 -0
  70. package/dist/components/icons/index.js +4 -0
  71. package/dist/components/icons/index.js.map +1 -1
  72. package/dist/components/icons/index.ts +19 -15
  73. package/dist/index.css +17 -2
  74. package/dist/index.d.mts +4 -1
  75. package/dist/index.mjs +370 -262
  76. package/dist/styles/tailwind.css +17 -2
  77. package/dist/types.d.ts +2 -1
  78. package/package.json +2 -1
package/dist/index.mjs CHANGED
@@ -352,31 +352,6 @@ var LeftArrowIcon_default = SvgLeftArrowIcon;
352
352
 
353
353
  // src/components/icons/MuteIcon.tsx
354
354
  import { jsx as jsx10, jsxs } from "react/jsx-runtime";
355
- var SvgMuteIcon = (props) => /* @__PURE__ */ jsxs(
356
- "svg",
357
- __spreadProps(__spreadValues({
358
- xmlns: "http://www.w3.org/2000/svg",
359
- width: "1em",
360
- height: "1em",
361
- fill: "none",
362
- viewBox: "0 0 17 13"
363
- }, props), {
364
- children: [
365
- /* @__PURE__ */ jsx10("path", { fill: "#FFF", d: "M7.925 1.5 4.59 4.357H1.925v4.286H4.59L7.925 11.5z" }),
366
- /* @__PURE__ */ jsx10(
367
- "path",
368
- {
369
- stroke: "#E5E7EB",
370
- strokeLinecap: "round",
371
- strokeLinejoin: "round",
372
- strokeWidth: 2,
373
- d: "m15.925 4.357-4 4.286m0-4.286 4 4.286m-8-7.143L4.59 4.357H1.925v4.286H4.59L7.925 11.5z"
374
- }
375
- )
376
- ]
377
- })
378
- );
379
- var MuteIcon_default = SvgMuteIcon;
380
355
 
381
356
  // src/components/icons/NoteIcon.tsx
382
357
  import { jsx as jsx11 } from "react/jsx-runtime";
@@ -447,58 +422,32 @@ var SvgSettingsIcon = (props) => /* @__PURE__ */ jsx15(
447
422
  );
448
423
  var SettingsIcon_default = SvgSettingsIcon;
449
424
 
450
- // src/components/icons/UnmuteIcon.tsx
451
- import { jsx as jsx16 } from "react/jsx-runtime";
452
- var SvgUnmuteIcon = (props) => /* @__PURE__ */ jsx16(
453
- "svg",
454
- __spreadProps(__spreadValues({
455
- xmlns: "http://www.w3.org/2000/svg",
456
- width: "1em",
457
- height: "1em",
458
- fill: "none",
459
- viewBox: "0 0 8 15"
460
- }, props), {
461
- children: /* @__PURE__ */ jsx16(
462
- "path",
463
- {
464
- fill: "#FFF",
465
- d: "M7.659 14.275h-.001l-3.979-3.251a.16.16 0 0 0-.104-.035H2.252A1.33 1.33 0 0 1 .924 9.66V5.32A1.33 1.33 0 0 1 2.252 3.99h1.323a.16.16 0 0 0 .101-.035L7.66.725a.163.163 0 0 1 .265.126v13.297a.162.162 0 0 1-.264.127z"
466
- }
467
- )
468
- })
469
- );
470
- var UnmuteIcon_default = SvgUnmuteIcon;
471
-
472
- // src/components/icons/SubtitlesIcon.tsx
473
- import { jsx as jsx17, jsxs as jsxs2 } from "react/jsx-runtime";
474
-
475
425
  // src/components/icons/SubIcon.tsx
476
- import { jsx as jsx18, jsxs as jsxs3 } from "react/jsx-runtime";
477
- var SvgSubIcon = (props) => /* @__PURE__ */ jsxs3(
426
+ import { jsx as jsx16, jsxs as jsxs2 } from "react/jsx-runtime";
427
+ var SvgSubIcon = (props) => /* @__PURE__ */ jsxs2(
478
428
  "svg",
479
429
  __spreadProps(__spreadValues({
480
430
  xmlns: "http://www.w3.org/2000/svg",
481
431
  width: "1em",
482
432
  height: "1em",
483
433
  fill: "none",
484
- stroke: "currentColor",
485
434
  viewBox: "0 0 15 15"
486
435
  }, props), {
487
436
  children: [
488
- /* @__PURE__ */ jsx18(
437
+ /* @__PURE__ */ jsx16(
489
438
  "path",
490
439
  {
491
- stroke: "currentColor",
440
+ stroke: "#D1D5DB",
492
441
  strokeLinecap: "round",
493
442
  strokeLinejoin: "round",
494
443
  strokeWidth: 1.5,
495
444
  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"
496
445
  }
497
446
  ),
498
- /* @__PURE__ */ jsx18(
447
+ /* @__PURE__ */ jsx16(
499
448
  "path",
500
449
  {
501
- stroke: "currentColor",
450
+ stroke: "#D1D5DB",
502
451
  strokeLinecap: "round",
503
452
  strokeLinejoin: "round",
504
453
  strokeWidth: 1.5,
@@ -510,15 +459,105 @@ var SvgSubIcon = (props) => /* @__PURE__ */ jsxs3(
510
459
  );
511
460
  var SubIcon_default = SvgSubIcon;
512
461
 
513
- // src/components/VolumeSlider/index.tsx
462
+ // src/components/icons/SubtitlesIcon.tsx
463
+ import { jsx as jsx17, jsxs as jsxs3 } from "react/jsx-runtime";
464
+
465
+ // src/components/icons/UnmuteIcon.tsx
466
+ import { jsx as jsx18 } from "react/jsx-runtime";
467
+
468
+ // src/components/icons/VolumeHigh.tsx
514
469
  import { jsx as jsx19, jsxs as jsxs4 } from "react/jsx-runtime";
470
+ var SvgVolumeHigh = (props) => /* @__PURE__ */ jsxs4(
471
+ "svg",
472
+ __spreadProps(__spreadValues({
473
+ xmlns: "http://www.w3.org/2000/svg",
474
+ width: "1em",
475
+ height: "1em",
476
+ fill: "#fff",
477
+ viewBox: "0 0 512 512"
478
+ }, props), {
479
+ 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" })
482
+ ]
483
+ })
484
+ );
485
+ var VolumeHigh_default = SvgVolumeHigh;
486
+
487
+ // src/components/icons/VolumeLow.tsx
488
+ import { jsx as jsx20 } from "react/jsx-runtime";
489
+ var SvgVolumeLow = (props) => /* @__PURE__ */ jsx20(
490
+ "svg",
491
+ __spreadProps(__spreadValues({
492
+ xmlns: "http://www.w3.org/2000/svg",
493
+ width: "1em",
494
+ height: "1em",
495
+ fill: "#fff",
496
+ viewBox: "0 0 512 512"
497
+ }, 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" })
499
+ })
500
+ );
501
+ var VolumeLow_default = SvgVolumeLow;
502
+
503
+ // src/components/icons/VolumeMute.tsx
504
+ import { jsx as jsx21, jsxs as jsxs5 } from "react/jsx-runtime";
505
+ var SvgVolumeMute = (props) => /* @__PURE__ */ jsxs5(
506
+ "svg",
507
+ __spreadProps(__spreadValues({
508
+ xmlns: "http://www.w3.org/2000/svg",
509
+ width: "1em",
510
+ height: "1em",
511
+ fill: "#fff",
512
+ viewBox: "0 0 512 512"
513
+ }, props), {
514
+ children: [
515
+ /* @__PURE__ */ jsx21(
516
+ "path",
517
+ {
518
+ d: "M416 432 64 80",
519
+ style: {
520
+ fill: "none",
521
+ stroke: "#fff",
522
+ strokeLinecap: "round",
523
+ strokeMiterlimit: 10,
524
+ strokeWidth: 32
525
+ }
526
+ }
527
+ ),
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" })
530
+ ]
531
+ })
532
+ );
533
+ var VolumeMute_default = SvgVolumeMute;
534
+
535
+ // src/components/icons/VolumeVLow.tsx
536
+ import { jsx as jsx22 } from "react/jsx-runtime";
537
+ var SvgVolumeVLow = (props) => /* @__PURE__ */ jsx22(
538
+ "svg",
539
+ __spreadProps(__spreadValues({
540
+ xmlns: "http://www.w3.org/2000/svg",
541
+ width: "1em",
542
+ height: "1em",
543
+ fill: "#fff",
544
+ viewBox: "0 0 512 512"
545
+ }, 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" })
547
+ })
548
+ );
549
+ var VolumeVLow_default = SvgVolumeVLow;
550
+
551
+ // src/components/VolumeSlider/index.tsx
552
+ import { jsx as jsx23, jsxs as jsxs6 } from "react/jsx-runtime";
515
553
  var MIN = 0;
516
554
  var MAX = 100;
517
555
  var VolumeSlider = ({
518
556
  width = 0,
519
557
  setIsSeeking,
520
558
  handleControlDisplayTimer,
521
- volumeSliderToggler
559
+ volumeSliderToggler,
560
+ isTrailer
522
561
  }) => {
523
562
  const { player } = useSoftBuildersVideoPlayerContext();
524
563
  const [isVisible, setVisible] = useState2(false);
@@ -534,6 +573,20 @@ var VolumeSlider = ({
534
573
  player == null ? void 0 : player.off("volumechange", updateVolumeState);
535
574
  };
536
575
  }, [player]);
576
+ const handleVolumeSliderClick = (e) => {
577
+ e.stopPropagation();
578
+ const slider = e.currentTarget;
579
+ const rect = slider.getBoundingClientRect();
580
+ const offsetX = e.clientY - rect.top;
581
+ const newVolume = offsetX / rect.height * 100;
582
+ setVolume(newVolume);
583
+ player == null ? void 0 : player.volume(newVolume / 100);
584
+ if (newVolume === 0) {
585
+ player == null ? void 0 : player.muted(true);
586
+ } else {
587
+ player == null ? void 0 : player.muted(false);
588
+ }
589
+ };
537
590
  const timeoutRef = React2.useRef(null);
538
591
  useEffect2(() => {
539
592
  setVisible(false);
@@ -549,7 +602,7 @@ var VolumeSlider = ({
549
602
  if (volume == 0 && !isVisible) {
550
603
  setVolume(60);
551
604
  player == null ? void 0 : player.volume(0.6);
552
- player == null ? void 0 : player.muted(false);
605
+ player && (player == null ? void 0 : player.muted(false));
553
606
  }
554
607
  setVisible((prev) => !prev);
555
608
  timeoutRef.current = setTimeout(() => {
@@ -563,46 +616,62 @@ var VolumeSlider = ({
563
616
  setVolume(newVolume);
564
617
  player == null ? void 0 : player.volume(newVolume / 100);
565
618
  if (newVolume === 0) {
566
- player == null ? void 0 : player.muted(true);
619
+ player && (player == null ? void 0 : player.muted(true));
567
620
  } else {
568
- player == null ? void 0 : player.muted(false);
621
+ player && (player == null ? void 0 : player.muted(false));
569
622
  }
570
623
  };
571
- return /* @__PURE__ */ jsxs4(
624
+ const handleDoubleClick = (e) => {
625
+ setVolume(0);
626
+ player == null ? void 0 : player.muted(true);
627
+ };
628
+ return /* @__PURE__ */ jsxs6(
572
629
  "div",
573
630
  {
574
- className: `sb-flex ${isVisible ? "" : ""} ${width > 400 ? "sb-flex-col-reverse" : "sb-flex-col !sb-justify-start"} sb-items-center sb-gap-1 sb-h-full`,
631
+ 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`,
575
632
  children: [
576
- /* @__PURE__ */ jsx19(
633
+ /* @__PURE__ */ jsx23(
577
634
  "div",
578
635
  {
579
- className: `sb-flex sb-relative ${width < 400 ? "-sb-top-1" : "sb-top-1"}`,
636
+ className: `sb-flex sb-relative ${width < 400 || isTrailer ? "-sb-top-1" : "sb-top-1"}`,
580
637
  onClick: toggleVisibility,
581
- children: volume == 0 || (player == null ? void 0 : player.muted()) ? /* @__PURE__ */ jsx19(
582
- MuteIcon_default,
638
+ onDoubleClick: handleDoubleClick,
639
+ children: volume == 0 || (player == null ? void 0 : player.muted()) ? /* @__PURE__ */ jsx23(
640
+ VolumeMute_default,
583
641
  {
584
- className: `sb-w-3 sb-h-3 ${width < 400 ? "" : ""} sb-h-5 sb-w-5`
642
+ className: `sb-w-3 sb-h-3 ${width < 400 || isTrailer ? "" : ""} sb-h-5 sb-w-5`
585
643
  }
586
- ) : /* @__PURE__ */ jsx19(
587
- UnmuteIcon_default,
644
+ ) : volume < 25 ? /* @__PURE__ */ jsx23(
645
+ VolumeVLow_default,
588
646
  {
589
- className: `sb-w-3 sb-h-3 ${width < 400 ? "" : ""} sb-h-5 sb-w-5`
647
+ className: `sb-w-3 sb-h-3 ${width < 400 || isTrailer ? "" : ""} sb-h-5 sb-w-5`
648
+ }
649
+ ) : volume < 50 ? /* @__PURE__ */ jsx23(
650
+ VolumeLow_default,
651
+ {
652
+ className: `sb-w-3 sb-h-3 ${width < 400 || isTrailer ? "" : ""} sb-h-5 sb-w-5`
653
+ }
654
+ ) : /* @__PURE__ */ jsx23(
655
+ VolumeHigh_default,
656
+ {
657
+ className: `sb-w-3 sb-h-3 ${width < 400 || isTrailer ? "" : ""} sb-h-5 sb-w-5`
590
658
  }
591
659
  )
592
660
  }
593
661
  ),
594
- /* @__PURE__ */ jsx19("div", { className: "sb-flex sb-items-center sb-justify-center", children: /* @__PURE__ */ jsx19(
662
+ /* @__PURE__ */ jsx23("div", { className: "sb-flex sb-w-fit sb-h-fit sb-items-center sb-justify-center", children: /* @__PURE__ */ jsx23(
595
663
  "div",
596
664
  {
597
- 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 ? "-sb-rotate-90 -sb-translate-y-1" : "sb-rotate-90 sb-translate-y-1"} sb-relative`,
598
- children: /* @__PURE__ */ jsx19(
665
+ className: `sb-p-1 !sb-h-fit 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__ */ jsx23(
599
667
  Slider_default,
600
668
  {
601
669
  value: volume,
602
670
  handleValueChange,
603
671
  min: MIN,
604
672
  max: MAX,
605
- className: "!sb-w-16"
673
+ className: "!sb-w-16 ",
674
+ handleSliderClick: handleVolumeSliderClick
606
675
  }
607
676
  )
608
677
  }
@@ -618,7 +687,7 @@ import { useEffect as useEffect4, useState as useState4 } from "react";
618
687
 
619
688
  // src/components/MenuButton/index.tsx
620
689
  import { useCallback, useEffect as useEffect3, useRef, useState as useState3 } from "react";
621
- import { jsx as jsx20, jsxs as jsxs5 } from "react/jsx-runtime";
690
+ import { jsx as jsx24, jsxs as jsxs7 } from "react/jsx-runtime";
622
691
  var MenuButton = ({
623
692
  buttonContent,
624
693
  menuContent,
@@ -653,14 +722,14 @@ var MenuButton = ({
653
722
  useEffect3(() => {
654
723
  setNoteOpen && setNoteOpen(isOpen);
655
724
  }, [isOpen]);
656
- return /* @__PURE__ */ jsxs5(
725
+ return /* @__PURE__ */ jsxs7(
657
726
  "div",
658
727
  {
659
728
  onMouseEnter,
660
729
  onMouseLeave,
661
730
  className: "sb-relative sb-flex sb-items-end",
662
731
  children: [
663
- /* @__PURE__ */ jsx20(
732
+ /* @__PURE__ */ jsx24(
664
733
  "button",
665
734
  {
666
735
  ref: buttonRef,
@@ -676,7 +745,7 @@ var MenuButton = ({
676
745
  children: buttonContent
677
746
  }
678
747
  ),
679
- !disablePopUp && isOpen && /* @__PURE__ */ jsx20(
748
+ !disablePopUp && isOpen && /* @__PURE__ */ jsx24(
680
749
  "div",
681
750
  {
682
751
  ref: menuRef,
@@ -694,31 +763,32 @@ var MenuButton = ({
694
763
  var MenuButton_default = MenuButton;
695
764
 
696
765
  // src/components/QualityMenu/index.tsx
697
- import { jsx as jsx21, jsxs as jsxs6 } from "react/jsx-runtime";
766
+ import { jsx as jsx25, jsxs as jsxs8 } from "react/jsx-runtime";
698
767
  var QualityOption = ({
699
768
  isSelected,
700
769
  quality,
701
770
  onClick,
702
- width
771
+ width,
772
+ isTrailer
703
773
  }) => {
704
- return /* @__PURE__ */ jsx21(
774
+ return /* @__PURE__ */ jsx25(
705
775
  "button",
706
776
  {
707
- className: `hover:sb-text-orange-500 ${width > 400 ? "sb-p-2" : "sp-pb-1"}`,
777
+ className: `hover:sb-text-orange-500 ${width > 400 && !isTrailer ? "sb-p-2" : "sp-pb-1"}`,
708
778
  onClick,
709
- children: /* @__PURE__ */ jsxs6("div", { className: "sb-grid sb-grid-cols-12 sb-items-center sb-gap-2", children: [
710
- /* @__PURE__ */ jsx21("div", { className: "sb-col-span-3", children: isSelected ? /* @__PURE__ */ jsx21(
779
+ children: /* @__PURE__ */ jsxs8("div", { className: "sb-grid sb-grid-cols-12 sb-items-center sb-gap-2", children: [
780
+ /* @__PURE__ */ jsx25("div", { className: "sb-col-span-3", children: isSelected ? /* @__PURE__ */ jsx25(
711
781
  CheckedIcon_default,
712
782
  {
713
- className: `${width > 400 ? "sb-w-5 sb-h-5" : "sb-w-3 sb-h-3"}`
783
+ className: `${width > 400 && !isTrailer ? "sb-w-5 sb-h-5" : "sb-w-3 sb-h-3"}`
714
784
  }
715
- ) : /* @__PURE__ */ jsx21("div", {}) }),
716
- /* @__PURE__ */ jsx21("p", { className: "sb-text-left sb-col-span-9", children: quality == null ? void 0 : quality.label })
785
+ ) : /* @__PURE__ */ jsx25("div", {}) }),
786
+ /* @__PURE__ */ jsx25("p", { className: "sb-text-left sb-col-span-9", children: quality == null ? void 0 : quality.label })
717
787
  ] })
718
788
  }
719
789
  );
720
790
  };
721
- var QualityMenu = ({ width, onClick }) => {
791
+ var QualityMenu = ({ width, onClick, isTrailer }) => {
722
792
  const { player } = useSoftBuildersVideoPlayerContext();
723
793
  const [closeMenuFunction, setCloseMenuFunction] = useState4(void 0);
724
794
  const [qualities, setQualities] = useState4(
@@ -742,25 +812,25 @@ var QualityMenu = ({ width, onClick }) => {
742
812
  }
743
813
  }
744
814
  }, [player]);
745
- return /* @__PURE__ */ jsx21(
815
+ return /* @__PURE__ */ jsx25(
746
816
  MenuButton_default,
747
817
  {
748
- classContainer: `${width < 400 ? "!sb-top-8 -sb-left-9" : ""}`,
818
+ classContainer: `${width < 400 || isTrailer ? "!sb-top-8 -sb-left-9" : ""}`,
749
819
  onClick: (e, isOpen) => {
750
820
  onClick && onClick(e, isOpen);
751
821
  },
752
- buttonContent: /* @__PURE__ */ jsx21(SettingsIcon_default, { className: "sb-w-3 sb-h-3" }),
753
- menuContent: /* @__PURE__ */ jsx21(
822
+ buttonContent: /* @__PURE__ */ jsx25(SettingsIcon_default, { className: "sb-w-3 sb-h-3" }),
823
+ menuContent: /* @__PURE__ */ jsx25(
754
824
  "div",
755
825
  {
756
- className: `sb-rounded-md sb-bg-[#303030] sb-bg-opacity-50 ${width > 400 ? "sb-w-[150px] sb-py-5" : "sb-w-[90px] sb-items-center sb-justify-center sb-py-1"}`,
757
- children: /* @__PURE__ */ jsxs6("div", { className: "sb-flex sb-flex-col sb-gap-3", children: [
758
- /* @__PURE__ */ jsxs6(
826
+ 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__ */ jsxs8("div", { className: "sb-flex sb-flex-col sb-gap-3", children: [
828
+ /* @__PURE__ */ jsxs8(
759
829
  "div",
760
830
  {
761
831
  className: `sb-px-5 sb-flex sb-flex-row sb-gap-3 sb-items-start sb-relative sb-top-2`,
762
832
  children: [
763
- /* @__PURE__ */ jsx21(
833
+ /* @__PURE__ */ jsx25(
764
834
  "button",
765
835
  {
766
836
  onClick: () => {
@@ -769,19 +839,20 @@ var QualityMenu = ({ width, onClick }) => {
769
839
  }
770
840
  },
771
841
  className: "hover:sb-scale-150",
772
- children: /* @__PURE__ */ jsx21(LeftArrowIcon_default, { className: "sb-w-3 sb-h-3" })
842
+ children: /* @__PURE__ */ jsx25(LeftArrowIcon_default, { className: "sb-w-3 sb-h-3" })
773
843
  }
774
844
  ),
775
- /* @__PURE__ */ jsx21("h3", { children: "Quality" })
845
+ /* @__PURE__ */ jsx25("h3", { children: "Quality" })
776
846
  ]
777
847
  }
778
848
  ),
779
- /* @__PURE__ */ jsx21("div", { className: "sb-w-full sb-h-[.1px] sb-bg-[#AAAAAA] sb-bg-opacity-70" }),
780
- /* @__PURE__ */ jsx21("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) => {
781
- return /* @__PURE__ */ jsx21(
849
+ /* @__PURE__ */ jsx25("div", { className: "sb-w-full sb-h-[.1px] sb-bg-[#AAAAAA] sb-bg-opacity-70" }),
850
+ /* @__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) => {
851
+ return /* @__PURE__ */ jsx25(
782
852
  QualityOption,
783
853
  {
784
854
  width,
855
+ isTrailer,
785
856
  isSelected: currentQualitySrc === (q == null ? void 0 : q.label),
786
857
  quality: q,
787
858
  onClick: () => {
@@ -813,7 +884,7 @@ var QualityMenu_default = QualityMenu;
813
884
 
814
885
  // src/components/CreateNoteMenu/index.tsx
815
886
  import React5, { useState as useState5 } from "react";
816
- import { jsx as jsx22, jsxs as jsxs7 } from "react/jsx-runtime";
887
+ import { jsx as jsx26, jsxs as jsxs9 } from "react/jsx-runtime";
817
888
  var CreateNoteMenu = ({
818
889
  handleSaveNoteAction,
819
890
  width,
@@ -836,7 +907,7 @@ var CreateNoteMenu = ({
836
907
  );
837
908
  }
838
909
  };
839
- return /* @__PURE__ */ jsx22(
910
+ return /* @__PURE__ */ jsx26(
840
911
  MenuButton_default,
841
912
  {
842
913
  onMouseEnter,
@@ -845,21 +916,21 @@ var CreateNoteMenu = ({
845
916
  noteButtonClick,
846
917
  setNoteOpen,
847
918
  classContainer: `${width < 400 ? "!sb-top-8 -sb-left-[9.75rem]" : ""}`,
848
- buttonContent: /* @__PURE__ */ jsx22(ClosedNoteIcon_default, { className: "sb-w-3 sb-h-3" }),
849
- menuContent: /* @__PURE__ */ jsx22(
919
+ buttonContent: /* @__PURE__ */ jsx26(ClosedNoteIcon_default, { className: "sb-w-3 sb-h-3" }),
920
+ menuContent: /* @__PURE__ */ jsx26(
850
921
  "div",
851
922
  {
852
923
  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]"}`,
853
- children: /* @__PURE__ */ jsxs7(
924
+ children: /* @__PURE__ */ jsxs9(
854
925
  "div",
855
926
  {
856
927
  className: "sb-flex sb-flex-col sb-gap-3 sb-items-center sb-justify-center",
857
928
  onClick: (e) => e.stopPropagation(),
858
929
  children: [
859
- /* @__PURE__ */ jsx22("h3", { className: "sb-px-5", children: "Add Note" }),
860
- /* @__PURE__ */ jsx22("div", { className: "sb-w-full sb-h-[.1px] sb-bg-[#AAAAAA] sb-bg-opacity-70" }),
861
- /* @__PURE__ */ jsxs7("div", { className: "sb-px-5 sb-flex sb-flex-col sb-gap-4 sb-items-start", children: [
862
- /* @__PURE__ */ jsx22(
930
+ /* @__PURE__ */ jsx26("h3", { className: "sb-px-5", children: "Add Note" }),
931
+ /* @__PURE__ */ jsx26("div", { className: "sb-w-full sb-h-[.1px] sb-bg-[#AAAAAA] sb-bg-opacity-70" }),
932
+ /* @__PURE__ */ jsxs9("div", { className: "sb-px-5 sb-flex sb-flex-col sb-gap-4 sb-items-start", children: [
933
+ /* @__PURE__ */ jsx26(
863
934
  "input",
864
935
  {
865
936
  onClick: (e) => e.stopPropagation(),
@@ -872,7 +943,7 @@ var CreateNoteMenu = ({
872
943
  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"
873
944
  }
874
945
  ),
875
- /* @__PURE__ */ jsx22("button", { className: "sb-w-full", onClick: handleSaveNote, children: /* @__PURE__ */ jsx22("div", { className: "sb-px-4 sb-py-3 sb-text-center sb-font-bold sb-bg-orange-500 sb-rounded-md", children: "Save" }) })
946
+ /* @__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" }) })
876
947
  ] })
877
948
  ]
878
949
  }
@@ -891,10 +962,10 @@ import { useEffect as useEffect6, useState as useState7 } from "react";
891
962
  import { useState as useState6 } from "react";
892
963
 
893
964
  // src/components/Tooltip/index.tsx
894
- import { jsx as jsx23 } from "react/jsx-runtime";
965
+ import { jsx as jsx27 } from "react/jsx-runtime";
895
966
  var Tooltip = ({ open, children }) => {
896
967
  if (!open) return null;
897
- return /* @__PURE__ */ jsx23(
968
+ return /* @__PURE__ */ jsx27(
898
969
  "div",
899
970
  {
900
971
  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",
@@ -905,14 +976,14 @@ var Tooltip = ({ open, children }) => {
905
976
  var Tooltip_default = Tooltip;
906
977
 
907
978
  // src/components/NoteTooltip/index.tsx
908
- import { jsx as jsx24, jsxs as jsxs8 } from "react/jsx-runtime";
979
+ import { jsx as jsx28, jsxs as jsxs10 } from "react/jsx-runtime";
909
980
  var NoteTooltip = ({ note }) => {
910
981
  const [open, setOpen] = useState6(false);
911
982
  const { currentTime, player } = useSoftBuildersVideoPlayerContext();
912
983
  const handleValueChange = () => {
913
984
  player == null ? void 0 : player.currentTime(note.time);
914
985
  };
915
- return /* @__PURE__ */ jsx24(
986
+ return /* @__PURE__ */ jsx28(
916
987
  "div",
917
988
  {
918
989
  onClick: handleValueChange,
@@ -920,9 +991,9 @@ var NoteTooltip = ({ note }) => {
920
991
  style: { left: `${note == null ? void 0 : note.percentage}%` },
921
992
  onMouseEnter: () => setOpen(true),
922
993
  onMouseLeave: () => setOpen(false),
923
- children: /* @__PURE__ */ jsx24("div", { className: "sb-relative", children: /* @__PURE__ */ jsx24(Tooltip_default, { open, children: /* @__PURE__ */ jsxs8("div", { className: "sb-flex sb-flex-col sb-gap-2 sb-items-center", children: [
924
- /* @__PURE__ */ jsx24("p", { children: note == null ? void 0 : note.label }),
925
- /* @__PURE__ */ jsx24("p", { className: "sb-p-2 sb-bg-[#303030] sb-bg-opacity-50 sb-rounded-md", children: durationFormater(note.time) })
994
+ 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: [
995
+ /* @__PURE__ */ jsx28("p", { children: note == null ? void 0 : note.label }),
996
+ /* @__PURE__ */ jsx28("p", { className: "sb-p-2 sb-bg-[#303030] sb-bg-opacity-50 sb-rounded-md", children: durationFormater(note.time) })
926
997
  ] }) }) })
927
998
  }
928
999
  );
@@ -930,7 +1001,7 @@ var NoteTooltip = ({ note }) => {
930
1001
  var NoteTooltip_default = NoteTooltip;
931
1002
 
932
1003
  // src/components/NotesPanal/index.tsx
933
- import { jsx as jsx25 } from "react/jsx-runtime";
1004
+ import { jsx as jsx29 } from "react/jsx-runtime";
934
1005
  var NotesPanal = ({ notes }) => {
935
1006
  const [ns, setNs] = useState7([]);
936
1007
  const { duration } = useSoftBuildersVideoPlayerContext();
@@ -943,7 +1014,7 @@ var NotesPanal = ({ notes }) => {
943
1014
  });
944
1015
  newNs && setNs(newNs);
945
1016
  }, [notes, duration]);
946
- return /* @__PURE__ */ jsx25("div", { id: "notes-panal", className: "sb-w-full sb-h-full sb-relative ", children: ns.map((n, i) => /* @__PURE__ */ jsx25(NoteTooltip_default, { note: n }, `note-${i}-${n.time}`)) });
1017
+ 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}`)) });
947
1018
  };
948
1019
  var NotesPanal_default = NotesPanal;
949
1020
 
@@ -952,7 +1023,7 @@ import { useEffect as useEffect8, useState as useState9 } from "react";
952
1023
 
953
1024
  // src/components/ChapterTooltip/index.tsx
954
1025
  import { useEffect as useEffect7, useState as useState8 } from "react";
955
- import { jsx as jsx26, jsxs as jsxs9 } from "react/jsx-runtime";
1026
+ import { jsx as jsx30, jsxs as jsxs11 } from "react/jsx-runtime";
956
1027
  var ChapterTooltip = ({ chapter }) => {
957
1028
  const { player } = useSoftBuildersVideoPlayerContext();
958
1029
  const [open, setOpen] = useState8(false);
@@ -974,7 +1045,7 @@ var ChapterTooltip = ({ chapter }) => {
974
1045
  const clickedTime = chapter.startTime + clickPercentage * (chapter.endTime - chapter.startTime);
975
1046
  player == null ? void 0 : player.currentTime(clickedTime);
976
1047
  };
977
- return /* @__PURE__ */ jsx26(
1048
+ return /* @__PURE__ */ jsx30(
978
1049
  "div",
979
1050
  {
980
1051
  id: `ii-section-${chapter.title}`,
@@ -985,15 +1056,15 @@ var ChapterTooltip = ({ chapter }) => {
985
1056
  },
986
1057
  onMouseEnter: () => setOpen(true),
987
1058
  onMouseLeave: () => setOpen(false),
988
- children: /* @__PURE__ */ jsx26(
1059
+ children: /* @__PURE__ */ jsx30(
989
1060
  "button",
990
1061
  {
991
1062
  id: `section-${chapter.title}`,
992
1063
  className: "sb-h-full sb-w-full",
993
1064
  onClick: handleClickChapter,
994
- children: /* @__PURE__ */ jsx26("div", { className: "sb-relative sb-flex sb-h-full sb-w-full sb-justify-between sb-items-center", children: /* @__PURE__ */ jsx26(Tooltip_default, { open, children: /* @__PURE__ */ jsxs9("div", { className: "sb-flex sb-flex-col sb-gap-2 sb-items-center", children: [
995
- /* @__PURE__ */ jsx26("p", { children: chapter.title }),
996
- /* @__PURE__ */ jsxs9("p", { className: "sb-p-2 sb-bg-[#303030] sb-bg-opacity-50 sb-rounded-md", children: [
1065
+ 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: [
1066
+ /* @__PURE__ */ jsx30("p", { children: chapter.title }),
1067
+ /* @__PURE__ */ jsxs11("p", { className: "sb-p-2 sb-bg-[#303030] sb-bg-opacity-50 sb-rounded-md", children: [
997
1068
  durationFormater(chapter.startTime),
998
1069
  " -",
999
1070
  " ",
@@ -1008,7 +1079,7 @@ var ChapterTooltip = ({ chapter }) => {
1008
1079
  var ChapterTooltip_default = ChapterTooltip;
1009
1080
 
1010
1081
  // src/components/ChaptersPanal/index.tsx
1011
- import { jsx as jsx27 } from "react/jsx-runtime";
1082
+ import { jsx as jsx31 } from "react/jsx-runtime";
1012
1083
  var ChaptersPanal = ({ chapters }) => {
1013
1084
  const [cs, setCs] = useState9([]);
1014
1085
  const { duration } = useSoftBuildersVideoPlayerContext();
@@ -1023,13 +1094,13 @@ var ChaptersPanal = ({ chapters }) => {
1023
1094
  });
1024
1095
  newCs && setCs(newCs);
1025
1096
  }, [chapters, duration]);
1026
- return /* @__PURE__ */ jsx27("div", { id: "chapters-panal", className: "sb-w-full sb-h-full sb-relative ", children: cs.map((c, i) => /* @__PURE__ */ jsx27(ChapterTooltip_default, { chapter: c }, `chapter-${i}-${c.startTime}`)) });
1097
+ 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}`)) });
1027
1098
  };
1028
1099
  var ChaptersPanal_default = ChaptersPanal;
1029
1100
 
1030
1101
  // src/components/TimeSlider/index.tsx
1031
1102
  import { useEffect as useEffect9, useState as useState10 } from "react";
1032
- import { jsx as jsx28, jsxs as jsxs10 } from "react/jsx-runtime";
1103
+ import { jsx as jsx32, jsxs as jsxs12 } from "react/jsx-runtime";
1033
1104
  var MIN2 = 0;
1034
1105
  var MAX2 = 100;
1035
1106
  var DEFERENCE = Math.abs(MAX2 - MIN2);
@@ -1078,8 +1149,8 @@ var TimeSlider = ({ chapters }) => {
1078
1149
  arr.push(`black 100%`);
1079
1150
  setMaskCuttes(arr.toString());
1080
1151
  }, [chapters, duration]);
1081
- return /* @__PURE__ */ jsxs10("div", { className: " sb-w-full sb-h-2 sb-flex sb-items-center sb-justify-center", children: [
1082
- /* @__PURE__ */ jsx28("div", { className: "sb-absolute sb-top-0 sb-left-0 sb-w-full sb-z-10", children: /* @__PURE__ */ jsx28(
1152
+ return /* @__PURE__ */ jsxs12("div", { className: " sb-w-full sb-h-2 sb-flex sb-items-center sb-justify-center", children: [
1153
+ /* @__PURE__ */ jsx32("div", { className: "sb-absolute sb-top-0 sb-left-0 sb-w-full sb-z-10", children: /* @__PURE__ */ jsx32(
1083
1154
  Slider_default,
1084
1155
  {
1085
1156
  value: timeSlider,
@@ -1092,7 +1163,7 @@ var TimeSlider = ({ chapters }) => {
1092
1163
  }
1093
1164
  }
1094
1165
  ) }),
1095
- /* @__PURE__ */ jsx28(
1166
+ /* @__PURE__ */ jsx32(
1096
1167
  "div",
1097
1168
  {
1098
1169
  className: "sb-absolute sb-top-0 sb-left-0 sb-w-full sb-h-2 sb-bg-slate-400 sb-rounded-md",
@@ -1122,24 +1193,24 @@ var TimeSlider = ({ chapters }) => {
1122
1193
  var TimeSlider_default = TimeSlider;
1123
1194
 
1124
1195
  // src/components/TimeSliderContainer/index.tsx
1125
- import { jsx as jsx29, jsxs as jsxs11 } from "react/jsx-runtime";
1196
+ import { jsx as jsx33, jsxs as jsxs13 } from "react/jsx-runtime";
1126
1197
  var TimeSliderContainer = ({ notes, chapters }) => {
1127
- return /* @__PURE__ */ jsxs11(
1198
+ return /* @__PURE__ */ jsxs13(
1128
1199
  "div",
1129
1200
  {
1130
1201
  id: "time-slider-container",
1131
1202
  className: "sb-w-full sb-relative sb-flex sb-items-center sb-justify-center",
1132
1203
  children: [
1133
- /* @__PURE__ */ jsx29(
1204
+ /* @__PURE__ */ jsx33(
1134
1205
  "div",
1135
1206
  {
1136
1207
  id: "notes-panal",
1137
1208
  className: "sb-absolute sb-w-full sb-h-full sb-top-[27%] sb-left-0",
1138
- children: /* @__PURE__ */ jsx29(NotesPanal_default, { notes })
1209
+ children: /* @__PURE__ */ jsx33(NotesPanal_default, { notes })
1139
1210
  }
1140
1211
  ),
1141
- /* @__PURE__ */ jsx29("div", { className: "sb-absolute sb-w-full sb-h-full sb-top-0 sb-left-0", children: /* @__PURE__ */ jsx29(ChaptersPanal_default, { chapters }) }),
1142
- /* @__PURE__ */ jsx29(TimeSlider_default, { chapters })
1212
+ /* @__PURE__ */ jsx33("div", { className: "sb-absolute sb-w-full sb-h-full sb-top-0 sb-left-0", children: /* @__PURE__ */ jsx33(ChaptersPanal_default, { chapters }) }),
1213
+ /* @__PURE__ */ jsx33(TimeSlider_default, { chapters })
1143
1214
  ]
1144
1215
  }
1145
1216
  );
@@ -1148,7 +1219,7 @@ var TimeSliderContainer_default = TimeSliderContainer;
1148
1219
 
1149
1220
  // src/components/BufferTracker/index.tsx
1150
1221
  import { useEffect as useEffect10 } from "react";
1151
- import { Fragment, jsx as jsx30 } from "react/jsx-runtime";
1222
+ import { Fragment, jsx as jsx34 } from "react/jsx-runtime";
1152
1223
  var BufferTracker = () => {
1153
1224
  const { player, setDownloadedBufferTimeufferTime } = useSoftBuildersVideoPlayerContext();
1154
1225
  useEffect10(() => {
@@ -1157,13 +1228,13 @@ var BufferTracker = () => {
1157
1228
  }, 1e3);
1158
1229
  return () => clearInterval(intervalId);
1159
1230
  }, [player]);
1160
- return /* @__PURE__ */ jsx30(Fragment, {});
1231
+ return /* @__PURE__ */ jsx34(Fragment, {});
1161
1232
  };
1162
1233
  var BufferTracker_default = BufferTracker;
1163
1234
 
1164
1235
  // src/components/CurrentTimeTracker/index.tsx
1165
1236
  import { useEffect as useEffect11 } from "react";
1166
- import { Fragment as Fragment2, jsx as jsx31 } from "react/jsx-runtime";
1237
+ import { Fragment as Fragment2, jsx as jsx35 } from "react/jsx-runtime";
1167
1238
  var CurrentTimeTracker = () => {
1168
1239
  const { setCurrentTime, player } = useSoftBuildersVideoPlayerContext();
1169
1240
  useEffect11(() => {
@@ -1172,19 +1243,19 @@ var CurrentTimeTracker = () => {
1172
1243
  }, 500);
1173
1244
  return () => clearInterval(intervalId);
1174
1245
  }, [player]);
1175
- return /* @__PURE__ */ jsx31(Fragment2, {});
1246
+ return /* @__PURE__ */ jsx35(Fragment2, {});
1176
1247
  };
1177
1248
  var CurrentTimeTracker_default = CurrentTimeTracker;
1178
1249
 
1179
1250
  // src/components/SubtitleMenu/index.tsx
1180
1251
  import { useEffect as useEffect12, useState as useState11 } from "react";
1181
- import { jsx as jsx32, jsxs as jsxs12 } from "react/jsx-runtime";
1252
+ import { jsx as jsx36, jsxs as jsxs14 } from "react/jsx-runtime";
1182
1253
  var SubtitleOption = ({
1183
1254
  isSelected,
1184
1255
  subtitle,
1185
1256
  onClick
1186
1257
  }) => {
1187
- return /* @__PURE__ */ jsx32(
1258
+ return /* @__PURE__ */ jsx36(
1188
1259
  "button",
1189
1260
  {
1190
1261
  className: "hover:sb-text-orange-500 sb-p-2",
@@ -1192,9 +1263,9 @@ var SubtitleOption = ({
1192
1263
  e.stopPropagation();
1193
1264
  onClick(e);
1194
1265
  },
1195
- children: /* @__PURE__ */ jsxs12("div", { className: "sb-grid sb-grid-cols-12 sb-items-center sb-gap-2", children: [
1196
- /* @__PURE__ */ jsx32("div", { className: "sb-col-span-3", children: isSelected ? /* @__PURE__ */ jsx32(CheckedIcon_default, { className: "sb-w-5 sb-h-5" }) : /* @__PURE__ */ jsx32("div", {}) }),
1197
- /* @__PURE__ */ jsx32("p", { className: "sb-text-left sb-col-span-9", children: subtitle.label })
1266
+ children: /* @__PURE__ */ jsxs14("div", { className: "sb-grid sb-grid-cols-12 sb-items-center sb-gap-2", children: [
1267
+ /* @__PURE__ */ jsx36("div", { className: "sb-col-span-3", children: isSelected ? /* @__PURE__ */ jsx36(CheckedIcon_default, { className: "sb-w-5 sb-h-5" }) : /* @__PURE__ */ jsx36("div", {}) }),
1268
+ /* @__PURE__ */ jsx36("p", { className: "sb-text-left sb-col-span-9", children: subtitle.label })
1198
1269
  ] })
1199
1270
  }
1200
1271
  );
@@ -1203,7 +1274,8 @@ var SubtitleMenu = ({
1203
1274
  width,
1204
1275
  onClick,
1205
1276
  onMouseEnter,
1206
- onMouseLeave
1277
+ onMouseLeave,
1278
+ isTrailer
1207
1279
  }) => {
1208
1280
  const { player } = useSoftBuildersVideoPlayerContext();
1209
1281
  const [closeMenuFunction, setCloseMenuFunction] = useState11(void 0);
@@ -1226,7 +1298,7 @@ var SubtitleMenu = ({
1226
1298
  setSubtitles(textTracks);
1227
1299
  }
1228
1300
  }, [player]);
1229
- return /* @__PURE__ */ jsx32(
1301
+ return /* @__PURE__ */ jsx36(
1230
1302
  MenuButton_default,
1231
1303
  {
1232
1304
  onMouseEnter,
@@ -1234,15 +1306,15 @@ var SubtitleMenu = ({
1234
1306
  onClick: (e, isOpen) => {
1235
1307
  onClick && onClick(e, isOpen);
1236
1308
  },
1237
- classContainer: `${width < 400 ? "!sb-top-8 -sb-left-9" : ""}`,
1238
- buttonContent: /* @__PURE__ */ jsx32(SubIcon_default, { className: "sb-w-4 sb-h-4 sb-text-white " }),
1239
- menuContent: /* @__PURE__ */ jsx32(
1309
+ classContainer: `${width < 400 || isTrailer ? "!sb-top-8 -sb-left-9" : ""}`,
1310
+ buttonContent: /* @__PURE__ */ jsx36(SubIcon_default, { className: "sb-w-4 sb-h-4 sb-text-white " }),
1311
+ menuContent: /* @__PURE__ */ jsx36(
1240
1312
  "div",
1241
1313
  {
1242
- className: `sb-rounded-md sb-bg-[#303030] sb-bg-opacity-50 ${width > 400 ? "sb-w-[150px] sb-py-5" : "sb-w-[90px] sb-items-center sb-justify-center sb-py-1"}`,
1243
- children: /* @__PURE__ */ jsxs12("div", { className: "sb-flex sb-flex-col sb-gap-3", children: [
1244
- /* @__PURE__ */ jsxs12("div", { className: "sb-px-5 sb-flex sb-flex-row sb-gap-3 sb-items-center sb-justify-center", children: [
1245
- /* @__PURE__ */ jsx32(
1314
+ 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__ */ jsxs14("div", { className: "sb-flex sb-flex-col sb-gap-3", children: [
1316
+ /* @__PURE__ */ jsxs14("div", { className: "sb-px-5 sb-flex sb-flex-row sb-gap-3 sb-items-center sb-justify-center", children: [
1317
+ /* @__PURE__ */ jsx36(
1246
1318
  "button",
1247
1319
  {
1248
1320
  onClick: () => {
@@ -1251,14 +1323,14 @@ var SubtitleMenu = ({
1251
1323
  }
1252
1324
  },
1253
1325
  className: "hover:sb-scale-150",
1254
- children: /* @__PURE__ */ jsx32(LeftArrowIcon_default, { className: "sb-w-3 sb-h-3" })
1326
+ children: /* @__PURE__ */ jsx36(LeftArrowIcon_default, { className: "sb-w-3 sb-h-3" })
1255
1327
  }
1256
1328
  ),
1257
- /* @__PURE__ */ jsx32("h3", { children: "Subtitle" })
1329
+ /* @__PURE__ */ jsx36("h3", { children: "Subtitle" })
1258
1330
  ] }),
1259
- /* @__PURE__ */ jsx32("div", { className: "sb-w-full sb-h-[.1px] sb-bg-[#AAAAAA] sb-bg-opacity-70" }),
1260
- /* @__PURE__ */ jsx32("div", { className: "sb-px-5 sb-flex sb-flex-col sb-gap-3 sb-items-start", children: subtitles.map((q, i) => {
1261
- return /* @__PURE__ */ jsx32(
1331
+ /* @__PURE__ */ jsx36("div", { className: "sb-w-full sb-h-[.1px] sb-bg-[#AAAAAA] sb-bg-opacity-70" }),
1332
+ /* @__PURE__ */ jsx36("div", { className: "sb-px-5 sb-flex sb-flex-col sb-gap-3 sb-items-start", children: subtitles.map((q, i) => {
1333
+ return /* @__PURE__ */ jsx36(
1262
1334
  SubtitleOption,
1263
1335
  {
1264
1336
  isSelected: q.mode === "showing",
@@ -1283,7 +1355,7 @@ var SubtitleMenu_default = SubtitleMenu;
1283
1355
 
1284
1356
  // src/components/Tooltip/GlobalTooltip.tsx
1285
1357
  import { useState as useState12 } from "react";
1286
- import { jsx as jsx33, jsxs as jsxs13 } from "react/jsx-runtime";
1358
+ import { jsx as jsx37, jsxs as jsxs15 } from "react/jsx-runtime";
1287
1359
  var TooltipModal = ({
1288
1360
  content,
1289
1361
  children,
@@ -1293,13 +1365,13 @@ var TooltipModal = ({
1293
1365
  const [isOpen, setIsOpen] = useState12(false);
1294
1366
  const showTooltip = () => setIsOpen(true);
1295
1367
  const hideTooltip = () => setIsOpen(false);
1296
- return /* @__PURE__ */ jsxs13(
1368
+ return /* @__PURE__ */ jsxs15(
1297
1369
  "div",
1298
1370
  {
1299
1371
  className: "tooltip-container",
1300
1372
  style: { position: "relative", display: "inline-block" },
1301
1373
  children: [
1302
- /* @__PURE__ */ jsx33(
1374
+ /* @__PURE__ */ jsx37(
1303
1375
  "div",
1304
1376
  {
1305
1377
  onMouseEnter: showTooltip,
@@ -1308,7 +1380,7 @@ var TooltipModal = ({
1308
1380
  children
1309
1381
  }
1310
1382
  ),
1311
- isOpen && /* @__PURE__ */ jsx33(
1383
+ isOpen && /* @__PURE__ */ jsx37(
1312
1384
  "div",
1313
1385
  {
1314
1386
  className: `sb-tooltip-modal sb-text-orange-900 sb-my-2 ${width > 400 ? "!sb-bottom-[105%]" : "!sb-top-[105%]"}`,
@@ -1333,7 +1405,7 @@ var TooltipModal = ({
1333
1405
  var GlobalTooltip_default = TooltipModal;
1334
1406
 
1335
1407
  // src/components/ControlBar/index.tsx
1336
- import { jsx as jsx34, jsxs as jsxs14 } from "react/jsx-runtime";
1408
+ import { Fragment as Fragment3, jsx as jsx38, jsxs as jsxs16 } from "react/jsx-runtime";
1337
1409
  var ControlBar = ({
1338
1410
  player,
1339
1411
  isPaused,
@@ -1349,7 +1421,8 @@ var ControlBar = ({
1349
1421
  setIsSubtitleMenuOpen,
1350
1422
  setNoteOpen,
1351
1423
  disableNote,
1352
- noteButtonClick
1424
+ noteButtonClick,
1425
+ isTrailer
1353
1426
  }) => {
1354
1427
  const { setPlayer, setDuration } = useSoftBuildersVideoPlayerContext();
1355
1428
  const [width, setWidth] = useState13(0);
@@ -1383,93 +1456,98 @@ var ControlBar = ({
1383
1456
  useEffect13(() => {
1384
1457
  setDuration(duration);
1385
1458
  }, [duration]);
1386
- return /* @__PURE__ */ jsxs14(
1459
+ return /* @__PURE__ */ jsxs16(
1387
1460
  "div",
1388
1461
  {
1389
- className: ` !sb-px-4 sb-flex sb-pt-2 sb-justify-center sb-gap-3 sb-w-full sb-h-full ${width > 400 ? "sb-absolute sb-bottom-1 sb-items-end sb-mb-1 sb-pb-2 " : "sb-items-start"} sb-pb-2`,
1462
+ 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`,
1390
1463
  children: [
1391
- /* @__PURE__ */ jsx34(BufferTracker_default, {}),
1392
- /* @__PURE__ */ jsx34(CurrentTimeTracker_default, {}),
1393
- /* @__PURE__ */ jsx34(
1394
- "button",
1395
- {
1396
- onClick: () => {
1397
- seek(-seekStep);
1398
- },
1399
- children: /* @__PURE__ */ jsx34(
1400
- GlobalTooltip_default,
1401
- {
1402
- width,
1403
- content: /* @__PURE__ */ jsx34("p", { children: "Backward 5 sec" }),
1404
- isLeft: true,
1405
- children: /* @__PURE__ */ jsx34(BackwardIcon_default, { className: "sb-w-3 sb-h-3" })
1406
- }
1407
- )
1408
- }
1409
- ),
1410
- /* @__PURE__ */ jsx34("button", { onClick: togglePlay, children: /* @__PURE__ */ jsx34(
1411
- GlobalTooltip_default,
1412
- {
1413
- width,
1414
- content: /* @__PURE__ */ jsx34("p", { children: isPaused ? "Play" : "pause" }),
1415
- isLeft: true,
1416
- children: isPaused ? /* @__PURE__ */ jsx34(PlayIcon_default, { className: "sb-w-3 sb-h-3" }) : /* @__PURE__ */ jsx34(PauseIcon_default, { className: "sb-w-3 sb-h-3" })
1417
- }
1418
- ) }),
1419
- /* @__PURE__ */ jsx34(
1420
- "button",
1421
- {
1422
- onClick: (e) => {
1423
- e.preventDefault();
1424
- seek(seekStep);
1425
- },
1426
- children: /* @__PURE__ */ jsx34(
1427
- GlobalTooltip_default,
1428
- {
1429
- width,
1430
- content: /* @__PURE__ */ jsx34("p", { children: "Forward 5 sec" }),
1431
- isLeft: true,
1432
- children: /* @__PURE__ */ jsx34(ForwardIcon_default, { className: "sb-w-3 sb-h-3" })
1433
- }
1434
- )
1435
- }
1436
- ),
1464
+ /* @__PURE__ */ jsx38(BufferTracker_default, {}),
1465
+ /* @__PURE__ */ jsx38(CurrentTimeTracker_default, {}),
1466
+ !isTrailer && /* @__PURE__ */ jsxs16(Fragment3, { children: [
1467
+ " ",
1468
+ /* @__PURE__ */ jsx38(
1469
+ "button",
1470
+ {
1471
+ onClick: () => {
1472
+ seek(-seekStep);
1473
+ },
1474
+ children: /* @__PURE__ */ jsx38(
1475
+ GlobalTooltip_default,
1476
+ {
1477
+ width,
1478
+ content: /* @__PURE__ */ jsx38("p", { children: "Backward 5 sec" }),
1479
+ isLeft: true,
1480
+ children: /* @__PURE__ */ jsx38(BackwardIcon_default, { className: "sb-w-3 sb-h-3" })
1481
+ }
1482
+ )
1483
+ }
1484
+ ),
1485
+ /* @__PURE__ */ jsx38("button", { onClick: togglePlay, children: /* @__PURE__ */ jsx38(
1486
+ GlobalTooltip_default,
1487
+ {
1488
+ width,
1489
+ content: /* @__PURE__ */ jsx38("p", { children: isPaused ? "Play" : "pause" }),
1490
+ isLeft: true,
1491
+ children: isPaused ? /* @__PURE__ */ jsx38(PlayIcon_default, { className: "sb-w-3 sb-h-3" }) : /* @__PURE__ */ jsx38(PauseIcon_default, { className: "sb-w-3 sb-h-3" })
1492
+ }
1493
+ ) }),
1494
+ /* @__PURE__ */ jsx38(
1495
+ "button",
1496
+ {
1497
+ onClick: (e) => {
1498
+ e.preventDefault();
1499
+ seek(seekStep);
1500
+ },
1501
+ children: /* @__PURE__ */ jsx38(
1502
+ GlobalTooltip_default,
1503
+ {
1504
+ width,
1505
+ content: /* @__PURE__ */ jsx38("p", { children: "Forward 5 sec" }),
1506
+ isLeft: true,
1507
+ children: /* @__PURE__ */ jsx38(ForwardIcon_default, { className: "sb-w-3 sb-h-3" })
1508
+ }
1509
+ )
1510
+ }
1511
+ )
1512
+ ] }),
1437
1513
  // isSeeking ||
1438
1514
  // width > 400 &&
1439
- /* @__PURE__ */ jsx34(
1515
+ /* @__PURE__ */ jsx38(
1440
1516
  "div",
1441
1517
  {
1442
- className: `${width < 400 ? "sb-flex-1 sb-ml-0 sb-mr-0" : "sb-w-full"}`,
1443
- children: /* @__PURE__ */ jsxs14(
1518
+ className: `${width < 400 && !isTrailer ? "sb-flex-1 sb-ml-0 sb-mr-0" : "sb-w-full"}`,
1519
+ children: /* @__PURE__ */ jsxs16(
1444
1520
  "div",
1445
1521
  {
1446
- style: width < 400 ? {
1522
+ style: width < 400 && !isTrailer ? {
1447
1523
  width: `${width * 0.9}px`,
1448
1524
  left: "5%",
1449
1525
  top: "90%"
1450
1526
  } : { width: "98%" },
1451
- className: `flex gap-2 ${width < 400 ? "absolute sb-top-1" : "-sb-translate-y-0 sb-w-full"} hover:sb-w-[45%] `,
1527
+ className: `flex gap-2 ${width < 400 && !isTrailer ? "absolute sb-top-1" : "-sb-translate-y-0 sb-w-full"} hover:sb-w-[45%] `,
1452
1528
  children: [
1453
- /* @__PURE__ */ jsx34(CurrentTimeLabel_default, {}),
1454
- /* @__PURE__ */ jsx34(TimeSliderContainer_default, { chapters, notes }),
1455
- /* @__PURE__ */ jsx34("p", { children: durationFormater(duration) })
1529
+ /* @__PURE__ */ jsx38(CurrentTimeLabel_default, {}),
1530
+ /* @__PURE__ */ jsx38(TimeSliderContainer_default, { chapters, notes }),
1531
+ /* @__PURE__ */ jsx38("p", { children: durationFormater(duration) })
1456
1532
  ]
1457
1533
  }
1458
1534
  )
1459
1535
  }
1460
1536
  ),
1461
- /* @__PURE__ */ jsx34("div", { className: "sb-h-full", children: /* @__PURE__ */ jsx34(
1537
+ /* @__PURE__ */ jsx38("div", { className: "sb-h-full", children: /* @__PURE__ */ jsx38(
1462
1538
  VolumeSlider_default,
1463
1539
  {
1540
+ isTrailer,
1464
1541
  volumeSliderToggler,
1465
1542
  width,
1466
1543
  setIsSeeking: (val) => setIsSeeking(val),
1467
1544
  handleControlDisplayTimer
1468
1545
  }
1469
1546
  ) }),
1470
- /* @__PURE__ */ jsx34(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx34("p", { children: "Quality" }), children: /* @__PURE__ */ jsx34(
1547
+ /* @__PURE__ */ jsx38(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx38("p", { children: "Quality" }), children: /* @__PURE__ */ jsx38(
1471
1548
  QualityMenu_default,
1472
1549
  {
1550
+ isTrailer,
1473
1551
  width,
1474
1552
  onClick: (e, isOpen) => {
1475
1553
  setVolumeToggler(!volumeSliderToggler);
@@ -1477,7 +1555,7 @@ var ControlBar = ({
1477
1555
  }
1478
1556
  }
1479
1557
  ) }),
1480
- disableNote && /* @__PURE__ */ jsx34(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx34("p", { children: "Create note" }), children: /* @__PURE__ */ jsx34(
1558
+ disableNote && /* @__PURE__ */ jsx38(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx38("p", { children: "Create note" }), children: /* @__PURE__ */ jsx38(
1481
1559
  CreateNoteMenu_default,
1482
1560
  {
1483
1561
  handleSaveNoteAction,
@@ -1492,9 +1570,10 @@ var ControlBar = ({
1492
1570
  }
1493
1571
  }
1494
1572
  ) }),
1495
- /* @__PURE__ */ jsx34(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx34("p", { children: "Subtitle" }), children: /* @__PURE__ */ jsx34(
1573
+ /* @__PURE__ */ jsx38(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx38("p", { children: "Subtitle" }), children: /* @__PURE__ */ jsx38(
1496
1574
  SubtitleMenu_default,
1497
1575
  {
1576
+ isTrailer,
1498
1577
  width,
1499
1578
  onClick: (e, isOpen) => {
1500
1579
  setVolumeToggler(!volumeSliderToggler);
@@ -1502,7 +1581,7 @@ var ControlBar = ({
1502
1581
  }
1503
1582
  }
1504
1583
  ) }),
1505
- /* @__PURE__ */ jsx34(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx34("p", { children: "Full screen" }), children: /* @__PURE__ */ jsx34(
1584
+ /* @__PURE__ */ jsx38(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx38("p", { children: "Full screen" }), children: /* @__PURE__ */ jsx38(
1506
1585
  "button",
1507
1586
  {
1508
1587
  onClick: (e) => {
@@ -1514,7 +1593,7 @@ var ControlBar = ({
1514
1593
  player == null ? void 0 : player.requestFullscreen();
1515
1594
  }
1516
1595
  },
1517
- children: /* @__PURE__ */ jsx34(FullScreenIcon_default, { className: "sb-w-3 sb-h-3" })
1596
+ children: /* @__PURE__ */ jsx38(FullScreenIcon_default, { className: "sb-w-3 sb-h-3" })
1518
1597
  }
1519
1598
  ) })
1520
1599
  ]
@@ -1527,28 +1606,36 @@ var ControlBar_default = ControlBar;
1527
1606
  import { isEqual } from "lodash";
1528
1607
 
1529
1608
  // src/components/BigPlayButton/index.tsx
1530
- import { jsx as jsx35 } from "react/jsx-runtime";
1531
- var BigPlayButton = ({ player, isPaused, setIsPaused }) => {
1609
+ import { jsx as jsx39 } from "react/jsx-runtime";
1610
+ var BigPlayButton = ({
1611
+ player,
1612
+ isPaused,
1613
+ setIsPaused,
1614
+ height,
1615
+ id,
1616
+ heightValue
1617
+ }) => {
1532
1618
  const togglePlay = () => {
1533
1619
  if (isPaused) player == null ? void 0 : player.play();
1534
1620
  else player == null ? void 0 : player.pause();
1535
1621
  setIsPaused(!isPaused);
1536
1622
  };
1537
- return /* @__PURE__ */ jsx35(
1623
+ return /* @__PURE__ */ jsx39(
1538
1624
  "div",
1539
1625
  {
1626
+ style: __spreadValues({}, height && heightValue ? { position: "absolute", top: `-${(heightValue - height) / 2}px` } : {}),
1540
1627
  onClick: togglePlay,
1541
- 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 ",
1542
- children: isPaused ? /* @__PURE__ */ jsx35(PlayIcon_default, { className: "sb-w-4 sb-h-4" }) : /* @__PURE__ */ jsx35(PauseIcon_default, { className: "sb-w-4 sb-h-4" })
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__ */ jsx39(PlayIcon_default, { className: "sb-w-4 sb-h-4" }) : /* @__PURE__ */ jsx39(PauseIcon_default, { className: "sb-w-4 sb-h-4" })
1543
1630
  }
1544
1631
  );
1545
1632
  };
1546
1633
  var BigPlayButton_default = BigPlayButton;
1547
1634
 
1548
1635
  // src/components/VideoPlayerComponent/index.tsx
1549
- import { jsx as jsx36, jsxs as jsxs15 } from "react/jsx-runtime";
1636
+ import { Fragment as Fragment4, jsx as jsx40, jsxs as jsxs17 } from "react/jsx-runtime";
1550
1637
  var bigPlayButtonRoot = {};
1551
- var renderBigPlayButton = (id, player, isPaused, setIsPaused, opacity = "100") => {
1638
+ var renderBigPlayButton = (id, player, isPaused, setIsPaused, opacity = "100", height, heightValue) => {
1552
1639
  const container = document.getElementById(`video-container-${id}`);
1553
1640
  if (container) {
1554
1641
  container.style.height = "100%";
@@ -1559,12 +1646,14 @@ var renderBigPlayButton = (id, player, isPaused, setIsPaused, opacity = "100") =
1559
1646
  bigPlayButtonRoot[id] = ReactDOM.createRoot(element);
1560
1647
  }
1561
1648
  bigPlayButtonRoot[id].render(
1562
- /* @__PURE__ */ jsx36(
1649
+ /* @__PURE__ */ jsx40(
1563
1650
  BigPlayButton_default,
1564
1651
  {
1565
1652
  player,
1566
1653
  isPaused,
1567
- setIsPaused
1654
+ setIsPaused,
1655
+ height,
1656
+ heightValue
1568
1657
  }
1569
1658
  )
1570
1659
  );
@@ -1573,7 +1662,7 @@ var renderBigPlayButton = (id, player, isPaused, setIsPaused, opacity = "100") =
1573
1662
  };
1574
1663
  var controlBarRoot = {};
1575
1664
  var renderControlBar = (id, player, isPaused, setIsPaused, duration, notes, chapters, seekStep = 5, handleSaveNoteAction, opacity = "0", handleControlDisplayTimer = () => {
1576
- }, bgColor = "transparent", setIsQualityMenuOpen, setIsSubtitleMenuOpen, disableNote, setNoteOpen, noteButtonClick) => {
1665
+ }, bgColor = "transparent", setIsQualityMenuOpen, setIsSubtitleMenuOpen, disableNote, setNoteOpen, noteButtonClick, isTrailer) => {
1577
1666
  const container = document.getElementById(`video-container-${id}`);
1578
1667
  if (container) {
1579
1668
  container.style.height = "100%";
@@ -1589,7 +1678,7 @@ var renderControlBar = (id, player, isPaused, setIsPaused, duration, notes, chap
1589
1678
  element.style.height = "100%";
1590
1679
  element.style.alignItems = "flex-end";
1591
1680
  controlBarRoot[id].render(
1592
- /* @__PURE__ */ jsx36(SoftBuildersVideoPlayerProvider, { children: /* @__PURE__ */ jsx36(
1681
+ /* @__PURE__ */ jsx40(SoftBuildersVideoPlayerProvider, { children: /* @__PURE__ */ jsx40(
1593
1682
  ControlBar_default,
1594
1683
  {
1595
1684
  id,
@@ -1606,7 +1695,8 @@ var renderControlBar = (id, player, isPaused, setIsPaused, duration, notes, chap
1606
1695
  setIsQualityMenuOpen,
1607
1696
  disableNote,
1608
1697
  setNoteOpen,
1609
- noteButtonClick
1698
+ noteButtonClick,
1699
+ isTrailer
1610
1700
  }
1611
1701
  ) })
1612
1702
  );
@@ -1628,7 +1718,9 @@ var VideoPlayerComponent = forwardRef(
1628
1718
  childRef,
1629
1719
  bottomRedBar = true,
1630
1720
  noteButtonClick,
1631
- videoID
1721
+ videoID,
1722
+ isTrailer,
1723
+ height
1632
1724
  }, ref) => {
1633
1725
  const videoRef = useRef2(void 0);
1634
1726
  const playerRef = useRef2(void 0);
@@ -1643,6 +1735,7 @@ var VideoPlayerComponent = forwardRef(
1643
1735
  const [isSubtitleMenuOpen, setIsSubtitleMenuOpen] = useState14(false);
1644
1736
  const [isHovered, setIsHovered] = useState14(false);
1645
1737
  const [isNoteOpen, setNoteOpen] = useState14(false);
1738
+ const [heightValue, setHeightValue] = useState14(0);
1646
1739
  const onReady = (player) => {
1647
1740
  if (playerRef) {
1648
1741
  playerRef.current = player;
@@ -1706,7 +1799,6 @@ var VideoPlayerComponent = forwardRef(
1706
1799
  videoElement.style.width = "100%";
1707
1800
  videoElement.style.height = "100%";
1708
1801
  videoElement.style.objectFit = "cover";
1709
- videoElement.style.position = "relative";
1710
1802
  playerRef.current = videojs(videoElement, options, () => {
1711
1803
  onReady(playerRef.current);
1712
1804
  });
@@ -1768,7 +1860,8 @@ var VideoPlayerComponent = forwardRef(
1768
1860
  setIsSubtitleMenuOpen,
1769
1861
  disableNote,
1770
1862
  setNoteOpen,
1771
- noteButtonClick
1863
+ noteButtonClick,
1864
+ isTrailer
1772
1865
  );
1773
1866
  }, 0);
1774
1867
  return () => clearTimeout(controlBarTimeout);
@@ -1790,12 +1883,14 @@ var VideoPlayerComponent = forwardRef(
1790
1883
  playerRef.current,
1791
1884
  isPaused,
1792
1885
  setIsPaused,
1793
- opacity
1886
+ opacity,
1887
+ height,
1888
+ heightValue
1794
1889
  );
1795
1890
  }, 500);
1796
1891
  return () => clearTimeout(playButtonTimeout);
1797
1892
  }
1798
- }, [isPaused, opacity, isReady, id]);
1893
+ }, [isPaused, opacity, isReady, id, height, heightValue]);
1799
1894
  useEffect14(() => {
1800
1895
  if (playerRef.current) {
1801
1896
  const intervalId = setInterval(() => {
@@ -1842,11 +1937,6 @@ var VideoPlayerComponent = forwardRef(
1842
1937
  }
1843
1938
  setOpacity("100");
1844
1939
  setIsControlBarPresent(true);
1845
- timeoutRef.current = setTimeout(() => {
1846
- setOpacity("0");
1847
- setBgColor("transparent");
1848
- setIsControlBarPresent(false);
1849
- }, 3e3);
1850
1940
  if (isTimerOnly) {
1851
1941
  return;
1852
1942
  }
@@ -1916,7 +2006,21 @@ var VideoPlayerComponent = forwardRef(
1916
2006
  const interval = setInterval(updateTimeSeeker, 500);
1917
2007
  return () => clearInterval(interval);
1918
2008
  }, [playerRef]);
1919
- return /* @__PURE__ */ jsxs15(
2009
+ const container = document.getElementById(`video-container-${id}`);
2010
+ function handleWidthChange(height2) {
2011
+ setHeightValue(height2);
2012
+ }
2013
+ const resizeObserver = new ResizeObserver((entries) => {
2014
+ for (let entry of entries) {
2015
+ const currentHeight = entry.contentRect.height;
2016
+ handleWidthChange(currentHeight);
2017
+ }
2018
+ });
2019
+ const controlBar = container == null ? void 0 : container.querySelector(".vjs-control-bar");
2020
+ if (controlBar) {
2021
+ resizeObserver.observe(controlBar);
2022
+ }
2023
+ return /* @__PURE__ */ jsx40(Fragment4, { children: /* @__PURE__ */ jsxs17(
1920
2024
  "div",
1921
2025
  {
1922
2026
  ref: videoRefs,
@@ -1928,7 +2032,7 @@ var VideoPlayerComponent = forwardRef(
1928
2032
  onMouseEnter: () => setIsHovered(true),
1929
2033
  onMouseLeave: () => setIsHovered(false),
1930
2034
  children: [
1931
- bottomRedBar && /* @__PURE__ */ jsx36(
2035
+ bottomRedBar && /* @__PURE__ */ jsx40(
1932
2036
  "div",
1933
2037
  {
1934
2038
  ref: childRef,
@@ -1939,12 +2043,12 @@ var VideoPlayerComponent = forwardRef(
1939
2043
  }
1940
2044
  }
1941
2045
  ),
1942
- /* @__PURE__ */ jsx36(
2046
+ /* @__PURE__ */ jsx40(
1943
2047
  "div",
1944
2048
  {
1945
2049
  className: "hover:sb-cursor-pointer sb-w-full sb-h-full",
1946
2050
  "data-vjs-player": true,
1947
- children: /* @__PURE__ */ jsx36(
2051
+ children: /* @__PURE__ */ jsx40(
1948
2052
  "div",
1949
2053
  {
1950
2054
  onClick: handlePlayerClick,
@@ -1956,7 +2060,7 @@ var VideoPlayerComponent = forwardRef(
1956
2060
  )
1957
2061
  ]
1958
2062
  }
1959
- );
2063
+ ) });
1960
2064
  }
1961
2065
  );
1962
2066
  var VideoPlayerComponent_default = VideoPlayerComponent;
@@ -1964,7 +2068,7 @@ var VideoPlayerComponent_default = VideoPlayerComponent;
1964
2068
  // src/components/SoftBuildersVideoPlayer/index.tsx
1965
2069
  import { isEqual as isEqual2 } from "lodash";
1966
2070
  import { v4 as uuidv4 } from "uuid";
1967
- import { jsx as jsx37 } from "react/jsx-runtime";
2071
+ import { jsx as jsx41 } from "react/jsx-runtime";
1968
2072
  var DEFAULT_OPTIONS = {
1969
2073
  autoplay: false,
1970
2074
  controls: true,
@@ -1989,7 +2093,9 @@ var Component = forwardRef2(
1989
2093
  childRef,
1990
2094
  bottomRedBar,
1991
2095
  noteButtonClick,
1992
- videoId
2096
+ videoId,
2097
+ isTrailer = false,
2098
+ height
1993
2099
  }) => {
1994
2100
  options = __spreadProps(__spreadValues({}, options), {
1995
2101
  responsive: true,
@@ -2031,7 +2137,7 @@ var Component = forwardRef2(
2031
2137
  useEffect15(() => {
2032
2138
  setUuid(uuidv4());
2033
2139
  }, []);
2034
- return /* @__PURE__ */ jsx37(
2140
+ return /* @__PURE__ */ jsx41(
2035
2141
  VideoPlayerComponent_default,
2036
2142
  {
2037
2143
  id: uuid,
@@ -2046,7 +2152,9 @@ var Component = forwardRef2(
2046
2152
  onPlay,
2047
2153
  childRef,
2048
2154
  bottomRedBar,
2049
- noteButtonClick
2155
+ noteButtonClick,
2156
+ isTrailer,
2157
+ height
2050
2158
  }
2051
2159
  );
2052
2160
  }