@vkontakte/videoplayer 1.1.74-dev.7dc0bee9.0 → 1.1.74-dev.b423ec75.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vkontakte/videoplayer",
3
- "version": "1.1.74-dev.7dc0bee9.0",
3
+ "version": "1.1.74-dev.b423ec75.0",
4
4
  "author": "vk.com",
5
5
  "description": "Videoplayer based on the vk.com platform",
6
6
  "homepage": "https://vk.com",
@@ -55,9 +55,9 @@
55
55
  ],
56
56
  "dependencies": {
57
57
  "@adtech/rbadman": "2.2.57",
58
- "@vkontakte/videoplayer-core": "2.0.143-dev.7dc0bee9.0",
59
- "@vkontakte/videoplayer-interactive": "1.0.49-dev.7dc0bee9.0",
60
- "@vkontakte/videoplayer-shared": "1.0.71-dev.7dc0bee9.0",
61
- "@vkontakte/videoplayer-statistics": "1.0.89-dev.7dc0bee9.0"
58
+ "@vkontakte/videoplayer-core": "2.0.143-dev.b423ec75.0",
59
+ "@vkontakte/videoplayer-interactive": "1.0.49-dev.b423ec75.0",
60
+ "@vkontakte/videoplayer-shared": "1.0.71-dev.b423ec75.0",
61
+ "@vkontakte/videoplayer-statistics": "1.0.89-dev.b423ec75.0"
62
62
  }
63
63
  }
