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.
Files changed (57) hide show
  1. package/dist/components/{DailyMotion-dYOsLhXX.js → DailyMotion-C87ZJeRt.js} +1 -1
  2. package/dist/components/{DailyMotion-BBMHnZsc.esm.js → DailyMotion-DbDeP0dq.esm.js} +1 -1
  3. package/dist/components/DropDown/DropDown.interface.d.ts +4 -0
  4. package/dist/components/DropDown/DropDown.js +1 -1
  5. package/dist/components/DropDown/DropDown.js.map +1 -1
  6. package/dist/components/{Facebook-C2lp6fKy.esm.js → Facebook-B1XpGyBt.esm.js} +1 -1
  7. package/dist/components/{Facebook-D55xg0YF.js → Facebook-DigX8u_u.js} +1 -1
  8. package/dist/components/{FilePlayer-CSNfeLp-.esm.js → FilePlayer-BSL_U8r8.esm.js} +1 -1
  9. package/dist/components/{FilePlayer-VfIivLWB.js → FilePlayer-BTuFK59w.js} +1 -1
  10. package/dist/components/{Kaltura-BZ5pUEPz.js → Kaltura-CKV92aVd.js} +1 -1
  11. package/dist/components/{Kaltura-BVMxludT.esm.js → Kaltura-DAkp5nY0.esm.js} +1 -1
  12. package/dist/components/{Mixcloud-BDzCezGa.js → Mixcloud-CAgtZPq5.js} +1 -1
  13. package/dist/components/{Mixcloud-9K2fpYoj.esm.js → Mixcloud-CtWhrXiZ.esm.js} +1 -1
  14. package/dist/components/{Mux-BDK08Cp7.js → Mux-BRYGMFV_.js} +1 -1
  15. package/dist/components/{Mux-C3n27KkT.esm.js → Mux-C0xOzOps.esm.js} +1 -1
  16. package/dist/components/{Preview-BF89gaQn.esm.js → Preview-Crcz-S0c.esm.js} +1 -1
  17. package/dist/components/{Preview-C-KatBo7.js → Preview-DSBoVsm9.js} +1 -1
  18. package/dist/components/{SoundCloud-E9VSRo8s.js → SoundCloud-1V8ahw7A.js} +1 -1
  19. package/dist/components/{SoundCloud-BFfitMcN.esm.js → SoundCloud-BC8iiobM.esm.js} +1 -1
  20. package/dist/components/{Streamable-BObKpq3j.js → Streamable-BhhnBO_c.js} +1 -1
  21. package/dist/components/{Streamable-D1pOzVPi.esm.js → Streamable-CGxErYVF.esm.js} +1 -1
  22. package/dist/components/{Twitch-CAHqJZdW.esm.js → Twitch-8quL43Fw.esm.js} +1 -1
  23. package/dist/components/{Twitch-CAKL_Jqs.js → Twitch-E9YQS4X8.js} +1 -1
  24. package/dist/components/VideoPlayer/Player.d.ts +1 -0
  25. package/dist/components/VideoPlayer/Player.interface.d.ts +2 -1
  26. package/dist/components/VideoPlayer/Player.js +44 -23
  27. package/dist/components/VideoPlayer/Player.js.map +1 -1
  28. package/dist/components/VideoPlayer/Player.styles.d.ts +2 -0
  29. package/dist/components/VideoPlayer/Player.styles.js +21 -0
  30. package/dist/components/VideoPlayer/Player.styles.js.map +1 -1
  31. package/dist/components/VideoPlayer/useHlsSubtitles.d.ts +12 -0
  32. package/dist/components/VideoPlayer/useHlsSubtitles.js +73 -0
  33. package/dist/components/VideoPlayer/useHlsSubtitles.js.map +1 -0
  34. package/dist/components/VideoPlayer/usePlayerControls.js +52 -41
  35. package/dist/components/VideoPlayer/usePlayerControls.js.map +1 -1
  36. package/dist/components/{Vidyard-CIHNjfIv.js → Vidyard-B3v7M2i3.js} +1 -1
  37. package/dist/components/{Vidyard-BrA_V8mx.esm.js → Vidyard-DsG0WHnh.esm.js} +1 -1
  38. package/dist/components/{Vimeo-LwXzzIA2.esm.js → Vimeo-CXKbdxkV.esm.js} +1 -1
  39. package/dist/components/{Vimeo-DVX8WzFK.js → Vimeo-ddQ8CMRR.js} +1 -1
  40. package/dist/components/{Wistia-CxE_SYQ-.js → Wistia-B93lpDSs.js} +1 -1
  41. package/dist/components/{Wistia-DoFWA9-t.esm.js → Wistia-CJDzE0TP.esm.js} +1 -1
  42. package/dist/components/{YouTube-BW23iOlA.js → YouTube-631v_AIH.js} +1 -1
  43. package/dist/components/{YouTube-CiWt6Bsz.esm.js → YouTube-CdjuPIIO.esm.js} +1 -1
  44. package/dist/components/components/DropDown/DropDown.interface.d.ts +4 -0
  45. package/dist/components/components/VideoPlayer/Player.d.ts +1 -0
  46. package/dist/components/components/VideoPlayer/Player.interface.d.ts +2 -1
  47. package/dist/components/components/VideoPlayer/Player.styles.d.ts +2 -0
  48. package/dist/components/components/VideoPlayer/useHlsSubtitles.d.ts +12 -0
  49. package/dist/components/{index-Cs_px_sD.js → index-Ciqeqnts.js} +235 -112
  50. package/dist/components/{index-CMNE0hhl.esm.js → index-CyUx723z.esm.js} +235 -112
  51. package/dist/components/index.esm.js +1 -1
  52. package/dist/icons/components/DropDown/DropDown.interface.d.ts +4 -0
  53. package/dist/icons/components/VideoPlayer/Player.d.ts +1 -0
  54. package/dist/icons/components/VideoPlayer/Player.interface.d.ts +2 -1
  55. package/dist/icons/components/VideoPlayer/Player.styles.d.ts +2 -0
  56. package/dist/icons/components/VideoPlayer/useHlsSubtitles.d.ts +12 -0
  57. package/package.json +11 -5
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Cs_px_sD.js');
3
+ var index = require('./index-Ciqeqnts.js');
4
4
  var React = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,4 +1,4 @@
