@playkit-js/playkit-js-ui 0.82.9 → 0.82.10-canary.0-e694d66

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 (52) hide show
  1. package/dist/playkit-js-ui.d.ts +174 -147
  2. package/dist/playkit-ui.js +1 -1
  3. package/dist/playkit-ui.js.map +1 -1
  4. package/package.json +1 -1
  5. package/src/components/audio/audio.tsx +160 -0
  6. package/src/components/audio/index.ts +1 -0
  7. package/src/components/audio-desc/_audio-desc.scss +10 -0
  8. package/src/components/audio-desc/audio-desc-mini.tsx +250 -0
  9. package/src/components/audio-desc/audio-desc.tsx +199 -0
  10. package/src/components/audio-desc/audio-description-updater.tsx +235 -0
  11. package/src/components/audio-desc/index.ts +1 -0
  12. package/src/components/audio-description-menu/audio-description-menu.tsx +175 -0
  13. package/src/components/audio-description-menu/index.ts +1 -0
  14. package/src/components/audio-menu/audio-menu.tsx +132 -57
  15. package/src/components/bottom-bar/bottom-bar-registry-manager.ts +11 -0
  16. package/src/components/bottom-bar/bottom-bar.tsx +13 -3
  17. package/src/components/engine-connector/engine-connector.tsx +42 -16
  18. package/src/components/event-dispatcher/event-dispatcher-provider.tsx +22 -17
  19. package/src/components/icon/icon.scss +14 -0
  20. package/src/components/icon/icon.tsx +30 -12
  21. package/src/components/index.ts +3 -2
  22. package/src/components/keyboard/keyboard.tsx +7 -2
  23. package/src/components/menu/menu.tsx +56 -55
  24. package/src/components/overlay-action/overlay-action.tsx +9 -5
  25. package/src/components/play-pause/_play-pause.scss +4 -2
  26. package/src/components/play-pause/play-pause.tsx +34 -22
  27. package/src/components/seekbar/seekbar.tsx +6 -3
  28. package/src/components/settings/settings.tsx +14 -18
  29. package/src/components/shell/shell.tsx +10 -7
  30. package/src/event/event-type.ts +1 -0
  31. package/src/event/events/bottom-bar-needs-resize-event.ts +20 -0
  32. package/src/middlewares/event-dispatcher.ts +0 -35
  33. package/src/reducers/audio-description.ts +110 -0
  34. package/src/reducers/config.ts +8 -3
  35. package/src/reducers/index.ts +2 -1
  36. package/src/reducers/settings.ts +0 -9
  37. package/src/store.ts +3 -1
  38. package/src/styles/_dropdown.scss +5 -1
  39. package/src/styles/style.scss +1 -0
  40. package/src/types/reducers/audio-description.ts +13 -0
  41. package/src/types/reducers/root-state.ts +2 -0
  42. package/src/types/reducers/settings.ts +0 -1
  43. package/src/types/ui-options.ts +6 -1
  44. package/src/ui-presets/live.tsx +2 -2
  45. package/src/ui-presets/playback.tsx +19 -4
  46. package/src/utils/audio-description.ts +28 -0
  47. package/translations/ca_es.i18n.json +1 -4
  48. package/translations/en.i18n.json +21 -5
  49. package/src/components/advanced-audio-desc/advanced-audio-desc.tsx +0 -141
  50. package/src/components/advanced-audio-desc/index.ts +0 -1
  51. package/src/components/advanced-audio-desc-toggle/advanced-audio-desc-toggle.tsx +0 -69
  52. package/src/components/advanced-audio-desc-toggle/index.ts +0 -1
@@ -90,6 +90,42 @@ declare const actions_12: {
90
90
  };
91
91
  };
92
92
 