@@ -13,6 +13,10 @@ import { SlotsApi } from '../utils/webAPI/slotsApi';
13
13
  export declare class VKVideoPlayer extends HTMLElement {
14
14
  private svelteStubComponent?;
15
15
  private svelteRootComponent?;
16
+ /**
17
+ * Слой, который живет на протяжении жизни плеера, не уничтожается между переключениями видео.
18
+ */
19
+ private sveltePersistentLayerComponent?;
16
20
  private svelteErrorComponent?;
17
21
  private store?;
18
22
  private microStoresRoot?;
@@ -49,6 +53,7 @@ export declare class VKVideoPlayer extends HTMLElement {
49
53
  private readonly fatalError$;
50
54
  constructor();
51
55
  private connectedCallback;
56
+ private updatePersistentLayerProps;
52
57
  private disconnectedCallback;
53
58
  private initPlayerRootContainers;
54
59
  private needToShowNextPrevButtons;
@@ -20,8 +20,6 @@ export declare class AdmanWrapper {
20
20
  private runtimeTimeout;
21
21
  private useAdmanFromNPM;
22
22
  private isVsidOriginal;
23
- private usePuid;
24
- private debug;
25
23
  private watchDogTimeout;
26
24
  private externalApi?;
27
25
  events: {
@@ -34,6 +34,4 @@ export interface IConfig {
34
34
  useAdmanFromNPM: boolean;
35
35
  volumeMultiplier: number;
36
36
  isVsidOriginal: boolean;
37
- usePuid: boolean;
38
- debug: boolean;
39
37
  }
@@ -78,3 +78,6 @@ export interface RootExports {
78
78
  toggleTrafficSaving: (value: boolean) => void;
79
79
  toggleHighQuality: (value: boolean) => void;
80
80
  }
81
+ export interface PersistentLayerExports {
82
+ startVideoChangedAnimation: (prev: boolean) => void;
83
+ }
package/types/config.d.ts CHANGED
@@ -8,6 +8,8 @@ type ForceOrRelay = boolean | undefined;
8
8
  export declare enum LogoType {
9
9
  VK = "vk",
10
10
  VK_VIDEO = "vk_video",
11
+ APP_STORE = "app_store",
12
+ PLAY_MARKET = "play_market",
11
13
  VK_VIDEO_MOBILE = "vk_video_mobile"
12
14
  }
13
15
  export interface IUIConfig {
@@ -40,8 +42,6 @@ export interface IUIConfig {
40
42
  useAdmanFromNPM: boolean;
41
43
  volumeMultiplier: number;
42
44
  isVsidOriginal: boolean;
43
- usePuid: boolean;
44
- debug: boolean;
45
45
  };
46
46
  /**
47
47
  * Если нет ранее сохранённого значения громкости будет использовано это
@@ -78,6 +78,7 @@ export interface IUIConfig {
78
78
  };
79
79
  hideThumbTimerAfterTouch: boolean;
80
80
  preventPauseOnVideoClick: boolean;
81
+ returnFocusOnControlsHide: boolean;
81
82
  sentry: {
82
83
  dsn: string;
83
84
  sampleRate: number;
@@ -159,18 +160,10 @@ export interface IUIConfig {
159
160
  * Отображать ли анимацию смены статуса проигрывания.
160
161
  */
161
162
  playbackStatusShow: boolean;
162
- /**
163
- * Продолжительность анимации.
164
- */
165
- playbackStatusAnimationDuration: number;
166
163
  /**
167
164
  * Отображать ли анимацию при переключении видео на следующее или предыдущее.
168
165
  */
169
166
  playbackStatusNextVideoShow: boolean;
170
- /**
171
- * Продолжительность анимации для переключения видео.
172
- */
173
- playbackStatusNextVideoAnimationDuration: number;
174
167
  /**
175
168
  * Включает ранее выбранный язык субтитров при запуске видео
176
169
  */
@@ -197,6 +190,7 @@ export interface IUIConfig {
197
190
  * Если включен то за зацикливание одного видео будет отвечать флаг loop
198
191
  */
199
192
  useLoopSetting: boolean;
193
+ doubleForwardAvailable: boolean;
200
194
  };
201
195
  interactive: {
202
196
  historyMaxLength: number;
@@ -227,6 +221,15 @@ export interface IUIConfig {
227
221
  };
228
222
  /** уникальный идентификатор пользователя для сохранения настроек */
229
223
  userSalt: string;
224
+ /**
225
+ * Время, которое нужно зажимать горячую клавишу, чтобы включилось х2 ускорение.
226
+ */
227
+ doubleForwardActivationTime: number;
228
+ playbackStatusAnimationDuration: number;
229
+ /**
230
+ * Продолжительность анимации для переключения видео.
231
+ */
232
+ playbackStatusNextVideoAnimationDuration: number;
230
233
  }
231
234
  export declare const defaultConfig: IUIConfig;
232
235
  export type IOptionalUIConfig = RecursivePartial<IUIConfig>;
package/types/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { VKVideoPlayer } from './VKVideoPlayer/index.svelte';
2
2
  import type { IVKVideoPlayerConfig, IControlInfo, ITimelinePreviewThumbsData, IUpcomingLiveViewControlInfo, IVKVideoPlayerCallbacks, IVideoData, HotKeyMapData, HotKeyMapItem, HotKeyMapGroup, IVideoLive, IInteractiveData, AdditionalButtonDeprecated, IVideoEpisode, VideoPlayerView } from './types';
3
3
  import type { LanguagePack, LanguageConfig } from './translation/types';
4
- import type { ISDKConfig } from './config';
4
+ import type { LogoType as VKLogoType, ISDKConfig } from './config';
5
5
  import type { AdsParams, IAdmanInitParamsExternalApi } from './components/Ads/types';
6
6
  import type { ISources, IDashSource, URLSource, RawSource, URLSourceWithSeek } from '@vkontakte/videoplayer-core';
7
7
  import type { Milliseconds, QualityLimits } from '@vkontakte/videoplayer-shared';
@@ -9,7 +9,7 @@ export { VERSION } from './env';
9
9
  export declare const registerPlayerWebComponent: () => void;
10
10
  export { type AdditionalSettingsMenuItem, MenuItemType, type AdditionalClickSettingsMenuItem, type AdditionalSwitchSettingsMenuItem, type AdditionalContextMenuItem, } from './components/Menus/subMenuTabs/types';
11
11
  export { type AdditionalButton, ControlButtonType, } from './components/Controls/types';
12
- export type { VKVideoPlayer, IVKVideoPlayerConfig, IControlInfo, ITimelinePreviewThumbsData, IUpcomingLiveViewControlInfo, IVKVideoPlayerCallbacks, IVideoData, AdsParams, HotKeyMapData, HotKeyMapItem, HotKeyMapGroup, ISources, IDashSource, URLSource, RawSource, URLSourceWithSeek, LanguagePack, LanguageConfig, Milliseconds, IVideoLive, IInteractiveData, AdditionalButtonDeprecated, QualityLimits, IVideoEpisode, ISDKConfig, VideoPlayerView, IAdmanInitParamsExternalApi, };
12
+ export type { VKVideoPlayer, IVKVideoPlayerConfig, IControlInfo, ITimelinePreviewThumbsData, IUpcomingLiveViewControlInfo, IVKVideoPlayerCallbacks, IVideoData, AdsParams, HotKeyMapData, HotKeyMapItem, HotKeyMapGroup, ISources, IDashSource, URLSource, RawSource, URLSourceWithSeek, LanguagePack, LanguageConfig, Milliseconds, IVideoLive, IInteractiveData, AdditionalButtonDeprecated, QualityLimits, IVideoEpisode, ISDKConfig, VideoPlayerView, IAdmanInitParamsExternalApi, VKLogoType, };
13
13
  export { GridTypes, } from './constans';
14
14
  export { PlayerPhase, } from './types';
15
15
  export { InterfaceLanguage, VKNumericLanguage, loadVKLangPack, } from '@vkontakte/videoplayer-shared';
@@ -122,7 +122,6 @@ export interface IUIState {
122
122
  ref$: Writable<HTMLElement | undefined>;
123
123
  name$: Writable<string | undefined>;
124
124
  };
125
- aboutToGoNextVideo: Writable<'next' | 'prev' | undefined>;
126
125
  /**
127
126
  * Отключаем любое действие пользователя.
128
127
  */
@@ -131,6 +130,14 @@ export interface IUIState {
131
130
  * Положение заголовка названия видео.
132
131
  */
133
132
  videoTitleInfo: Writable<IControlInfo | undefined>;
133
+ /**
134
+ * Ускорение видео х2.
135
+ */
136
+ doubleForwardOn$: Writable<boolean>;
137
+ /**
138
+ * Определяет, что двойное ускорение видео доступно.
139
+ */
140
+ doubleForwardAvailable$: Readable<false>;
134
141
  }
135
142
  export interface IWebApi {
136
143
  pictureInPictureApi?: IPictureInPictureApi;
@@ -177,7 +184,7 @@ export interface IStore {
177
184
  availableQualities$: Readable<VideoQualityForRender[]>;
178
185
  currentPlaybackRate$: Readable<number>;
179
186
  availablePlaybackRates$: Readable<VideoPlaybackRate[]>;
180
- currentSubtitle$: Writable<Omit<VideoSubtitle, 'selected'>>;
187
+ currentSubtitle$: Readable<Omit<VideoSubtitle, 'selected'>>;
181
188
  availableTextTracks$: Readable<ITextTrack[]>;
182
189
  availableSubtitlesList$: Readable<VideoSubtitle[]>;
183
190
  currentSubtitleCaptions$: Readable<VideoSubtitleParsed['texts']>;
@@ -294,6 +301,7 @@ export interface IStore {
294
301
  nextVideoAnnouncementAuto: () => void;
295
302
  nextVideoAnnouncementCancel: () => void;
296
303
  checkFullscreenSupport: () => boolean;
304
+ changeDoubleForwardOn: (enabled: boolean) => void;
297
305
  };
298
306
  external: {
299
307
  firstStart: (showAds: boolean) => void;
@@ -363,6 +371,11 @@ interface IStoreParams {
363
371
  additionalContextMenuItems: AdditionalContextMenuItem[];
364
372
  playPrevVideo: () => void;
365
373
  playNextVideo: () => void;
374
+ /**
375
+ * playPrevVideo или playNextVideo могут не вызваться, если обработка следующего видео находится на стороне интегарции,
376
+ * поэтому используем данный колбэк.
377
+ */
378
+ onVideoChanged: (prev: boolean) => void;
366
379
  looped?: boolean;
367
380
  statistics?: UIOneStat;
368
381
  saveRate: boolean;
@@ -374,5 +387,5 @@ interface IStoreParams {
374
387
  * Store приложения.
375
388
  * Если будет слишком большим - можно разделить его на модули
376
389
  */
377
- export declare const createStore: ({ interfaceLanguage, isCyrillicRelatedInterface, videoId, isClip, isLiveCatchUpMode, statAuthToken, isAudioDisabled, canDownload, callbacks, webApi, videoEpisodes, previewThumbsData, uiConfig, coreConfig, player: playerInstance, disabledControls, isInteractive, interactiveRanges$, isInteractiveTime$, replayInteractive, stopPlayer, hasInteractiveBranches, playPrevChapterDisabledTooltip, additionalButtons, additionalSettingsMenuItems, additionalContextMenuItems, playPrevVideo, playNextVideo, looped, statistics: uiStatistics, saveRate, internalsExposure, playerView, playerId, }: IStoreParams) => IStore;
390
+ export declare const createStore: ({ interfaceLanguage, isCyrillicRelatedInterface, videoId, isClip, isLiveCatchUpMode, statAuthToken, isAudioDisabled, canDownload, callbacks, webApi, videoEpisodes, previewThumbsData, uiConfig, coreConfig, player: playerInstance, disabledControls, isInteractive, interactiveRanges$, isInteractiveTime$, replayInteractive, stopPlayer, hasInteractiveBranches, playPrevChapterDisabledTooltip, additionalButtons, additionalSettingsMenuItems, additionalContextMenuItems, playPrevVideo, playNextVideo, onVideoChanged, looped, statistics: uiStatistics, saveRate, internalsExposure, playerView, playerId, }: IStoreParams) => IStore;
378
391
  export {};
@@ -12,7 +12,7 @@ export declare const getMicroStores: () => IMicroStores;
12
12
  */
13
13
  export declare const storeFromObservable: <T>(observable$: IValueObservable<T>, onNewValueEmitted?: (value: T) => void) => Readable<T>;
14
14
  export declare const storeFromObservableWithInitValue: <T>(observable$: IObservable<T>, initValue: T, onNewValueEmitted?: (value: T) => void) => Readable<T>;
15
- export declare const constructDebugTextData: (player: IPlayer, config: IConfig, store: IStore, traceId: string) => string;
15
+ export declare const constructDebugTextData: (player: IPlayer, config: IConfig | undefined, store: IStore, traceId: string) => string;
16
16
  export type DebugData = {
17
17
  version: string;
18
18
  viewport: string;
@@ -1,5 +1,5 @@
1
1
  import { InterfaceLanguage } from '@vkontakte/videoplayer-shared';
2
- export type Key = 'auto_quality_invariant' | 'auto_quality' | 'menu_quality' | 'menu_playback_rate' | 'menu_traffic_saving' | 'menu_report' | 'menu_pip' | 'menu_pip_close' | 'menu_copy_video_link' | 'menu_copy_video_link_with_timestamp' | 'menu_video_rotate' | 'menu_video_loop_on' | 'menu_video_loop_off' | 'menu_chromecast' | 'menu_copy_debug' | 'menu_save_debug' | 'menu_debug_overlay' | 'menu_copy_embed_code' | 'pip_dummy_title' | 'submenu_traffic_saving' | 'submenu_quality' | 'submenu_playback_rate' | 'submenu_settings' | 'submenu_audio_languages' | 'auto_quality_option' | 'playing_ads' | 'skip_ads_now' | 'skip_ads_after' | 'visit_advertiser' | 'aria_timeline' | 'aria_timeline_value' | 'doubletap_seek_step' | 'playback_rate_1' | 'playback_rate' | 'video360' | 'subtitles_caption' | 'subtitles_auto' | 'subtitles_off' | 'subtitles_auto_caption' | 'subtitles_turn_on' | 'subtitles_turn_off' | 'traffic_saving_off' | 'traffic_saving_on' | 'traffic_saving_helper_text' | 'tooltip_previous' | 'tooltip_restart' | 'tooltip_play' | 'tooltip_pause' | 'tooltip_next' | 'tooltip_button_disabled' | 'tooltip_interactive_go_back' | 'tooltip_interactive_go_back_disabled' | 'tooltip_interactive_go_back_disabled_first' | 'tooltip_interactive_go_back_disabled_limit' | 'tooltip_chapter_without_interactive' | 'tooltip_interactive_of_chapter_completed' | 'tooltip_interactive_seek' | 'tooltip_interactive_graph_off' | 'tooltip_interactive_graph_on' | 'tooltip_live' | 'tooltip_episodes' | 'tooltip_volume' | 'tooltip_volume_muted' | 'tooltip_sound_unavailable' | 'tooltip_settings_on' | 'tooltip_subtitles_off' | 'tooltip_settings_off' | 'tooltip_subtitles_on' | 'tooltip_fullscreen_off' | 'tooltip_fullscreen_on' | 'tooltip_chromecast_off' | 'tooltip_chromecast_on' | 'tooltip_episode_finished' | 'tooltip_episode_unfinished' | 'tooltip_disabled_when_interactive' | 'tooltip_disabled_when_graph_on' | 'tooltip_interactive_interaction_time_indicator' | 'tooltip_vk_logo' | 'tooltip_vk_video_logo' | 'tooltip_autoplay_off' | 'tooltip_autoplay_on' | 'tooltip_context_menu_open' | 'tooltip_context_menu_close' | 'download_video_caption' | 'hotkey_helper_current_volume' | 'hotkey_map_modal_title' | 'hotkey_map_modal_close_btn_text' | 'hotkey_map_group_title_common' | 'hotkey_map_group_title_playback' | 'hotkey_map_group_title_subtitles' | 'hotkey_map_group_title_episodes' | 'hotkey_map_item_mute_description' | 'hotkey_map_item_mute_value' | 'hotkey_map_item_volume_down_description' | 'hotkey_map_item_volume_down_value' | 'hotkey_map_item_volume_up_description' | 'hotkey_map_item_volume_up_value' | 'hotkey_map_item_pip_description' | 'hotkey_map_item_pip_value' | 'hotkey_map_item_full_screen_description' | 'hotkey_map_item_full_screen_value' | 'hotkey_map_item_show_context_menu_description' | 'hotkey_map_item_show_context_menu_value' | 'hotkey_map_item_show_hotkey_map_description' | 'hotkey_map_item_show_hotkey_map_value' | 'hotkey_map_item_play_toggle_description' | 'hotkey_map_item_play_toggle_value' | 'hotkey_map_item_seek_backward_description' | 'hotkey_map_item_seek_backward_value' | 'hotkey_map_item_seek_forward_description' | 'hotkey_map_item_seek_forward_value' | 'hotkey_map_item_fast_seek_backward_description' | 'hotkey_map_item_fast_seek_backward_value' | 'hotkey_map_item_fast_seek_forward_description' | 'hotkey_map_item_fast_seek_forward_value' | 'hotkey_map_item_rate_down_description' | 'hotkey_map_item_rate_down_value' | 'hotkey_map_item_rate_up_description' | 'hotkey_map_item_rate_up_value' | 'hotkey_map_item_prev_frame_description' | 'hotkey_map_item_prev_frame_value' | 'hotkey_map_item_next_frame_description' | 'hotkey_map_item_next_frame_value' | 'hotkey_map_item_jump_seek_description' | 'hotkey_map_item_jump_seek_value' | 'hotkey_map_item_subtitles_toggle_description' | 'hotkey_map_item_subtitles_toggle_value' | 'hotkey_map_item_prev_episode_description' | 'hotkey_map_item_prev_episode_pc_value' | 'hotkey_map_item_prev_episode_mac_value' | 'hotkey_map_item_next_episode_description' | 'hotkey_map_item_next_episode_pc_value' | 'hotkey_map_item_next_episode_mac_value' | 'hotkey_map_item_next_video_description' | 'hotkey_map_item_next_video_value' | 'hotkey_map_item_prev_video_description' | 'hotkey_map_item_prev_video_value' | 'waiting_live_day_value' | 'waiting_live_hour_value' | 'waiting_live_minute_value' | 'waiting_live_second_value' | 'waiting_live_colon' | 'waiting_live_upcoming_title' | 'waiting_live_timer_title' | 'waiting_live_recover_title' | 'waiting_record_title' | 'aria_label_submenu_traffic_saving' | 'aria_label_submenu_back' | 'aria_label_menu_quality' | 'aria_label_menu_rate' | 'aria_label_menu_subtitle' | 'aria_label_menu_download' | 'aria_label_new_tab_alert' | 'aria_label_menu_debug_overlay' | 'aria_label_menu_rotate' | 'aria_label_menu_loop' | 'aria_label_debug_panel' | 'aria_label_context_menu' | 'aria_label_video_player' | 'aria_label_spherical_control' | 'aria_label_menu_audio_languages' | 'aria_label_settings' | 'aria_label_autoplay' | 'menu_audio_languages' | 'audio_stream_display_language_label' | 'audio_stream_display_language_label_index' | 'audio_stream_display_label_index' | 'audio_stream_display_language_index' | 'audio_stream_display_unknown' | 'end_screen_next_video' | 'end_screen_recommended_video' | 'other_quality' | 'high_quality' | 'high_quality_description' | 'auto_quality_limit' | 'traffic_saving_quality' | 'traffic_saving_quality_description' | 'quality_applience' | 'quality_applience_action' | 'default_quality_for_any_video' | 'slow_video_notification_button' | 'slow_video_notification_force_description' | 'slow_video_notification_suggest_description';
2
+ export type Key = 'auto_quality_invariant' | 'auto_quality' | 'menu_quality' | 'menu_playback_rate' | 'menu_traffic_saving' | 'menu_report' | 'menu_pip' | 'menu_pip_close' | 'menu_copy_video_link' | 'menu_copy_video_link_with_timestamp' | 'menu_video_rotate' | 'menu_video_loop_on' | 'menu_video_loop_off' | 'menu_chromecast' | 'menu_copy_debug' | 'menu_save_debug' | 'menu_debug_overlay' | 'menu_copy_embed_code' | 'pip_dummy_title' | 'submenu_traffic_saving' | 'submenu_quality' | 'submenu_playback_rate' | 'submenu_settings' | 'submenu_audio_languages' | 'auto_quality_option' | 'playing_ads' | 'skip_ads_now' | 'skip_ads_after' | 'visit_advertiser' | 'aria_timeline' | 'aria_timeline_value' | 'doubletap_seek_step' | 'playback_rate_1' | 'playback_rate' | 'video360' | 'subtitles_caption' | 'subtitles_auto' | 'subtitles_off' | 'subtitles_auto_caption' | 'subtitles_turn_on' | 'subtitles_turn_off' | 'traffic_saving_off' | 'traffic_saving_on' | 'traffic_saving_helper_text' | 'tooltip_previous' | 'tooltip_restart' | 'tooltip_play' | 'tooltip_pause' | 'tooltip_next' | 'tooltip_button_disabled' | 'tooltip_interactive_go_back' | 'tooltip_interactive_go_back_disabled' | 'tooltip_interactive_go_back_disabled_first' | 'tooltip_interactive_go_back_disabled_limit' | 'tooltip_chapter_without_interactive' | 'tooltip_interactive_of_chapter_completed' | 'tooltip_interactive_seek' | 'tooltip_interactive_graph_off' | 'tooltip_interactive_graph_on' | 'tooltip_live' | 'tooltip_episodes' | 'tooltip_volume' | 'tooltip_volume_muted' | 'tooltip_sound_unavailable' | 'tooltip_settings_on' | 'tooltip_subtitles_off' | 'tooltip_settings_off' | 'tooltip_subtitles_on' | 'tooltip_fullscreen_off' | 'tooltip_fullscreen_on' | 'tooltip_chromecast_off' | 'tooltip_chromecast_on' | 'tooltip_episode_finished' | 'tooltip_episode_unfinished' | 'tooltip_disabled_when_interactive' | 'tooltip_disabled_when_graph_on' | 'tooltip_interactive_interaction_time_indicator' | 'tooltip_vk_logo' | 'tooltip_vk_video_logo' | 'tooltip_autoplay_off' | 'tooltip_autoplay_on' | 'tooltip_context_menu_open' | 'tooltip_context_menu_close' | 'download_video_caption' | 'hotkey_helper_current_volume' | 'hotkey_map_modal_title' | 'hotkey_map_modal_close_btn_text' | 'hotkey_map_group_title_common' | 'hotkey_map_group_title_playback' | 'hotkey_map_group_title_subtitles' | 'hotkey_map_group_title_episodes' | 'hotkey_map_item_mute_description' | 'hotkey_map_item_mute_value' | 'hotkey_map_item_volume_down_description' | 'hotkey_map_item_volume_down_value' | 'hotkey_map_item_volume_up_description' | 'hotkey_map_item_volume_up_value' | 'hotkey_map_item_pip_description' | 'hotkey_map_item_pip_value' | 'hotkey_map_item_full_screen_description' | 'hotkey_map_item_full_screen_value' | 'hotkey_map_item_show_context_menu_description' | 'hotkey_map_item_show_context_menu_value' | 'hotkey_map_item_show_hotkey_map_description' | 'hotkey_map_item_show_hotkey_map_value' | 'hotkey_map_item_play_toggle_description' | 'hotkey_map_item_play_toggle_value' | 'hotkey_map_item_seek_backward_description' | 'hotkey_map_item_seek_backward_value' | 'hotkey_map_item_seek_forward_description' | 'hotkey_map_item_seek_forward_value' | 'hotkey_map_item_fast_seek_backward_description' | 'hotkey_map_item_fast_seek_backward_value' | 'hotkey_map_item_fast_seek_forward_description' | 'hotkey_map_item_fast_seek_forward_value' | 'hotkey_map_item_rate_down_description' | 'hotkey_map_item_rate_down_value' | 'hotkey_map_item_rate_up_description' | 'hotkey_map_item_rate_up_value' | 'hotkey_map_item_prev_frame_description' | 'hotkey_map_item_prev_frame_value' | 'hotkey_map_item_next_frame_description' | 'hotkey_map_item_next_frame_value' | 'hotkey_map_item_jump_seek_description' | 'hotkey_map_item_jump_seek_value' | 'hotkey_map_item_subtitles_toggle_description' | 'hotkey_map_item_subtitles_toggle_value' | 'hotkey_map_item_prev_episode_description' | 'hotkey_map_item_prev_episode_pc_value' | 'hotkey_map_item_prev_episode_mac_value' | 'hotkey_map_item_next_episode_description' | 'hotkey_map_item_next_episode_pc_value' | 'hotkey_map_item_next_episode_mac_value' | 'hotkey_map_item_next_video_description' | 'hotkey_map_item_next_video_value' | 'hotkey_map_item_prev_video_description' | 'hotkey_map_item_prev_video_value' | 'waiting_live_day_value' | 'waiting_live_hour_value' | 'waiting_live_minute_value' | 'waiting_live_second_value' | 'waiting_live_colon' | 'waiting_live_upcoming_title' | 'waiting_live_timer_title' | 'waiting_live_recover_title' | 'waiting_record_title' | 'aria_label_submenu_traffic_saving' | 'aria_label_submenu_back' | 'aria_label_menu_quality' | 'aria_label_menu_rate' | 'aria_label_menu_subtitle' | 'aria_label_menu_download' | 'aria_label_new_tab_alert' | 'aria_label_menu_debug_overlay' | 'aria_label_menu_rotate' | 'aria_label_menu_loop' | 'aria_label_debug_panel' | 'aria_label_context_menu' | 'aria_label_video_player' | 'aria_label_spherical_control' | 'aria_label_menu_audio_languages' | 'aria_label_settings' | 'aria_label_autoplay' | 'menu_audio_languages' | 'audio_stream_display_language_label' | 'audio_stream_display_language_label_index' | 'audio_stream_display_label_index' | 'audio_stream_display_language_index' | 'audio_stream_display_unknown' | 'end_screen_next_video' | 'end_screen_recommended_video' | 'other_quality' | 'high_quality' | 'high_quality_description' | 'auto_quality_limit' | 'traffic_saving_quality' | 'traffic_saving_quality_description' | 'quality_applience' | 'quality_applience_action' | 'default_quality_for_any_video' | 'slow_video_notification_button' | 'slow_video_notification_force_description' | 'slow_video_notification_suggest_description' | 'double_forward_label';
3
3
  export type LanguagePack = Record<Key, string>;
4
4
  export type LanguageConfig = {
5
5
  language: string;
@@ -1,2 +1,3 @@
1
1
  export declare function matchesSelector(el: HTMLElement, selector: string): boolean;
2
2
  export declare function isHover(el: HTMLElement): boolean;
3
+ export declare function getShadowActiveElement(): Element | null;
@@ -1 +0,0 @@
1
- export declare const getPuid10Val: (width: number, height: number) => number;