suada-components 1.9.1 → 1.11.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.
- package/dist/{DailyMotion-BAvo3Toe.esm.js → DailyMotion-CfbMMyt6.esm.js} +1 -1
- package/dist/{DailyMotion-B-Q4fBEb.js → DailyMotion-DIieYZc6.js} +1 -1
- package/dist/{components/Facebook-CDrTA2_L.esm.js → Facebook-Bv9gRyEj.esm.js} +1 -1
- package/dist/{components/Facebook-YxZce26V.js → Facebook-q8URvYqO.js} +1 -1
- package/dist/{FilePlayer-CQ80KWY2.js → FilePlayer-2u_FXCSj.js} +1 -1
- package/dist/{FilePlayer-BOZIvaDy.esm.js → FilePlayer-BwAlBw7n.esm.js} +1 -1
- package/dist/{Kaltura-B12Xdl6X.esm.js → Kaltura-DH3DF-Gt.esm.js} +1 -1
- package/dist/{components/Kaltura-krSxvIBr.js → Kaltura-DqIQeJq5.js} +1 -1
- package/dist/{Mixcloud-DGQnlDAK.js → Mixcloud-BUjkrx5l.js} +1 -1
- package/dist/{Mixcloud-JfeQIOki.esm.js → Mixcloud-D02r0ol_.esm.js} +1 -1
- package/dist/{components/Mux-BZleoaJh.esm.js → Mux-BuB2BfAv.esm.js} +1 -1
- package/dist/{Mux-CiKZc8gj.js → Mux-CZ2OeleY.js} +1 -1
- package/dist/{Preview-DvZKrgm5.js → Preview-DqDPuC88.js} +1 -1
- package/dist/{Preview-DSovY9gr.esm.js → Preview-e_g825ee.esm.js} +1 -1
- package/dist/{SoundCloud-Di7z3nmP.js → SoundCloud-CM1YouqE.js} +1 -1
- package/dist/{SoundCloud-j_R0lK8D.esm.js → SoundCloud-CjEwKAy7.esm.js} +1 -1
- package/dist/{Streamable-CRhXZIKP.esm.js → Streamable-D_AVn6rL.esm.js} +1 -1
- package/dist/{Streamable-CV1mgzRv.js → Streamable-DsBfdV-g.js} +1 -1
- package/dist/{Twitch-Dj66vkCD.js → Twitch-CmERSXRT.js} +1 -1
- package/dist/{components/Twitch-CXOhay4a.esm.js → Twitch-DaRYziKs.esm.js} +1 -1
- package/dist/{components/Vidyard-Cn_LcGwi.js → Vidyard-CiO_bL8b.js} +1 -1
- package/dist/{components/Vidyard-YcZH6kkW.esm.js → Vidyard-CwapqxZ-.esm.js} +1 -1
- package/dist/{Vimeo-Ba9C6utC.esm.js → Vimeo-CMoL8SJi.esm.js} +1 -1
- package/dist/{Vimeo-DePzl7Sn.js → Vimeo-CpvhoTnW.js} +1 -1
- package/dist/{components/Wistia-COWrV8QC.js → Wistia-CijRSDbl.js} +1 -1
- package/dist/{components/Wistia-PneZ48dn.esm.js → Wistia-DhksCdDm.esm.js} +1 -1
- package/dist/{YouTube-vwMoW93C.js → YouTube-CiPFMNNG.js} +1 -1
- package/dist/{components/YouTube-BUyvzJQw.esm.js → YouTube-DW3AvX0m.esm.js} +1 -1
- package/dist/components/Button/Button.stories.d.ts +2 -0
- package/dist/components/{DailyMotion-D2n1NDDi.esm.js → DailyMotion-CCnmtX_9.esm.js} +1 -1
- package/dist/components/{DailyMotion-Cr_8IZRR.js → DailyMotion-Du0LVn2-.js} +1 -1
- package/dist/{Facebook-CASik-P5.js → components/Facebook-CjZ7HsBA.js} +1 -1
- package/dist/{Facebook-C8GOujDt.esm.js → components/Facebook-DUDgDWjz.esm.js} +1 -1
- package/dist/components/{FilePlayer-DqqTufgX.js → FilePlayer-CRftl62T.js} +1 -1
- package/dist/components/{FilePlayer-BzkVMbQ8.esm.js → FilePlayer-_3t-0Yxs.esm.js} +1 -1
- package/dist/components/{Kaltura-B0UZLr6g.esm.js → Kaltura-C0ZIVeQR.esm.js} +1 -1
- package/dist/{Kaltura-nYc5k7UB.js → components/Kaltura-CSTN5Rul.js} +1 -1
- package/dist/components/{Mixcloud-D9qk3D6i.esm.js → Mixcloud-CLpsSMW9.esm.js} +1 -1
- package/dist/components/{Mixcloud-BCT5e47d.js → Mixcloud-DWbtn99D.js} +1 -1
- package/dist/components/{Mux-D_si09u2.js → Mux-4tmUDWpp.js} +1 -1
- package/dist/{Mux-BHWzpAR-.esm.js → components/Mux-BvvlblBZ.esm.js} +1 -1
- package/dist/components/{Preview-CmduMeEZ.js → Preview-DGQ-4L3t.js} +1 -1
- package/dist/components/{Preview-DQLbQ8_C.esm.js → Preview-DYNCjWc6.esm.js} +1 -1
- package/dist/components/{SoundCloud-BgnX8kOF.esm.js → SoundCloud-BjSURWDI.esm.js} +1 -1
- package/dist/components/{SoundCloud-BHgTfaW7.js → SoundCloud-qATRbAFQ.js} +1 -1
- package/dist/components/{Streamable-DTAzjVwd.js → Streamable-BTFjBDV_.js} +1 -1
- package/dist/components/{Streamable-DbRbUflP.esm.js → Streamable-DuoO_OaU.esm.js} +1 -1
- package/dist/{Twitch-6icfp-ZE.esm.js → components/Twitch-BLM7sM5U.esm.js} +1 -1
- package/dist/components/{Twitch-CnEk-l9R.js → Twitch-BQaXeGDA.js} +1 -1
- package/dist/components/VideoPlayer/Controls/Controls.styles.js +29 -7
- package/dist/components/VideoPlayer/Controls/Controls.styles.js.map +1 -1
- package/dist/components/VideoPlayer/usePlayerControls.js +37 -27
- package/dist/components/VideoPlayer/usePlayerControls.js.map +1 -1
- package/dist/{Vidyard--KX47pZ0.esm.js → components/Vidyard-CYSoFkXJ.esm.js} +1 -1
- package/dist/{Vidyard-B-qmApe9.js → components/Vidyard-DE_V8Pca.js} +1 -1
- package/dist/components/{Vimeo-BUVxWt7t.js → Vimeo-BCY2SATj.js} +1 -1
- package/dist/components/{Vimeo-Cv0qx3aR.esm.js → Vimeo-D-Wnyri7.esm.js} +1 -1
- package/dist/{Wistia-CXYB3Yus.js → components/Wistia-Cp8prs3r.js} +1 -1
- package/dist/{Wistia-DWJcdcY2.esm.js → components/Wistia-D2ifexFL.esm.js} +1 -1
- package/dist/{YouTube-DdBVPxzz.esm.js → components/YouTube-BKIxt4bj.esm.js} +1 -1
- package/dist/components/{YouTube-DeQdfkWm.js → YouTube-Do1mvujm.js} +1 -1
- package/dist/components/{index-C4Mk2H3N.esm.js → index-BKfTO00H.esm.js} +217 -180
- package/dist/components/{index-Bs-XxxV4.js → index-BaygwC_K.js} +217 -180
- package/dist/components/index.esm.js +1 -1
- package/dist/components/theme/Theme.d.ts +2 -0
- package/dist/components/theme/interfaces.d.ts +17 -17
- package/dist/icons/theme/Theme.d.ts +2 -0
- package/dist/icons/theme/interfaces.d.ts +17 -17
- package/dist/{index-CSj9NYxJ.js → index-BKi6wPDv.js} +217 -180
- package/dist/{index-Bp-idbg5.esm.js → index-Dc7wycLL.esm.js} +217 -180
- package/dist/index.esm.js +1 -1
- package/dist/theme/Theme.d.ts +2 -0
- package/dist/theme/Theme.js +29 -28
- package/dist/theme/Theme.js.map +1 -1
- package/dist/theme/interfaces.d.ts +17 -17
- package/package.json +1 -1
|
@@ -81375,7 +81375,7 @@ function requirePlayers () {
|
|
|
81375
81375
|
canPlay: import_patterns.canPlay.youtube,
|
|
81376
81376
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81377
81377
|
/* webpackChunkName: 'reactPlayerYouTube' */
|
|
81378
|
-
'./YouTube-
|
|
81378
|
+
'./YouTube-Do1mvujm.js'
|
|
81379
81379
|
); }).then(function (n) { return n.YouTube; }))
|
|
81380
81380
|
},
|
|
81381
81381
|
{
|
|
@@ -81384,7 +81384,7 @@ function requirePlayers () {
|
|
|
81384
81384
|
canPlay: import_patterns.canPlay.soundcloud,
|
|
81385
81385
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81386
81386
|
/* webpackChunkName: 'reactPlayerSoundCloud' */
|
|
81387
|
-
'./SoundCloud-
|
|
81387
|
+
'./SoundCloud-qATRbAFQ.js'
|
|
81388
81388
|
); }).then(function (n) { return n.SoundCloud; }))
|
|
81389
81389
|
},
|
|
81390
81390
|
{
|
|
@@ -81393,7 +81393,7 @@ function requirePlayers () {
|
|
|
81393
81393
|
canPlay: import_patterns.canPlay.vimeo,
|
|
81394
81394
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81395
81395
|
/* webpackChunkName: 'reactPlayerVimeo' */
|
|
81396
|
-
'./Vimeo-
|
|
81396
|
+
'./Vimeo-BCY2SATj.js'
|
|
81397
81397
|
); }).then(function (n) { return n.Vimeo; }))
|
|
81398
81398
|
},
|
|
81399
81399
|
{
|
|
@@ -81402,7 +81402,7 @@ function requirePlayers () {
|
|
|
81402
81402
|
canPlay: import_patterns.canPlay.mux,
|
|
81403
81403
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81404
81404
|
/* webpackChunkName: 'reactPlayerMux' */
|
|
81405
|
-
'./Mux-
|
|
81405
|
+
'./Mux-4tmUDWpp.js'
|
|
81406
81406
|
); }).then(function (n) { return n.Mux; }))
|
|
81407
81407
|
},
|
|
81408
81408
|
{
|
|
@@ -81411,7 +81411,7 @@ function requirePlayers () {
|
|
|
81411
81411
|
canPlay: import_patterns.canPlay.facebook,
|
|
81412
81412
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81413
81413
|
/* webpackChunkName: 'reactPlayerFacebook' */
|
|
81414
|
-
'./Facebook-
|
|
81414
|
+
'./Facebook-CjZ7HsBA.js'
|
|
81415
81415
|
); }).then(function (n) { return n.Facebook; }))
|
|
81416
81416
|
},
|
|
81417
81417
|
{
|
|
@@ -81420,7 +81420,7 @@ function requirePlayers () {
|
|
|
81420
81420
|
canPlay: import_patterns.canPlay.streamable,
|
|
81421
81421
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81422
81422
|
/* webpackChunkName: 'reactPlayerStreamable' */
|
|
81423
|
-
'./Streamable-
|
|
81423
|
+
'./Streamable-BTFjBDV_.js'
|
|
81424
81424
|
); }).then(function (n) { return n.Streamable; }))
|
|
81425
81425
|
},
|
|
81426
81426
|
{
|
|
@@ -81429,7 +81429,7 @@ function requirePlayers () {
|
|
|
81429
81429
|
canPlay: import_patterns.canPlay.wistia,
|
|
81430
81430
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81431
81431
|
/* webpackChunkName: 'reactPlayerWistia' */
|
|
81432
|
-
'./Wistia-
|
|
81432
|
+
'./Wistia-Cp8prs3r.js'
|
|
81433
81433
|
); }).then(function (n) { return n.Wistia; }))
|
|
81434
81434
|
},
|
|
81435
81435
|
{
|
|
@@ -81438,7 +81438,7 @@ function requirePlayers () {
|
|
|
81438
81438
|
canPlay: import_patterns.canPlay.twitch,
|
|
81439
81439
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81440
81440
|
/* webpackChunkName: 'reactPlayerTwitch' */
|
|
81441
|
-
'./Twitch-
|
|
81441
|
+
'./Twitch-BQaXeGDA.js'
|
|
81442
81442
|
); }).then(function (n) { return n.Twitch; }))
|
|
81443
81443
|
},
|
|
81444
81444
|
{
|
|
@@ -81447,7 +81447,7 @@ function requirePlayers () {
|
|
|
81447
81447
|
canPlay: import_patterns.canPlay.dailymotion,
|
|
81448
81448
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81449
81449
|
/* webpackChunkName: 'reactPlayerDailyMotion' */
|
|
81450
|
-
'./DailyMotion-
|
|
81450
|
+
'./DailyMotion-Du0LVn2-.js'
|
|
81451
81451
|
); }).then(function (n) { return n.DailyMotion; }))
|
|
81452
81452
|
},
|
|
81453
81453
|
{
|
|
@@ -81456,7 +81456,7 @@ function requirePlayers () {
|
|
|
81456
81456
|
canPlay: import_patterns.canPlay.mixcloud,
|
|
81457
81457
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81458
81458
|
/* webpackChunkName: 'reactPlayerMixcloud' */
|
|
81459
|
-
'./Mixcloud-
|
|
81459
|
+
'./Mixcloud-DWbtn99D.js'
|
|
81460
81460
|
); }).then(function (n) { return n.Mixcloud; }))
|
|
81461
81461
|
},
|
|
81462
81462
|
{
|
|
@@ -81465,7 +81465,7 @@ function requirePlayers () {
|
|
|
81465
81465
|
canPlay: import_patterns.canPlay.vidyard,
|
|
81466
81466
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81467
81467
|
/* webpackChunkName: 'reactPlayerVidyard' */
|
|
81468
|
-
'./Vidyard-
|
|
81468
|
+
'./Vidyard-DE_V8Pca.js'
|
|
81469
81469
|
); }).then(function (n) { return n.Vidyard; }))
|
|
81470
81470
|
},
|
|
81471
81471
|
{
|
|
@@ -81474,7 +81474,7 @@ function requirePlayers () {
|
|
|
81474
81474
|
canPlay: import_patterns.canPlay.kaltura,
|
|
81475
81475
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81476
81476
|
/* webpackChunkName: 'reactPlayerKaltura' */
|
|
81477
|
-
'./Kaltura-
|
|
81477
|
+
'./Kaltura-CSTN5Rul.js'
|
|
81478
81478
|
); }).then(function (n) { return n.Kaltura; }))
|
|
81479
81479
|
},
|
|
81480
81480
|
{
|
|
@@ -81486,7 +81486,7 @@ function requirePlayers () {
|
|
|
81486
81486
|
},
|
|
81487
81487
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81488
81488
|
/* webpackChunkName: 'reactPlayerFilePlayer' */
|
|
81489
|
-
'./FilePlayer-
|
|
81489
|
+
'./FilePlayer-CRftl62T.js'
|
|
81490
81490
|
); }).then(function (n) { return n.FilePlayer; }))
|
|
81491
81491
|
}
|
|
81492
81492
|
];
|
|
@@ -82307,7 +82307,7 @@ function requireReactPlayer () {
|
|
|
82307
82307
|
var import_Player = __toESM(/*@__PURE__*/ requirePlayer());
|
|
82308
82308
|
const Preview = (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
82309
82309
|
/* webpackChunkName: 'reactPlayerPreview' */
|
|
82310
|
-
'./Preview-
|
|
82310
|
+
'./Preview-DGQ-4L3t.js'
|
|
82311
82311
|
); }).then(function (n) { return n.Preview; }));
|
|
82312
82312
|
const IS_BROWSER = typeof window !== "undefined" && window.document && typeof document !== "undefined";
|
|
82313
82313
|
const IS_GLOBAL = typeof commonjsGlobal !== "undefined" && commonjsGlobal.window && commonjsGlobal.window.document;
|
|
@@ -82552,14 +82552,34 @@ var templateObject_1$9, templateObject_2$7, templateObject_3$4, templateObject_4
|
|
|
82552
82552
|
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"])), {
|
|
82553
82553
|
fontStyle: 'descriptor'
|
|
82554
82554
|
});
|
|
82555
|
-
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:
|
|
82556
|
-
var
|
|
82557
|
-
|
|
82555
|
+
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: ", ";\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: ", ";\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: ", ";\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: ", ";\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) {
|
|
82556
|
+
var _b, _c, _d, _e;
|
|
82557
|
+
var value = _a.value,
|
|
82558
|
+
theme = _a.theme;
|
|
82559
|
+
return "linear-gradient(\n to right,\n ".concat(((_c = (_b = theme === null || theme === void 0 ? void 0 : theme.colors) === null || _b === void 0 ? void 0 : _b.primary) === null || _c === void 0 ? void 0 : _c.main) || 'var(--brand-colors-accent)', " 0%,\n ").concat(((_e = (_d = theme === null || theme === void 0 ? void 0 : theme.colors) === null || _d === void 0 ? void 0 : _d.primary) === null || _e === void 0 ? void 0 : _e.main) || 'var(--brand-colors-accent)', " ").concat(value, "%,\n var(--level-dark-200) ").concat(value, "%,\n var(--level-dark-200) 100%\n )");
|
|
82560
|
+
}, function (_a) {
|
|
82561
|
+
var _b, _c;
|
|
82562
|
+
var theme = _a.theme;
|
|
82563
|
+
return ((_c = (_b = theme === null || theme === void 0 ? void 0 : theme.colors) === null || _b === void 0 ? void 0 : _b.primary) === null || _c === void 0 ? void 0 : _c.main) || 'var(--brand-colors-accent)';
|
|
82564
|
+
}, function (_a) {
|
|
82565
|
+
var _b, _c;
|
|
82566
|
+
var theme = _a.theme;
|
|
82567
|
+
return ((_c = (_b = theme === null || theme === void 0 ? void 0 : theme.colors) === null || _b === void 0 ? void 0 : _b.primary) === null || _c === void 0 ? void 0 : _c.main) || 'var(--brand-colors-accent)';
|
|
82558
82568
|
});
|
|
82559
82569
|
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"])));
|
|
82560
|
-
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:
|
|
82561
|
-
var
|
|
82562
|
-
|
|
82570
|
+
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: ", ";\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: ", ";\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: ", ";\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: ", ";\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) {
|
|
82571
|
+
var _b, _c, _d, _e;
|
|
82572
|
+
var value = _a.value,
|
|
82573
|
+
theme = _a.theme;
|
|
82574
|
+
return "linear-gradient(\n to right,\n ".concat(((_c = (_b = theme === null || theme === void 0 ? void 0 : theme.colors) === null || _b === void 0 ? void 0 : _b.primary) === null || _c === void 0 ? void 0 : _c.main) || 'var(--neutral-colors-light)', " 0%,\n ").concat(((_e = (_d = theme === null || theme === void 0 ? void 0 : theme.colors) === null || _d === void 0 ? void 0 : _d.primary) === null || _e === void 0 ? void 0 : _e.main) || 'var(--neutral-colors-light)', " ").concat(value, "%,\n var(--level-grey-500) ").concat(value, "%,\n var(--level-grey-500) 100%\n )");
|
|
82575
|
+
}, function (_a) {
|
|
82576
|
+
var _b, _c;
|
|
82577
|
+
var theme = _a.theme;
|
|
82578
|
+
return ((_c = (_b = theme === null || theme === void 0 ? void 0 : theme.colors) === null || _b === void 0 ? void 0 : _b.primary) === null || _c === void 0 ? void 0 : _c.main) || 'var(--neutral-colors-light)';
|
|
82579
|
+
}, function (_a) {
|
|
82580
|
+
var _b, _c;
|
|
82581
|
+
var theme = _a.theme;
|
|
82582
|
+
return ((_c = (_b = theme === null || theme === void 0 ? void 0 : theme.colors) === null || _b === void 0 ? void 0 : _b.primary) === null || _c === void 0 ? void 0 : _c.main) || 'var(--neutral-colors-light)';
|
|
82563
82583
|
});
|
|
82564
82584
|
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"])));
|
|
82565
82585
|
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"])));
|
|
@@ -82569,7 +82589,11 @@ var StyledTimeTrack = dt.div(templateObject_7 || (templateObject_7 = __makeTempl
|
|
|
82569
82589
|
fontStyle: 'descriptor'
|
|
82570
82590
|
});
|
|
82571
82591
|
// Base styles for icon containers
|
|
82572
|
-
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:
|
|
82592
|
+
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: ", " !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: ", " !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"])), function (_a) {
|
|
82593
|
+
var _b, _c;
|
|
82594
|
+
var theme = _a.theme;
|
|
82595
|
+
return ((_c = (_b = theme === null || theme === void 0 ? void 0 : theme.colors) === null || _b === void 0 ? void 0 : _b.primary) === null || _c === void 0 ? void 0 : _c.main) || '#08C694';
|
|
82596
|
+
});
|
|
82573
82597
|
var StyledHeartIconContainer = dt(BaseIconContainer)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n /* Additional specific styles if needed */\n"], ["\n /* Additional specific styles if needed */\n"])));
|
|
82574
82598
|
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"])));
|
|
82575
82599
|
var StyledSubtitlesIconContainer = dt(BaseIconContainer)(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n /* Additional specific styles if needed */\n"], ["\n /* Additional specific styles if needed */\n"])));
|
|
@@ -88758,6 +88782,131 @@ var useEventListener = function useEventListener(eventName, handler, element, sh
|
|
|
88758
88782
|
}, [eventName, element, shouldRun]);
|
|
88759
88783
|
};
|
|
88760
88784
|
|
|
88785
|
+
var PiPContext = /*#__PURE__*/React.createContext(undefined);
|
|
88786
|
+
var PiPProvider = function PiPProvider(_a) {
|
|
88787
|
+
var children = _a.children;
|
|
88788
|
+
var _b = React.useState(false),
|
|
88789
|
+
isPiPActive = _b[0],
|
|
88790
|
+
setIsPiPActive = _b[1];
|
|
88791
|
+
var _c = React.useState(null),
|
|
88792
|
+
pipVideoState = _c[0],
|
|
88793
|
+
setPipVideoState = _c[1];
|
|
88794
|
+
var videoElementRef = React.useRef(null);
|
|
88795
|
+
var updateVideoState = React.useCallback(function (state) {
|
|
88796
|
+
setPipVideoState(function (prev) {
|
|
88797
|
+
return prev ? __assign(__assign({}, prev), state) : null;
|
|
88798
|
+
});
|
|
88799
|
+
}, []);
|
|
88800
|
+
var registerVideoElement = React.useCallback(function (element) {
|
|
88801
|
+
videoElementRef.current = element;
|
|
88802
|
+
}, []);
|
|
88803
|
+
var unregisterVideoElement = React.useCallback(function () {
|
|
88804
|
+
videoElementRef.current = null;
|
|
88805
|
+
}, []);
|
|
88806
|
+
var enterPiP = React.useCallback(function (videoElement, videoState) {
|
|
88807
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
88808
|
+
var error_1;
|
|
88809
|
+
return __generator(this, function (_a) {
|
|
88810
|
+
switch (_a.label) {
|
|
88811
|
+
case 0:
|
|
88812
|
+
if (!document.pictureInPictureEnabled) {
|
|
88813
|
+
console.warn('Picture-in-Picture is not supported in this browser');
|
|
88814
|
+
return [2 /*return*/, false];
|
|
88815
|
+
}
|
|
88816
|
+
if (document.pictureInPictureElement) {
|
|
88817
|
+
console.warn('Another video is already in Picture-in-Picture mode');
|
|
88818
|
+
return [2 /*return*/, false];
|
|
88819
|
+
}
|
|
88820
|
+
_a.label = 1;
|
|
88821
|
+
case 1:
|
|
88822
|
+
_a.trys.push([1, 5,, 6]);
|
|
88823
|
+
// Store video state
|
|
88824
|
+
setPipVideoState(videoState);
|
|
88825
|
+
videoElementRef.current = videoElement;
|
|
88826
|
+
if (!(videoElement.paused && videoState.isPlaying)) return [3 /*break*/, 3];
|
|
88827
|
+
return [4 /*yield*/, videoElement.play()];
|
|
88828
|
+
case 2:
|
|
88829
|
+
_a.sent();
|
|
88830
|
+
_a.label = 3;
|
|
88831
|
+
case 3:
|
|
88832
|
+
return [4 /*yield*/, videoElement.requestPictureInPicture()];
|
|
88833
|
+
case 4:
|
|
88834
|
+
_a.sent();
|
|
88835
|
+
return [2 /*return*/, true];
|
|
88836
|
+
case 5:
|
|
88837
|
+
error_1 = _a.sent();
|
|
88838
|
+
console.error('Failed to enter picture-in-picture:', error_1);
|
|
88839
|
+
return [2 /*return*/, false];
|
|
88840
|
+
case 6:
|
|
88841
|
+
return [2 /*return*/];
|
|
88842
|
+
}
|
|
88843
|
+
});
|
|
88844
|
+
});
|
|
88845
|
+
}, []);
|
|
88846
|
+
var exitPiP = React.useCallback(function () {
|
|
88847
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
88848
|
+
var error_2;
|
|
88849
|
+
return __generator(this, function (_a) {
|
|
88850
|
+
switch (_a.label) {
|
|
88851
|
+
case 0:
|
|
88852
|
+
_a.trys.push([0, 3,, 4]);
|
|
88853
|
+
if (!document.pictureInPictureElement) return [3 /*break*/, 2];
|
|
88854
|
+
return [4 /*yield*/, document.exitPictureInPicture()];
|
|
88855
|
+
case 1:
|
|
88856
|
+
_a.sent();
|
|
88857
|
+
_a.label = 2;
|
|
88858
|
+
case 2:
|
|
88859
|
+
return [2 /*return*/, true];
|
|
88860
|
+
case 3:
|
|
88861
|
+
error_2 = _a.sent();
|
|
88862
|
+
console.error('Failed to exit picture-in-picture:', error_2);
|
|
88863
|
+
return [2 /*return*/, false];
|
|
88864
|
+
case 4:
|
|
88865
|
+
return [2 /*return*/];
|
|
88866
|
+
}
|
|
88867
|
+
});
|
|
88868
|
+
});
|
|
88869
|
+
}, []);
|
|
88870
|
+
// Listen for PiP events
|
|
88871
|
+
React.useEffect(function () {
|
|
88872
|
+
var handlePiPEnter = function handlePiPEnter() {
|
|
88873
|
+
setIsPiPActive(true);
|
|
88874
|
+
};
|
|
88875
|
+
var handlePiPLeave = function handlePiPLeave() {
|
|
88876
|
+
setIsPiPActive(false);
|
|
88877
|
+
// Keep the video state for potential restoration
|
|
88878
|
+
// but don't clear it immediately
|
|
88879
|
+
};
|
|
88880
|
+
document.addEventListener('enterpictureinpicture', handlePiPEnter);
|
|
88881
|
+
document.addEventListener('leavepictureinpicture', handlePiPLeave);
|
|
88882
|
+
return function () {
|
|
88883
|
+
document.removeEventListener('enterpictureinpicture', handlePiPEnter);
|
|
88884
|
+
document.removeEventListener('leavepictureinpicture', handlePiPLeave);
|
|
88885
|
+
};
|
|
88886
|
+
}, []);
|
|
88887
|
+
var value = {
|
|
88888
|
+
isPiPActive: isPiPActive,
|
|
88889
|
+
pipVideoState: pipVideoState,
|
|
88890
|
+
enterPiP: enterPiP,
|
|
88891
|
+
exitPiP: exitPiP,
|
|
88892
|
+
updateVideoState: updateVideoState,
|
|
88893
|
+
registerVideoElement: registerVideoElement,
|
|
88894
|
+
unregisterVideoElement: unregisterVideoElement
|
|
88895
|
+
};
|
|
88896
|
+
return jsxRuntimeExports.jsx(PiPContext.Provider, {
|
|
88897
|
+
value: value,
|
|
88898
|
+
children: children
|
|
88899
|
+
});
|
|
88900
|
+
};
|
|
88901
|
+
|
|
88902
|
+
var usePiP = function usePiP() {
|
|
88903
|
+
var context = React.useContext(PiPContext);
|
|
88904
|
+
if (context === undefined) {
|
|
88905
|
+
throw new Error('usePiP must be used within a PiPProvider');
|
|
88906
|
+
}
|
|
88907
|
+
return context;
|
|
88908
|
+
};
|
|
88909
|
+
|
|
88761
88910
|
var count = 0;
|
|
88762
88911
|
var defaultVideoState = {
|
|
88763
88912
|
muted: false,
|
|
@@ -88789,26 +88938,30 @@ function usePlayerControls(_a) {
|
|
|
88789
88938
|
isSubtitlesChecked = _e[0],
|
|
88790
88939
|
setIsSubtitlesChecked = _e[1];
|
|
88791
88940
|
var _f = React.useState(false),
|
|
88792
|
-
|
|
88793
|
-
|
|
88941
|
+
isFullscreen = _f[0],
|
|
88942
|
+
setIsFullscreen = _f[1];
|
|
88794
88943
|
var _g = React.useState(false),
|
|
88795
|
-
|
|
88796
|
-
|
|
88797
|
-
var _h = React.useState(false),
|
|
88798
|
-
isControlsActive = _h[0],
|
|
88799
|
-
setIsControlsActive = _h[1];
|
|
88944
|
+
isControlsActive = _g[0],
|
|
88945
|
+
setIsControlsActive = _g[1];
|
|
88800
88946
|
var videoPlayerRef = React.useRef(null);
|
|
88801
88947
|
var controlRef = React.useRef(null);
|
|
88802
88948
|
var playerContainerRef = React.useRef(null);
|
|
88803
|
-
var
|
|
88804
|
-
subtitles =
|
|
88805
|
-
setSubtitles =
|
|
88806
|
-
var
|
|
88807
|
-
currentSubtitle =
|
|
88808
|
-
setCurrentSubtitle =
|
|
88949
|
+
var _h = React.useState([]),
|
|
88950
|
+
subtitles = _h[0],
|
|
88951
|
+
setSubtitles = _h[1];
|
|
88952
|
+
var _j = React.useState(''),
|
|
88953
|
+
currentSubtitle = _j[0],
|
|
88954
|
+
setCurrentSubtitle = _j[1];
|
|
88809
88955
|
var lastSubtitleIndexRef = React.useRef(null);
|
|
88810
88956
|
var lastPlaybackTimeRef = React.useRef(0);
|
|
88811
88957
|
var lastCallTimeRef = React.useRef(Date.now());
|
|
88958
|
+
// Use PiP context instead of local state
|
|
88959
|
+
var _k = usePiP(),
|
|
88960
|
+
isPiPActive = _k.isPiPActive,
|
|
88961
|
+
enterPiP = _k.enterPiP,
|
|
88962
|
+
exitPiP = _k.exitPiP,
|
|
88963
|
+
registerVideoElement = _k.registerVideoElement,
|
|
88964
|
+
unregisterVideoElement = _k.unregisterVideoElement;
|
|
88812
88965
|
var muted = videoState.muted,
|
|
88813
88966
|
volume = videoState.volume,
|
|
88814
88967
|
prevVolume = videoState.prevVolume,
|
|
@@ -88838,10 +88991,21 @@ function usePlayerControls(_a) {
|
|
|
88838
88991
|
setIsFullscreen(!!document.fullscreenElement);
|
|
88839
88992
|
};
|
|
88840
88993
|
var handlePiPEnter = function handlePiPEnter() {
|
|
88841
|
-
|
|
88994
|
+
var _a;
|
|
88995
|
+
// Use context method to update global PiP state
|
|
88996
|
+
var videoElement = (_a = videoPlayerRef.current) === null || _a === void 0 ? void 0 : _a.getInternalPlayer();
|
|
88997
|
+
if (videoElement && videoElement instanceof HTMLVideoElement) {
|
|
88998
|
+
enterPiP(videoElement, {
|
|
88999
|
+
url: url,
|
|
89000
|
+
currentTime: videoElement.currentTime,
|
|
89001
|
+
isPlaying: isPlaying,
|
|
89002
|
+
volume: videoState.volume,
|
|
89003
|
+
muted: videoState.muted
|
|
89004
|
+
});
|
|
89005
|
+
}
|
|
88842
89006
|
};
|
|
88843
89007
|
var handlePiPLeave = function handlePiPLeave() {
|
|
88844
|
-
|
|
89008
|
+
exitPiP();
|
|
88845
89009
|
};
|
|
88846
89010
|
document.addEventListener('fullscreenchange', handleFullscreenChange);
|
|
88847
89011
|
document.addEventListener('enterpictureinpicture', handlePiPEnter);
|
|
@@ -88851,6 +89015,8 @@ function usePlayerControls(_a) {
|
|
|
88851
89015
|
if (videoElement && videoElement instanceof HTMLVideoElement) {
|
|
88852
89016
|
videoElement.addEventListener('enterpictureinpicture', handlePiPEnter);
|
|
88853
89017
|
videoElement.addEventListener('leavepictureinpicture', handlePiPLeave);
|
|
89018
|
+
// Register video element with PiP context
|
|
89019
|
+
registerVideoElement(videoElement);
|
|
88854
89020
|
}
|
|
88855
89021
|
return function () {
|
|
88856
89022
|
document.removeEventListener('fullscreenchange', handleFullscreenChange);
|
|
@@ -88861,8 +89027,10 @@ function usePlayerControls(_a) {
|
|
|
88861
89027
|
videoElement.removeEventListener('enterpictureinpicture', handlePiPEnter);
|
|
88862
89028
|
videoElement.removeEventListener('leavepictureinpicture', handlePiPLeave);
|
|
88863
89029
|
}
|
|
89030
|
+
// Unregister video element from PiP context
|
|
89031
|
+
unregisterVideoElement();
|
|
88864
89032
|
};
|
|
88865
|
-
}, [url]); // Re-run when URL changes to ensure proper cleanup and setup
|
|
89033
|
+
}, [url, enterPiP, exitPiP, registerVideoElement, unregisterVideoElement, isPlaying, videoState.volume, videoState.muted]); // Re-run when URL changes to ensure proper cleanup and setup
|
|
88866
89034
|
React.useEffect(function () {
|
|
88867
89035
|
setStartPlayed(false);
|
|
88868
89036
|
}, [url]);
|
|
@@ -89075,25 +89243,19 @@ function usePlayerControls(_a) {
|
|
|
89075
89243
|
console.warn('Picture-in-Picture is not supported in this browser');
|
|
89076
89244
|
return;
|
|
89077
89245
|
}
|
|
89078
|
-
if (
|
|
89079
|
-
|
|
89080
|
-
|
|
89081
|
-
});
|
|
89246
|
+
if (isPiPActive) {
|
|
89247
|
+
// Exit PiP using context method
|
|
89248
|
+
exitPiP();
|
|
89082
89249
|
} else {
|
|
89083
|
-
//
|
|
89084
|
-
|
|
89085
|
-
|
|
89086
|
-
|
|
89087
|
-
|
|
89088
|
-
|
|
89089
|
-
|
|
89090
|
-
|
|
89091
|
-
|
|
89092
|
-
} else {
|
|
89093
|
-
videoElement.requestPictureInPicture()["catch"](function (error) {
|
|
89094
|
-
console.error('Failed to enter picture-in-picture:', error);
|
|
89095
|
-
});
|
|
89096
|
-
}
|
|
89250
|
+
// Enter PiP using context method
|
|
89251
|
+
var pipVideoState = {
|
|
89252
|
+
url: url,
|
|
89253
|
+
currentTime: videoElement.currentTime,
|
|
89254
|
+
isPlaying: isPlaying,
|
|
89255
|
+
volume: videoState.volume,
|
|
89256
|
+
muted: videoState.muted
|
|
89257
|
+
};
|
|
89258
|
+
enterPiP(videoElement, pipVideoState);
|
|
89097
89259
|
}
|
|
89098
89260
|
};
|
|
89099
89261
|
var handleKeyDown = React.useCallback(function (event) {
|
|
@@ -89468,131 +89630,6 @@ var VideoPlayer = function VideoPlayer(_a) {
|
|
|
89468
89630
|
});
|
|
89469
89631
|
};
|
|
89470
89632
|
|
|
89471
|
-
var PiPContext = /*#__PURE__*/React.createContext(undefined);
|
|
89472
|
-
var PiPProvider = function PiPProvider(_a) {
|
|
89473
|
-
var children = _a.children;
|
|
89474
|
-
var _b = React.useState(false),
|
|
89475
|
-
isPiPActive = _b[0],
|
|
89476
|
-
setIsPiPActive = _b[1];
|
|
89477
|
-
var _c = React.useState(null),
|
|
89478
|
-
pipVideoState = _c[0],
|
|
89479
|
-
setPipVideoState = _c[1];
|
|
89480
|
-
var videoElementRef = React.useRef(null);
|
|
89481
|
-
var updateVideoState = React.useCallback(function (state) {
|
|
89482
|
-
setPipVideoState(function (prev) {
|
|
89483
|
-
return prev ? __assign(__assign({}, prev), state) : null;
|
|
89484
|
-
});
|
|
89485
|
-
}, []);
|
|
89486
|
-
var registerVideoElement = React.useCallback(function (element) {
|
|
89487
|
-
videoElementRef.current = element;
|
|
89488
|
-
}, []);
|
|
89489
|
-
var unregisterVideoElement = React.useCallback(function () {
|
|
89490
|
-
videoElementRef.current = null;
|
|
89491
|
-
}, []);
|
|
89492
|
-
var enterPiP = React.useCallback(function (videoElement, videoState) {
|
|
89493
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
89494
|
-
var error_1;
|
|
89495
|
-
return __generator(this, function (_a) {
|
|
89496
|
-
switch (_a.label) {
|
|
89497
|
-
case 0:
|
|
89498
|
-
if (!document.pictureInPictureEnabled) {
|
|
89499
|
-
console.warn('Picture-in-Picture is not supported in this browser');
|
|
89500
|
-
return [2 /*return*/, false];
|
|
89501
|
-
}
|
|
89502
|
-
if (document.pictureInPictureElement) {
|
|
89503
|
-
console.warn('Another video is already in Picture-in-Picture mode');
|
|
89504
|
-
return [2 /*return*/, false];
|
|
89505
|
-
}
|
|
89506
|
-
_a.label = 1;
|
|
89507
|
-
case 1:
|
|
89508
|
-
_a.trys.push([1, 5,, 6]);
|
|
89509
|
-
// Store video state
|
|
89510
|
-
setPipVideoState(videoState);
|
|
89511
|
-
videoElementRef.current = videoElement;
|
|
89512
|
-
if (!(videoElement.paused && videoState.isPlaying)) return [3 /*break*/, 3];
|
|
89513
|
-
return [4 /*yield*/, videoElement.play()];
|
|
89514
|
-
case 2:
|
|
89515
|
-
_a.sent();
|
|
89516
|
-
_a.label = 3;
|
|
89517
|
-
case 3:
|
|
89518
|
-
return [4 /*yield*/, videoElement.requestPictureInPicture()];
|
|
89519
|
-
case 4:
|
|
89520
|
-
_a.sent();
|
|
89521
|
-
return [2 /*return*/, true];
|
|
89522
|
-
case 5:
|
|
89523
|
-
error_1 = _a.sent();
|
|
89524
|
-
console.error('Failed to enter picture-in-picture:', error_1);
|
|
89525
|
-
return [2 /*return*/, false];
|
|
89526
|
-
case 6:
|
|
89527
|
-
return [2 /*return*/];
|
|
89528
|
-
}
|
|
89529
|
-
});
|
|
89530
|
-
});
|
|
89531
|
-
}, []);
|
|
89532
|
-
var exitPiP = React.useCallback(function () {
|
|
89533
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
89534
|
-
var error_2;
|
|
89535
|
-
return __generator(this, function (_a) {
|
|
89536
|
-
switch (_a.label) {
|
|
89537
|
-
case 0:
|
|
89538
|
-
_a.trys.push([0, 3,, 4]);
|
|
89539
|
-
if (!document.pictureInPictureElement) return [3 /*break*/, 2];
|
|
89540
|
-
return [4 /*yield*/, document.exitPictureInPicture()];
|
|
89541
|
-
case 1:
|
|
89542
|
-
_a.sent();
|
|
89543
|
-
_a.label = 2;
|
|
89544
|
-
case 2:
|
|
89545
|
-
return [2 /*return*/, true];
|
|
89546
|
-
case 3:
|
|
89547
|
-
error_2 = _a.sent();
|
|
89548
|
-
console.error('Failed to exit picture-in-picture:', error_2);
|
|
89549
|
-
return [2 /*return*/, false];
|
|
89550
|
-
case 4:
|
|
89551
|
-
return [2 /*return*/];
|
|
89552
|
-
}
|
|
89553
|
-
});
|
|
89554
|
-
});
|
|
89555
|
-
}, []);
|
|
89556
|
-
// Listen for PiP events
|
|
89557
|
-
React.useEffect(function () {
|
|
89558
|
-
var handlePiPEnter = function handlePiPEnter() {
|
|
89559
|
-
setIsPiPActive(true);
|
|
89560
|
-
};
|
|
89561
|
-
var handlePiPLeave = function handlePiPLeave() {
|
|
89562
|
-
setIsPiPActive(false);
|
|
89563
|
-
// Keep the video state for potential restoration
|
|
89564
|
-
// but don't clear it immediately
|
|
89565
|
-
};
|
|
89566
|
-
document.addEventListener('enterpictureinpicture', handlePiPEnter);
|
|
89567
|
-
document.addEventListener('leavepictureinpicture', handlePiPLeave);
|
|
89568
|
-
return function () {
|
|
89569
|
-
document.removeEventListener('enterpictureinpicture', handlePiPEnter);
|
|
89570
|
-
document.removeEventListener('leavepictureinpicture', handlePiPLeave);
|
|
89571
|
-
};
|
|
89572
|
-
}, []);
|
|
89573
|
-
var value = {
|
|
89574
|
-
isPiPActive: isPiPActive,
|
|
89575
|
-
pipVideoState: pipVideoState,
|
|
89576
|
-
enterPiP: enterPiP,
|
|
89577
|
-
exitPiP: exitPiP,
|
|
89578
|
-
updateVideoState: updateVideoState,
|
|
89579
|
-
registerVideoElement: registerVideoElement,
|
|
89580
|
-
unregisterVideoElement: unregisterVideoElement
|
|
89581
|
-
};
|
|
89582
|
-
return jsxRuntimeExports.jsx(PiPContext.Provider, {
|
|
89583
|
-
value: value,
|
|
89584
|
-
children: children
|
|
89585
|
-
});
|
|
89586
|
-
};
|
|
89587
|
-
|
|
89588
|
-
var usePiP = function usePiP() {
|
|
89589
|
-
var context = React.useContext(PiPContext);
|
|
89590
|
-
if (context === undefined) {
|
|
89591
|
-
throw new Error('usePiP must be used within a PiPProvider');
|
|
89592
|
-
}
|
|
89593
|
-
return context;
|
|
89594
|
-
};
|
|
89595
|
-
|
|
89596
89633
|
var Whiteboard = dt.div(templateObject_1$6 || (templateObject_1$6 = __makeTemplateObject(["\n background-color: #ffffff;\n padding: 20px;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 75vh;\n border: 1px solid #e7e9ed;\n border-radius: 4px;\n flex-direction: column;\n padding: 40px;\n"], ["\n background-color: #ffffff;\n padding: 20px;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 75vh;\n border: 1px solid #e7e9ed;\n border-radius: 4px;\n flex-direction: column;\n padding: 40px;\n"])));
|
|
89597
89634
|
var CenteredText = dt.div(templateObject_2$4 || (templateObject_2$4 = __makeTemplateObject(["\n font-weight: 800;\n display: flex;\n flex-direction: column;\n align-items: center;\n font-size: 20px;\n font-family: 'Open Sans', sans-serif;\n text-align: center;\n gap: 8px;\n margin-top: ", ";\n\n h1 {\n font-size: 18px;\n font-weight: 800;\n }\n\n h4 {\n color: #68707a;\n font-size: 16px;\n font-weight: 500;\n }\n"], ["\n font-weight: 800;\n display: flex;\n flex-direction: column;\n align-items: center;\n font-size: 20px;\n font-family: 'Open Sans', sans-serif;\n text-align: center;\n gap: 8px;\n margin-top: ", ";\n\n h1 {\n font-size: 18px;\n font-weight: 800;\n }\n\n h4 {\n color: #68707a;\n font-size: 16px;\n font-weight: 500;\n }\n"])), function (_a) {
|
|
89598
89635
|
var marginTop = _a.marginTop;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { A as AudioPlayer, k as Badge, h as Breadcrumb, B as Button, e as Checkbox, j as ColorPicker, p as ColumnNavigation, C as CourseCard, c as CustomSwitcher, m as CustomTooltip, d as DatePicker, w as DrawerTips, D as DropDown, G as GridActionMenu, L as Loader, N as NavigationBar, f as Pagination, P as PhoneCountryCode, n as PiPProvider, R as RadioButton, x as RangeSlider, S as SearchInput, o as SplashScreen, q as StatusIndicator, t as TabNavigation, s as TabPanel, b as ThemeProvider, i as Tile, l as TooltipHeight, T as TranslationProvider, U as Uploader, V as VideoPlayer, v as activeTabClassName, u as usePiP } from './index-
|
|
1
|
+
export { A as AudioPlayer, k as Badge, h as Breadcrumb, B as Button, e as Checkbox, j as ColorPicker, p as ColumnNavigation, C as CourseCard, c as CustomSwitcher, m as CustomTooltip, d as DatePicker, w as DrawerTips, D as DropDown, G as GridActionMenu, L as Loader, N as NavigationBar, f as Pagination, P as PhoneCountryCode, n as PiPProvider, R as RadioButton, x as RangeSlider, S as SearchInput, o as SplashScreen, q as StatusIndicator, t as TabNavigation, s as TabPanel, b as ThemeProvider, i as Tile, l as TooltipHeight, T as TranslationProvider, U as Uploader, V as VideoPlayer, v as activeTabClassName, u as usePiP } from './index-BKfTO00H.esm.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'react-dom';
|
|
@@ -9,6 +9,7 @@ export declare const themes: {
|
|
|
9
9
|
700: string;
|
|
10
10
|
};
|
|
11
11
|
neutral: {
|
|
12
|
+
main: string;
|
|
12
13
|
100: string;
|
|
13
14
|
400: string;
|
|
14
15
|
900: string;
|
|
@@ -34,6 +35,7 @@ export declare const themes: {
|
|
|
34
35
|
700: string;
|
|
35
36
|
};
|
|
36
37
|
neutral: {
|
|
38
|
+
main: string;
|
|
37
39
|
100: string;
|
|
38
40
|
400: string;
|
|
39
41
|
900: string;
|