93
+ declare const actions_13: {
94
+ updateAudioDescriptionLanguages: (audioDescriptionLanguages: string[]) => {
95
+ type: string;
96
+ audioDescriptionLanguages: string[];
97
+ };
98
+ updateAdvancedAudioDescriptionLanguages: (advancedAudioDescriptionLanguages: string[]) => {
99
+ type: string;
100
+ advancedAudioDescriptionLanguages: string[];
101
+ };
102
+ updateAudioDescriptionEnabled: (isEnabled: boolean) => {
103
+ type: string;
104
+ isEnabled: boolean;
105
+ };
106
+ updateAudioDescriptionType: (selectedType: AUDIO_DESCRIPTION_TYPE) => {
107
+ type: string;
108
+ selectedType: AUDIO_DESCRIPTION_TYPE;
109
+ };
110
+ updateSelectionByLanguage: (language: string, isEnabled: boolean, selectedType: AUDIO_DESCRIPTION_TYPE) => {
111
+ type: string;
112
+ language: string;
113
+ isEnabled: boolean;
114
+ selectedType: AUDIO_DESCRIPTION_TYPE;
115
+ };
116
+ resetSelectionByLanguage: () => {
117
+ type: string;
118
+ };
119
+ updateDefaultValueSet: (isDefaultValueSet: boolean) => {
120
+ type: string;
121
+ isDefaultValueSet: boolean;
122
+ };
123
+ updateSelectedAudioLanguage: (selectedAudioLanguage: string | null) => {
124
+ type: string;
125
+ selectedAudioLanguage: string | null;
126
+ };
127
+ };
128
+
93
129
  declare const actions_2: {
94
130
  updateCaptionsStyle: (style: string) => {
95
131
  type: string;
@@ -392,14 +428,6 @@ declare const actions_8: {
392
428
  type: string;
393
429
  speed: string;
394
430
  };
395
- updateAudio: (audio: string) => {
396
- type: string;
397
- audio: string;
398
- };
399
- updateAdvancedAudioDesc: (isChecked: boolean) => {
400
- type: string;
401
- isChecked: boolean;
402
- };
403
431
  updateIsCaptionsEnabled: (isCaptionsEnabled: boolean) => {
404
432
  type: string;
405
433
  isCaptionsEnabled: boolean;
@@ -895,75 +923,6 @@ declare type AdSkipProps = {
895
923
  */
896
924
  declare function adsUI(props: any): VNode<any> | undefined;
897
925
 
898
- /**
899
- * AdvancedAudioDesc component
900
- *
901
- * @class AdvancedAudioDesc
902
- * @example <AdvancedAudioDesc step={5} />
903
- * @extends {Component}
904
- */
905
- declare class AdvancedAudioDesc extends Component<any, any> implements IconComponent {
906
- componentDidUpdate(previousProps: any): void;
907
- get advancedAudioDesc(): boolean;
908
- registerComponent(): any;
909
- getComponentText: () => any;
910
- getSvgIcon: () => any;
911
- /**
912
- * should render component
913
- * @returns {boolean} - whether to render the component
914
- */
915
- private _shouldRender;
916
- /**
917
- * AdvancedAudioDesc click handler
918
- *
919
- * @returns {void}
920
- * @memberof AdvancedAudioDesc
921
- */
922
- private onClick;
923
- /**
924
- * on key down handler
925
- *
926
- * @param {KeyboardEvent} e - keyboard event
927
- * @returns {void}
928
- * @memberof AdvancedAudioDesc
929
- */
930
- onKeyDown: (e: KeyboardEvent) => void;
931
- /**
932
- * render component
933
- *
934
- * @param {*} props - component props
935
- * @returns {React$Element} - component element
936
- * @memberof AdvancedAudioDesc
937
- */
938
- render({ innerRef }: any): VNode<any> | undefined;
939
- }
940
-
941
- /**
942
- * AdvancedAudioDescToggle component
943
- *
944
- * @class AdvancedAudioDescToggle
945
- * @example <AdvancedAudioDescToggle />
946
- * @extends {Component}
947
- */
948
- declare class AdvancedAudioDescToggle extends Component<any, any> {
949
- /**
950
- * Toggle the Advanced Audio Description option and update it in the store state
951
- *
952
- * @param {boolean} isChecked - Whether the feature is enabled or not
953
- * @returns {void}
954
- * @memberof AdvancedAudioDescToggle
955
- */
956
- onAdvancedAudioClick: (isChecked: boolean) => void;
957
- /**
958
- * render function
959
- *
960
- * @param {*} props - component props
961
- * @returns {React$Element} - component
962
- * @memberof AdvancedAudioDescToggle
963
- */
964
- render(props: any): h.JSX.Element;
965
- }
966
-
967
926
  /**
968
927
  * @typedef {Object} KPAdvertisingConfigObject@typedef {Object} KPAdvertisingConfigObject
969
928
  * @property {PrebidConfig} prebid - The prebid config.
@@ -980,36 +939,34 @@ declare interface AdvertisingConfig {
980
939
  adBreakCuePointStyle?: Object;
981
940
  }
982
941
 
983
- /**
984
- * AudioMenu component
985
- *
986
- * @class AudioMenu
987
- * @example <AudioMenu />
988
- * @extends {Component}
989
- */
990
- declare class AudioMenu extends Component<AudioMenuProps & WithPlayerProps & WithEventDispatcherProps, any> {
991
- /**
992
- * call to player selectTrack method and change audio track
993
- *
994
- * @param {Object} audioTrack - audio track
995
- * @returns {void}
996
- * @memberof Settings
997
- */
998
- onAudioChange(audioTrack: any): void;
999
- /**
1000
- * render function
1001
- *
1002
- * @param {*} props - component props
1003
- * @returns {React$Element} - component
1004
- * @memberof AudioMenu
1005
- */
1006
- render(props: any): h.JSX.Element;
942
+ declare const Audio_2: any;
943
+
944
+ declare enum AUDIO_DESCRIPTION_TYPE {
945
+ AUDIO_DESCRIPTION = 1,
946
+ EXTENDED_AUDIO_DESCRIPTION = 2
1007
947
  }
1008
948
 
1009
- declare type AudioMenuProps = {
1010
- audioTracks?: any[];
1011
- audioLabelText?: string;
1012
- };
949
+ declare const AudioDesc: any;
950
+
951
+ declare namespace audioDescription {
952
+ export {
953
+ types_13 as types,
954
+ initialState_13 as initialState,
955
+ _default_13 as default,
956
+ actions_13 as actions
957
+ }
958
+ }
959
+
960
+ declare interface AudioDescriptionState {
961
+ audioDescriptionLanguages: string[];
962
+ advancedAudioDescriptionLanguages: string[];
963
+ isEnabled: boolean;
964
+ selectedType: AUDIO_DESCRIPTION_TYPE;
965
+ selectionByLanguage: Map<string, [boolean, AUDIO_DESCRIPTION_TYPE]>;
966
+ selectedAudioLanguage: string | null;
967
+ }
968
+
969
+ declare const AudioMenu: any;
1013
970
 
1014
971
  declare const BadgeType: {
1015
972
  qualityHd: string;
@@ -1672,6 +1629,7 @@ declare function bindActions<A, M extends ActionCreatorsMapObject<A>>(actions: M
1672
1629
  */
1673
1630
  declare class BottomBar extends Component<any, any> {
1674
1631
  private bottomBarContainerRef;
1632
+ private leftControlsRef;
1675
1633
  private presetControls;
1676
1634
  private resizeObserver;
1677
1635
  private _currBarWidthArr;
@@ -2076,8 +2034,7 @@ declare namespace Components {
2076
2034
  QualityMenu,
2077
2035
  HeightResolution,
2078
2036
  getLabelBadgeType,
2079
- AdvancedAudioDescToggle,
2080
- AdvancedAudioDesc,
2037
+ AudioDesc,
2081
2038
  ExpandableText,
2082
2039
  Scrollable,
2083
2040
  ProgressIndicator,
@@ -2111,6 +2068,7 @@ declare namespace Components {
2111
2068
  ClosedCaptions,
2112
2069
  ClosedCaptions as ClosedCaptionsControl,
2113
2070
  CaptionsControl,
2071
+ Audio_2 as Audio,
2114
2072
  EventDispatcherProvider,
2115
2073
  WithEventDispatcherProps,
2116
2074
  withEventDispatcher,
@@ -2318,6 +2276,51 @@ declare const _default_12: (state: BottomBarState | undefined, action: any) => {
2318
2276
  controlsToMove: any;
2319
2277
  };
2320
2278
 
2279
+ declare const _default_13: (state: AudioDescriptionState | undefined, action: any) => {
2280
+ audioDescriptionLanguages: any;
2281
+ advancedAudioDescriptionLanguages: string[];
2282
+ isEnabled: boolean;
2283
+ selectedType: AUDIO_DESCRIPTION_TYPE;
2284
+ selectionByLanguage: Map<string, [boolean, AUDIO_DESCRIPTION_TYPE]>;
2285
+ selectedAudioLanguage: string | null;
2286
+ } | {
2287
+ advancedAudioDescriptionLanguages: any;
2288
+ audioDescriptionLanguages: string[];
2289
+ isEnabled: boolean;
2290
+ selectedType: AUDIO_DESCRIPTION_TYPE;
2291
+ selectionByLanguage: Map<string, [boolean, AUDIO_DESCRIPTION_TYPE]>;
2292
+ selectedAudioLanguage: string | null;
2293
+ } | {
2294
+ isEnabled: any;
2295
+ audioDescriptionLanguages: string[];
2296
+ advancedAudioDescriptionLanguages: string[];
2297
+ selectedType: AUDIO_DESCRIPTION_TYPE;
2298
+ selectionByLanguage: Map<string, [boolean, AUDIO_DESCRIPTION_TYPE]>;
2299
+ selectedAudioLanguage: string | null;
2300
+ } | {
2301
+ selectedType: any;
2302
+ audioDescriptionLanguages: string[];
2303
+ advancedAudioDescriptionLanguages: string[];
2304
+ isEnabled: boolean;
2305
+ selectionByLanguage: Map<string, [boolean, AUDIO_DESCRIPTION_TYPE]>;
2306
+ selectedAudioLanguage: string | null;
2307
+ } | {
2308
+ isDefaultValueSet: any;
2309
+ audioDescriptionLanguages: string[];
2310
+ advancedAudioDescriptionLanguages: string[];
2311
+ isEnabled: boolean;
2312
+ selectedType: AUDIO_DESCRIPTION_TYPE;
2313
+ selectionByLanguage: Map<string, [boolean, AUDIO_DESCRIPTION_TYPE]>;
2314
+ selectedAudioLanguage: string | null;
2315
+ } | {
2316
+ selectedAudioLanguage: any;
2317
+ audioDescriptionLanguages: string[];
2318
+ advancedAudioDescriptionLanguages: string[];
2319
+ isEnabled: boolean;
2320
+ selectedType: AUDIO_DESCRIPTION_TYPE;
2321
+ selectionByLanguage: Map<string, [boolean, AUDIO_DESCRIPTION_TYPE]>;
2322
+ };
2323
+
2321
2324
  declare const _default_2: (state: CvaaState | undefined, action: any) => {
2322
2325
  style: any;
2323
2326
  };
@@ -2472,28 +2475,19 @@ declare const _default_8: (state: SettingsState | undefined, action: any) => {
2472
2475
  quality: any;
2473
2476
  speed: number;
2474
2477
  audio?: string | undefined;
2475
- advancedAudioDesc: boolean;
2476
2478
  } | {
2477
2479
  speed: any;
2478
2480
  quality: number;
2479
2481
  audio?: string | undefined;
2480
- advancedAudioDesc: boolean;
2481
2482
  } | {
2482
2483
  audio: any;
2483
2484
  quality: number;
2484
2485
  speed: number;
2485
- advancedAudioDesc: boolean;
2486
- } | {
2487
- advancedAudioDesc: any;
2488
- quality: number;
2489
- speed: number;
2490
- audio?: string | undefined;
2491
2486
  } | {
2492
2487
  isCaptionsEnabled: any;
2493
2488
  quality: number;
2494
2489
  speed: number;
2495
2490
  audio?: string | undefined;
2496
- advancedAudioDesc: boolean;
2497
2491
  };
2498
2492
 
2499
2493
  declare const _default_9: (state: ShellState | undefined, action: any) => {
@@ -2884,7 +2878,7 @@ declare type EngineConnectorProps = {
2884
2878
  engine: EngineState;
2885
2879
  player: KalturaPlayer;
2886
2880
  eventManager: EventManager;
2887
- } & typeof actions_3 & typeof actions_4 & typeof actions_9 & {
2881
+ } & typeof actions_3 & typeof actions_4 & typeof actions_13 & typeof actions_9 & {
2888
2882
  seekbarUpdateCurrentTime: typeof actions_7.updateCurrentTime;
2889
2883
  } & {
2890
2884
  updateIsCaptionsEnabled: typeof actions_8.updateIsCaptionsEnabled;
@@ -3107,6 +3101,7 @@ declare const EventType: {
3107
3101
  readonly USER_SELECTED_CAPTIONS_BACKGROUND_COLOR: "playkit-ui-userselectedcaptionsbackgroundcolor";
3108
3102
  readonly USER_SELECTED_CAPTIONS_BACKGROUND_OPACITY: "playkit-ui-userselectedcaptionsbackgroundopacity";
3109
3103
  readonly BOTTOM_BAR_CLIENT_RECT_CHANGED: "playkit-ui-bottombarclientrectchanged";
3104
+ readonly BOTTOM_BAR_NEEDS_RESIZE: "playkit-ui-bottombarneedsresize";
3110
3105
  readonly PLAYER_HOVERED: "playkit-ui-playerhovered";
3111
3106
  readonly USER_COPIED_DEBUG_INFO: "playkit-ui-usercopieddebuginfo";
3112
3107
  };
@@ -3330,9 +3325,9 @@ declare interface IAdsPluginController {
3330
3325
  * @extends {Component}
3331
3326
  */
3332
3327
  declare class Icon extends Component<any, any> {
3333
- _defaultColor: string;
3334
- _activeColor: string;
3335
- _className: string;
3328
+ private _defaultColor;
3329
+ private _activeColor;
3330
+ private _className;
3336
3331
  /**
3337
3332
  * @constructor
3338
3333
  * @param {Object} props - component props
@@ -3345,7 +3340,7 @@ declare class Icon extends Component<any, any> {
3345
3340
  * @returns {void}
3346
3341
  * @memberof Icon
3347
3342
  */
3348
- createDynamicIconClass: (props: any) => void;
3343
+ private createDynamicIconClass;
3349
3344
  /**
3350
3345
  * Generates the encoded svg url for a certain svg path
3351
3346
  *
@@ -3357,7 +3352,7 @@ declare class Icon extends Component<any, any> {
3357
3352
  * @returns {string} - encoded svg url
3358
3353
  * @memberof Icon
3359
3354
  */
3360
- getSVGUrl: (path: string, width?: number, height?: number, viewBox?: string, fillRule?: string) => string;
3355
+ private getSVGUrl;
3361
3356
  /**
3362
3357
  * @param {?number} state - icon state
3363
3358
  * @param {?string} color - external default color
@@ -3365,14 +3360,14 @@ declare class Icon extends Component<any, any> {
3365
3360
  * @returns {string} - svg fill color
3366
3361
  * @memberof Icon
3367
3362
  */
3368
- getFillColor: (state?: number, color?: string, activeColor?: string) => string;
3363
+ private getFillColor;
3369
3364
  /**
3370
3365
  * @param {string | Array<string>} pathProps - svg path or paths (if an icon contains multiple paths)
3371
3366
  * @param {string} fillColor - icon fill color
3372
3367
  * @returns {string} - icon path tag
3373
3368
  * @memberof Icon
3374
3369
  */
3375
- getPathTag: (pathProps: any | Array<any>, fillColor: string) => string;
3370
+ private getPathTag;
3376
3371
  /**
3377
3372
  * component will update
3378
3373
  * @param {Object} nextProps - the next props
@@ -3405,6 +3400,7 @@ declare const IconType: {
3405
3400
  Minimize: string;
3406
3401
  Play: string;
3407
3402
  Pause: string;
3403
+ Stop: string;
3408
3404
  VolumeBase: string;
3409
3405
  VolumeWaves: string;
3410
3406
  VolumeWave: string;
@@ -3439,6 +3435,8 @@ declare const IconType: {
3439
3435
  ClosedCaptionsOff: string;
3440
3436
  AdvancedAudioDescription: string;
3441
3437
  AdvancedAudioDescriptionActive: string;
3438
+ AdvancedAudioDescriptionDisabled: string;
3439
+ AdvancedAudioDescriptionDisabledDropdown: string;
3442
3440
  };
3443
3441
 
3444
3442
  /**
@@ -3468,15 +3466,20 @@ declare function imgUI(props: any): VNode<any>;
3468
3466
  declare const initialState: {
3469
3467
  targetId: string;
3470
3468
  forceTouchUI: boolean;
3469
+ allowPlayPause: boolean;
3470
+ allowLivePlayPause: boolean;
3471
3471
  showCCButton: boolean;
3472
+ showAudioButton: boolean;
3473
+ showAudioDescriptionButton: boolean;
3472
3474
  openMenuFromCCButton: boolean;
3475
+ openMenuFromAudioDescriptionButton: boolean;
3473
3476
  settings: {
3474
3477
  showAudioMenu: boolean;
3475
3478
  showCaptionsMenu: boolean;
3476
3479
  showQualityMenu: boolean;
3477
3480
  showSpeedMenu: boolean;
3478
- showAdvancedAudioDescToggle: boolean;
3479
3481
  showAdvancedCaptionsMenu: boolean;
3482
+ showAudioDescriptionMenu: boolean;
3480
3483
  };
3481
3484
  hoverTimeout: number;
3482
3485
  tinySizeDisabled: boolean;
@@ -3503,6 +3506,16 @@ declare const initialState_12: {
3503
3506
  controlsToMove: never[];
3504
3507
  };
3505
3508
 
3509
+ declare const initialState_13: {
3510
+ audioDescriptionLanguages: never[];
3511
+ advancedAudioDescriptionLanguages: never[];
3512
+ isEnabled: boolean;
3513
+ selectedType: AUDIO_DESCRIPTION_TYPE;
3514
+ selectionByLanguage: Map<string, [boolean, AUDIO_DESCRIPTION_TYPE]>;
3515
+ isDefaultValueSet: boolean;
3516
+ selectedAudioLanguage: null;
3517
+ };
3518
+
3506
3519
  declare const initialState_2: {
3507
3520
  style: string;
3508
3521
  };
@@ -3584,7 +3597,6 @@ declare const initialState_7: SeekbarState;
3584
3597
  declare const initialState_8: {
3585
3598
  quality: number;
3586
3599
  speed: number;
3587
- advancedAudioDesc: boolean;
3588
3600
  isCaptionsEnabled: boolean;
3589
3601
  };
3590
3602
 
@@ -4356,9 +4368,7 @@ declare class Keyboard extends Component<any, any> {
4356
4368
  *
4357
4369
  * @memberof Keyboard
4358
4370
  */
4359
- keyboardHandlers: {
4360
- [key: number]: (event: KeyboardEvent) => KeyboardEventResult;
4361
- };
4371
+ private keyboardHandlers;
4362
4372
  render(): undefined;
4363
4373
  }
4364
4374
 
@@ -4855,7 +4865,7 @@ declare interface MediaSourceOptionsObject {
4855
4865
  * @extends {Component}
4856
4866
  */
4857
4867
  declare class Menu extends Component<MenuProps & WithEventManagerProps, any> {
4858
- _menuElement: HTMLDivElement;
4868
+ private _menuElement;
4859
4869
  /**
4860
4870
  * before component mounted, set initial state of the menu position
4861
4871
  * @returns {void}
@@ -4874,7 +4884,7 @@ declare class Menu extends Component<MenuProps & WithEventManagerProps, any> {
4874
4884
  * @returns {Array} position style classes array
4875
4885
  * @memberof Menu
4876
4886
  */
4877
- getPosition(): Array<string>;
4887
+ private getPosition;
4878
4888
  /**
4879
4889
  * handler to click outside of the component event listener.
4880
4890
  * if not mobile device and clicked outside the component, call the onClose callback
@@ -4883,7 +4893,7 @@ declare class Menu extends Component<MenuProps & WithEventManagerProps, any> {
4883
4893
  * @returns {void}
4884
4894
  * @memberof Menu
4885
4895
  */
4886
- handleClickOutside: (e: any) => void;
4896
+ private handleClickOutside;
4887
4897
  /**
4888
4898
  * indication if option is active or not
4889
4899
  *
@@ -4891,7 +4901,7 @@ declare class Menu extends Component<MenuProps & WithEventManagerProps, any> {
4891
4901
  * @returns {boolean} is option active boolean
4892
4902
  * @memberof Menu
4893
4903
  */
4894
- isSelected(option: any): boolean;
4904
+ private isSelected;
4895
4905
  /**
4896
4906
  * when option selected, change the active prop immediately for instant ui change
4897
4907
  * and call the onSelect callback with the option value
@@ -4900,7 +4910,7 @@ declare class Menu extends Component<MenuProps & WithEventManagerProps, any> {
4900
4910
  * @returns {void}
4901
4911
  * @memberof Menu
4902
4912
  */
4903
- onSelect(option: OptionType): void;
4913
+ private onSelect;
4904
4914
  /**
4905
4915
  * on change handler
4906
4916
  * @param {Event} e - event
@@ -4914,14 +4924,14 @@ declare class Menu extends Component<MenuProps & WithEventManagerProps, any> {
4914
4924
  * - If the selected index is within `options.length`, it's a normal option, so we call `onSelect()`.
4915
4925
  * - Otherwise, it's `additionalOptions`, so we calculate itsrelative index and call `onMenuChosen()` directly
4916
4926
  */
4917
- onChange: (e: Event) => void;
4927
+ private onChange;
4918
4928
  /**
4919
4929
  * render native select element
4920
4930
  * @param {string} labelledby - the label id the describes the dropdown (for screen reader)
4921
4931
  * @returns {React$Element} - component element
4922
4932
  * @memberof Menu
4923
4933
  */
4924
- renderNativeSelect(labelledby: string): VNode<any>;
4934
+ private renderNativeSelect;
4925
4935
  /**
4926
4936
  * if mobile device detected, renders the native select element.
4927
4937
  * otherwise, render the styled menu
@@ -4962,7 +4972,9 @@ declare interface NetworkConfig {
4962
4972
  declare type OptionType = {
4963
4973
  value: any;
4964
4974
  label: string;
4975
+ ariaLabel?: string;
4965
4976
  active: boolean;
4977
+ disabled?: boolean;
4966
4978
  };
4967
4979
 
4968
4980
  /**
@@ -5065,7 +5077,7 @@ declare class OverlayAction extends Component<any, any> {
5065
5077
  * @returns {void}
5066
5078
  * @memberof OverlayAction
5067
5079
  */
5068
- togglePlayPause: () => void;
5080
+ private togglePlayPause;
5069
5081
  /**
5070
5082
  * toggle exit-enter fullscreen
5071
5083
  *
@@ -5841,9 +5853,7 @@ declare interface PlaylistState {
5841
5853
  */
5842
5854
  declare class PlayPause extends Component<any, any> {
5843
5855
  private _playPauseButtonRef?;
5844
- state: {
5845
- entryName: string;
5846
- };
5856
+ constructor();
5847
5857
  /**
5848
5858
  * component mounted
5849
5859
  *
@@ -5857,8 +5867,8 @@ declare class PlayPause extends Component<any, any> {
5857
5867
  * @returns {void}
5858
5868
  * @memberof PlayPause
5859
5869
  */
5860
- togglePlayPause: () => void;
5861
- handleKeyDown: (e: KeyboardEvent) => void;
5870
+ private togglePlayPause;
5871
+ private handleKeyDown;
5862
5872
  /**
5863
5873
  * render component
5864
5874
  *
@@ -6029,7 +6039,8 @@ declare namespace Reducers {
6029
6039
  shell,
6030
6040
  volume,
6031
6041
  overlay,
6032
- bottomBar
6042
+ bottomBar,
6043
+ audioDescription
6033
6044
  }
6034
6045
  }
6035
6046
  export { Reducers }
@@ -6270,6 +6281,7 @@ export declare interface RootState {
6270
6281
  playlist: PlaylistState;
6271
6282
  overlay: OverlayState;
6272
6283
  bottomBar: BottomBarState;
6284
+ audioDescription: AudioDescriptionState;
6273
6285
  }
6274
6286
 
6275
6287
  /**
@@ -6382,7 +6394,7 @@ declare class SeekBar extends Component<any, any> {
6382
6394
  * @returns {void}
6383
6395
  * @memberof SeekBar
6384
6396
  */
6385
- togglePlayPause: () => void;
6397
+ private togglePlayPause;
6386
6398
  /**
6387
6399
  * seekbar touch end handler
6388
6400
  *
@@ -6735,7 +6747,6 @@ declare interface SettingsState {
6735
6747
  quality: number;
6736
6748
  speed: number;
6737
6749
  audio?: string;
6738
- advancedAudioDesc: boolean;
6739
6750
  }
6740
6751
 
6741
6752
  /**
@@ -6793,7 +6804,7 @@ declare class Shell extends Component<any, any> {
6793
6804
  * @param {KeyboardEvent} e - event object
6794
6805
  * @returns {void}
6795
6806
  */
6796
- onKeyDown: (e: KeyboardEvent) => void;
6807
+ private onKeyDown;
6797
6808
  /**
6798
6809
  * componentWillMount
6799
6810
  *
@@ -7589,6 +7600,17 @@ declare const types_12: {
7589
7600
  UPDATE_CONTROLS_TO_MOVE: string;
7590
7601
  };
7591
7602
 
7603
+ declare const types_13: {
7604
+ UPDATE_AUDIO_DESCRIPTION_LANGUAGES: string;
7605
+ UPDATE_EXTENDED_AUDIO_DESCRIPTION_LANGUAGES: string;
7606
+ UPDATE_AUDIO_DESCRIPTION_ENABLED: string;
7607
+ UPDATE_AUDIO_DESCRIPTION_TYPE: string;
7608
+ UPDATE_SELECTION_BY_LANGUAGE: string;
7609
+ RESET_SELECTION_BY_LANGUAGE: string;
7610
+ UPDATE_DEFAULT_VALUE_SET: string;
7611
+ UPDATE_SELECTED_AUDIO_LANGUAGE: string;
7612
+ };
7613
+
7592
7614
  declare const types_2: {
7593
7615
  UPDATE_CAPTIONS_STYLE: string;
7594
7616
  };
@@ -7845,15 +7867,20 @@ export declare interface UIOptionsObject {
7845
7867
  targetId: string;
7846
7868
  debugActions?: boolean;
7847
7869
  forceTouchUI?: boolean;
7870
+ allowPlayPause?: boolean;
7871
+ allowLivePlayPause?: boolean;
7848
7872
  showCCButton?: boolean;
7873
+ showAudioDescriptionButton?: boolean;
7849
7874
  openMenuFromCCButton?: boolean;
7875
+ openMenuFromAudioDescriptionButton?: boolean;
7876
+ showAudioButton?: boolean;
7850
7877
  settings?: {
7851
7878
  showAudioMenu?: boolean;
7852
7879
  showCaptionsMenu?: boolean;
7853
7880
  showQualityMenu?: boolean;
7854
7881
  showSpeedMenu?: boolean;
7855
- showAdvancedAudioDescToggle?: boolean;
7856
7882
  showAdvancedCaptionsMenu?: boolean;
7883
+ showAudioDescriptionMenu?: boolean;
7857
7884
  };
7858
7885
  hoverTimeout?: number;
7859
7886
  logger?: LoggerType;