1
- import { r as requireUtils, a as requirePatterns, g as getDefaultExportFromCjs } from './index-CMNE0hhl.esm.js';
1
+ import { r as requireUtils, a as requirePatterns, g as getDefaultExportFromCjs } from './index-CyUx723z.esm.js';
2
2
  import React__default from 'react';
3
3
 
4
4
  function _mergeNamespaces(n, m) {
@@ -1,5 +1,6 @@
1
1
  import { StylesConfig } from 'react-select';
2
2
  import { FormikTouched } from 'formik';
3
+ import { ReactNode } from 'react';
3
4
  export interface IAsyncSelectOption {
4
5
  value: string;
5
6
  label: string;
@@ -52,6 +53,9 @@ export interface ISelectFieldProps {
52
53
  isClearable?: boolean;
53
54
  onFocus?: () => void;
54
55
  isDisabled?: boolean;
56
+ noOptionsMessage?: ((obj: {
57
+ inputValue: string;
58
+ }) => ReactNode) | undefined;
55
59
  isLoading?: boolean;
56
60
  label?: string;
57
61
  error?: boolean;
@@ -5,6 +5,6 @@ import { CaretDown } from '../../icons';
5
5
  import { ContainerSelect, customStyles, ErrorMessage } from './DropDown.styles';
6
6
  export var DropDown = function (props) {
7
7
  var DropdownIndicator = function () { return _jsx(CaretDown, {}); };
8
- return (_jsxs(ContainerSelect, { error: !!(props.error && props.touched), children: [props.label && _jsx(StyledLabel, { "$required": props.required, children: props.label }), _jsx(ReactSelect, { className: props.className, isMulti: props.isMulti, onChange: props.onChange, options: props.options || undefined, value: props.value, placeholder: props.placeholder, styles: props.styles || customStyles, isClearable: props.isClearable, onFocus: props.onFocus, isDisabled: props.isDisabled, isLoading: props.isLoading, components: { DropdownIndicator: DropdownIndicator } }), props.touched && props.error && props.errorMessage && (_jsx(ErrorMessage, { children: props.errorMessage }))] }));
8
+ return (_jsxs(ContainerSelect, { error: !!(props.error && props.touched), children: [props.label && _jsx(StyledLabel, { "$required": props.required, children: props.label }), _jsx(ReactSelect, { className: props.className, isMulti: props.isMulti, onChange: props.onChange, options: props.options || undefined, value: props.value, placeholder: props.placeholder, styles: props.styles || customStyles, isClearable: props.isClearable, onFocus: props.onFocus, isDisabled: props.isDisabled, isLoading: props.isLoading, components: { DropdownIndicator: DropdownIndicator }, noOptionsMessage: props.noOptionsMessage }), props.touched && props.error && props.errorMessage && (_jsx(ErrorMessage, { children: props.errorMessage }))] }));
9
9
  };
10
10
  //# sourceMappingURL=DropDown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DropDown.js","sourceRoot":"","sources":["../../../src/components/DropDown/DropDown.tsx"],"names":[],"mappings":";AACA,OAAO,WAAW,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAG/E,MAAM,CAAC,IAAM,QAAQ,GAAG,UAAC,KAAwB;IAC/C,IAAM,iBAAiB,GAAG,cAAoB,OAAA,KAAC,SAAS,KAAG,EAAb,CAAa,CAAA;IAE3D,OAAO,CACL,MAAC,eAAe,IAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,aACrD,KAAK,CAAC,KAAK,IAAI,KAAC,WAAW,iBAAY,KAAK,CAAC,QAAQ,YAAG,KAAK,CAAC,KAAK,GAAe,EACnF,KAAC,WAAW,IACV,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,SAAS,EACnC,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,YAAY,EACpC,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,UAAU,EAAE,EAAE,iBAAiB,mBAAA,EAAE,GACjC,EAED,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,IAAI,CACrD,KAAC,YAAY,cAAE,KAAK,CAAC,YAAY,GAAgB,CAClD,IACe,CACnB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"DropDown.js","sourceRoot":"","sources":["../../../src/components/DropDown/DropDown.tsx"],"names":[],"mappings":";AACA,OAAO,WAAW,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAG/E,MAAM,CAAC,IAAM,QAAQ,GAAG,UAAC,KAAwB;IAC/C,IAAM,iBAAiB,GAAG,cAAoB,OAAA,KAAC,SAAS,KAAG,EAAb,CAAa,CAAA;IAE3D,OAAO,CACL,MAAC,eAAe,IAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,aACrD,KAAK,CAAC,KAAK,IAAI,KAAC,WAAW,iBAAY,KAAK,CAAC,QAAQ,YAAG,KAAK,CAAC,KAAK,GAAe,EACnF,KAAC,WAAW,IACV,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,SAAS,EACnC,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,YAAY,EACpC,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,UAAU,EAAE,EAAE,iBAAiB,mBAAA,EAAE,EACjC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,GACxC,EAED,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,IAAI,CACrD,KAAC,YAAY,cAAE,KAAK,CAAC,YAAY,GAAgB,CAClD,IACe,CACnB,CAAA;AACH,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { r as requireUtils, a as requirePatterns, g as getDefaultExportFromCjs } from './index-CMNE0hhl.esm.js';
1
+ import { r as requireUtils, a as requirePatterns, g as getDefaultExportFromCjs } from './index-CyUx723z.esm.js';
2
2
  import React__default from 'react';
3
3
 
4
4
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Cs_px_sD.js');
3
+ var index = require('./index-Ciqeqnts.js');
4
4
  var React = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,4 +1,4 @@
1
- import { r as requireUtils, a as requirePatterns, g as getDefaultExportFromCjs } from './index-CMNE0hhl.esm.js';
1
+ import { r as requireUtils, a as requirePatterns, g as getDefaultExportFromCjs } from './index-CyUx723z.esm.js';
2
2
  import React__default from 'react';
3
3
 
4
4
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Cs_px_sD.js');
3
+ var index = require('./index-Ciqeqnts.js');
4
4
  var React = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Cs_px_sD.js');
3
+ var index = require('./index-Ciqeqnts.js');
4
4
  var React = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,4 +1,4 @@
1
- import { r as requireUtils, a as requirePatterns, g as getDefaultExportFromCjs } from './index-CMNE0hhl.esm.js';
1
+ import { r as requireUtils, a as requirePatterns, g as getDefaultExportFromCjs } from './index-CyUx723z.esm.js';
2
2
  import React__default from 'react';
3
3
 
4
4
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Cs_px_sD.js');
3
+ var index = require('./index-Ciqeqnts.js');
4
4
  var React = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,4 +1,4 @@
1
- import { r as requireUtils, a as requirePatterns, g as getDefaultExportFromCjs } from './index-CMNE0hhl.esm.js';
1
+ import { r as requireUtils, a as requirePatterns, g as getDefaultExportFromCjs } from './index-CyUx723z.esm.js';
2
2
  import React__default from 'react';
3
3
 
4
4
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Cs_px_sD.js');
3
+ var index = require('./index-Ciqeqnts.js');
4
4
  var React = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,4 +1,4 @@
1
- import { a as requirePatterns, g as getDefaultExportFromCjs } from './index-CMNE0hhl.esm.js';
1
+ import { a as requirePatterns, g as getDefaultExportFromCjs } from './index-CyUx723z.esm.js';
2
2
  import React__default from 'react';
3
3
 
4
4
  function _mergeNamespaces(n, m) {
@@ -1,4 +1,4 @@
1
- import { g as getDefaultExportFromCjs } from './index-CMNE0hhl.esm.js';
1
+ import { g as getDefaultExportFromCjs } from './index-CyUx723z.esm.js';
2
2
  import React__default from 'react';
3
3
 
4
4
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Cs_px_sD.js');
3
+ var index = require('./index-Ciqeqnts.js');
4
4
  var React = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Cs_px_sD.js');
3
+ var index = require('./index-Ciqeqnts.js');
4
4
  var React = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,4 +1,4 @@
1
- import { r as requireUtils, a as requirePatterns, g as getDefaultExportFromCjs } from './index-CMNE0hhl.esm.js';
1
+ import { r as requireUtils, a as requirePatterns, g as getDefaultExportFromCjs } from './index-CyUx723z.esm.js';
2
2
  import React__default from 'react';
3
3
 
4
4
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Cs_px_sD.js');
3
+ var index = require('./index-Ciqeqnts.js');
4
4
  var React = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,4 +1,4 @@
1
- import { r as requireUtils, a as requirePatterns, g as getDefaultExportFromCjs } from './index-CMNE0hhl.esm.js';
1
+ import { r as requireUtils, a as requirePatterns, g as getDefaultExportFromCjs } from './index-CyUx723z.esm.js';
2
2
  import React__default from 'react';
3
3
 
4
4
  function _mergeNamespaces(n, m) {
@@ -1,4 +1,4 @@
1
- import { r as requireUtils, a as requirePatterns, g as getDefaultExportFromCjs } from './index-CMNE0hhl.esm.js';
1
+ import { r as requireUtils, a as requirePatterns, g as getDefaultExportFromCjs } from './index-CyUx723z.esm.js';
2
2
  import React__default from 'react';
3
3
 
4
4
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Cs_px_sD.js');
3
+ var index = require('./index-Ciqeqnts.js');
4
4
  var React = require('react');
5
5
 
6
6
  function _mergeNamespaces(n, m) {
@@ -1,3 +1,4 @@
1
1
  import { ReactElement } from 'react';
2
2
  import { PlayerProps } from './Player.interface';
3
3
  export declare const VideoPlayer: ({ customStyles, startTime, loading, setLoading, handleTrackProgress, url, subtitle: subtitleUrl, handleNextVideo, handlePreviousVideo, isNextVideo, isPreviousVideo, isPlaying, setIsPlaying, shouldPlayerBeFocusedOnSpaceClick, showFavorite, isFavorite, toggleFavorite, }: PlayerProps) => ReactElement;
4
+ export default VideoPlayer;
@@ -1,4 +1,4 @@
1
- import React, { RefObject } from 'react';
1
+ import React, { Dispatch, RefObject, SetStateAction } from 'react';
2
2
  import ReactPlayer from 'react-player';
3
3
  import { ControlsProps } from './Controls/Controls.interface';
4
4
  export interface VideoState {
@@ -59,5 +59,6 @@ export interface UsePlayerControlsState extends Omit<ControlsProps, 'isFavorite'
59
59
  isFullscreen: boolean;
60
60
  isControlsActive: boolean;
61
61
  currentSubtitle: string;
62
+ setCurrentSubtitle: Dispatch<SetStateAction<string>>;
62
63
  }
63
64
  export {};
@@ -46,15 +46,19 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  }
47
47
  };
48
48
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
49
+ import { useEffect, useRef } from 'react';
49
50
  import ReactPlayer from 'react-player';
50
- import { StyledWrapper, StyledPlayerLoader, StyledControlsContainer, StyledVideoPlayerWrapper, StyledLoader, StyledSubtitles, } from './Player.styles';
51
+ import { StyledWrapper, StyledPlayerLoader, StyledControlsContainer, StyledVideoPlayerWrapper, StyledLoader, StyledSubtitles, injectHLSSubtitleStyles, } from './Player.styles';
51
52
  import Controls from './Controls';
52
53
  import usePlayerControls from './usePlayerControls';
54
+ import { useHLSSubtitles } from 'src/components/VideoPlayer/useHlsSubtitles';
53
55
  export var VideoPlayer = function (_a) {
54
- var customStyles = _a.customStyles, _b = _a.startTime, startTime = _b === void 0 ? 0 : _b, loading = _a.loading, setLoading = _a.setLoading, handleTrackProgress = _a.handleTrackProgress, url = _a.url, subtitleUrl = _a.subtitle, handleNextVideo = _a.handleNextVideo, handlePreviousVideo = _a.handlePreviousVideo, isNextVideo = _a.isNextVideo, isPreviousVideo = _a.isPreviousVideo, isPlaying = _a.isPlaying, setIsPlaying = _a.setIsPlaying, _c = _a.shouldPlayerBeFocusedOnSpaceClick, shouldPlayerBeFocusedOnSpaceClick = _c === void 0 ? false : _c, showFavorite = _a.showFavorite, _d = _a.isFavorite, isFavorite = _d === void 0 ? false : _d, _e = _a.toggleFavorite, toggleFavorite = _e === void 0 ? function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
56
+ var _b, _c, _d;
57
+ var customStyles = _a.customStyles, _e = _a.startTime, startTime = _e === void 0 ? 0 : _e, loading = _a.loading, setLoading = _a.setLoading, handleTrackProgress = _a.handleTrackProgress, url = _a.url, subtitleUrl = _a.subtitle, handleNextVideo = _a.handleNextVideo, handlePreviousVideo = _a.handlePreviousVideo, isNextVideo = _a.isNextVideo, isPreviousVideo = _a.isPreviousVideo, isPlaying = _a.isPlaying, setIsPlaying = _a.setIsPlaying, _f = _a.shouldPlayerBeFocusedOnSpaceClick, shouldPlayerBeFocusedOnSpaceClick = _f === void 0 ? false : _f, showFavorite = _a.showFavorite, _g = _a.isFavorite, isFavorite = _g === void 0 ? false : _g, _h = _a.toggleFavorite, toggleFavorite = _h === void 0 ? function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
55
58
  return [2 /*return*/];
56
- }); }); } : _e;
57
- var _f = usePlayerControls({
59
+ }); }); } : _h;
60
+ var videoRef = useRef(null);
61
+ var _j = usePlayerControls({
58
62
  startTime: startTime,
59
63
  setLoading: setLoading,
60
64
  handleTrackProgress: handleTrackProgress,
@@ -63,25 +67,42 @@ export var VideoPlayer = function (_a) {
63
67
  isPlaying: isPlaying,
64
68
  setIsPlaying: setIsPlaying,
65
69
  shouldPlayerBeFocusedOnSpaceClick: shouldPlayerBeFocusedOnSpaceClick,
66
- }), mouseMoveHandler = _f.mouseMoveHandler, playerContainerRef = _f.playerContainerRef, playPauseHandler = _f.playPauseHandler, handleFullScreen = _f.handleFullScreen, videoPlayerRef = _f.videoPlayerRef, playing = _f.playing, volume = _f.volume, muted = _f.muted, progressHandler = _f.progressHandler, bufferStartHandler = _f.bufferStartHandler, bufferEndHandler = _f.bufferEndHandler, onPlayerStart = _f.onPlayerStart, setVideoState = _f.setVideoState, playbackRate = _f.playbackRate, controlRef = _f.controlRef, rewindHandler = _f.rewindHandler, handleFastForward = _f.handleFastForward, formatCurrentTime = _f.formatCurrentTime, played = _f.played, onSeekMouseDownHandler = _f.onSeekMouseDownHandler, seekHandler = _f.seekHandler, seekMouseUpHandler = _f.seekMouseUpHandler, muteHandler = _f.muteHandler, volumeChangeHandler = _f.volumeChangeHandler, formatDuration = _f.formatDuration, isSubtitlesChecked = _f.isSubtitlesChecked, toggleSubtitlesCheck = _f.toggleSubtitlesCheck, isFullscreen = _f.isFullscreen, isControlsActive = _f.isControlsActive, currentSubtitle = _f.currentSubtitle;
67
- // Make sure we have a valid URL to avoid ReactPlayer errors
68
- var validUrl = url || '';
69
- return (_jsxs(StyledWrapper, { tabIndex: 0, onMouseMove: mouseMoveHandler, ref: playerContainerRef, style: customStyles, onClick: function (e) { return e.stopPropagation(); }, "data-testid": 'video-player-wrapper', children: [_jsx(StyledVideoPlayerWrapper, { onClick: playPauseHandler, onDoubleClick: handleFullScreen, children: _jsx(ReactPlayer, { url: validUrl, ref: videoPlayerRef, className: 'react-player', width: '100%', height: '100%', playing: isPlaying, volume: volume, muted: muted, onProgress: progressHandler, onBuffer: bufferStartHandler, onBufferEnd: bufferEndHandler, onReady: onPlayerStart, onPlay: function () { return setIsPlaying(true); }, onPause: function () { return setIsPlaying(false); }, onEnded: function () {
70
- var _a;
71
- var totalDuration = (_a = videoPlayerRef.current) === null || _a === void 0 ? void 0 : _a.getDuration();
72
- if (totalDuration) {
73
- handleTrackProgress(totalDuration);
74
- }
75
- setVideoState(function (prev) { return (__assign(__assign({}, prev), { playing: false })); });
76
- if (handleNextVideo)
77
- handleNextVideo();
78
- }, controls: false, pip: true, playbackRate: playbackRate, preload: 'metadata', config: {
79
- file: {
80
- hlsOptions: {
81
- autoStartLoad: true,
82
- renderTextTracksNatively: false,
70
+ }), mouseMoveHandler = _j.mouseMoveHandler, playerContainerRef = _j.playerContainerRef, playPauseHandler = _j.playPauseHandler, handleFullScreen = _j.handleFullScreen, videoPlayerRef = _j.videoPlayerRef, playing = _j.playing, volume = _j.volume, muted = _j.muted, progressHandler = _j.progressHandler, bufferStartHandler = _j.bufferStartHandler, bufferEndHandler = _j.bufferEndHandler, onPlayerStart = _j.onPlayerStart, setVideoState = _j.setVideoState, playbackRate = _j.playbackRate, controlRef = _j.controlRef, rewindHandler = _j.rewindHandler, handleFastForward = _j.handleFastForward, formatCurrentTime = _j.formatCurrentTime, played = _j.played, onSeekMouseDownHandler = _j.onSeekMouseDownHandler, seekHandler = _j.seekHandler, seekMouseUpHandler = _j.seekMouseUpHandler, muteHandler = _j.muteHandler, volumeChangeHandler = _j.volumeChangeHandler, formatDuration = _j.formatDuration, isSubtitlesChecked = _j.isSubtitlesChecked, toggleSubtitlesCheck = _j.toggleSubtitlesCheck, isFullscreen = _j.isFullscreen, isControlsActive = _j.isControlsActive, currentSubtitle = _j.currentSubtitle, setCurrentSubtitle = _j.setCurrentSubtitle;
71
+ var setupHLSSubtitleTracking = useHLSSubtitles({
72
+ videoPlayerRef: videoPlayerRef,
73
+ isSubtitlesChecked: isSubtitlesChecked,
74
+ setCurrentSubtitle: setCurrentSubtitle,
75
+ }).setupHLSSubtitleTracking;
76
+ useEffect(function () {
77
+ var cleanup = injectHLSSubtitleStyles();
78
+ return cleanup;
79
+ }, []);
80
+ var handlePlayerReady = function () {
81
+ var _a;
82
+ onPlayerStart();
83
+ setupHLSSubtitleTracking();
84
+ var videoElement = (_a = videoPlayerRef.current) === null || _a === void 0 ? void 0 : _a.getInternalPlayer();
85
+ if (videoElement && videoElement instanceof HTMLVideoElement) {
86
+ videoRef.current = videoElement;
87
+ }
88
+ };
89
+ return (_jsxs(StyledWrapper, { tabIndex: 0, onMouseMove: mouseMoveHandler, ref: playerContainerRef, style: customStyles, onClick: function (e) { return e.stopPropagation(); }, children: [_jsxs(StyledVideoPlayerWrapper, { onClick: playPauseHandler, onDoubleClick: handleFullScreen, children: [_jsx(ReactPlayer, { url: url, ref: videoPlayerRef, className: 'react-player', width: '100%', height: '100%', playing: isPlaying, volume: volume, muted: muted, onProgress: progressHandler, onBuffer: bufferStartHandler, onBufferEnd: bufferEndHandler, onReady: handlePlayerReady, onPlay: function () { return setIsPlaying(true); }, onPause: function () { return setIsPlaying(false); }, onEnded: function () {
90
+ var _a;
91
+ var totalDuration = (_a = videoPlayerRef.current) === null || _a === void 0 ? void 0 : _a.getDuration();
92
+ if (totalDuration) {
93
+ handleTrackProgress(totalDuration);
94
+ }
95
+ setVideoState(function (prev) { return (__assign(__assign({}, prev), { playing: false })); });
96
+ if (handleNextVideo)
97
+ handleNextVideo();
98
+ }, controls: false, pip: true, playbackRate: playbackRate, preload: 'metadata', config: {
99
+ file: {
100
+ hlsOptions: {
101
+ autoStartLoad: true,
102
+ renderTextTracksNatively: true,
103
+ },
83
104
  },
84
- },
85
- } }, validUrl) }), loading && (_jsx(StyledPlayerLoader, { children: _jsx(StyledLoader, {}) })), _jsx(StyledControlsContainer, { ref: controlRef, children: _jsx(Controls, { setVideoState: setVideoState, playbackRate: playbackRate, rewindHandler: rewindHandler, playPauseHandler: playPauseHandler, handleFastForward: handleFastForward, formatCurrentTime: formatCurrentTime, played: played, onSeekMouseDownHandler: onSeekMouseDownHandler, seekHandler: seekHandler, seekMouseUpHandler: seekMouseUpHandler, volume: volume, muted: muted, muteHandler: muteHandler, volumeChangeHandler: volumeChangeHandler, formatDuration: formatDuration, handleFullScreen: handleFullScreen, playing: playing, isSubtitlesChecked: isSubtitlesChecked, toggleSubtitlesCheck: toggleSubtitlesCheck, isFavorite: isFavorite, toggleIsFavorite: toggleFavorite, isFullscreen: isFullscreen, subtitle: !!subtitleUrl, handleSkipBackward: handlePreviousVideo, handleSkipForward: handleNextVideo, isNextVideo: isNextVideo, isPreviousVideo: isPreviousVideo, showFavorite: showFavorite }) }), isSubtitlesChecked && currentSubtitle && (_jsx(StyledSubtitles, { "$controls": isControlsActive, children: currentSubtitle }))] }));
105
+ } }, url), loading && (_jsx(StyledPlayerLoader, { children: _jsx(StyledLoader, {}) })), isSubtitlesChecked && currentSubtitle && (_jsx(StyledSubtitles, { "$controls": isControlsActive, children: currentSubtitle }))] }), _jsx(StyledControlsContainer, { ref: controlRef, children: _jsx(Controls, { setVideoState: setVideoState, playbackRate: playbackRate, rewindHandler: rewindHandler, playPauseHandler: playPauseHandler, handleFastForward: handleFastForward, formatCurrentTime: formatCurrentTime, played: played, onSeekMouseDownHandler: onSeekMouseDownHandler, seekHandler: seekHandler, seekMouseUpHandler: seekMouseUpHandler, volume: volume, muted: muted, muteHandler: muteHandler, volumeChangeHandler: volumeChangeHandler, formatDuration: formatDuration, handleFullScreen: handleFullScreen, playing: playing, isSubtitlesChecked: isSubtitlesChecked, toggleSubtitlesCheck: toggleSubtitlesCheck, isFavorite: isFavorite, toggleIsFavorite: toggleFavorite, isFullscreen: isFullscreen, 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, handleSkipBackward: handlePreviousVideo, handleSkipForward: handleNextVideo, isNextVideo: isNextVideo, isPreviousVideo: isPreviousVideo, showFavorite: showFavorite }) })] }));
86
106
  };
