suada-components 1.7.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/components/{DailyMotion-C2fzQqF6.js → DailyMotion-B7yDPBbg.js} +1 -1
  2. package/dist/components/{DailyMotion-D6-bQSDC.esm.js → DailyMotion-BmnymjR1.esm.js} +1 -1
  3. package/dist/components/{Facebook-ngwgOcwS.js → Facebook-42iqQU2G.js} +1 -1
  4. package/dist/components/{Facebook-CHgu-1qk.esm.js → Facebook-D9Ak6ZJU.esm.js} +1 -1
  5. package/dist/components/{FilePlayer-gXcilMCz.js → FilePlayer-CAnHK0Cd.js} +1 -1
  6. package/dist/components/{FilePlayer-CnFGUWCJ.esm.js → FilePlayer-wg9lyafD.esm.js} +1 -1
  7. package/dist/components/{Kaltura-Dwtf5bDJ.js → Kaltura-Ct6kwbgP.js} +1 -1
  8. package/dist/components/{Kaltura-BKTRnPwX.esm.js → Kaltura-DPaEN-dq.esm.js} +1 -1
  9. package/dist/components/{Mixcloud-HlioccZN.esm.js → Mixcloud-BobSN3YI.esm.js} +1 -1
  10. package/dist/components/{Mixcloud-CtZR5d1S.js → Mixcloud-sBbcL5rG.js} +1 -1
  11. package/dist/components/{Mux-CiE-LfDW.esm.js → Mux-B9YP-rFr.esm.js} +1 -1
  12. package/dist/components/{Mux-DhMGRnH7.js → Mux-Cosy8sFO.js} +1 -1
  13. package/dist/components/{Preview-DuscX4du.js → Preview-DiVfo6aa.js} +1 -1
  14. package/dist/components/{Preview-BDrq-vcV.esm.js → Preview-XcTlhHT1.esm.js} +1 -1
  15. package/dist/components/{SoundCloud-BG1mh5fx.esm.js → SoundCloud-BTHoyFWT.esm.js} +1 -1
  16. package/dist/components/{SoundCloud-pcTMWQVG.js → SoundCloud-CIWqB-QW.js} +1 -1
  17. package/dist/components/{Streamable-B-2t9AZh.js → Streamable-9anYiQtU.js} +1 -1
  18. package/dist/components/{Streamable-3QXSsimo.esm.js → Streamable-DsfQCy3p.esm.js} +1 -1
  19. package/dist/components/{Twitch-B2wmDlW8.esm.js → Twitch-D1BOr8hj.esm.js} +1 -1
  20. package/dist/components/{Twitch-Ccg79Yis.js → Twitch-Dud6e1Rv.js} +1 -1
  21. package/dist/components/VideoPlayer/Controls/Controls.js +3 -3
  22. package/dist/components/VideoPlayer/Controls/Controls.js.map +1 -1
  23. package/dist/components/VideoPlayer/Controls/Controls.styles.d.ts +24 -8
  24. package/dist/components/VideoPlayer/Controls/Controls.styles.js +20 -16
  25. package/dist/components/VideoPlayer/Controls/Controls.styles.js.map +1 -1
  26. package/dist/components/VideoPlayer/pipManager.d.ts +60 -0
  27. package/dist/components/VideoPlayer/pipManager.js +272 -0
  28. package/dist/components/VideoPlayer/pipManager.js.map +1 -0
  29. package/dist/components/VideoPlayer/usePlayerControls.js +85 -11
  30. package/dist/components/VideoPlayer/usePlayerControls.js.map +1 -1
  31. package/dist/components/{Vidyard-BcZfnHmw.js → Vidyard-BuOu85uS.js} +1 -1
  32. package/dist/components/{Vidyard-stasLAXI.esm.js → Vidyard-C1csjpQH.esm.js} +1 -1
  33. package/dist/components/{Vimeo-U2HYvdiG.esm.js → Vimeo-CHlHIswX.esm.js} +1 -1
  34. package/dist/components/{Vimeo-9D0LyMV4.js → Vimeo-DrDJ5O9H.js} +1 -1
  35. package/dist/components/{Wistia-BNvoofR9.esm.js → Wistia-D-eYyONb.esm.js} +1 -1
  36. package/dist/components/{Wistia-3LaD3aiP.js → Wistia-fh9U2CA2.js} +1 -1
  37. package/dist/components/{YouTube-DJZyY4jW.esm.js → YouTube-CmnnzZvk.esm.js} +1 -1
  38. package/dist/components/{YouTube-CdcE3nmm.js → YouTube-DC2uZ14c.js} +1 -1
  39. package/dist/components/components/VideoPlayer/Controls/Controls.styles.d.ts +24 -8
  40. package/dist/components/components/VideoPlayer/pipManager.d.ts +60 -0
  41. package/dist/components/{index-C5MULDlh.esm.js → index-DKAGRUEW.esm.js} +379 -46
  42. package/dist/components/{index-Debc-Hq8.js → index-DetZ05pw.js} +379 -46
  43. package/dist/components/index.esm.js +1 -1
  44. package/dist/icons/components/VideoPlayer/Controls/Controls.styles.d.ts +24 -8
  45. package/dist/icons/components/VideoPlayer/pipManager.d.ts +60 -0
  46. package/package.json +1 -1
@@ -32377,7 +32377,7 @@ var CourseStatusContainer = dt.div(templateObject_13$2 || (templateObject_13$2 =
32377
32377
  });
