softbuilders-react-video-player 1.1.70 → 1.1.71

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.mjs CHANGED
@@ -31,16 +31,16 @@ var __objRest = (source, exclude) => {
31
31
  };
32
32
 
33
33
  // src/components/SoftBuildersVideoPlayer/index.tsx
34
- import { forwardRef as forwardRef2, memo, useEffect as useEffect15, useState as useState14 } from "react";
34
+ import { forwardRef as forwardRef2, memo, useEffect as useEffect15, useState as useState15 } from "react";
35
35
 
36
36
  // src/components/VideoPlayerComponent/index.tsx
37
- import { forwardRef, useEffect as useEffect14, useRef as useRef2, useState as useState13 } from "react";
37
+ import { forwardRef, useEffect as useEffect14, useRef as useRef2, useState as useState14 } from "react";
38
38
  import ReactDOM from "react-dom/client";
39
39
  import videojs from "video.js";
40
40
  import "video.js/dist/video-js.css";
41
41
 
42
42
  // src/components/ControlBar/index.tsx
43
- import { useEffect as useEffect13, useState as useState12 } from "react";
43
+ import { useEffect as useEffect13, useState as useState13 } from "react";
44
44
 
45
45
  // src/utils/index.ts
46
46
  var durationFormater = (seconds) => {
@@ -520,13 +520,21 @@ var VolumeSlider = ({
520
520
  const [isVisible, setVisible] = useState2(false);
521
521
  const [volume, setVolume] = useState2(0);
522
522
  useEffect2(() => {
523
- setVolume((player == null ? void 0 : player.muted()) ? 0 : Number(player == null ? void 0 : player.volume()) * 100 || 0);
523
+ const updateVolumeState = () => {
524
+ const currentVolume = (player == null ? void 0 : player.muted()) ? 0 : Number(player == null ? void 0 : player.volume()) * 100;
525
+ setVolume(currentVolume);
526
+ };
527
+ updateVolumeState();
528
+ player == null ? void 0 : player.on("volumechange", updateVolumeState);
529
+ return () => {
530
+ player == null ? void 0 : player.off("volumechange", updateVolumeState);
531
+ };
524
532
  }, [player]);
525
533
  const timeoutRef = React2.useRef(null);
526
534
  useEffect2(() => {
527
535
  setVisible(false);
528
536
  }, [volumeSliderToggler]);
529
- const toggleVisiblity = (e) => {
537
+ const toggleVisibility = (e) => {
530
538
  e.preventDefault();
531
539
  e.stopPropagation();
532
540
  handleControlDisplayTimer(e);
@@ -534,6 +542,11 @@ var VolumeSlider = ({
534
542
  if (timeoutRef.current) {
535
543
  clearTimeout(timeoutRef.current);
536
544
  }
545
+ if (volume == 0 && !isVisible) {
546
+ setVolume(60);
547
+ player == null ? void 0 : player.volume(0.6);
548
+ player == null ? void 0 : player.muted(false);
549
+ }
537
550
  setVisible((prev) => !prev);
538
551
  timeoutRef.current = setTimeout(() => {
539
552
  setVisible(false);
@@ -554,17 +567,17 @@ var VolumeSlider = ({
554
567
  return /* @__PURE__ */ jsxs4(
555
568
  "div",
556
569
  {
557
- className: `sb-flex ${isVisible ? "" : ""} ${width > 400 ? "sb-flex-col-reverse " : "sb-flex-col !sb-justify-start"} ${false ? "!sb-flex-row !sb-items-start " : ""} sb-items-center sb-gap-1 sb-h-full`,
570
+ 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`,
558
571
  children: [
559
572
  /* @__PURE__ */ jsx19(
560
573
  "div",
561
574
  {
562
- className: `sb-flex sb-relative ${width < 400 ? "-sb-top-1" : "sb-top-1"} `,
563
- onClick: toggleVisiblity,
564
- children: volume === 0 || (player == null ? void 0 : player.muted()) ? /* @__PURE__ */ jsx19(
575
+ className: `sb-flex sb-relative ${width < 400 ? "-sb-top-1" : "sb-top-1"}`,
576
+ onClick: toggleVisibility,
577
+ children: volume == 0 || (player == null ? void 0 : player.muted()) ? /* @__PURE__ */ jsx19(
565
578
  MuteIcon_default,
566
579
  {
567
- className: `sb-w-3 sb-h-3 ${width < 400 ? " " : ""} sb-h-5 sb-w-5`
580
+ className: `sb-w-3 sb-h-3 ${width < 400 ? "" : ""} sb-h-5 sb-w-5`
568
581
  }
569
582
  ) : /* @__PURE__ */ jsx19(
570
583
  UnmuteIcon_default,
@@ -574,10 +587,10 @@ var VolumeSlider = ({
574
587
  )
575
588
  }
576
589
  ),
577
- /* @__PURE__ */ jsx19("div", { className: "sb-flex sb-items-center sb-justify-center", children: /* @__PURE__ */ jsx19(
590
+ /* @__PURE__ */ jsx19("div", { className: "sb-flex sb-items-center sb-justify-center", children: /* @__PURE__ */ jsx19(
578
591
  "div",
579
592
  {
580
- 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 ${false ? "sb-static sb-w-16 sb-rotate-0 sb-translate-y-0 " : ""}`,
593
+ 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`,
581
594
  children: /* @__PURE__ */ jsx19(
582
595
  Slider_default,
583
596
  {
@@ -760,7 +773,7 @@ var QualityMenu = ({ width, onClick }) => {
760
773
  }
761
774
  ),
762
775
  /* @__PURE__ */ jsx21("div", { className: "sb-w-full sb-h-[.1px] sb-bg-[#AAAAAA] sb-bg-opacity-70" }),
763
- /* @__PURE__ */ jsx21("div", { className: "sb-px-5 sb-flex sb-flex-col sb-gap-3 sb-items-start ", children: qualities.map((q, i) => {
776
+ /* @__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) => {
764
777
  return /* @__PURE__ */ jsx21(Fragment, { children: /* @__PURE__ */ jsx21(
765
778
  QualityOption,
766
779
  {
@@ -875,23 +888,12 @@ import { useEffect as useEffect5, useState as useState6 } from "react";
875
888
 
876
889
  // src/components/Tooltip/index.tsx
877
890
  import { jsx as jsx23 } from "react/jsx-runtime";
878
- var Tooltip = ({
879
- open,
880
- children,
881
- position = "top"
882
- }) => {
891
+ var Tooltip = ({ open, children }) => {
883
892
  if (!open) return null;
884
- console.log("tool tip");
885
- const positionClasses = {
886
- top: "sb-bottom-full sb-left-1/2 sb-transform -sb-translate-x-1/2 sb-mb-2",
887
- bottom: "sb-top-full sb-left-1/2 sb-transform -sb-translate-x-1/2 sb-mt-2",
888
- left: "sb-right-full sb-top-1/2 sb-transform -sb-translate-y-1/2 sb-mr-2",
889
- right: "sb-left-full sb-top-1/2 sb-transform -sb-translate-y-1/2 sb-ml-2"
890
- };
891
893
  return /* @__PURE__ */ jsx23(
892
894
  "div",
893
895
  {
894
- className: `sb-relative sb-bg-black sb-text-white sb-text-sm sb-px-2 sb-py-1 sb-rounded sb-shadow-md sb-z-50 ${positionClasses[position]}`,
896
+ 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",
895
897
  children
896
898
  }
897
899
  );
@@ -1263,8 +1265,59 @@ var SubtitleMenu = ({
1263
1265
  };
1264
1266
  var SubtitleMenu_default = SubtitleMenu;
1265
1267
 
1266
- // src/components/ControlBar/index.tsx
1268
+ // src/components/Tooltip/GlobalTooltip.tsx
1269
+ import { useState as useState12 } from "react";
1267
1270
  import { jsx as jsx33, jsxs as jsxs13 } from "react/jsx-runtime";
1271
+ var TooltipModal = ({
1272
+ content,
1273
+ children,
1274
+ isLeft = false,
1275
+ width = 0
1276
+ }) => {
1277
+ const [isOpen, setIsOpen] = useState12(false);
1278
+ const showTooltip = () => setIsOpen(true);
1279
+ const hideTooltip = () => setIsOpen(false);
1280
+ return /* @__PURE__ */ jsxs13(
1281
+ "div",
1282
+ {
1283
+ className: "tooltip-container",
1284
+ style: { position: "relative", display: "inline-block" },
1285
+ children: [
1286
+ /* @__PURE__ */ jsx33(
1287
+ "div",
1288
+ {
1289
+ onMouseEnter: showTooltip,
1290
+ onMouseLeave: hideTooltip,
1291
+ style: { cursor: "pointer" },
1292
+ children
1293
+ }
1294
+ ),
1295
+ isOpen && /* @__PURE__ */ jsx33(
1296
+ "div",
1297
+ {
1298
+ className: `sb-tooltip-modal sb-text-orange-900 sb-my-2 ${width > 400 ? "sb-bottom-[105]" : "sb-top-[105%]"}`,
1299
+ style: {
1300
+ position: "absolute",
1301
+ left: !isLeft ? "-100%" : "100%",
1302
+ transform: !isLeft ? "translateX(-50%)" : "translateX(0%)",
1303
+ backgroundColor: "white",
1304
+ padding: "8px",
1305
+ borderRadius: "4px",
1306
+ whiteSpace: "nowrap",
1307
+ boxShadow: "0px 0px 5px grey",
1308
+ zIndex: 1e3
1309
+ },
1310
+ children: content
1311
+ }
1312
+ )
1313
+ ]
1314
+ }
1315
+ );
1316
+ };
1317
+ var GlobalTooltip_default = TooltipModal;
1318
+
1319
+ // src/components/ControlBar/index.tsx
1320
+ import { jsx as jsx34, jsxs as jsxs14 } from "react/jsx-runtime";
1268
1321
  var ControlBar = ({
1269
1322
  player,
1270
1323
  isPaused,
@@ -1283,24 +1336,14 @@ var ControlBar = ({
1283
1336
  noteButtonClick
1284
1337
  }) => {
1285
1338
  const { setPlayer, setDuration } = useSoftBuildersVideoPlayerContext();
1286
- const [width, setWidth] = useState12(0);
1287
- const [isSeeking, setIsSeeking] = useState12(true);
1339
+ const [width, setWidth] = useState13(0);
1340
+ const [isSeeking, setIsSeeking] = useState13(true);
1288
1341
  const seek = (duration2) => {
1289
1342
  const currentTime = Number((player == null ? void 0 : player.currentTime()) || 0);
1290
1343
  player == null ? void 0 : player.currentTime(currentTime + duration2);
1291
1344
  };
1292
- const [volumeSliderToggler, setVolumeToggler] = useState12(false);
1345
+ const [volumeSliderToggler, setVolumeToggler] = useState13(false);
1293
1346
  const container = document.getElementById(`video-container-${id}`);
1294
- const [isToolTip, setIsToolTip] = useState12({
1295
- sub: false,
1296
- seekForward: false,
1297
- seekBackward: false,
1298
- play: false,
1299
- pause: false,
1300
- volume: false,
1301
- quality: false,
1302
- fullScreen: false
1303
- });
1304
1347
  function handleWidthChange(width2) {
1305
1348
  setWidth(width2);
1306
1349
  }
@@ -1324,40 +1367,63 @@ var ControlBar = ({
1324
1367
  useEffect13(() => {
1325
1368
  setDuration(duration);
1326
1369
  }, [duration]);
1327
- return /* @__PURE__ */ jsxs13(
1370
+ return /* @__PURE__ */ jsxs14(
1328
1371
  "div",
1329
1372
  {
1330
1373
  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`,
1331
1374
  children: [
1332
- /* @__PURE__ */ jsx33(BufferTracker_default, {}),
1333
- /* @__PURE__ */ jsx33(CurrentTimeTracker_default, {}),
1334
- /* @__PURE__ */ jsx33(
1375
+ /* @__PURE__ */ jsx34(BufferTracker_default, {}),
1376
+ /* @__PURE__ */ jsx34(CurrentTimeTracker_default, {}),
1377
+ /* @__PURE__ */ jsx34(
1335
1378
  "button",
1336
1379
  {
1337
1380
  onClick: () => {
1338
1381
  seek(-seekStep);
1339
1382
  },
1340
- children: /* @__PURE__ */ jsx33(BackwardIcon_default, { className: "sb-w-3 sb-h-3" })
1383
+ children: /* @__PURE__ */ jsx34(
1384
+ GlobalTooltip_default,
1385
+ {
1386
+ width,
1387
+ content: /* @__PURE__ */ jsx34("p", { children: "Backward 5 sec" }),
1388
+ isLeft: true,
1389
+ children: /* @__PURE__ */ jsx34(BackwardIcon_default, { className: "sb-w-3 sb-h-3" })
1390
+ }
1391
+ )
1341
1392
  }
1342
1393
  ),
1343
- /* @__PURE__ */ jsx33("button", { onClick: togglePlay, children: isPaused ? /* @__PURE__ */ jsx33(PlayIcon_default, { className: "sb-w-3 sb-h-3" }) : /* @__PURE__ */ jsx33(PauseIcon_default, { className: "sb-w-3 sb-h-3" }) }),
1344
- /* @__PURE__ */ jsx33(
1394
+ /* @__PURE__ */ jsx34(
1395
+ GlobalTooltip_default,
1396
+ {
1397
+ content: /* @__PURE__ */ jsx34("p", { children: isPaused ? "Play" : "pause" }),
1398
+ isLeft: true,
1399
+ children: /* @__PURE__ */ jsx34("button", { onClick: togglePlay, children: isPaused ? /* @__PURE__ */ jsx34(PlayIcon_default, { className: "sb-w-3 sb-h-3" }) : /* @__PURE__ */ jsx34(PauseIcon_default, { className: "sb-w-3 sb-h-3" }) })
1400
+ }
1401
+ ),
1402
+ /* @__PURE__ */ jsx34(
1345
1403
  "button",
1346
1404
  {
1347
1405
  onClick: (e) => {
1348
1406
  e.preventDefault();
1349
1407
  seek(seekStep);
1350
1408
  },
1351
- children: /* @__PURE__ */ jsx33(ForwardIcon_default, { className: "sb-w-3 sb-h-3" })
1409
+ children: /* @__PURE__ */ jsx34(
1410
+ GlobalTooltip_default,
1411
+ {
1412
+ width,
1413
+ content: /* @__PURE__ */ jsx34("p", { children: "Forward 5 sec" }),
1414
+ isLeft: true,
1415
+ children: /* @__PURE__ */ jsx34(ForwardIcon_default, { className: "sb-w-3 sb-h-3" })
1416
+ }
1417
+ )
1352
1418
  }
1353
1419
  ),
1354
1420
  // isSeeking ||
1355
1421
  // width > 400 &&
1356
- /* @__PURE__ */ jsx33(
1422
+ /* @__PURE__ */ jsx34(
1357
1423
  "div",
1358
1424
  {
1359
1425
  className: `${width < 400 ? "sb-flex-1 sb-ml-0 sb-mr-0" : "sb-w-full"}`,
1360
- children: /* @__PURE__ */ jsxs13(
1426
+ children: /* @__PURE__ */ jsxs14(
1361
1427
  "div",
1362
1428
  {
1363
1429
  style: width < 400 ? {
@@ -1367,15 +1433,15 @@ var ControlBar = ({
1367
1433
  } : { width: "98%" },
1368
1434
  className: `flex gap-2 ${width < 400 ? "absolute sb-top-1" : "-sb-translate-y-0 sb-w-full"} hover:sb-w-[45%] `,
1369
1435
  children: [
1370
- /* @__PURE__ */ jsx33(CurrentTimeLabel_default, {}),
1371
- /* @__PURE__ */ jsx33(TimeSliderContainer_default, { chapters, notes }),
1372
- /* @__PURE__ */ jsx33("p", { children: durationFormater(duration) })
1436
+ /* @__PURE__ */ jsx34(CurrentTimeLabel_default, {}),
1437
+ /* @__PURE__ */ jsx34(TimeSliderContainer_default, { chapters, notes }),
1438
+ /* @__PURE__ */ jsx34("p", { children: durationFormater(duration) })
1373
1439
  ]
1374
1440
  }
1375
1441
  )
1376
1442
  }
1377
1443
  ),
1378
- /* @__PURE__ */ jsx33("div", { className: "sb-h-full", children: /* @__PURE__ */ jsx33(
1444
+ /* @__PURE__ */ jsx34("div", { className: "sb-h-full", children: /* @__PURE__ */ jsx34(
1379
1445
  VolumeSlider_default,
1380
1446
  {
1381
1447
  volumeSliderToggler,
@@ -1384,7 +1450,7 @@ var ControlBar = ({
1384
1450
  handleControlDisplayTimer
1385
1451
  }
1386
1452
  ) }),
1387
- /* @__PURE__ */ jsx33(
1453
+ /* @__PURE__ */ jsx34(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx34("p", { children: "Quality" }), children: /* @__PURE__ */ jsx34(
1388
1454
  QualityMenu_default,
1389
1455
  {
1390
1456
  width,
@@ -1393,12 +1459,10 @@ var ControlBar = ({
1393
1459
  setIsQualityMenuOpen && setIsQualityMenuOpen(isOpen);
1394
1460
  }
1395
1461
  }
1396
- ),
1397
- disableNote && /* @__PURE__ */ jsx33(
1462
+ ) }),
1463
+ disableNote && /* @__PURE__ */ jsx34(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx34("p", { children: "Create note" }), children: /* @__PURE__ */ jsx34(
1398
1464
  CreateNoteMenu_default,
1399
1465
  {
1400
- onMouseEnter: () => setIsToolTip((prev) => __spreadProps(__spreadValues({}, prev), { note: true })),
1401
- onMouseLeave: () => setIsToolTip((prev) => __spreadProps(__spreadValues({}, prev), { note: false })),
1402
1466
  handleSaveNoteAction,
1403
1467
  width,
1404
1468
  setNoteOpen,
@@ -1409,23 +1473,18 @@ var ControlBar = ({
1409
1473
  });
1410
1474
  }
1411
1475
  }
1412
- ),
1413
- /* @__PURE__ */ jsx33(
1476
+ ) }),
1477
+ /* @__PURE__ */ jsx34(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx34("p", { children: "Subtitle" }), children: /* @__PURE__ */ jsx34(
1414
1478
  SubtitleMenu_default,
1415
1479
  {
1416
- onMouseEnter: () => {
1417
- console.log("get well");
1418
- setIsToolTip((prev) => __spreadProps(__spreadValues({}, prev), { sub: true }));
1419
- },
1420
- onMouseLeave: () => setIsToolTip((prev) => __spreadProps(__spreadValues({}, prev), { sub: false })),
1421
1480
  width,
1422
1481
  onClick: (e, isOpen) => {
1423
1482
  setVolumeToggler(!volumeSliderToggler);
1424
1483
  setIsSubtitleMenuOpen && setIsSubtitleMenuOpen(isOpen);
1425
1484
  }
1426
1485
  }
1427
- ),
1428
- /* @__PURE__ */ jsx33(
1486
+ ) }),
1487
+ /* @__PURE__ */ jsx34(GlobalTooltip_default, { width, content: /* @__PURE__ */ jsx34("p", { children: "Full screen" }), children: /* @__PURE__ */ jsx34(
1429
1488
  "button",
1430
1489
  {
1431
1490
  onClick: (e) => {
@@ -1437,9 +1496,9 @@ var ControlBar = ({
1437
1496
  player == null ? void 0 : player.requestFullscreen();
1438
1497
  }
1439
1498
  },
1440
- children: /* @__PURE__ */ jsx33(FullScreenIcon_default, { className: "sb-w-3 sb-h-3" })
1499
+ children: /* @__PURE__ */ jsx34(FullScreenIcon_default, { className: "sb-w-3 sb-h-3" })
1441
1500
  }
1442
- )
1501
+ ) })
1443
1502
  ]
1444
1503
  }
1445
1504
  );
@@ -1447,26 +1506,26 @@ var ControlBar = ({
1447
1506
  var ControlBar_default = ControlBar;
1448
1507
 
1449
1508
  // src/components/BigPlayButton/index.tsx
1450
- import { jsx as jsx34 } from "react/jsx-runtime";
1509
+ import { jsx as jsx35 } from "react/jsx-runtime";
1451
1510
  var BigPlayButton = ({ player, isPaused, setIsPaused }) => {
1452
1511
  const togglePlay = () => {
1453
1512
  if (isPaused) player == null ? void 0 : player.play();
1454
1513
  else player == null ? void 0 : player.pause();
1455
1514
  setIsPaused(!isPaused);
1456
1515
  };
1457
- return /* @__PURE__ */ jsx34(
1516
+ return /* @__PURE__ */ jsx35(
1458
1517
  "div",
1459
1518
  {
1460
1519
  onClick: togglePlay,
1461
1520
  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 ",
1462
- children: isPaused ? /* @__PURE__ */ jsx34(PlayIcon_default, { className: "sb-w-4 sb-h-4" }) : /* @__PURE__ */ jsx34(PauseIcon_default, { className: "sb-w-4 sb-h-4" })
1521
+ children: isPaused ? /* @__PURE__ */ jsx35(PlayIcon_default, { className: "sb-w-4 sb-h-4" }) : /* @__PURE__ */ jsx35(PauseIcon_default, { className: "sb-w-4 sb-h-4" })
1463
1522
  }
1464
1523
  );
1465
1524
  };
1466
1525
  var BigPlayButton_default = BigPlayButton;
1467
1526
 
1468
1527
  // src/components/VideoPlayerComponent/index.tsx
1469
- import { jsx as jsx35, jsxs as jsxs14 } from "react/jsx-runtime";
1528
+ import { jsx as jsx36, jsxs as jsxs15 } from "react/jsx-runtime";
1470
1529
  var bigPlayButtonRoot = {};
1471
1530
  var renderBigPlayButton = (id, player, isPaused, setIsPaused, opacity = "100") => {
1472
1531
  const container = document.getElementById(`video-container-${id}`);
@@ -1479,7 +1538,7 @@ var renderBigPlayButton = (id, player, isPaused, setIsPaused, opacity = "100") =
1479
1538
  bigPlayButtonRoot[id] = ReactDOM.createRoot(element);
1480
1539
  }
1481
1540
  bigPlayButtonRoot[id].render(
1482
- /* @__PURE__ */ jsx35(
1541
+ /* @__PURE__ */ jsx36(
1483
1542
  BigPlayButton_default,
1484
1543
  {
1485
1544
  player,
@@ -1509,7 +1568,7 @@ var renderControlBar = (id, player, isPaused, setIsPaused, duration, notes, chap
1509
1568
  element.style.height = "100%";
1510
1569
  element.style.alignItems = "flex-end";
1511
1570
  controlBarRoot[id].render(
1512
- /* @__PURE__ */ jsx35(SoftBuildersVideoPlayerProvider, { children: /* @__PURE__ */ jsx35(
1571
+ /* @__PURE__ */ jsx36(SoftBuildersVideoPlayerProvider, { children: /* @__PURE__ */ jsx36(
1513
1572
  ControlBar_default,
1514
1573
  {
1515
1574
  id,
@@ -1548,20 +1607,20 @@ var VideoPlayerComponent = forwardRef(
1548
1607
  childRef,
1549
1608
  bottomRedBar = true,
1550
1609
  noteButtonClick
1551
- }) => {
1610
+ }, ref) => {
1552
1611
  var _a;
1553
1612
  const videoRef = useRef2(void 0);
1554
1613
  const playerRef = useRef2(void 0);
1555
- const [isReady, setIsReady] = useState13(false);
1556
- const [isPaused, setIsPaused] = useState13(!options.autoplay);
1557
- const [duration, setDuration] = useState13(1);
1558
- const [opacity, setOpacity] = useState13("0");
1559
- const [isControlBarPresent, setIsControlBarPresent] = useState13(true);
1560
- const [bgColor, setBgColor] = useState13("transparent");
1561
- const [isQualityMenuOpen, setIsQualityMenuOpen] = useState13(false);
1562
- const [isSubtitleMenuOpen, setIsSubtitleMenuOpen] = useState13(false);
1563
- const [isHovered, setIsHovered] = useState13(false);
1564
- const [isNoteOpen, setNoteOpen] = useState13(false);
1614
+ const [isReady, setIsReady] = useState14(false);
1615
+ const [isPaused, setIsPaused] = useState14(!options.autoplay);
1616
+ const [duration, setDuration] = useState14(1);
1617
+ const [opacity, setOpacity] = useState14("0");
1618
+ const [isControlBarPresent, setIsControlBarPresent] = useState14(true);
1619
+ const [bgColor, setBgColor] = useState14("transparent");
1620
+ const [isQualityMenuOpen, setIsQualityMenuOpen] = useState14(false);
1621
+ const [isSubtitleMenuOpen, setIsSubtitleMenuOpen] = useState14(false);
1622
+ const [isHovered, setIsHovered] = useState14(false);
1623
+ const [isNoteOpen, setNoteOpen] = useState14(false);
1565
1624
  const onReady = (player) => {
1566
1625
  if (playerRef) {
1567
1626
  playerRef.current = player;
@@ -1795,7 +1854,7 @@ var VideoPlayerComponent = forwardRef(
1795
1854
  }
1796
1855
  };
1797
1856
  }, []);
1798
- const [timeSeeker, setTimeSeeker] = useState13("0");
1857
+ const [timeSeeker, setTimeSeeker] = useState14("0");
1799
1858
  useEffect14(() => {
1800
1859
  const updateTimeSeeker = () => {
1801
1860
  var _a2, _b, _c, _d;
@@ -1812,7 +1871,7 @@ var VideoPlayerComponent = forwardRef(
1812
1871
  };
1813
1872
  updateTimeSeeker();
1814
1873
  }, [(_a = playerRef == null ? void 0 : playerRef.current) == null ? void 0 : _a.currentTime()]);
1815
- return /* @__PURE__ */ jsxs14(
1874
+ return /* @__PURE__ */ jsxs15(
1816
1875
  "div",
1817
1876
  {
1818
1877
  ref: videoRefs,
@@ -1824,7 +1883,7 @@ var VideoPlayerComponent = forwardRef(
1824
1883
  onMouseEnter: () => setIsHovered(true),
1825
1884
  onMouseLeave: () => setIsHovered(false),
1826
1885
  children: [
1827
- bottomRedBar && /* @__PURE__ */ jsx35(
1886
+ bottomRedBar && /* @__PURE__ */ jsx36(
1828
1887
  "div",
1829
1888
  {
1830
1889
  ref: childRef,
@@ -1835,12 +1894,12 @@ var VideoPlayerComponent = forwardRef(
1835
1894
  }
1836
1895
  }
1837
1896
  ),
1838
- /* @__PURE__ */ jsx35(
1897
+ /* @__PURE__ */ jsx36(
1839
1898
  "div",
1840
1899
  {
1841
1900
  className: "hover:sb-cursor-pointer sb-w-full sb-h-full",
1842
1901
  "data-vjs-player": true,
1843
- children: /* @__PURE__ */ jsx35(
1902
+ children: /* @__PURE__ */ jsx36(
1844
1903
  "div",
1845
1904
  {
1846
1905
  onClick: handlePlayerClick,
@@ -1858,7 +1917,7 @@ var VideoPlayerComponent = forwardRef(
1858
1917
  var VideoPlayerComponent_default = VideoPlayerComponent;
1859
1918
 
1860
1919
  // src/components/SoftBuildersVideoPlayer/index.tsx
1861
- import { jsx as jsx36 } from "react/jsx-runtime";
1920
+ import { jsx as jsx37 } from "react/jsx-runtime";
1862
1921
  var DEFAULT_OPTIONS = {
1863
1922
  autoplay: false,
1864
1923
  controls: true,
@@ -1883,7 +1942,7 @@ var Component = forwardRef2(
1883
1942
  childRef,
1884
1943
  bottomRedBar,
1885
1944
  noteButtonClick
1886
- }) => {
1945
+ }, ref) => {
1887
1946
  options = __spreadProps(__spreadValues({}, options), {
1888
1947
  responsive: true,
1889
1948
  inactivityTimeout: 0,
@@ -1899,7 +1958,7 @@ var Component = forwardRef2(
1899
1958
  if ((options == null ? void 0 : options.muted) === void 0) options.muted = DEFAULT_OPTIONS == null ? void 0 : DEFAULT_OPTIONS.muted;
1900
1959
  if (options.height === void 0) options.height = DEFAULT_OPTIONS.height;
1901
1960
  if (options.width === void 0) options.width = DEFAULT_OPTIONS.width;
1902
- const [tracks, setTracks] = useState14([]);
1961
+ const [tracks, setTracks] = useState15([]);
1903
1962
  useEffect15(() => {
1904
1963
  }, [isFocused]);
1905
1964
  useEffect15(() => {
@@ -1920,7 +1979,7 @@ var Component = forwardRef2(
1920
1979
  getTracks();
1921
1980
  }, [options == null ? void 0 : options.tracks]);
1922
1981
  const id = (Date.now() + Math.random() * 100).toString();
1923
- return /* @__PURE__ */ jsx36(
1982
+ return /* @__PURE__ */ jsx37(
1924
1983
  VideoPlayerComponent_default,
1925
1984
  {
1926
1985
  id,