107
+ export default VideoPlayer;
87
108
  //# sourceMappingURL=Player.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Player.js","sourceRoot":"","sources":["../../../src/components/VideoPlayer/Player.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Player.js","sourceRoot":"","sources":["../../../src/components/VideoPlayer/Player.tsx"],"names":[],"mappings":"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"}
@@ -6,3 +6,5 @@ export declare const StyledControlsContainer: import("styled-components/dist/typ
6
6
  export declare const StyledSubtitles: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
7
7
  $controls: boolean;
8
8
  }>> & string;
9
+ export declare const 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";
10
+ export declare const injectHLSSubtitleStyles: () => (() => void);
@@ -13,5 +13,26 @@ export var StyledSubtitles = styled.div(templateObject_7 || (templateObject_7 =
13
13
  var $controls = _a.$controls;
14
14
  return ($controls ? '60px' : '10px');
15
15
  });
16
+ export 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";
17
+ export var injectHLSSubtitleStyles = function () {
18
+ var addSubtitleStyles = function () {
19
+ var existingStyle = document.getElementById('hls-subtitle-styles');
20
+ if (existingStyle) {
21
+ existingStyle.remove();
22
+ }
23
+ var style = document.createElement('style');
24
+ style.id = 'hls-subtitle-styles';
25
+ style.textContent = HLS_SUBTITLE_STYLES;
26
+ document.head.appendChild(style);
27
+ };
28
+ addSubtitleStyles();
29
+ // Return cleanup function
30
+ return function () {
31
+ var existingStyle = document.getElementById('hls-subtitle-styles');
32
+ if (existingStyle) {
33
+ existingStyle.remove();
34
+ }
35
+ };
36
+ };
16
37
  var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;