32378
32378
  dt.div(templateObject_14$2 || (templateObject_14$2 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n div {\n font-size: 13px;\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: space-between;\n div {\n font-size: 13px;\n }\n"])));
32379
32379
  var TooltipContent = dt.div(templateObject_15$2 || (templateObject_15$2 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n align-items: center;\n & > :first-child {\n font-size: 14px;\n margin-bottom: 5px;\n }\n div {\n font-size: 14px;\n display: flex;\n flex-direction: column;\n align-items: center;\n\n & > .tooltip-text {\n font-size: 12px;\n margin-top: 5px;\n text-align: center;\n }\n }\n"], ["\n display: flex;\n flex-direction: column;\n align-items: center;\n & > :first-child {\n font-size: 14px;\n margin-bottom: 5px;\n }\n div {\n font-size: 14px;\n display: flex;\n flex-direction: column;\n align-items: center;\n\n & > .tooltip-text {\n font-size: 12px;\n margin-top: 5px;\n text-align: center;\n }\n }\n"])));
32380
- var StyledCardBottomContainer = dt.div(templateObject_16$1 || (templateObject_16$1 = __makeTemplateObject(["\n display: flex;\n width: 100%;\n flex-direction: column !important;\n align-self: flex-end;\n gap: 10px;\n padding-bottom: 10px;\n"], ["\n display: flex;\n width: 100%;\n flex-direction: column !important;\n align-self: flex-end;\n gap: 10px;\n padding-bottom: 10px;\n"])));
32380
+ var StyledCardBottomContainer = dt.div(templateObject_16$2 || (templateObject_16$2 = __makeTemplateObject(["\n display: flex;\n width: 100%;\n flex-direction: column !important;\n align-self: flex-end;\n gap: 10px;\n padding-bottom: 10px;\n"], ["\n display: flex;\n width: 100%;\n flex-direction: column !important;\n align-self: flex-end;\n gap: 10px;\n padding-bottom: 10px;\n"])));
32381
32381
  var StyledActionsContainer = dt.div(templateObject_17$1 || (templateObject_17$1 = __makeTemplateObject(["\n display: flex;\n flex-direction: row !important;\n width: 100%;\n"], ["\n display: flex;\n flex-direction: row !important;\n width: 100%;\n"])));
32382
32382
  var StyledActionItem = dt.span(templateObject_18$1 || (templateObject_18$1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n height: 14px;\n cursor: ", ";\n color: ", ";\n font-size: 14px;\n padding-bottom: 10px;\n width: 100%;\n justify-content: center;\n gap: 8px;\n padding: 12px 4px;\n svg path {\n fill: ", ";\n width: 16px;\n height: 16px;\n }\n svg {\n width: 16px;\n height: 16px;\n }\n &:hover {\n color: ", ";\n svg path {\n fill: ", ";\n }\n }\n"], ["\n display: flex;\n align-items: center;\n height: 14px;\n cursor: ", ";\n color: ", ";\n font-size: 14px;\n padding-bottom: 10px;\n width: 100%;\n justify-content: center;\n gap: 8px;\n padding: 12px 4px;\n svg path {\n fill: ", ";\n width: 16px;\n height: 16px;\n }\n svg {\n width: 16px;\n height: 16px;\n }\n &:hover {\n color: ", ";\n svg path {\n fill: ", ";\n }\n }\n"])), function (_a) {
32383
32383
  var disabled = _a.disabled;
@@ -32426,7 +32426,7 @@ var GridItem = dt.div(templateObject_32 || (templateObject_32 = __makeTemplateOb
32426
32426
  var $isFromUser = _a.$isFromUser;
32427
32427
  return $isFromUser && "\n figure {\n position: relative;\n &:after {\n content: 'View Analytics';\n position: absolute;\n top: 0;\n opacity: 0;\n color: #06c68f;\n left: 0;\n font-size: 24px;\n font-weight: 700;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(255, 255, 255, 0.9);\n width: 100%;\n height: 100%;\n transition: opacity 0.3s ease;\n z-index: 10;\n }\n }\n\n &:hover {\n figure {\n &:after {\n opacity: 1;\n }\n }\n }\n " || '';
32428
32428
  });
32429
- var templateObject_1$o, templateObject_2$j, templateObject_3$f, templateObject_4$c, templateObject_5$8, templateObject_6$7, templateObject_7$5, templateObject_8$4, templateObject_9$3, templateObject_10$2, templateObject_11$2, templateObject_12$2, templateObject_13$2, templateObject_14$2, templateObject_15$2, templateObject_16$1, templateObject_17$1, templateObject_18$1, templateObject_19$1, templateObject_20$1, templateObject_21$1, templateObject_22$1, templateObject_23$1, templateObject_24, templateObject_25, templateObject_26, templateObject_27, templateObject_28, templateObject_29, templateObject_30, templateObject_31, templateObject_32;
32429
+ var templateObject_1$o, templateObject_2$j, templateObject_3$f, templateObject_4$c, templateObject_5$8, templateObject_6$7, templateObject_7$5, templateObject_8$4, templateObject_9$3, templateObject_10$2, templateObject_11$2, templateObject_12$2, templateObject_13$2, templateObject_14$2, templateObject_15$2, templateObject_16$2, templateObject_17$1, templateObject_18$1, templateObject_19$1, templateObject_20$1, templateObject_21$1, templateObject_22$1, templateObject_23$1, templateObject_24, templateObject_25, templateObject_26, templateObject_27, templateObject_28, templateObject_29, templateObject_30, templateObject_31, templateObject_32;
32430
32430
 
32431
32431
  var TooltipHeight$1 = function TooltipHeight(_a) {
32432
32432
  var text = _a.text,
@@ -42811,7 +42811,7 @@ var InputFileContainer = dt.div(templateObject_12$1 || (templateObject_12$1 = __
42811
42811
  var UploadInput = dt.input(templateObject_13$1 || (templateObject_13$1 = __makeTemplateObject(["\n opacity: 0;\n position: absolute;\n z-index: -1;\n left: 0;\n width: 0;\n top: 0;\n overflow: hidden;\n"], ["\n opacity: 0;\n position: absolute;\n z-index: -1;\n left: 0;\n width: 0;\n top: 0;\n overflow: hidden;\n"])));
42812
42812
  dt.div(templateObject_14$1 || (templateObject_14$1 = __makeTemplateObject(["\n position: absolute;\n left: 0px;\n top: -15px;\n background: #fff;\n font-size: 12px;\n color: rgba(0, 0, 0, 0.54);\n"], ["\n position: absolute;\n left: 0px;\n top: -15px;\n background: #fff;\n font-size: 12px;\n color: rgba(0, 0, 0, 0.54);\n"])));
42813
42813
  var ImagePlaceholder = dt.div(templateObject_15$1 || (templateObject_15$1 = __makeTemplateObject(["\n img {\n position: relative;\n width: 72px;\n height: 48px;\n border-radius: 4px;\n padding: 4px;\n top: 2px;\n }\n"], ["\n img {\n position: relative;\n width: 72px;\n height: 48px;\n border-radius: 4px;\n padding: 4px;\n top: 2px;\n }\n"])));
42814
- var InputLabel = dt.label(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n cursor: pointer;\n color: #fff;\n background: #06c68f;\n font-size: 11px;\n padding: 9px 6px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n"], ["\n cursor: pointer;\n color: #fff;\n background: #06c68f;\n font-size: 11px;\n padding: 9px 6px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n"
42814
+ var InputLabel = dt.label(templateObject_16$1 || (templateObject_16$1 = __makeTemplateObject(["\n cursor: pointer;\n color: #fff;\n background: #06c68f;\n font-size: 11px;\n padding: 9px 6px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n"], ["\n cursor: pointer;\n color: #fff;\n background: #06c68f;\n font-size: 11px;\n padding: 9px 6px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n"
42815
42815
  // UploaderButton
42816
42816
  ])));
42817
42817
  // UploaderButton
@@ -42833,7 +42833,7 @@ var styles$1 = {
42833
42833
  padding: '4px'
42834
42834
  }
42835
42835
  };
42836
- var templateObject_1$j, templateObject_2$e, templateObject_3$a, templateObject_4$7, templateObject_5$6, templateObject_6$5, templateObject_7$3, templateObject_8$2, templateObject_9$1, templateObject_10$1, templateObject_11$1, templateObject_12$1, templateObject_13$1, templateObject_14$1, templateObject_15$1, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22, templateObject_23;
42836
+ var templateObject_1$j, templateObject_2$e, templateObject_3$a, templateObject_4$7, templateObject_5$6, templateObject_6$5, templateObject_7$3, templateObject_8$2, templateObject_9$1, templateObject_10$1, templateObject_11$1, templateObject_12$1, templateObject_13$1, templateObject_14$1, templateObject_15$1, templateObject_16$1, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22, templateObject_23;
42837
42837
 
42838
42838
  var ImageWithFallback = function ImageWithFallback(_a) {
42839
42839
  var src = _a.src,
@@ -81355,7 +81355,7 @@ function requirePlayers () {
81355
81355
  canPlay: import_patterns.canPlay.youtube,
81356
81356
  lazyPlayer: (0, import_utils.lazy)(() => import(
81357
81357
  /* webpackChunkName: 'reactPlayerYouTube' */
81358
- './YouTube-DJZyY4jW.esm.js'
81358
+ './YouTube-CmnnzZvk.esm.js'
81359
81359
  ).then(function (n) { return n.Y; }))
81360
81360
  },
81361
81361
  {
@@ -81364,7 +81364,7 @@ function requirePlayers () {
81364
81364
  canPlay: import_patterns.canPlay.soundcloud,
81365
81365
  lazyPlayer: (0, import_utils.lazy)(() => import(
81366
81366
  /* webpackChunkName: 'reactPlayerSoundCloud' */
81367
- './SoundCloud-BG1mh5fx.esm.js'
81367
+ './SoundCloud-BTHoyFWT.esm.js'
81368
81368
  ).then(function (n) { return n.S; }))
81369
81369
  },
81370
81370
  {
@@ -81373,7 +81373,7 @@ function requirePlayers () {
81373
81373
  canPlay: import_patterns.canPlay.vimeo,
81374
81374
  lazyPlayer: (0, import_utils.lazy)(() => import(
81375
81375
  /* webpackChunkName: 'reactPlayerVimeo' */
81376
- './Vimeo-U2HYvdiG.esm.js'
81376
+ './Vimeo-CHlHIswX.esm.js'
81377
81377
  ).then(function (n) { return n.V; }))
81378
81378
  },
81379
81379
  {
@@ -81382,7 +81382,7 @@ function requirePlayers () {
81382
81382
  canPlay: import_patterns.canPlay.mux,
81383
81383
  lazyPlayer: (0, import_utils.lazy)(() => import(
81384
81384
  /* webpackChunkName: 'reactPlayerMux' */
81385
- './Mux-CiE-LfDW.esm.js'
81385
+ './Mux-B9YP-rFr.esm.js'
81386
81386
  ).then(function (n) { return n.M; }))
81387
81387
  },
81388
81388
  {
@@ -81391,7 +81391,7 @@ function requirePlayers () {
81391
81391
  canPlay: import_patterns.canPlay.facebook,
81392
81392
  lazyPlayer: (0, import_utils.lazy)(() => import(
81393
81393
  /* webpackChunkName: 'reactPlayerFacebook' */
81394
- './Facebook-CHgu-1qk.esm.js'
81394
+ './Facebook-D9Ak6ZJU.esm.js'
81395
81395
  ).then(function (n) { return n.F; }))
81396
81396
  },
81397
81397
  {
@@ -81400,7 +81400,7 @@ function requirePlayers () {
81400
81400
  canPlay: import_patterns.canPlay.streamable,
81401
81401
  lazyPlayer: (0, import_utils.lazy)(() => import(
81402
81402
  /* webpackChunkName: 'reactPlayerStreamable' */
81403
- './Streamable-3QXSsimo.esm.js'
81403
+ './Streamable-DsfQCy3p.esm.js'
81404
81404
  ).then(function (n) { return n.S; }))
81405
81405
  },
81406
81406
  {
@@ -81409,7 +81409,7 @@ function requirePlayers () {
81409
81409
  canPlay: import_patterns.canPlay.wistia,
81410
81410
  lazyPlayer: (0, import_utils.lazy)(() => import(
81411
81411
  /* webpackChunkName: 'reactPlayerWistia' */
81412
- './Wistia-BNvoofR9.esm.js'
81412
+ './Wistia-D-eYyONb.esm.js'
81413
81413
  ).then(function (n) { return n.W; }))
81414
81414
  },
81415
81415
  {
@@ -81418,7 +81418,7 @@ function requirePlayers () {
81418
81418
  canPlay: import_patterns.canPlay.twitch,
81419
81419
  lazyPlayer: (0, import_utils.lazy)(() => import(
81420
81420
  /* webpackChunkName: 'reactPlayerTwitch' */
81421
- './Twitch-B2wmDlW8.esm.js'
81421
+ './Twitch-D1BOr8hj.esm.js'
81422
81422
  ).then(function (n) { return n.T; }))
81423
81423
  },
81424
81424
  {
@@ -81427,7 +81427,7 @@ function requirePlayers () {
81427
81427
  canPlay: import_patterns.canPlay.dailymotion,
81428
81428
  lazyPlayer: (0, import_utils.lazy)(() => import(
81429
81429
  /* webpackChunkName: 'reactPlayerDailyMotion' */
81430
- './DailyMotion-D6-bQSDC.esm.js'
81430
+ './DailyMotion-BmnymjR1.esm.js'
81431
81431
  ).then(function (n) { return n.D; }))
81432
81432
  },
81433
81433
  {
@@ -81436,7 +81436,7 @@ function requirePlayers () {
81436
81436
  canPlay: import_patterns.canPlay.mixcloud,
81437
81437
  lazyPlayer: (0, import_utils.lazy)(() => import(
81438
81438
  /* webpackChunkName: 'reactPlayerMixcloud' */
81439
- './Mixcloud-HlioccZN.esm.js'
81439
+ './Mixcloud-BobSN3YI.esm.js'
81440
81440
  ).then(function (n) { return n.M; }))
81441
81441
  },
81442
81442
  {
@@ -81445,7 +81445,7 @@ function requirePlayers () {
81445
81445
  canPlay: import_patterns.canPlay.vidyard,
81446
81446
  lazyPlayer: (0, import_utils.lazy)(() => import(
81447
81447
  /* webpackChunkName: 'reactPlayerVidyard' */
81448
- './Vidyard-stasLAXI.esm.js'
81448
+ './Vidyard-C1csjpQH.esm.js'
81449
81449
  ).then(function (n) { return n.V; }))
81450
81450
  },
81451
81451
  {
@@ -81454,7 +81454,7 @@ function requirePlayers () {
81454
81454
  canPlay: import_patterns.canPlay.kaltura,
81455
81455
  lazyPlayer: (0, import_utils.lazy)(() => import(
81456
81456
  /* webpackChunkName: 'reactPlayerKaltura' */
81457
- './Kaltura-BKTRnPwX.esm.js'
81457
+ './Kaltura-DPaEN-dq.esm.js'
81458
81458
  ).then(function (n) { return n.K; }))
81459
81459
  },
81460
81460
  {
@@ -81466,7 +81466,7 @@ function requirePlayers () {
81466
81466
  },
81467
81467
  lazyPlayer: (0, import_utils.lazy)(() => import(
81468
81468
  /* webpackChunkName: 'reactPlayerFilePlayer' */
81469
- './FilePlayer-CnFGUWCJ.esm.js'
81469
+ './FilePlayer-wg9lyafD.esm.js'
81470
81470
  ).then(function (n) { return n.F; }))
81471
81471
  }
81472
81472
  ];
@@ -82287,7 +82287,7 @@ function requireReactPlayer () {
82287
82287
  var import_Player = __toESM(/*@__PURE__*/ requirePlayer());
82288
82288
  const Preview = (0, import_utils.lazy)(() => import(
82289
82289
  /* webpackChunkName: 'reactPlayerPreview' */
82290
- './Preview-BDrq-vcV.esm.js'
82290
+ './Preview-XcTlhHT1.esm.js'
82291
82291
  ).then(function (n) { return n.P; }));
82292
82292
  const IS_BROWSER = typeof window !== "undefined" && window.document && typeof document !== "undefined";
82293
82293
  const IS_GLOBAL = typeof commonjsGlobal !== "undefined" && commonjsGlobal.window && commonjsGlobal.window.document;
@@ -82529,32 +82529,36 @@ var injectHLSSubtitleStyles = function injectHLSSubtitleStyles() {
82529
82529
  };
82530
82530
  var templateObject_1$9, templateObject_2$7, templateObject_3$4, templateObject_4$2, templateObject_5$2, templateObject_6$2, templateObject_7$1;
82531
82531
 
82532
- var StyledControls = dt.div(templateObject_1$8 || (templateObject_1$8 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n width: 100%;\n border-radius: 0px 0px 8px 8px;\n background: rgba(86, 90, 98, 0.6);\n backdrop-filter: blur(4px);\n padding: 12px 16px;\n position: relative;\n opacity: 0.8;\n\n\n svg {\n cursor: pointer;\n\n @media screen and (max-width: 1500px) {\n width: 20px;\n height: 20px;\n }\n\n @media screen and (max-width: 1000px) {\n width: 16px;\n height: 16px;\n }\n }\n\n & > p {\n color: var(--neutral-colors-light);\n font-family: 'Poppins', sans-serif;\n ", "\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n width: 100%;\n border-radius: 0px 0px 8px 8px;\n background: rgba(86, 90, 98, 0.6);\n backdrop-filter: blur(4px);\n padding: 12px 16px;\n position: relative;\n opacity: 0.8;\n\n\n svg {\n cursor: pointer;\n\n @media screen and (max-width: 1500px) {\n width: 20px;\n height: 20px;\n }\n\n @media screen and (max-width: 1000px) {\n width: 16px;\n height: 16px;\n }\n }\n\n & > p {\n color: var(--neutral-colors-light);\n font-family: 'Poppins', sans-serif;\n ", "\n }\n"])), {
82532
+ var StyledControls = dt.div(templateObject_1$8 || (templateObject_1$8 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n width: 100%;\n border-radius: 0px 0px 8px 8px;\n background: rgba(86, 90, 98, 0.6);\n backdrop-filter: blur(4px);\n padding: 12px 16px;\n position: relative;\n opacity: 0.8;\n\n /* Responsive padding adjustments */\n @media screen and (max-width: 768px) {\n padding: 8px 12px;\n gap: 12px;\n }\n\n @media screen and (max-width: 480px) {\n padding: 6px 8px;\n gap: 8px;\n }\n\n svg {\n cursor: pointer;\n transition: transform 0.2s ease;\n\n /* Desktop and large screens */\n @media screen and (min-width: 1501px) {\n width: 24px;\n height: 24px;\n }\n\n /* Medium to large screens */\n @media screen and (max-width: 1500px) {\n width: 20px;\n height: 20px;\n }\n\n /* Small to medium screens */\n @media screen and (max-width: 1000px) {\n width: 18px;\n height: 18px;\n }\n\n /* Tablet screens */\n @media screen and (max-width: 768px) {\n width: 20px;\n height: 20px;\n }\n\n /* Mobile screens */\n @media screen and (max-width: 480px) {\n width: 18px;\n height: 18px;\n }\n\n /* Very small mobile screens */\n @media screen and (max-width: 320px) {\n width: 16px;\n height: 16px;\n }\n\n &:hover {\n transform: scale(1.1);\n }\n\n &:active {\n transform: scale(0.95);\n }\n }\n\n & > p {\n color: var(--neutral-colors-light);\n font-family: 'Poppins', sans-serif;\n ", "\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n width: 100%;\n border-radius: 0px 0px 8px 8px;\n background: rgba(86, 90, 98, 0.6);\n backdrop-filter: blur(4px);\n padding: 12px 16px;\n position: relative;\n opacity: 0.8;\n\n /* Responsive padding adjustments */\n @media screen and (max-width: 768px) {\n padding: 8px 12px;\n gap: 12px;\n }\n\n @media screen and (max-width: 480px) {\n padding: 6px 8px;\n gap: 8px;\n }\n\n svg {\n cursor: pointer;\n transition: transform 0.2s ease;\n\n /* Desktop and large screens */\n @media screen and (min-width: 1501px) {\n width: 24px;\n height: 24px;\n }\n\n /* Medium to large screens */\n @media screen and (max-width: 1500px) {\n width: 20px;\n height: 20px;\n }\n\n /* Small to medium screens */\n @media screen and (max-width: 1000px) {\n width: 18px;\n height: 18px;\n }\n\n /* Tablet screens */\n @media screen and (max-width: 768px) {\n width: 20px;\n height: 20px;\n }\n\n /* Mobile screens */\n @media screen and (max-width: 480px) {\n width: 18px;\n height: 18px;\n }\n\n /* Very small mobile screens */\n @media screen and (max-width: 320px) {\n width: 16px;\n height: 16px;\n }\n\n &:hover {\n transform: scale(1.1);\n }\n\n &:active {\n transform: scale(0.95);\n }\n }\n\n & > p {\n color: var(--neutral-colors-light);\n font-family: 'Poppins', sans-serif;\n ", "\n }\n"])), {
82533
82533
  fontStyle: 'descriptor'
82534
82534
  });
82535
- var StyledSlider = dt.input(templateObject_2$6 || (templateObject_2$6 = __makeTemplateObject(["\n width: 100%;\n height: 2px;\n border-radius: 5px;\n position: absolute;\n top: 0;\n left: 0;\n background: ", ";\n outline: none;\n -webkit-transition: 0.2s;\n transition: opacity 0.2s;\n cursor: pointer;\n\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: var(--brand-colors-accent);\n cursor: pointer;\n }\n\n &::-moz-range-thumb {\n appearance: none;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: var(--brand-colors-accent);\n cursor: pointer;\n }\n"], ["\n width: 100%;\n height: 2px;\n border-radius: 5px;\n position: absolute;\n top: 0;\n left: 0;\n background: ", ";\n outline: none;\n -webkit-transition: 0.2s;\n transition: opacity 0.2s;\n cursor: pointer;\n\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: var(--brand-colors-accent);\n cursor: pointer;\n }\n\n &::-moz-range-thumb {\n appearance: none;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: var(--brand-colors-accent);\n cursor: pointer;\n }\n"])), function (_a) {
82535
+ var StyledSlider = dt.input(templateObject_2$6 || (templateObject_2$6 = __makeTemplateObject(["\n width: 100%;\n height: 2px;\n border-radius: 5px;\n position: absolute;\n top: 0;\n left: 0;\n background: ", ";\n outline: none;\n -webkit-transition: 0.2s;\n transition: opacity 0.2s;\n cursor: pointer;\n\n /* Enhanced mobile touch target */\n @media (hover: none) and (pointer: coarse) {\n height: 4px;\n }\n\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: var(--brand-colors-accent);\n cursor: pointer;\n\n /* Larger touch target for mobile */\n @media (hover: none) and (pointer: coarse) {\n width: 16px;\n height: 16px;\n }\n\n /* Responsive adjustments */\n @media screen and (max-width: 480px) {\n width: 14px;\n height: 14px;\n }\n }\n\n &::-moz-range-thumb {\n appearance: none;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: var(--brand-colors-accent);\n cursor: pointer;\n border: none;\n\n /* Larger touch target for mobile */\n @media (hover: none) and (pointer: coarse) {\n width: 16px;\n height: 16px;\n }\n\n /* Responsive adjustments */\n @media screen and (max-width: 480px) {\n width: 14px;\n height: 14px;\n }\n }\n\n /* Enhance visibility on focus for accessibility */\n &:focus {\n outline: 2px solid var(--brand-colors-accent);\n outline-offset: 2px;\n }\n"], ["\n width: 100%;\n height: 2px;\n border-radius: 5px;\n position: absolute;\n top: 0;\n left: 0;\n background: ", ";\n outline: none;\n -webkit-transition: 0.2s;\n transition: opacity 0.2s;\n cursor: pointer;\n\n /* Enhanced mobile touch target */\n @media (hover: none) and (pointer: coarse) {\n height: 4px;\n }\n\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: var(--brand-colors-accent);\n cursor: pointer;\n\n /* Larger touch target for mobile */\n @media (hover: none) and (pointer: coarse) {\n width: 16px;\n height: 16px;\n }\n\n /* Responsive adjustments */\n @media screen and (max-width: 480px) {\n width: 14px;\n height: 14px;\n }\n }\n\n &::-moz-range-thumb {\n appearance: none;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: var(--brand-colors-accent);\n cursor: pointer;\n border: none;\n\n /* Larger touch target for mobile */\n @media (hover: none) and (pointer: coarse) {\n width: 16px;\n height: 16px;\n }\n\n /* Responsive adjustments */\n @media screen and (max-width: 480px) {\n width: 14px;\n height: 14px;\n }\n }\n\n /* Enhance visibility on focus for accessibility */\n &:focus {\n outline: 2px solid var(--brand-colors-accent);\n outline-offset: 2px;\n }\n"])), function (_a) {
82536
82536
  var value = _a.value;
82537
82537
  return "linear-gradient(\n to right,\n var(--brand-colors-accent) 0%,\n var(--brand-colors-accent) ".concat(value, "%,\n var(--level-dark-200) ").concat(value, "%,\n var(--level-dark-200) 100%\n )");
82538
82538
  });
82539
- var StyledVolumeWrapper = dt.div(templateObject_3$3 || (templateObject_3$3 = __makeTemplateObject(["\n position: relative;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 16px;\n\n & > svg {\n cursor: pointer;\n }\n\n & > input {\n display: none;\n }\n\n &:hover > input {\n display: block;\n }\n"], ["\n position: relative;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 16px;\n\n & > svg {\n cursor: pointer;\n }\n\n & > input {\n display: none;\n }\n\n &:hover > input {\n display: block;\n }\n"])));
82540
- var StyledVolumeSlider = dt.input(templateObject_4$1 || (templateObject_4$1 = __makeTemplateObject(["\n width: 100px;\n height: 4px;\n border-radius: 5px;\n background: ", ";\n outline: none;\n -webkit-transition: 0.2s;\n transition: opacity 0.2s;\n cursor: pointer;\n justify-content: center;\n align-items: center;\n\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: var(--neutral-colors-light);\n cursor: pointer;\n }\n\n &::-moz-range-thumb {\n appearance: none;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: var(--neutral-colors-light);\n cursor: pointer;\n }\n"], ["\n width: 100px;\n height: 4px;\n border-radius: 5px;\n background: ", ";\n outline: none;\n -webkit-transition: 0.2s;\n transition: opacity 0.2s;\n cursor: pointer;\n justify-content: center;\n align-items: center;\n\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: var(--neutral-colors-light);\n cursor: pointer;\n }\n\n &::-moz-range-thumb {\n appearance: none;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: var(--neutral-colors-light);\n cursor: pointer;\n }\n"])), function (_a) {
82539
+ var StyledVolumeWrapper = dt.div(templateObject_3$3 || (templateObject_3$3 = __makeTemplateObject(["\n position: relative;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 16px;\n\n /* Responsive gap adjustments */\n @media screen and (max-width: 768px) {\n gap: 12px;\n }\n\n @media screen and (max-width: 480px) {\n gap: 8px;\n }\n\n & > svg {\n cursor: pointer;\n }\n\n & > input {\n display: none;\n }\n\n &:hover > input {\n display: block;\n }\n\n /* Always show volume slider on touch devices */\n @media (hover: none) and (pointer: coarse) {\n & > input {\n display: block;\n }\n }\n\n /* Hide volume slider on very small screens */\n @media screen and (max-width: 320px) {\n & > input {\n display: none !important;\n }\n }\n"], ["\n position: relative;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 16px;\n\n /* Responsive gap adjustments */\n @media screen and (max-width: 768px) {\n gap: 12px;\n }\n\n @media screen and (max-width: 480px) {\n gap: 8px;\n }\n\n & > svg {\n cursor: pointer;\n }\n\n & > input {\n display: none;\n }\n\n &:hover > input {\n display: block;\n }\n\n /* Always show volume slider on touch devices */\n @media (hover: none) and (pointer: coarse) {\n & > input {\n display: block;\n }\n }\n\n /* Hide volume slider on very small screens */\n @media screen and (max-width: 320px) {\n & > input {\n display: none !important;\n }\n }\n"])));
82540
+ var StyledVolumeSlider = dt.input(templateObject_4$1 || (templateObject_4$1 = __makeTemplateObject(["\n width: 100px;\n height: 4px;\n border-radius: 5px;\n background: ", ";\n outline: none;\n -webkit-transition: 0.2s;\n transition: opacity 0.2s;\n cursor: pointer;\n justify-content: center;\n align-items: center;\n\n /* Responsive width adjustments */\n @media screen and (max-width: 768px) {\n width: 80px;\n }\n\n @media screen and (max-width: 480px) {\n width: 60px;\n }\n\n @media screen and (max-width: 320px) {\n width: 50px;\n }\n\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: var(--neutral-colors-light);\n cursor: pointer;\n\n /* Responsive thumb size */\n @media screen and (max-width: 480px) {\n width: 14px;\n height: 14px;\n }\n }\n\n &::-moz-range-thumb {\n appearance: none;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: var(--neutral-colors-light);\n cursor: pointer;\n border: none;\n\n /* Responsive thumb size */\n @media screen and (max-width: 480px) {\n width: 14px;\n height: 14px;\n }\n }\n"], ["\n width: 100px;\n height: 4px;\n border-radius: 5px;\n background: ", ";\n outline: none;\n -webkit-transition: 0.2s;\n transition: opacity 0.2s;\n cursor: pointer;\n justify-content: center;\n align-items: center;\n\n /* Responsive width adjustments */\n @media screen and (max-width: 768px) {\n width: 80px;\n }\n\n @media screen and (max-width: 480px) {\n width: 60px;\n }\n\n @media screen and (max-width: 320px) {\n width: 50px;\n }\n\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: var(--neutral-colors-light);\n cursor: pointer;\n\n /* Responsive thumb size */\n @media screen and (max-width: 480px) {\n width: 14px;\n height: 14px;\n }\n }\n\n &::-moz-range-thumb {\n appearance: none;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: var(--neutral-colors-light);\n cursor: pointer;\n border: none;\n\n /* Responsive thumb size */\n @media screen and (max-width: 480px) {\n width: 14px;\n height: 14px;\n }\n }\n"])), function (_a) {
82541
82541
  var value = _a.value;
82542
82542
  return "linear-gradient(\n to right,\n var(--neutral-colors-light) 0%,\n var(--neutral-colors-light) ".concat(value, "%,\n var(--level-grey-500) ").concat(value, "%,\n var(--level-grey-500) 100%\n )");
82543
82543
  });
82544
- var StyledControllerLeft = dt.div(templateObject_5$1 || (templateObject_5$1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 16px;\n flex: 1;\n"], ["\n display: flex;\n align-items: center;\n gap: 16px;\n flex: 1;\n"])));
82545
- var StyledControllerRight = dt.div(templateObject_6$1 || (templateObject_6$1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 16px;\n flex-shrink: 0;\n\n .skip-icon-disabled {\n cursor: default;\n\n & > path {\n fill: var(--level-dark-300);\n }\n }\n"], ["\n display: flex;\n align-items: center;\n gap: 16px;\n flex-shrink: 0;\n\n .skip-icon-disabled {\n cursor: default;\n\n & > path {\n fill: var(--level-dark-300);\n }\n }\n"])));
82546
- var StyledTimeTrack = dt.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n color: #FFFFFF;\n ", "\n text-align: right;\n white-space: nowrap;\n"], ["\n color: #FFFFFF;\n ", "\n text-align: right;\n white-space: nowrap;\n"])), {
82544
+ var StyledControllerLeft = dt.div(templateObject_5$1 || (templateObject_5$1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 16px;\n flex: 1;\n \n /* Responsive gap adjustments */\n @media screen and (max-width: 768px) {\n gap: 12px;\n }\n\n @media screen and (max-width: 480px) {\n gap: 8px;\n }\n\n @media screen and (max-width: 320px) {\n gap: 6px;\n }\n\n /* Hide rewind/forward controls on very small screens */\n @media screen and (max-width: 480px) {\n .rewind-control,\n .forward-control {\n display: none;\n }\n }\n"], ["\n display: flex;\n align-items: center;\n gap: 16px;\n flex: 1;\n \n /* Responsive gap adjustments */\n @media screen and (max-width: 768px) {\n gap: 12px;\n }\n\n @media screen and (max-width: 480px) {\n gap: 8px;\n }\n\n @media screen and (max-width: 320px) {\n gap: 6px;\n }\n\n /* Hide rewind/forward controls on very small screens */\n @media screen and (max-width: 480px) {\n .rewind-control,\n .forward-control {\n display: none;\n }\n }\n"])));
82545
+ var StyledControllerRight = dt.div(templateObject_6$1 || (templateObject_6$1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 16px;\n flex-shrink: 0;\n\n /* Responsive gap adjustments */\n @media screen and (max-width: 768px) {\n gap: 12px;\n }\n\n @media screen and (max-width: 480px) {\n gap: 8px;\n \n /* Hide less essential controls on mobile */\n .skip-control,\n .favorite-control,\n .download-control {\n display: none;\n }\n }\n\n @media screen and (max-width: 320px) {\n gap: 6px;\n }\n\n .skip-icon-disabled {\n cursor: default;\n\n & > path {\n fill: var(--level-dark-300);\n }\n }\n"], ["\n display: flex;\n align-items: center;\n gap: 16px;\n flex-shrink: 0;\n\n /* Responsive gap adjustments */\n @media screen and (max-width: 768px) {\n gap: 12px;\n }\n\n @media screen and (max-width: 480px) {\n gap: 8px;\n \n /* Hide less essential controls on mobile */\n .skip-control,\n .favorite-control,\n .download-control {\n display: none;\n }\n }\n\n @media screen and (max-width: 320px) {\n gap: 6px;\n }\n\n .skip-icon-disabled {\n cursor: default;\n\n & > path {\n fill: var(--level-dark-300);\n }\n }\n"])));
82546
+ var StyledTimeTrack = dt.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n color: #FFFFFF;\n ", "\n text-align: right;\n white-space: nowrap;\n font-size: 14px;\n \n /* Responsive font size adjustments */\n @media screen and (max-width: 768px) {\n font-size: 12px;\n }\n\n @media screen and (max-width: 480px) {\n font-size: 11px;\n }\n\n @media screen and (max-width: 320px) {\n font-size: 10px;\n }\n"], ["\n color: #FFFFFF;\n ", "\n text-align: right;\n white-space: nowrap;\n font-size: 14px;\n \n /* Responsive font size adjustments */\n @media screen and (max-width: 768px) {\n font-size: 12px;\n }\n\n @media screen and (max-width: 480px) {\n font-size: 11px;\n }\n\n @media screen and (max-width: 320px) {\n font-size: 10px;\n }\n"
82547
+ // Base styles for icon containers
82548
+ ])), {
82547
82549
  fontStyle: 'descriptor'
82548
82550
  });
82549
- var StyledHeartIconContainer = dt.div(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n & > svg > path {\n fill: #FFFFFF !important;\n transition: fill 0.2s ease;\n }\n\n &:hover > svg > path {\n fill: #08C694 !important;\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n & > svg > path {\n fill: #FFFFFF !important;\n transition: fill 0.2s ease;\n }\n\n &:hover > svg > path {\n fill: #08C694 !important;\n }\n"])));
82550
- var StyledDownloadIconContainer = dt.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n & > svg {\n width: 24px !important;\n height: 24px !important;\n \n @media screen and (max-width: 1500px) {\n width: 20px !important;\n height: 20px !important;\n }\n\n @media screen and (max-width: 1000px) {\n width: 16px !important;\n height: 16px !important;\n }\n }\n\n & > svg > path {\n fill: #FFFFFF !important;\n transition: fill 0.2s ease;\n }\n\n &:hover > svg > path {\n fill: #08C694 !important;\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n & > svg {\n width: 24px !important;\n height: 24px !important;\n \n @media screen and (max-width: 1500px) {\n width: 20px !important;\n height: 20px !important;\n }\n\n @media screen and (max-width: 1000px) {\n width: 16px !important;\n height: 16px !important;\n }\n }\n\n & > svg > path {\n fill: #FFFFFF !important;\n transition: fill 0.2s ease;\n }\n\n &:hover > svg > path {\n fill: #08C694 !important;\n }\n"])));
82551
- var StyledSubtitlesIconContainer = dt.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n & > svg > path {\n fill: #FFFFFF !important;\n transition: fill 0.2s ease;\n }\n\n &:hover > svg > path {\n fill: #08C694 !important;\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n & > svg > path {\n fill: #FFFFFF !important;\n transition: fill 0.2s ease;\n }\n\n &:hover > svg > path {\n fill: #08C694 !important;\n }\n"])));
82552
- var StyledFullscreenIconContainer = dt.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n & > svg > path {\n fill: #FFFFFF !important;\n transition: fill 0.2s ease;\n }\n\n &:hover > svg > path {\n fill: #08C694 !important;\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n & > svg > path {\n fill: #FFFFFF !important;\n transition: fill 0.2s ease;\n }\n\n &:hover > svg > path {\n fill: #08C694 !important;\n }\n"])));
82553
- var StyledPictureInPictureIconContainer = dt.div(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n & > svg > path {\n fill: #FFFFFF !important;\n transition: fill 0.2s ease;\n }\n\n &:hover > svg > path {\n fill: #08C694 !important;\n }\n\n &.pip-active > svg > path {\n fill: #08C694 !important;\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n & > svg > path {\n fill: #FFFFFF !important;\n transition: fill 0.2s ease;\n }\n\n &:hover > svg > path {\n fill: #08C694 !important;\n }\n\n &.pip-active > svg > path {\n fill: #08C694 !important;\n }\n"])));
82554
- var StyledVolumeIconContainer = dt.div(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n & > svg > path {\n fill: #FFFFFF !important;\n transition: fill 0.2s ease;\n }\n\n &:hover > svg > path {\n fill: #08C694 !important;\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n & > svg > path {\n fill: #FFFFFF !important;\n transition: fill 0.2s ease;\n }\n\n &:hover > svg > path {\n fill: #08C694 !important;\n }\n"])));
82555
- var StyledPlayPauseIconContainer = dt.div(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n & > svg > path {\n fill: #FFFFFF !important;\n transition: fill 0.2s ease;\n }\n\n &:hover > svg > path {\n fill: #08C694 !important;\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n & > svg > path {\n fill: #FFFFFF !important;\n transition: fill 0.2s ease;\n }\n\n &:hover > svg > path {\n fill: #08C694 !important;\n }\n"])));
82556
- var StyledRewindIconContainer = dt.div(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n \n\n & > svg > path {\n fill: #FFFFFF !important;\n transition: fill 0.2s ease;\n }\n\n &:hover > svg > path {\n fill: #08C694 !important;\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n \n\n & > svg > path {\n fill: #FFFFFF !important;\n transition: fill 0.2s ease;\n }\n\n &:hover > svg > path {\n fill: #08C694 !important;\n }\n"])));
82557
- var templateObject_1$8, templateObject_2$6, templateObject_3$3, templateObject_4$1, templateObject_5$1, templateObject_6$1, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15;
82551
+ // Base styles for icon containers
82552
+ var BaseIconContainer = dt.div(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n min-width: 24px;\n min-height: 24px;\n border-radius: 4px;\n transition: background-color 0.2s ease, transform 0.1s ease;\n\n /* Enhanced touch targets for mobile */\n @media (hover: none) and (pointer: coarse) {\n min-width: 32px;\n min-height: 32px;\n }\n\n & > svg > path {\n fill: #FFFFFF !important;\n transition: fill 0.2s ease;\n }\n\n &:hover {\n background-color: rgba(255, 255, 255, 0.1);\n \n & > svg > path {\n fill: #08C694 !important;\n }\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n /* Focus styles for accessibility */\n &:focus-visible {\n outline: 2px solid var(--brand-colors-accent);\n outline-offset: 2px;\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n min-width: 24px;\n min-height: 24px;\n border-radius: 4px;\n transition: background-color 0.2s ease, transform 0.1s ease;\n\n /* Enhanced touch targets for mobile */\n @media (hover: none) and (pointer: coarse) {\n min-width: 32px;\n min-height: 32px;\n }\n\n & > svg > path {\n fill: #FFFFFF !important;\n transition: fill 0.2s ease;\n }\n\n &:hover {\n background-color: rgba(255, 255, 255, 0.1);\n \n & > svg > path {\n fill: #08C694 !important;\n }\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n /* Focus styles for accessibility */\n &:focus-visible {\n outline: 2px solid var(--brand-colors-accent);\n outline-offset: 2px;\n }\n"])));
82553
+ var StyledHeartIconContainer = dt(BaseIconContainer)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n /* Additional specific styles if needed */\n"], ["\n /* Additional specific styles if needed */\n"])));
82554
+ var StyledDownloadIconContainer = dt(BaseIconContainer)(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n & > svg {\n width: 24px !important;\n height: 24px !important;\n \n @media screen and (max-width: 1500px) {\n width: 20px !important;\n height: 20px !important;\n }\n\n @media screen and (max-width: 1000px) {\n width: 16px !important;\n height: 16px !important;\n }\n\n @media screen and (max-width: 768px) {\n width: 20px !important;\n height: 20px !important;\n }\n\n @media screen and (max-width: 480px) {\n width: 18px !important;\n height: 18px !important;\n }\n }\n"], ["\n & > svg {\n width: 24px !important;\n height: 24px !important;\n \n @media screen and (max-width: 1500px) {\n width: 20px !important;\n height: 20px !important;\n }\n\n @media screen and (max-width: 1000px) {\n width: 16px !important;\n height: 16px !important;\n }\n\n @media screen and (max-width: 768px) {\n width: 20px !important;\n height: 20px !important;\n }\n\n @media screen and (max-width: 480px) {\n width: 18px !important;\n height: 18px !important;\n }\n }\n"])));
82555
+ var StyledSubtitlesIconContainer = dt(BaseIconContainer)(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n /* Additional specific styles if needed */\n"], ["\n /* Additional specific styles if needed */\n"])));
82556
+ var StyledFullscreenIconContainer = dt(BaseIconContainer)(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n /* Additional specific styles if needed */\n"], ["\n /* Additional specific styles if needed */\n"])));
82557
+ var StyledPictureInPictureIconContainer = dt(BaseIconContainer)(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n &.pip-active {\n background-color: rgba(8, 198, 148, 0.2);\n \n & > svg > path {\n fill: #08C694 !important;\n }\n }\n"], ["\n &.pip-active {\n background-color: rgba(8, 198, 148, 0.2);\n \n & > svg > path {\n fill: #08C694 !important;\n }\n }\n"])));
82558
+ var StyledVolumeIconContainer = dt(BaseIconContainer)(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n /* Additional specific styles if needed */\n"], ["\n /* Additional specific styles if needed */\n"])));
82559
+ var StyledPlayPauseIconContainer = dt(BaseIconContainer)(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n /* Additional specific styles if needed */\n"], ["\n /* Additional specific styles if needed */\n"])));
82560
+ var StyledRewindIconContainer = dt(BaseIconContainer)(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n /* Additional specific styles if needed */\n"], ["\n /* Additional specific styles if needed */\n"])));
82561
+ var templateObject_1$8, templateObject_2$6, templateObject_3$3, templateObject_4$1, templateObject_5$1, templateObject_6$1, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16;
82558
82562
 
82559
82563
  var PLAYBACK_SPEED_LIST = [{
82560
82564
  label: 'playback_speed.2x',
@@ -82843,8 +82847,9 @@ var Controls = function Controls(_a) {
82843
82847
  children: playing ? jsxRuntimeExports.jsx(PauseIcon, {}) : jsxRuntimeExports.jsx(PlayIcon, {})
82844
82848
  })
82845
82849
  }), jsxRuntimeExports.jsx(CustomTooltip, {
82846
- title: "Rewind 10 seconds",
82850
+ title: "Rewind 5 seconds",
82847
82851
  children: jsxRuntimeExports.jsx(StyledRewindIconContainer, {
82852
+ className: "rewind-control",
82848
82853
  children: jsxRuntimeExports.jsx(RewindIcon, {
82849
82854
  onClick: rewindHandler
82850
82855
  })
@@ -82852,6 +82857,7 @@ var Controls = function Controls(_a) {
82852
82857
  }), jsxRuntimeExports.jsx(CustomTooltip, {
82853
82858
  title: "Forward 10 seconds",
82854
82859
  children: jsxRuntimeExports.jsx(StyledRewindIconContainer, {
82860
+ className: "forward-control",
82855
82861
  children: jsxRuntimeExports.jsx(RewindIcon, {
82856
82862
  forward: true,
82857
82863
  onClick: handleFastForward
@@ -82876,6 +82882,7 @@ var Controls = function Controls(_a) {
82876
82882
  children: [handleSkipBackward && jsxRuntimeExports.jsx(CustomTooltip, {
82877
82883
  title: "Previous video",
82878
82884
  children: jsxRuntimeExports.jsx(StyledRewindIconContainer, {
82885
+ className: "skip-control",
82879
82886
  children: jsxRuntimeExports.jsx(SkipIcon, {
82880
82887
  onClick: function onClick() {
82881
82888
  if (!isPreviousVideo) return;
@@ -82887,6 +82894,7 @@ var Controls = function Controls(_a) {
82887
82894
  }), handleSkipForward && jsxRuntimeExports.jsx(CustomTooltip, {
82888
82895
  title: "Next video",
82889
82896
  children: jsxRuntimeExports.jsx(StyledRewindIconContainer, {
82897
+ className: "skip-control",
82890
82898
  children: jsxRuntimeExports.jsx(SkipIcon, {
82891
82899
  forward: true,
82892
82900
  onClick: function onClick() {
@@ -82899,6 +82907,7 @@ var Controls = function Controls(_a) {
82899
82907
  }), showFavorite && jsxRuntimeExports.jsx(CustomTooltip, {
82900
82908
  title: isFavorite ? 'Remove from favorites' : 'Add to favorites',
82901
82909
  children: jsxRuntimeExports.jsx(StyledHeartIconContainer, {
82910
+ className: "favorite-control",
82902
82911
  children: jsxRuntimeExports.jsx(HeartIcon, {
82903
82912
  active: isFavorite,
82904
82913
  onClick: toggleIsFavorite
@@ -82907,6 +82916,7 @@ var Controls = function Controls(_a) {
82907
82916
  }), showDownload && downloadUrl && jsxRuntimeExports.jsx(CustomTooltip, {
82908
82917
  title: "Download video",
82909
82918
  children: jsxRuntimeExports.jsx(StyledDownloadIconContainer, {
82919
+ className: "download-control",
82910
82920
  children: jsxRuntimeExports.jsx(DownloadIcon, {
82911
82921
  onClick: handleDownloadClick
82912
82922
  })
@@ -88728,6 +88738,247 @@ var useEventListener = function useEventListener(eventName, handler, element, sh
88728
88738
  }, [eventName, element, shouldRun]);
88729
88739
  };
88730
88740
 
88741
+ /**
88742
+ * Global Picture-in-Picture Manager
88743
+ * This module manages PiP state across component unmounts and route changes
88744
+ */
88745
+ var PictureInPictureManager = /** @class */function () {
88746
+ function PictureInPictureManager() {
88747
+ this.videoElement = null;
88748
+ this.pipContainer = null;
88749
+ this.currentVideoState = null;
88750
+ this.onStateChange = null;
88751
+ // Listen for PiP events globally
88752
+ document.addEventListener('leavepictureinpicture', this.handlePiPExit.bind(this));
88753
+ document.addEventListener('enterpictureinpicture', this.handlePiPEnter.bind(this));
88754
+ }
88755
+ /**
88756
+ * Register a video element for PiP management
88757
+ */
88758
+ PictureInPictureManager.prototype.registerVideo = function (videoElement, url, onStateChange) {
88759
+ this.videoElement = videoElement;
88760
+ this.onStateChange = onStateChange || null;
88761
+ // Store current video state
88762
+ this.currentVideoState = {
88763
+ url: url,
88764
+ currentTime: videoElement.currentTime,
88765
+ isPlaying: !videoElement.paused,
88766
+ volume: videoElement.volume,
88767
+ playbackRate: videoElement.playbackRate
88768
+ };
88769
+ // Add listeners to track state changes
88770
+ videoElement.addEventListener('timeupdate', this.handleTimeUpdate.bind(this));
88771
+ videoElement.addEventListener('play', this.handlePlayStateChange.bind(this));
88772
+ videoElement.addEventListener('pause', this.handlePlayStateChange.bind(this));
88773
+ videoElement.addEventListener('volumechange', this.handleVolumeChange.bind(this));
88774
+ videoElement.addEventListener('ratechange', this.handleRateChange.bind(this));
88775
+ };
88776
+ /**
88777
+ * Unregister the current video element
88778
+ */
88779
+ PictureInPictureManager.prototype.unregisterVideo = function () {
88780
+ if (this.videoElement) {
88781
+ this.videoElement.removeEventListener('timeupdate', this.handleTimeUpdate.bind(this));
88782
+ this.videoElement.removeEventListener('play', this.handlePlayStateChange.bind(this));
88783
+ this.videoElement.removeEventListener('pause', this.handlePlayStateChange.bind(this));
88784
+ this.videoElement.removeEventListener('volumechange', this.handleVolumeChange.bind(this));
88785
+ this.videoElement.removeEventListener('ratechange', this.handleRateChange.bind(this));
88786
+ }
88787
+ this.videoElement = null;
88788
+ this.onStateChange = null;
88789
+ };
88790
+ /**
88791
+ * Create a persistent video element for PiP
88792
+ */
88793
+ PictureInPictureManager.prototype.createPersistentVideo = function (originalVideo) {
88794
+ var persistentVideo = originalVideo.cloneNode(true);
88795
+ // Copy all relevant properties
88796
+ persistentVideo.src = originalVideo.src;
88797
+ persistentVideo.currentTime = originalVideo.currentTime;
88798
+ persistentVideo.volume = originalVideo.volume;
88799
+ persistentVideo.playbackRate = originalVideo.playbackRate;
88800
+ persistentVideo.muted = originalVideo.muted;
88801
+ // Set properties for PiP
88802
+ persistentVideo.style.position = 'fixed';
88803
+ persistentVideo.style.top = '-9999px';
88804
+ persistentVideo.style.left = '-9999px';
88805
+ persistentVideo.style.width = '1px';
88806
+ persistentVideo.style.height = '1px';
88807
+ persistentVideo.style.opacity = '0';
88808
+ persistentVideo.style.pointerEvents = 'none';
88809
+ return persistentVideo;
88810
+ };
88811
+ /**
88812
+ * Enter picture-in-picture mode with persistence
88813
+ */
88814
+ PictureInPictureManager.prototype.enterPiP = function () {
88815
+ return __awaiter(this, void 0, void 0, function () {
88816
+ var persistentVideo_1, error_1;
88817
+ return __generator(this, function (_a) {
88818
+ switch (_a.label) {
88819
+ case 0:
88820
+ if (!this.videoElement || !document.pictureInPictureEnabled) {
88821
+ return [2 /*return*/];
88822
+ }
88823
+ _a.label = 1;
88824
+ case 1:
88825
+ _a.trys.push([1, 6,, 7]);
88826
+ if (!document.pictureInPictureElement) return [3 /*break*/, 3];
88827
+ return [4 /*yield*/, document.exitPictureInPicture()];
88828
+ case 2:
88829
+ _a.sent();
88830
+ _a.label = 3;
88831
+ case 3:
88832
+ // Create a container if it doesn't exist
88833
+ if (!this.pipContainer) {
88834
+ this.pipContainer = document.createElement('div');
88835
+ this.pipContainer.id = 'suada-pip-container';
88836
+ this.pipContainer.style.position = 'fixed';
88837
+ this.pipContainer.style.top = '-9999px';
88838
+ this.pipContainer.style.left = '-9999px';
88839
+ this.pipContainer.style.width = '1px';
88840
+ this.pipContainer.style.height = '1px';
88841
+ this.pipContainer.style.zIndex = '-1';
88842
+ document.body.appendChild(this.pipContainer);
88843
+ }
88844
+ persistentVideo_1 = this.createPersistentVideo(this.videoElement);
88845
+ this.pipContainer.appendChild(persistentVideo_1);
88846
+ // Wait for video to load
88847
+ return [4 /*yield*/, new Promise(function (resolve) {
88848
+ if (persistentVideo_1.readyState >= 2) {
88849
+ resolve();
88850
+ } else {
88851
+ persistentVideo_1.addEventListener('loadedmetadata', function () {
88852
+ return resolve();
88853
+ }, {
88854
+ once: true
88855
+ });
88856
+ }
88857
+ })
88858
+ // Enter PiP mode
88859
+ ];
88860
+ case 4:
88861
+ // Wait for video to load
88862
+ _a.sent();
88863
+ // Enter PiP mode
88864
+ return [4 /*yield*/, persistentVideo_1.requestPictureInPicture()
88865
+ // Update the reference to the persistent video
88866
+ ];
88867
+ case 5:
88868
+ // Enter PiP mode
88869
+ _a.sent();
88870
+ // Update the reference to the persistent video
88871
+ this.videoElement = persistentVideo_1;
88872
+ return [3 /*break*/, 7];
88873
+ case 6:
88874
+ error_1 = _a.sent();
88875
+ console.error('Failed to enter picture-in-picture:', error_1);
88876
+ return [3 /*break*/, 7];
88877
+ case 7:
88878
+ return [2 /*return*/];
88879
+ }
88880
+ });
88881
+ });
88882
+ };
88883
+ /**
88884
+ * Exit picture-in-picture mode
88885
+ */
88886
+ PictureInPictureManager.prototype.exitPiP = function () {
88887
+ return __awaiter(this, void 0, void 0, function () {
88888
+ var error_2;
88889
+ return __generator(this, function (_a) {
88890
+ switch (_a.label) {
88891
+ case 0:
88892
+ _a.trys.push([0, 3,, 4]);
88893
+ if (!document.pictureInPictureElement) return [3 /*break*/, 2];
88894
+ return [4 /*yield*/, document.exitPictureInPicture()];
88895
+ case 1:
88896
+ _a.sent();
88897
+ _a.label = 2;
88898
+ case 2:
88899
+ return [3 /*break*/, 4];
88900
+ case 3:
88901
+ error_2 = _a.sent();
88902
+ console.error('Failed to exit picture-in-picture:', error_2);
88903
+ return [3 /*break*/, 4];
88904
+ case 4:
88905
+ return [2 /*return*/];
88906
+ }
88907
+ });
88908
+ });
88909
+ };
88910
+ /**
88911
+ * Check if currently in PiP mode
88912
+ */
88913
+ PictureInPictureManager.prototype.isPiPActive = function () {
88914
+ return !!document.pictureInPictureElement;
88915
+ };
88916
+ /**
88917
+ * Get current video state
88918
+ */
88919
+ PictureInPictureManager.prototype.getCurrentState = function () {
88920
+ return this.currentVideoState;
88921
+ };
88922
+ /**
88923
+ * Restore video state to a new video element
88924
+ */
88925
+ PictureInPictureManager.prototype.restoreStateToVideo = function (videoElement) {
88926
+ if (!this.currentVideoState) return;
88927
+ videoElement.currentTime = this.currentVideoState.currentTime;
88928
+ videoElement.volume = this.currentVideoState.volume;
88929
+ videoElement.playbackRate = this.currentVideoState.playbackRate;
88930
+ if (this.currentVideoState.isPlaying) {
88931
+ videoElement.play()["catch"](console.error);
88932
+ }
88933
+ };
88934
+ PictureInPictureManager.prototype.handleTimeUpdate = function () {
88935
+ if (this.videoElement && this.currentVideoState) {
88936
+ this.currentVideoState.currentTime = this.videoElement.currentTime;
88937
+ this.notifyStateChange();
88938
+ }
88939
+ };
88940
+ PictureInPictureManager.prototype.handlePlayStateChange = function () {
88941
+ if (this.videoElement && this.currentVideoState) {
88942
+ this.currentVideoState.isPlaying = !this.videoElement.paused;
88943
+ this.notifyStateChange();
88944
+ }
88945
+ };
88946
+ PictureInPictureManager.prototype.handleVolumeChange = function () {
88947
+ if (this.videoElement && this.currentVideoState) {
88948
+ this.currentVideoState.volume = this.videoElement.volume;
88949
+ this.notifyStateChange();
88950
+ }
88951
+ };
88952
+ PictureInPictureManager.prototype.handleRateChange = function () {
88953
+ if (this.videoElement && this.currentVideoState) {
88954
+ this.currentVideoState.playbackRate = this.videoElement.playbackRate;
88955
+ this.notifyStateChange();
88956
+ }
88957
+ };
88958
+ PictureInPictureManager.prototype.handlePiPEnter = function () {
88959
+ console.log('Entered picture-in-picture mode');
88960
+ };
88961
+ PictureInPictureManager.prototype.handlePiPExit = function () {
88962
+ console.log('Exited picture-in-picture mode');
88963
+ this.cleanup();
88964
+ };
88965
+ PictureInPictureManager.prototype.notifyStateChange = function () {
88966
+ if (this.onStateChange && this.currentVideoState) {
88967
+ this.onStateChange(this.currentVideoState);
88968
+ }
88969
+ };
88970
+ PictureInPictureManager.prototype.cleanup = function () {
88971
+ // Clean up the persistent container
88972
+ if (this.pipContainer && this.pipContainer.parentNode) {
88973
+ this.pipContainer.parentNode.removeChild(this.pipContainer);
88974
+ this.pipContainer = null;
88975
+ }
88976
+ };
88977
+ return PictureInPictureManager;
88978
+ }();
88979
+ // Create a singleton instance
88980
+ var pipManager = new PictureInPictureManager();
88981
+
88731
88982
  var count = 0;
88732
88983
  var defaultVideoState = {
88733
88984
  muted: false,
@@ -88803,24 +89054,70 @@ function usePlayerControls(_a) {
88803
89054
  }
88804
89055
  }, [subtitleUrl]);
88805
89056
  useEffect(function () {
89057
+ var _a;
88806
89058
  var handleFullscreenChange = function handleFullscreenChange() {
88807
89059
  setIsFullscreen(!!document.fullscreenElement);
88808
89060
  };
88809
- var handlePiPChange = function handlePiPChange() {
88810
- setIsPiPActive(!!document.pictureInPictureElement);
89061
+ var handlePiPEnter = function handlePiPEnter() {
89062
+ setIsPiPActive(true);
89063
+ };
89064
+ var handlePiPLeave = function handlePiPLeave() {
89065
+ setIsPiPActive(false);
89066
+ // Also cleanup the PiP manager when PiP exits
89067
+ pipManager.unregisterVideo();
88811
89068
  };
88812
89069
  document.addEventListener('fullscreenchange', handleFullscreenChange);
88813
- document.addEventListener('enterpictureinpicture', handlePiPChange);
88814
- document.addEventListener('leavepictureinpicture', handlePiPChange);
89070
+ document.addEventListener('enterpictureinpicture', handlePiPEnter);
89071
+ document.addEventListener('leavepictureinpicture', handlePiPLeave);
89072
+ // Add event listeners to the video element when it's available
89073
+ var videoElement = (_a = videoPlayerRef.current) === null || _a === void 0 ? void 0 : _a.getInternalPlayer();
89074
+ if (videoElement && videoElement instanceof HTMLVideoElement) {
89075
+ videoElement.addEventListener('enterpictureinpicture', handlePiPEnter);
89076
+ videoElement.addEventListener('leavepictureinpicture', handlePiPLeave);
89077
+ }
88815
89078
  return function () {
88816
89079
  document.removeEventListener('fullscreenchange', handleFullscreenChange);
88817
- document.removeEventListener('enterpictureinpicture', handlePiPChange);
88818
- document.removeEventListener('leavepictureinpicture', handlePiPChange);
89080
+ document.removeEventListener('enterpictureinpicture', handlePiPEnter);
89081
+ document.removeEventListener('leavepictureinpicture', handlePiPLeave);
89082
+ // Clean up video element listeners using the captured reference
89083
+ if (videoElement && videoElement instanceof HTMLVideoElement) {
89084
+ videoElement.removeEventListener('enterpictureinpicture', handlePiPEnter);
89085
+ videoElement.removeEventListener('leavepictureinpicture', handlePiPLeave);
89086
+ }
88819
89087
  };
88820
- }, []);
89088
+ }, [url]); // Re-run when URL changes to ensure proper cleanup and setup
88821
89089
  useEffect(function () {
88822
89090
  setStartPlayed(false);
88823
- }, [url]);
89091
+ // Check if there's an active PiP session and restore state
89092
+ if (pipManager.isPiPActive()) {
89093
+ var savedState_1 = pipManager.getCurrentState();
89094
+ if (savedState_1 && savedState_1.url === url) {
89095
+ setIsPiPActive(true);
89096
+ // Restore video state from PiP manager
89097
+ setVideoState(function (prev) {
89098
+ var _a;
89099
+ return __assign(__assign({}, prev), {
89100
+ volume: savedState_1.volume,
89101
+ playbackRate: savedState_1.playbackRate,
89102
+ played: savedState_1.currentTime / (((_a = videoPlayerRef.current) === null || _a === void 0 ? void 0 : _a.getDuration()) || 1)
89103
+ });
89104
+ });
89105
+ setIsPlaying(savedState_1.isPlaying);
89106
+ }
89107
+ }
89108
+ }, [url, setIsPlaying]);
89109
+ // Cleanup effect to handle component unmounting while in PiP mode
89110
+ useEffect(function () {
89111
+ return function () {
89112
+ // Unregister from PiP manager when component unmounts
89113
+ pipManager.unregisterVideo();
89114
+ // Check if we're in PiP mode when component unmounts
89115
+ if (document.pictureInPictureElement) {
89116
+ // The PiP manager will handle keeping the video alive
89117
+ console.log('Component unmounting while in Picture-in-Picture mode - PiP will persist');
89118
+ }
89119
+ };
89120
+ }, []);
88824
89121
  var playPauseHandler = useCallback(function () {
88825
89122
  setIsPlaying(function (prev) {
88826
89123
  return !prev;
@@ -88991,9 +89288,18 @@ function usePlayerControls(_a) {
88991
89288
  if (videoPlayerRef.current && !startPlayed) {
88992
89289
  videoPlayerRef.current.seekTo(startTime);
88993
89290
  setStartPlayed(true);
89291
+ // Register video with PiP manager when it's ready
89292
+ var videoElement = videoPlayerRef.current.getInternalPlayer();
89293
+ if (videoElement && videoElement instanceof HTMLVideoElement) {
89294
+ // Restore state if there was a previous PiP session
89295
+ var savedState = pipManager.getCurrentState();
89296
+ if (savedState && savedState.url === url && pipManager.isPiPActive()) {
89297
+ pipManager.restoreStateToVideo(videoElement);
89298
+ }
89299
+ }
88994
89300
  }
88995
89301
  setLoading(false);
88996
- }, [startTime, startPlayed, setLoading]);
89302
+ }, [startTime, startPlayed, setLoading, url]);
88997
89303
  var handleFullScreen = function handleFullScreen() {
88998
89304
  var playerContainer = playerContainerRef.current;
88999
89305
  if (!playerContainer) {
@@ -89016,9 +89322,36 @@ function usePlayerControls(_a) {
89016
89322
  return;
89017
89323
  }
89018
89324
  if (document.pictureInPictureElement) {
89019
- document.exitPictureInPicture()["catch"](console.error);
89325
+ pipManager.exitPiP()["catch"](function (error) {
89326
+ console.error('Failed to exit picture-in-picture:', error);
89327
+ });
89020
89328
  } else {
89021
- videoElement.requestPictureInPicture()["catch"](console.error);
89329
+ // Register the video with the PiP manager
89330
+ pipManager.registerVideo(videoElement, url, function (state) {
89331
+ // Update local state when PiP video state changes
89332
+ setVideoState(function (prev) {
89333
+ return __assign(__assign({}, prev), {
89334
+ played: state.currentTime / duration,
89335
+ volume: state.volume,
89336
+ playbackRate: state.playbackRate
89337
+ });
89338
+ });
89339
+ setIsPlaying(state.isPlaying);
89340
+ });
89341
+ // Ensure the video is playing before entering PiP mode
89342
+ if (videoElement.paused && isPlaying) {
89343
+ videoElement.play().then(function () {
89344
+ pipManager.enterPiP()["catch"](function (error) {
89345
+ console.error('Failed to enter picture-in-picture:', error);
89346
+ });
89347
+ })["catch"](function (error) {
89348
+ console.error('Failed to play video before PiP:', error);
89349
+ });
89350
+ } else {
89351
+ pipManager.enterPiP()["catch"](function (error) {
89352
+ console.error('Failed to enter picture-in-picture:', error);
89353
+ });
89354
+ }
89022
89355
  }
89023
89356
  };
89024
89357
  var handleKeyDown = useCallback(function (event) {