suada-components 1.1.44 → 1.2.1
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/components/{DailyMotion-dYOsLhXX.js → DailyMotion-C87ZJeRt.js} +1 -1
- package/dist/components/{DailyMotion-BBMHnZsc.esm.js → DailyMotion-DbDeP0dq.esm.js} +1 -1
- package/dist/components/DropDown/DropDown.interface.d.ts +4 -0
- package/dist/components/DropDown/DropDown.js +1 -1
- package/dist/components/DropDown/DropDown.js.map +1 -1
- package/dist/components/{Facebook-C2lp6fKy.esm.js → Facebook-B1XpGyBt.esm.js} +1 -1
- package/dist/components/{Facebook-D55xg0YF.js → Facebook-DigX8u_u.js} +1 -1
- package/dist/components/{FilePlayer-CSNfeLp-.esm.js → FilePlayer-BSL_U8r8.esm.js} +1 -1
- package/dist/components/{FilePlayer-VfIivLWB.js → FilePlayer-BTuFK59w.js} +1 -1
- package/dist/components/{Kaltura-BZ5pUEPz.js → Kaltura-CKV92aVd.js} +1 -1
- package/dist/components/{Kaltura-BVMxludT.esm.js → Kaltura-DAkp5nY0.esm.js} +1 -1
- package/dist/components/{Mixcloud-BDzCezGa.js → Mixcloud-CAgtZPq5.js} +1 -1
- package/dist/components/{Mixcloud-9K2fpYoj.esm.js → Mixcloud-CtWhrXiZ.esm.js} +1 -1
- package/dist/components/{Mux-BDK08Cp7.js → Mux-BRYGMFV_.js} +1 -1
- package/dist/components/{Mux-C3n27KkT.esm.js → Mux-C0xOzOps.esm.js} +1 -1
- package/dist/components/{Preview-BF89gaQn.esm.js → Preview-Crcz-S0c.esm.js} +1 -1
- package/dist/components/{Preview-C-KatBo7.js → Preview-DSBoVsm9.js} +1 -1
- package/dist/components/{SoundCloud-E9VSRo8s.js → SoundCloud-1V8ahw7A.js} +1 -1
- package/dist/components/{SoundCloud-BFfitMcN.esm.js → SoundCloud-BC8iiobM.esm.js} +1 -1
- package/dist/components/{Streamable-BObKpq3j.js → Streamable-BhhnBO_c.js} +1 -1
- package/dist/components/{Streamable-D1pOzVPi.esm.js → Streamable-CGxErYVF.esm.js} +1 -1
- package/dist/components/{Twitch-CAHqJZdW.esm.js → Twitch-8quL43Fw.esm.js} +1 -1
- package/dist/components/{Twitch-CAKL_Jqs.js → Twitch-E9YQS4X8.js} +1 -1
- package/dist/components/VideoPlayer/Player.d.ts +1 -0
- package/dist/components/VideoPlayer/Player.interface.d.ts +2 -1
- package/dist/components/VideoPlayer/Player.js +44 -23
- package/dist/components/VideoPlayer/Player.js.map +1 -1
- package/dist/components/VideoPlayer/Player.styles.d.ts +2 -0
- package/dist/components/VideoPlayer/Player.styles.js +21 -0
- package/dist/components/VideoPlayer/Player.styles.js.map +1 -1
- package/dist/components/VideoPlayer/useHlsSubtitles.d.ts +12 -0
- package/dist/components/VideoPlayer/useHlsSubtitles.js +73 -0
- package/dist/components/VideoPlayer/useHlsSubtitles.js.map +1 -0
- package/dist/components/VideoPlayer/usePlayerControls.js +52 -41
- package/dist/components/VideoPlayer/usePlayerControls.js.map +1 -1
- package/dist/components/{Vidyard-CIHNjfIv.js → Vidyard-B3v7M2i3.js} +1 -1
- package/dist/components/{Vidyard-BrA_V8mx.esm.js → Vidyard-DsG0WHnh.esm.js} +1 -1
- package/dist/components/{Vimeo-LwXzzIA2.esm.js → Vimeo-CXKbdxkV.esm.js} +1 -1
- package/dist/components/{Vimeo-DVX8WzFK.js → Vimeo-ddQ8CMRR.js} +1 -1
- package/dist/components/{Wistia-CxE_SYQ-.js → Wistia-B93lpDSs.js} +1 -1
- package/dist/components/{Wistia-DoFWA9-t.esm.js → Wistia-CJDzE0TP.esm.js} +1 -1
- package/dist/components/{YouTube-BW23iOlA.js → YouTube-631v_AIH.js} +1 -1
- package/dist/components/{YouTube-CiWt6Bsz.esm.js → YouTube-CdjuPIIO.esm.js} +1 -1
- package/dist/components/components/DropDown/DropDown.interface.d.ts +4 -0
- package/dist/components/components/VideoPlayer/Player.d.ts +1 -0
- package/dist/components/components/VideoPlayer/Player.interface.d.ts +2 -1
- package/dist/components/components/VideoPlayer/Player.styles.d.ts +2 -0
- package/dist/components/components/VideoPlayer/useHlsSubtitles.d.ts +12 -0
- package/dist/components/{index-Cs_px_sD.js → index-Ciqeqnts.js} +235 -112
- package/dist/components/{index-CMNE0hhl.esm.js → index-CyUx723z.esm.js} +235 -112
- package/dist/components/index.esm.js +1 -1
- package/dist/icons/components/DropDown/DropDown.interface.d.ts +4 -0
- package/dist/icons/components/VideoPlayer/Player.d.ts +1 -0
- package/dist/icons/components/VideoPlayer/Player.interface.d.ts +2 -1
- package/dist/icons/components/VideoPlayer/Player.styles.d.ts +2 -0
- package/dist/icons/components/VideoPlayer/useHlsSubtitles.d.ts +12 -0
- package/package.json +11 -5
|
@@ -42756,7 +42756,8 @@ var DropDown = function DropDown(props) {
|
|
|
42756
42756
|
isLoading: props.isLoading,
|
|
42757
42757
|
components: {
|
|
42758
42758
|
DropdownIndicator: DropdownIndicator
|
|
42759
|
-
}
|
|
42759
|
+
},
|
|
42760
|
+
noOptionsMessage: props.noOptionsMessage
|
|
42760
42761
|
}), props.touched && props.error && props.errorMessage && jsxRuntimeExports.jsx(ErrorMessage, {
|
|
42761
42762
|
children: props.errorMessage
|
|
42762
42763
|
})]
|
|
@@ -81408,7 +81409,7 @@ function requirePlayers () {
|
|
|
81408
81409
|
canPlay: import_patterns.canPlay.youtube,
|
|
81409
81410
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81410
81411
|
/* webpackChunkName: 'reactPlayerYouTube' */
|
|
81411
|
-
'./YouTube-
|
|
81412
|
+
'./YouTube-631v_AIH.js'
|
|
81412
81413
|
); }).then(function (n) { return n.YouTube; }))
|
|
81413
81414
|
},
|
|
81414
81415
|
{
|
|
@@ -81417,7 +81418,7 @@ function requirePlayers () {
|
|
|
81417
81418
|
canPlay: import_patterns.canPlay.soundcloud,
|
|
81418
81419
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81419
81420
|
/* webpackChunkName: 'reactPlayerSoundCloud' */
|
|
81420
|
-
'./SoundCloud-
|
|
81421
|
+
'./SoundCloud-1V8ahw7A.js'
|
|
81421
81422
|
); }).then(function (n) { return n.SoundCloud; }))
|
|
81422
81423
|
},
|
|
81423
81424
|
{
|
|
@@ -81426,7 +81427,7 @@ function requirePlayers () {
|
|
|
81426
81427
|
canPlay: import_patterns.canPlay.vimeo,
|
|
81427
81428
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81428
81429
|
/* webpackChunkName: 'reactPlayerVimeo' */
|
|
81429
|
-
'./Vimeo-
|
|
81430
|
+
'./Vimeo-ddQ8CMRR.js'
|
|
81430
81431
|
); }).then(function (n) { return n.Vimeo; }))
|
|
81431
81432
|
},
|
|
81432
81433
|
{
|
|
@@ -81435,7 +81436,7 @@ function requirePlayers () {
|
|
|
81435
81436
|
canPlay: import_patterns.canPlay.mux,
|
|
81436
81437
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81437
81438
|
/* webpackChunkName: 'reactPlayerMux' */
|
|
81438
|
-
'./Mux-
|
|
81439
|
+
'./Mux-BRYGMFV_.js'
|
|
81439
81440
|
); }).then(function (n) { return n.Mux; }))
|
|
81440
81441
|
},
|
|
81441
81442
|
{
|
|
@@ -81444,7 +81445,7 @@ function requirePlayers () {
|
|
|
81444
81445
|
canPlay: import_patterns.canPlay.facebook,
|
|
81445
81446
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81446
81447
|
/* webpackChunkName: 'reactPlayerFacebook' */
|
|
81447
|
-
'./Facebook-
|
|
81448
|
+
'./Facebook-DigX8u_u.js'
|
|
81448
81449
|
); }).then(function (n) { return n.Facebook; }))
|
|
81449
81450
|
},
|
|
81450
81451
|
{
|
|
@@ -81453,7 +81454,7 @@ function requirePlayers () {
|
|
|
81453
81454
|
canPlay: import_patterns.canPlay.streamable,
|
|
81454
81455
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81455
81456
|
/* webpackChunkName: 'reactPlayerStreamable' */
|
|
81456
|
-
'./Streamable-
|
|
81457
|
+
'./Streamable-BhhnBO_c.js'
|
|
81457
81458
|
); }).then(function (n) { return n.Streamable; }))
|
|
81458
81459
|
},
|
|
81459
81460
|
{
|
|
@@ -81462,7 +81463,7 @@ function requirePlayers () {
|
|
|
81462
81463
|
canPlay: import_patterns.canPlay.wistia,
|
|
81463
81464
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81464
81465
|
/* webpackChunkName: 'reactPlayerWistia' */
|
|
81465
|
-
'./Wistia-
|
|
81466
|
+
'./Wistia-B93lpDSs.js'
|
|
81466
81467
|
); }).then(function (n) { return n.Wistia; }))
|
|
81467
81468
|
},
|
|
81468
81469
|
{
|
|
@@ -81471,7 +81472,7 @@ function requirePlayers () {
|
|
|
81471
81472
|
canPlay: import_patterns.canPlay.twitch,
|
|
81472
81473
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81473
81474
|
/* webpackChunkName: 'reactPlayerTwitch' */
|
|
81474
|
-
'./Twitch-
|
|
81475
|
+
'./Twitch-E9YQS4X8.js'
|
|
81475
81476
|
); }).then(function (n) { return n.Twitch; }))
|
|
81476
81477
|
},
|
|
81477
81478
|
{
|
|
@@ -81480,7 +81481,7 @@ function requirePlayers () {
|
|
|
81480
81481
|
canPlay: import_patterns.canPlay.dailymotion,
|
|
81481
81482
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81482
81483
|
/* webpackChunkName: 'reactPlayerDailyMotion' */
|
|
81483
|
-
'./DailyMotion-
|
|
81484
|
+
'./DailyMotion-C87ZJeRt.js'
|
|
81484
81485
|
); }).then(function (n) { return n.DailyMotion; }))
|
|
81485
81486
|
},
|
|
81486
81487
|
{
|
|
@@ -81489,7 +81490,7 @@ function requirePlayers () {
|
|
|
81489
81490
|
canPlay: import_patterns.canPlay.mixcloud,
|
|
81490
81491
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81491
81492
|
/* webpackChunkName: 'reactPlayerMixcloud' */
|
|
81492
|
-
'./Mixcloud-
|
|
81493
|
+
'./Mixcloud-CAgtZPq5.js'
|
|
81493
81494
|
); }).then(function (n) { return n.Mixcloud; }))
|
|
81494
81495
|
},
|
|
81495
81496
|
{
|
|
@@ -81498,7 +81499,7 @@ function requirePlayers () {
|
|
|
81498
81499
|
canPlay: import_patterns.canPlay.vidyard,
|
|
81499
81500
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81500
81501
|
/* webpackChunkName: 'reactPlayerVidyard' */
|
|
81501
|
-
'./Vidyard-
|
|
81502
|
+
'./Vidyard-B3v7M2i3.js'
|
|
81502
81503
|
); }).then(function (n) { return n.Vidyard; }))
|
|
81503
81504
|
},
|
|
81504
81505
|
{
|
|
@@ -81507,7 +81508,7 @@ function requirePlayers () {
|
|
|
81507
81508
|
canPlay: import_patterns.canPlay.kaltura,
|
|
81508
81509
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81509
81510
|
/* webpackChunkName: 'reactPlayerKaltura' */
|
|
81510
|
-
'./Kaltura-
|
|
81511
|
+
'./Kaltura-CKV92aVd.js'
|
|
81511
81512
|
); }).then(function (n) { return n.Kaltura; }))
|
|
81512
81513
|
},
|
|
81513
81514
|
{
|
|
@@ -81519,7 +81520,7 @@ function requirePlayers () {
|
|
|
81519
81520
|
},
|
|
81520
81521
|
lazyPlayer: (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
81521
81522
|
/* webpackChunkName: 'reactPlayerFilePlayer' */
|
|
81522
|
-
'./FilePlayer-
|
|
81523
|
+
'./FilePlayer-BTuFK59w.js'
|
|
81523
81524
|
); }).then(function (n) { return n.FilePlayer; }))
|
|
81524
81525
|
}
|
|
81525
81526
|
];
|
|
@@ -82340,7 +82341,7 @@ function requireReactPlayer () {
|
|
|
82340
82341
|
var import_Player = __toESM(/*@__PURE__*/ requirePlayer());
|
|
82341
82342
|
const Preview = (0, import_utils.lazy)(() => Promise.resolve().then(function () { return require(
|
|
82342
82343
|
/* webpackChunkName: 'reactPlayerPreview' */
|
|
82343
|
-
'./Preview-
|
|
82344
|
+
'./Preview-DSBoVsm9.js'
|
|
82344
82345
|
); }).then(function (n) { return n.Preview; }));
|
|
82345
82346
|
const IS_BROWSER = typeof window !== "undefined" && window.document && typeof document !== "undefined";
|
|
82346
82347
|
const IS_GLOBAL = typeof commonjsGlobal !== "undefined" && commonjsGlobal.window && commonjsGlobal.window.document;
|
|
@@ -82559,6 +82560,27 @@ var StyledSubtitles = dt.div(templateObject_7$1 || (templateObject_7$1 = __makeT
|
|
|
82559
82560
|
var $controls = _a.$controls;
|
|
82560
82561
|
return $controls ? '60px' : '10px';
|
|
82561
82562
|
});
|
|
82563
|
+
var HLS_SUBTITLE_STYLES = "\n /* Hide native HLS subtitles completely - comprehensive approach */\n video::cue {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n }\n \n video::-webkit-media-text-track-display {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n }\n \n video::cue-region {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n }\n \n video::-webkit-media-text-track-container {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n }\n \n /* Target ReactPlayer specifically */\n .react-player video::cue {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n }\n \n .react-player video::-webkit-media-text-track-display {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n }\n \n .react-player video::cue-region {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n }\n \n .react-player video::-webkit-media-text-track-container {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n }\n \n /* Additional selectors for different browsers */\n video::-moz-media-text-track-display {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n }\n \n video::-ms-media-text-track-display {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n }\n \n /* Hide any subtitle overlays */\n .react-player video + div[style*=\"position: absolute\"] {\n display: none !important;\n }\n \n /* Target HLS video player specifically */\n .hls-video-player::cue {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n }\n \n .hls-video-player::-webkit-media-text-track-display {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n }\n \n .hls-video-player::-webkit-media-text-track-container {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n }\n \n .hls-video-player::cue-region {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n }\n";
|
|
82564
|
+
var injectHLSSubtitleStyles = function injectHLSSubtitleStyles() {
|
|
82565
|
+
var addSubtitleStyles = function addSubtitleStyles() {
|
|
82566
|
+
var existingStyle = document.getElementById('hls-subtitle-styles');
|
|
82567
|
+
if (existingStyle) {
|
|
82568
|
+
existingStyle.remove();
|
|
82569
|
+
}
|
|
82570
|
+
var style = document.createElement('style');
|
|
82571
|
+
style.id = 'hls-subtitle-styles';
|
|
82572
|
+
style.textContent = HLS_SUBTITLE_STYLES;
|
|
82573
|
+
document.head.appendChild(style);
|
|
82574
|
+
};
|
|
82575
|
+
addSubtitleStyles();
|
|
82576
|
+
// Return cleanup function
|
|
82577
|
+
return function () {
|
|
82578
|
+
var existingStyle = document.getElementById('hls-subtitle-styles');
|
|
82579
|
+
if (existingStyle) {
|
|
82580
|
+
existingStyle.remove();
|
|
82581
|
+
}
|
|
82582
|
+
};
|
|
82583
|
+
};
|
|
82562
82584
|
var templateObject_1$9, templateObject_2$7, templateObject_3$4, templateObject_4$2, templateObject_5$2, templateObject_6$2, templateObject_7$1;
|
|
82563
82585
|
|
|
82564
82586
|
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: #565a62;\n padding: 12px 16px;\n position: relative;\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: #565a62;\n padding: 12px 16px;\n position: relative;\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"])), {
|
|
@@ -88709,13 +88731,18 @@ function usePlayerControls(_a) {
|
|
|
88709
88731
|
var duration = videoPlayerRef.current ? videoPlayerRef.current.getDuration() : 0;
|
|
88710
88732
|
var formatCurrentTime = FormatSecondsToTimeString(currentTime);
|
|
88711
88733
|
var formatDuration = FormatSecondsToTimeString(duration);
|
|
88734
|
+
// Using previous method for old videos(we used to parse subtitles via link)
|
|
88712
88735
|
React.useEffect(function () {
|
|
88713
|
-
|
|
88714
|
-
|
|
88715
|
-
|
|
88716
|
-
|
|
88717
|
-
|
|
88718
|
-
|
|
88736
|
+
if (subtitleUrl) {
|
|
88737
|
+
fetch(subtitleUrl).then(function (response) {
|
|
88738
|
+
return response.text();
|
|
88739
|
+
}).then(function (content) {
|
|
88740
|
+
var parsedSubtitles = parseVTT(content);
|
|
88741
|
+
setSubtitles(parsedSubtitles);
|
|
88742
|
+
})["catch"](function (error) {
|
|
88743
|
+
console.error('Error fetching external subtitles:', error);
|
|
88744
|
+
});
|
|
88745
|
+
}
|
|
88719
88746
|
}, [subtitleUrl]);
|
|
88720
88747
|
React.useEffect(function () {
|
|
88721
88748
|
var handleFullscreenChange = function handleFullscreenChange() {
|
|
@@ -88746,8 +88773,9 @@ function usePlayerControls(_a) {
|
|
|
88746
88773
|
}, [videoPlayerRef]);
|
|
88747
88774
|
var progressHandler = React.useCallback(function (state) {
|
|
88748
88775
|
return __awaiter(_this, void 0, void 0, function () {
|
|
88749
|
-
var currentSubtitleEntry, i, sub, i, sub, currentTime_1, now;
|
|
88750
|
-
|
|
88776
|
+
var videoElement, hasHLSSubtitles, currentSubtitleEntry, i, sub, i, sub, currentTime_1, now;
|
|
88777
|
+
var _a, _b;
|
|
88778
|
+
return __generator(this, function (_c) {
|
|
88751
88779
|
if (count > 2) {
|
|
88752
88780
|
if (controlRef.current) {
|
|
88753
88781
|
controlRef.current.style.visibility = 'hidden';
|
|
@@ -88756,44 +88784,47 @@ function usePlayerControls(_a) {
|
|
|
88756
88784
|
} else if (controlRef.current && controlRef.current.style.visibility === 'visible' && isControlsActive) {
|
|
88757
88785
|
count += 1;
|
|
88758
88786
|
}
|
|
88759
|
-
|
|
88760
|
-
|
|
88761
|
-
|
|
88762
|
-
|
|
88763
|
-
|
|
88764
|
-
|
|
88765
|
-
|
|
88766
|
-
|
|
88767
|
-
|
|
88787
|
+
videoElement = (_a = videoPlayerRef.current) === null || _a === void 0 ? void 0 : _a.getInternalPlayer();
|
|
88788
|
+
hasHLSSubtitles = ((_b = videoElement === null || videoElement === void 0 ? void 0 : videoElement.textTracks) === null || _b === void 0 ? void 0 : _b.length) > 0;
|
|
88789
|
+
if (subtitles.length > 0 && !hasHLSSubtitles && isSubtitlesChecked) {
|
|
88790
|
+
currentSubtitleEntry = void 0;
|
|
88791
|
+
if (lastSubtitleIndexRef.current !== null) {
|
|
88792
|
+
if (state.playedSeconds > lastPlaybackTimeRef.current) {
|
|
88793
|
+
for (i = lastSubtitleIndexRef.current; i < subtitles.length; i++) {
|
|
88794
|
+
sub = subtitles[i];
|
|
88795
|
+
if (state.playedSeconds >= sub.start && state.playedSeconds <= sub.end) {
|
|
88796
|
+
currentSubtitleEntry = sub;
|
|
88797
|
+
lastSubtitleIndexRef.current = i;
|
|
88798
|
+
break;
|
|
88799
|
+
}
|
|
88768
88800
|
}
|
|
88769
|
-
}
|
|
88770
|
-
|
|
88771
|
-
|
|
88772
|
-
|
|
88773
|
-
|
|
88774
|
-
|
|
88775
|
-
|
|
88776
|
-
|
|
88777
|
-
break;
|
|
88801
|
+
} else {
|
|
88802
|
+
for (i = lastSubtitleIndexRef.current; i >= 0; i--) {
|
|
88803
|
+
sub = subtitles[i];
|
|
88804
|
+
if (state.playedSeconds >= sub.start && state.playedSeconds <= sub.end) {
|
|
88805
|
+
currentSubtitleEntry = sub;
|
|
88806
|
+
lastSubtitleIndexRef.current = i;
|
|
88807
|
+
break;
|
|
88808
|
+
}
|
|
88778
88809
|
}
|
|
88779
88810
|
}
|
|
88780
88811
|
}
|
|
88781
|
-
|
|
88782
|
-
|
|
88783
|
-
|
|
88784
|
-
|
|
88785
|
-
|
|
88812
|
+
if (!currentSubtitleEntry) {
|
|
88813
|
+
currentSubtitleEntry = subtitles.find(function (sub) {
|
|
88814
|
+
return state.playedSeconds >= sub.start && state.playedSeconds <= sub.end;
|
|
88815
|
+
});
|
|
88816
|
+
if (currentSubtitleEntry) {
|
|
88817
|
+
lastSubtitleIndexRef.current = subtitles.indexOf(currentSubtitleEntry);
|
|
88818
|
+
}
|
|
88819
|
+
}
|
|
88820
|
+
lastPlaybackTimeRef.current = state.playedSeconds;
|
|
88786
88821
|
if (currentSubtitleEntry) {
|
|
88787
|
-
|
|
88822
|
+
setCurrentSubtitle(currentSubtitleEntry.text);
|
|
88823
|
+
} else {
|
|
88824
|
+
setCurrentSubtitle(''); // Clear subtitle if none should be displayed
|
|
88825
|
+
lastSubtitleIndexRef.current = null;
|
|
88788
88826
|
}
|
|
88789
88827
|
}
|
|
88790
|
-
lastPlaybackTimeRef.current = state.playedSeconds;
|
|
88791
|
-
if (currentSubtitleEntry) {
|
|
88792
|
-
setCurrentSubtitle(currentSubtitleEntry.text);
|
|
88793
|
-
} else {
|
|
88794
|
-
setCurrentSubtitle(''); // Clear subtitle if none should be displayed
|
|
88795
|
-
lastSubtitleIndexRef.current = null;
|
|
88796
|
-
}
|
|
88797
88828
|
if (!seeking) {
|
|
88798
88829
|
setVideoState(function (prev) {
|
|
88799
88830
|
return __assign(__assign({}, prev), state);
|
|
@@ -88809,7 +88840,7 @@ function usePlayerControls(_a) {
|
|
|
88809
88840
|
return [2 /*return*/];
|
|
88810
88841
|
});
|
|
88811
88842
|
});
|
|
88812
|
-
}, [seeking, handleTrackProgress, isControlsActive, subtitles]);
|
|
88843
|
+
}, [seeking, handleTrackProgress, isControlsActive, subtitles, isSubtitlesChecked]);
|
|
88813
88844
|
var seekHandler = function seekHandler(e) {
|
|
88814
88845
|
var v = parseFloat(e.target.value) / 100;
|
|
88815
88846
|
setVideoState(function (prev) {
|
|
@@ -88821,7 +88852,7 @@ function usePlayerControls(_a) {
|
|
|
88821
88852
|
videoPlayerRef.current.seekTo(v);
|
|
88822
88853
|
}
|
|
88823
88854
|
};
|
|
88824
|
-
var seekMouseUpHandler = function seekMouseUpHandler(
|
|
88855
|
+
var seekMouseUpHandler = function seekMouseUpHandler() {
|
|
88825
88856
|
setVideoState(function (prev) {
|
|
88826
88857
|
return __assign(__assign({}, prev), {
|
|
88827
88858
|
seeking: false
|
|
@@ -88860,7 +88891,7 @@ function usePlayerControls(_a) {
|
|
|
88860
88891
|
});
|
|
88861
88892
|
}
|
|
88862
88893
|
};
|
|
88863
|
-
var onSeekMouseDownHandler = function onSeekMouseDownHandler(
|
|
88894
|
+
var onSeekMouseDownHandler = function onSeekMouseDownHandler() {
|
|
88864
88895
|
setVideoState(function (prev) {
|
|
88865
88896
|
return __assign(__assign({}, prev), {
|
|
88866
88897
|
seeking: true
|
|
@@ -89000,14 +89031,89 @@ function usePlayerControls(_a) {
|
|
|
89000
89031
|
isFullscreen: isFullscreen,
|
|
89001
89032
|
isControlsActive: isControlsActive,
|
|
89002
89033
|
currentSubtitle: currentSubtitle,
|
|
89034
|
+
setCurrentSubtitle: setCurrentSubtitle,
|
|
89003
89035
|
playing: isPlaying
|
|
89004
89036
|
};
|
|
89005
89037
|
}
|
|
89006
89038
|
|
|
89039
|
+
var useHLSSubtitles = function useHLSSubtitles(_a) {
|
|
89040
|
+
var videoPlayerRef = _a.videoPlayerRef,
|
|
89041
|
+
isSubtitlesChecked = _a.isSubtitlesChecked,
|
|
89042
|
+
setCurrentSubtitle = _a.setCurrentSubtitle;
|
|
89043
|
+
var hlsSubtitleTrackRef = React.useRef(null);
|
|
89044
|
+
var extractHLSSubtitleText = React.useCallback(function () {
|
|
89045
|
+
var _a;
|
|
89046
|
+
var videoElement = (_a = videoPlayerRef.current) === null || _a === void 0 ? void 0 : _a.getInternalPlayer();
|
|
89047
|
+
if (!videoElement || !videoElement.textTracks) return;
|
|
89048
|
+
var _loop_1 = function _loop_1(i) {
|
|
89049
|
+
var track = videoElement.textTracks[i];
|
|
89050
|
+
if (track.kind === 'subtitles' || track.kind === 'captions') {
|
|
89051
|
+
hlsSubtitleTrackRef.current = track;
|
|
89052
|
+
var handleCueChange = function handleCueChange() {
|
|
89053
|
+
if (isSubtitlesChecked && track.activeCues && track.activeCues.length > 0) {
|
|
89054
|
+
var currentCue = track.activeCues[0];
|
|
89055
|
+
if (currentCue && currentCue.text) {
|
|
89056
|
+
setCurrentSubtitle(currentCue.text);
|
|
89057
|
+
}
|
|
89058
|
+
} else if (isSubtitlesChecked) {
|
|
89059
|
+
setCurrentSubtitle('');
|
|
89060
|
+
}
|
|
89061
|
+
};
|
|
89062
|
+
track.removeEventListener('cuechange', handleCueChange);
|
|
89063
|
+
track.addEventListener('cuechange', handleCueChange);
|
|
89064
|
+
track.mode = isSubtitlesChecked ? 'showing' : 'hidden';
|
|
89065
|
+
return "break";
|
|
89066
|
+
}
|
|
89067
|
+
};
|
|
89068
|
+
for (var i = 0; i < videoElement.textTracks.length; i++) {
|
|
89069
|
+
var state_1 = _loop_1(i);
|
|
89070
|
+
if (state_1 === "break") break;
|
|
89071
|
+
}
|
|
89072
|
+
}, [isSubtitlesChecked, setCurrentSubtitle, videoPlayerRef]);
|
|
89073
|
+
var setupHLSSubtitleTracking = React.useCallback(function () {
|
|
89074
|
+
var _a;
|
|
89075
|
+
var videoElement = (_a = videoPlayerRef.current) === null || _a === void 0 ? void 0 : _a.getInternalPlayer();
|
|
89076
|
+
if (!videoElement) return;
|
|
89077
|
+
videoElement.classList.add('hls-video-player');
|
|
89078
|
+
var _checkTextTracks = function checkTextTracks(attempt) {
|
|
89079
|
+
if (attempt === void 0) {
|
|
89080
|
+
attempt = 0;
|
|
89081
|
+
}
|
|
89082
|
+
var textTracks = videoElement.textTracks;
|
|
89083
|
+
if (textTracks && textTracks.length > 0) {
|
|
89084
|
+
extractHLSSubtitleText();
|
|
89085
|
+
} else if (attempt < 5) {
|
|
89086
|
+
setTimeout(function () {
|
|
89087
|
+
return _checkTextTracks(attempt + 1);
|
|
89088
|
+
}, 300 * (attempt + 1));
|
|
89089
|
+
}
|
|
89090
|
+
};
|
|
89091
|
+
_checkTextTracks();
|
|
89092
|
+
videoElement.addEventListener('loadedmetadata', function () {
|
|
89093
|
+
_checkTextTracks();
|
|
89094
|
+
});
|
|
89095
|
+
}, [extractHLSSubtitleText, videoPlayerRef]);
|
|
89096
|
+
React.useEffect(function () {
|
|
89097
|
+
extractHLSSubtitleText();
|
|
89098
|
+
}, [isSubtitlesChecked, extractHLSSubtitleText]);
|
|
89099
|
+
React.useEffect(function () {
|
|
89100
|
+
var _a;
|
|
89101
|
+
var videoElement = (_a = videoPlayerRef.current) === null || _a === void 0 ? void 0 : _a.getInternalPlayer();
|
|
89102
|
+
if (videoElement && videoElement.textTracks && videoElement.textTracks.length > 0) {
|
|
89103
|
+
extractHLSSubtitleText();
|
|
89104
|
+
}
|
|
89105
|
+
}, [videoPlayerRef.current, extractHLSSubtitleText]);
|
|
89106
|
+
return {
|
|
89107
|
+
extractHLSSubtitleText: extractHLSSubtitleText,
|
|
89108
|
+
setupHLSSubtitleTracking: setupHLSSubtitleTracking
|
|
89109
|
+
};
|
|
89110
|
+
};
|
|
89111
|
+
|
|
89007
89112
|
var VideoPlayer = function VideoPlayer(_a) {
|
|
89113
|
+
var _b, _c, _d;
|
|
89008
89114
|
var customStyles = _a.customStyles,
|
|
89009
|
-
|
|
89010
|
-
startTime =
|
|
89115
|
+
_e = _a.startTime,
|
|
89116
|
+
startTime = _e === void 0 ? 0 : _e,
|
|
89011
89117
|
loading = _a.loading,
|
|
89012
89118
|
setLoading = _a.setLoading,
|
|
89013
89119
|
handleTrackProgress = _a.handleTrackProgress,
|
|
@@ -89019,20 +89125,21 @@ var VideoPlayer = function VideoPlayer(_a) {
|
|
|
89019
89125
|
isPreviousVideo = _a.isPreviousVideo,
|
|
89020
89126
|
isPlaying = _a.isPlaying,
|
|
89021
89127
|
setIsPlaying = _a.setIsPlaying,
|
|
89022
|
-
|
|
89023
|
-
shouldPlayerBeFocusedOnSpaceClick =
|
|
89128
|
+
_f = _a.shouldPlayerBeFocusedOnSpaceClick,
|
|
89129
|
+
shouldPlayerBeFocusedOnSpaceClick = _f === void 0 ? false : _f,
|
|
89024
89130
|
showFavorite = _a.showFavorite,
|
|
89025
|
-
|
|
89026
|
-
isFavorite =
|
|
89027
|
-
|
|
89028
|
-
toggleFavorite =
|
|
89131
|
+
_g = _a.isFavorite,
|
|
89132
|
+
isFavorite = _g === void 0 ? false : _g,
|
|
89133
|
+
_h = _a.toggleFavorite,
|
|
89134
|
+
toggleFavorite = _h === void 0 ? function () {
|
|
89029
89135
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
89030
89136
|
return __generator(this, function (_a) {
|
|
89031
89137
|
return [2 /*return*/];
|
|
89032
89138
|
});
|
|
89033
89139
|
});
|
|
89034
|
-
} :
|
|
89035
|
-
var
|
|
89140
|
+
} : _h;
|
|
89141
|
+
var videoRef = React.useRef(null);
|
|
89142
|
+
var _j = usePlayerControls({
|
|
89036
89143
|
startTime: startTime,
|
|
89037
89144
|
setLoading: setLoading,
|
|
89038
89145
|
handleTrackProgress: handleTrackProgress,
|
|
@@ -89042,38 +89149,55 @@ var VideoPlayer = function VideoPlayer(_a) {
|
|
|
89042
89149
|
setIsPlaying: setIsPlaying,
|
|
89043
89150
|
shouldPlayerBeFocusedOnSpaceClick: shouldPlayerBeFocusedOnSpaceClick
|
|
89044
89151
|
}),
|
|
89045
|
-
mouseMoveHandler =
|
|
89046
|
-
playerContainerRef =
|
|
89047
|
-
playPauseHandler =
|
|
89048
|
-
handleFullScreen =
|
|
89049
|
-
videoPlayerRef =
|
|
89050
|
-
playing =
|
|
89051
|
-
volume =
|
|
89052
|
-
muted =
|
|
89053
|
-
progressHandler =
|
|
89054
|
-
bufferStartHandler =
|
|
89055
|
-
bufferEndHandler =
|
|
89056
|
-
onPlayerStart =
|
|
89057
|
-
setVideoState =
|
|
89058
|
-
playbackRate =
|
|
89059
|
-
controlRef =
|
|
89060
|
-
rewindHandler =
|
|
89061
|
-
handleFastForward =
|
|
89062
|
-
formatCurrentTime =
|
|
89063
|
-
played =
|
|
89064
|
-
onSeekMouseDownHandler =
|
|
89065
|
-
seekHandler =
|
|
89066
|
-
seekMouseUpHandler =
|
|
89067
|
-
muteHandler =
|
|
89068
|
-
volumeChangeHandler =
|
|
89069
|
-
formatDuration =
|
|
89070
|
-
isSubtitlesChecked =
|
|
89071
|
-
toggleSubtitlesCheck =
|
|
89072
|
-
isFullscreen =
|
|
89073
|
-
isControlsActive =
|
|
89074
|
-
currentSubtitle =
|
|
89075
|
-
|
|
89076
|
-
var
|
|
89152
|
+
mouseMoveHandler = _j.mouseMoveHandler,
|
|
89153
|
+
playerContainerRef = _j.playerContainerRef,
|
|
89154
|
+
playPauseHandler = _j.playPauseHandler,
|
|
89155
|
+
handleFullScreen = _j.handleFullScreen,
|
|
89156
|
+
videoPlayerRef = _j.videoPlayerRef,
|
|
89157
|
+
playing = _j.playing,
|
|
89158
|
+
volume = _j.volume,
|
|
89159
|
+
muted = _j.muted,
|
|
89160
|
+
progressHandler = _j.progressHandler,
|
|
89161
|
+
bufferStartHandler = _j.bufferStartHandler,
|
|
89162
|
+
bufferEndHandler = _j.bufferEndHandler,
|
|
89163
|
+
onPlayerStart = _j.onPlayerStart,
|
|
89164
|
+
setVideoState = _j.setVideoState,
|
|
89165
|
+
playbackRate = _j.playbackRate,
|
|
89166
|
+
controlRef = _j.controlRef,
|
|
89167
|
+
rewindHandler = _j.rewindHandler,
|
|
89168
|
+
handleFastForward = _j.handleFastForward,
|
|
89169
|
+
formatCurrentTime = _j.formatCurrentTime,
|
|
89170
|
+
played = _j.played,
|
|
89171
|
+
onSeekMouseDownHandler = _j.onSeekMouseDownHandler,
|
|
89172
|
+
seekHandler = _j.seekHandler,
|
|
89173
|
+
seekMouseUpHandler = _j.seekMouseUpHandler,
|
|
89174
|
+
muteHandler = _j.muteHandler,
|
|
89175
|
+
volumeChangeHandler = _j.volumeChangeHandler,
|
|
89176
|
+
formatDuration = _j.formatDuration,
|
|
89177
|
+
isSubtitlesChecked = _j.isSubtitlesChecked,
|
|
89178
|
+
toggleSubtitlesCheck = _j.toggleSubtitlesCheck,
|
|
89179
|
+
isFullscreen = _j.isFullscreen,
|
|
89180
|
+
isControlsActive = _j.isControlsActive,
|
|
89181
|
+
currentSubtitle = _j.currentSubtitle,
|
|
89182
|
+
setCurrentSubtitle = _j.setCurrentSubtitle;
|
|
89183
|
+
var setupHLSSubtitleTracking = useHLSSubtitles({
|
|
89184
|
+
videoPlayerRef: videoPlayerRef,
|
|
89185
|
+
isSubtitlesChecked: isSubtitlesChecked,
|
|
89186
|
+
setCurrentSubtitle: setCurrentSubtitle
|
|
89187
|
+
}).setupHLSSubtitleTracking;
|
|
89188
|
+
React.useEffect(function () {
|
|
89189
|
+
var cleanup = injectHLSSubtitleStyles();
|
|
89190
|
+
return cleanup;
|
|
89191
|
+
}, []);
|
|
89192
|
+
var handlePlayerReady = function handlePlayerReady() {
|
|
89193
|
+
var _a;
|
|
89194
|
+
onPlayerStart();
|
|
89195
|
+
setupHLSSubtitleTracking();
|
|
89196
|
+
var videoElement = (_a = videoPlayerRef.current) === null || _a === void 0 ? void 0 : _a.getInternalPlayer();
|
|
89197
|
+
if (videoElement && videoElement instanceof HTMLVideoElement) {
|
|
89198
|
+
videoRef.current = videoElement;
|
|
89199
|
+
}
|
|
89200
|
+
};
|
|
89077
89201
|
return jsxRuntimeExports.jsxs(StyledWrapper, {
|
|
89078
89202
|
tabIndex: 0,
|
|
89079
89203
|
onMouseMove: mouseMoveHandler,
|
|
@@ -89082,12 +89206,11 @@ var VideoPlayer = function VideoPlayer(_a) {
|
|
|
89082
89206
|
onClick: function onClick(e) {
|
|
89083
89207
|
return e.stopPropagation();
|
|
89084
89208
|
},
|
|
89085
|
-
|
|
89086
|
-
children: [jsxRuntimeExports.jsx(StyledVideoPlayerWrapper, {
|
|
89209
|
+
children: [jsxRuntimeExports.jsxs(StyledVideoPlayerWrapper, {
|
|
89087
89210
|
onClick: playPauseHandler,
|
|
89088
89211
|
onDoubleClick: handleFullScreen,
|
|
89089
|
-
children: jsxRuntimeExports.jsx(ReactPlayer, {
|
|
89090
|
-
url:
|
|
89212
|
+
children: [jsxRuntimeExports.jsx(ReactPlayer, {
|
|
89213
|
+
url: url,
|
|
89091
89214
|
ref: videoPlayerRef,
|
|
89092
89215
|
className: 'react-player',
|
|
89093
89216
|
width: '100%',
|
|
@@ -89098,7 +89221,7 @@ var VideoPlayer = function VideoPlayer(_a) {
|
|
|
89098
89221
|
onProgress: progressHandler,
|
|
89099
89222
|
onBuffer: bufferStartHandler,
|
|
89100
89223
|
onBufferEnd: bufferEndHandler,
|
|
89101
|
-
onReady:
|
|
89224
|
+
onReady: handlePlayerReady,
|
|
89102
89225
|
onPlay: function onPlay() {
|
|
89103
89226
|
return setIsPlaying(true);
|
|
89104
89227
|
},
|
|
@@ -89126,13 +89249,16 @@ var VideoPlayer = function VideoPlayer(_a) {
|
|
|
89126
89249
|
file: {
|
|
89127
89250
|
hlsOptions: {
|
|
89128
89251
|
autoStartLoad: true,
|
|
89129
|
-
renderTextTracksNatively:
|
|
89252
|
+
renderTextTracksNatively: true
|
|
89130
89253
|
}
|
|
89131
89254
|
}
|
|
89132
89255
|
}
|
|
89133
|
-
},
|
|
89134
|
-
|
|
89135
|
-
|
|
89256
|
+
}, url), loading && jsxRuntimeExports.jsx(StyledPlayerLoader, {
|
|
89257
|
+
children: jsxRuntimeExports.jsx(StyledLoader, {})
|
|
89258
|
+
}), isSubtitlesChecked && currentSubtitle && jsxRuntimeExports.jsx(StyledSubtitles, {
|
|
89259
|
+
"$controls": isControlsActive,
|
|
89260
|
+
children: currentSubtitle
|
|
89261
|
+
})]
|
|
89136
89262
|
}), jsxRuntimeExports.jsx(StyledControlsContainer, {
|
|
89137
89263
|
ref: controlRef,
|
|
89138
89264
|
children: jsxRuntimeExports.jsx(Controls, {
|
|
@@ -89158,16 +89284,13 @@ var VideoPlayer = function VideoPlayer(_a) {
|
|
|
89158
89284
|
isFavorite: isFavorite,
|
|
89159
89285
|
toggleIsFavorite: toggleFavorite,
|
|
89160
89286
|
isFullscreen: isFullscreen,
|
|
89161
|
-
subtitle: !!subtitleUrl,
|
|
89287
|
+
subtitle: !!subtitleUrl || ((_d = (_c = (_b = videoPlayerRef.current) === null || _b === void 0 ? void 0 : _b.getInternalPlayer()) === null || _c === void 0 ? void 0 : _c.textTracks) === null || _d === void 0 ? void 0 : _d.length) > 0,
|
|
89162
89288
|
handleSkipBackward: handlePreviousVideo,
|
|
89163
89289
|
handleSkipForward: handleNextVideo,
|
|
89164
89290
|
isNextVideo: isNextVideo,
|
|
89165
89291
|
isPreviousVideo: isPreviousVideo,
|
|
89166
89292
|
showFavorite: showFavorite
|
|
89167
89293
|
})
|
|
89168
|
-
}), isSubtitlesChecked && currentSubtitle && jsxRuntimeExports.jsx(StyledSubtitles, {
|
|
89169
|
-
"$controls": isControlsActive,
|
|
89170
|
-
children: currentSubtitle
|
|
89171
89294
|
})]
|
|
89172
89295
|
});
|
|
89173
89296
|
};
|