17
38
  //# sourceMappingURL=Player.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Player.styles.js","sourceRoot":"","sources":["../../../src/components/VideoPlayer/Player.styles.tsx"],"names":[],"mappings":";;;;AAAA,OAAO,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,CAAC,IAAM,wBAAwB,GAAG,MAAM,CAAC,GAAG,ghBAAA,6cAwBjD,IAAA,CAAA;AAED,MAAM,CAAC,IAAM,aAAa,GAAG,MAAM,CAAC,GAAG,wWAAA,qMAa/B,EAAwB,8FAO/B,KAPO,wBAAwB,CAO/B,CAAA;AAED,MAAM,CAAC,IAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,sVAAA,mRAc3C,IAAA,CAAA;AAED,IAAM,MAAM,GAAG,SAAS,iKAAA,8FAOvB,IAAA,CAAA;AAED,MAAM,CAAC,IAAM,YAAY,GAAG,MAAM,CAAC,GAAG,8kBAAA,qWAUvB,EAAM,oKAUpB,KAVc,MAAM,CAUpB,CAAA;AAED,MAAM,CAAC,IAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,sPAAA,mLAUhD,IAAA,CAAA;AAED,MAAM,CAAC,IAAM,eAAe,GAAG,MAAM,CAAC,GAAG,wbAAwB,iQAWrD,EAAwD,kHAOnE,KAPW,UAAC,EAAa;QAAX,SAAS,eAAA;IAAe,OAAA,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAA7B,CAA6B,CAOnE,CAAA"}
1
+ {"version":3,"file":"Player.styles.js","sourceRoot":"","sources":["../../../src/components/VideoPlayer/Player.styles.tsx"],"names":[],"mappings":";;;;AAAA,OAAO,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,CAAC,IAAM,wBAAwB,GAAG,MAAM,CAAC,GAAG,ghBAAA,6cAwBjD,IAAA,CAAA;AAED,MAAM,CAAC,IAAM,aAAa,GAAG,MAAM,CAAC,GAAG,wWAAA,qMAa/B,EAAwB,8FAO/B,KAPO,wBAAwB,CAO/B,CAAA;AAED,MAAM,CAAC,IAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,sVAAA,mRAc3C,IAAA,CAAA;AAED,IAAM,MAAM,GAAG,SAAS,iKAAA,8FAOvB,IAAA,CAAA;AAED,MAAM,CAAC,IAAM,YAAY,GAAG,MAAM,CAAC,GAAG,8kBAAA,qWAUvB,EAAM,oKAUpB,KAVc,MAAM,CAUpB,CAAA;AAED,MAAM,CAAC,IAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,sPAAA,mLAUhD,IAAA,CAAA;AAED,MAAM,CAAC,IAAM,eAAe,GAAG,MAAM,CAAC,GAAG,wbAAwB,iQAWrD,EAAwD,kHAOnE,KAPW,UAAC,EAAa;QAAX,SAAS,eAAA;IAAe,OAAA,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAA7B,CAA6B,CAOnE,CAAA;AAED,MAAM,CAAC,IAAM,mBAAmB,GAAG,i1EA6FlC,CAAA;AAED,MAAM,CAAC,IAAM,uBAAuB,GAAG;IACrC,IAAM,iBAAiB,GAAG;QACxB,IAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAA;QACpE,IAAI,aAAa,EAAE,CAAC;YAClB,aAAa,CAAC,MAAM,EAAE,CAAA;QACxB,CAAC;QAED,IAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAC7C,KAAK,CAAC,EAAE,GAAG,qBAAqB,CAAA;QAChC,KAAK,CAAC,WAAW,GAAG,mBAAmB,CAAA;QACvC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC,CAAA;IAED,iBAAiB,EAAE,CAAA;IAEnB,0BAA0B;IAC1B,OAAO;QACL,IAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAA;QACpE,IAAI,aAAa,EAAE,CAAC;YAClB,aAAa,CAAC,MAAM,EAAE,CAAA;QACxB,CAAC;IACH,CAAC,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import ReactPlayer from 'react-player';
2
+ interface UseHLSSubtitlesProps {
3
+ videoPlayerRef: React.RefObject<ReactPlayer | null>;
4
+ isSubtitlesChecked: boolean;
5
+ setCurrentSubtitle: (subtitle: string) => void;
6
+ }
7
+ interface UseHLSSubtitlesReturn {
8
+ extractHLSSubtitleText: () => void;
9
+ setupHLSSubtitleTracking: () => void;
10
+ }
11
+ export declare const useHLSSubtitles: ({ videoPlayerRef, isSubtitlesChecked, setCurrentSubtitle, }: UseHLSSubtitlesProps) => UseHLSSubtitlesReturn;
12
+ export {};
@@ -0,0 +1,73 @@
1
+ import { useCallback, useEffect, useRef } from 'react';
2
+ export var useHLSSubtitles = function (_a) {
3
+ var videoPlayerRef = _a.videoPlayerRef, isSubtitlesChecked = _a.isSubtitlesChecked, setCurrentSubtitle = _a.setCurrentSubtitle;
4
+ var hlsSubtitleTrackRef = useRef(null);
5
+ var extractHLSSubtitleText = useCallback(function () {
6
+ var _a;
7
+ var videoElement = (_a = videoPlayerRef.current) === null || _a === void 0 ? void 0 : _a.getInternalPlayer();
8
+ if (!videoElement || !videoElement.textTracks)
9
+ return;
10
+ var _loop_1 = function (i) {
11
+ var track = videoElement.textTracks[i];
12
+ if (track.kind === 'subtitles' || track.kind === 'captions') {
13
+ hlsSubtitleTrackRef.current = track;
14
+ var handleCueChange = function () {
15
+ if (isSubtitlesChecked && track.activeCues && track.activeCues.length > 0) {
16
+ var currentCue = track.activeCues[0];
17
+ if (currentCue && currentCue.text) {
18
+ setCurrentSubtitle(currentCue.text);
19
+ }
20
+ }
21
+ else if (isSubtitlesChecked) {
22
+ setCurrentSubtitle('');
23
+ }
24
+ };
25
+ track.removeEventListener('cuechange', handleCueChange);
26
+ track.addEventListener('cuechange', handleCueChange);
27
+ track.mode = isSubtitlesChecked ? 'showing' : 'hidden';
28
+ return "break";
29
+ }
30
+ };
31
+ for (var i = 0; i < videoElement.textTracks.length; i++) {
32
+ var state_1 = _loop_1(i);
33
+ if (state_1 === "break")
34
+ break;
35
+ }
36
+ }, [isSubtitlesChecked, setCurrentSubtitle, videoPlayerRef]);
37
+ var setupHLSSubtitleTracking = useCallback(function () {
38
+ var _a;
39
+ var videoElement = (_a = videoPlayerRef.current) === null || _a === void 0 ? void 0 : _a.getInternalPlayer();
40
+ if (!videoElement)
41
+ return;
42
+ videoElement.classList.add('hls-video-player');
43
+ var checkTextTracks = function (attempt) {
44
+ if (attempt === void 0) { attempt = 0; }
45
+ var textTracks = videoElement.textTracks;
46
+ if (textTracks && textTracks.length > 0) {
47
+ extractHLSSubtitleText();
48
+ }
49
+ else if (attempt < 5) {
50
+ setTimeout(function () { return checkTextTracks(attempt + 1); }, 300 * (attempt + 1));
51
+ }
52
+ };
53
+ checkTextTracks();
54
+ videoElement.addEventListener('loadedmetadata', function () {
55
+ checkTextTracks();
56
+ });
57
+ }, [extractHLSSubtitleText, videoPlayerRef]);
58
+ useEffect(function () {
59
+ extractHLSSubtitleText();
60
+ }, [isSubtitlesChecked, extractHLSSubtitleText]);
61
+ useEffect(function () {
62
+ var _a;
63
+ var videoElement = (_a = videoPlayerRef.current) === null || _a === void 0 ? void 0 : _a.getInternalPlayer();
64
+ if (videoElement && videoElement.textTracks && videoElement.textTracks.length > 0) {
65
+ extractHLSSubtitleText();
66
+ }
67
+ }, [videoPlayerRef.current, extractHLSSubtitleText]);
68
+ return {
69
+ extractHLSSubtitleText: extractHLSSubtitleText,
70
+ setupHLSSubtitleTracking: setupHLSSubtitleTracking,
71
+ };
72
+ };
73
+ //# sourceMappingURL=useHlsSubtitles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHlsSubtitles.js","sourceRoot":"","sources":["../../../src/components/VideoPlayer/useHlsSubtitles.ts"],"names":[],"mappings":"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"}