@vkontakte/videoplayer 1.1.34-dev.45becee3.0 → 1.1.35-beta.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/index.d.ts CHANGED
@@ -97,6 +97,10 @@ interface IUIConfig {
97
97
  hotKeyHelpers: boolean;
98
98
  saveDebugInfoToFile: boolean;
99
99
  additionalButtons: boolean;
100
+ contextMenuButton: boolean;
101
+ };
102
+ interactive: {
103
+ historyMaxLength: number;
100
104
  };
101
105
  }
102
106
  interface ISDKConfig {
@@ -105,7 +109,7 @@ interface ISDKConfig {
105
109
  statistics: IOptionalConfig;
106
110
  }
107
111
 
108
- type Key = 'auto_quality_invariant' | 'auto_quality' | 'menu_quality' | 'menu_playback_rate' | 'menu_traffic_saving' | 'menu_report' | 'menu_pip' | 'menu_copy_video_link' | 'menu_copy_video_link_with_timestamp' | 'menu_video_rotate' | 'menu_chromecast' | 'menu_copy_debug' | 'menu_save_debug' | 'menu_debug_overlay' | 'pip_dummy_title' | 'submenu_traffic_saving' | 'submenu_quality' | 'submenu_playback_rate' | 'submenu_settings' | 'auto_quality_option' | 'mobile_unmute' | 'playing_ads' | 'skip_ads_now' | 'skip_ads_after' | 'visit_advertiser' | 'aria_timeline' | 'aria_open_settings' | '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_disable' | 'traffic_saving_enable' | '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_interactive_seek' | 'tooltip_interactive_graph_off' | 'tooltip_interactive_graph_on' | 'tooltip_live' | 'tooltip_episodes' | 'tooltip_volume' | 'tooltip_volume_muted' | '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_vk_logo' | 'tooltip_vk_video_logo' | '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_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' | '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_record_title' | 'aria_label_menu_traffic_saving' | 'aria_label_submenu_traffic_saving_off' | 'aria_label_submenu_traffic_saving_on' | 'aria_label_submenu_back' | 'aria_label_menu_quality' | 'aria_label_submenu_quality_select_quality' | 'aria_label_menu_rate' | 'aria_label_submenu_rate_select_rate' | 'aria_label_menu_subtitle' | 'aria_label_submenu_subtitle_select_subtitle' | 'aria_label_menu_download' | 'aria_label_new_tab_alert' | 'aria_label_menu_debug_overlay_enable' | 'aria_label_menu_debug_overlay_disable' | 'aria_label_menu_rotate' | 'aria_label_spherical_control';
112
+ type Key = 'auto_quality_invariant' | 'auto_quality' | 'menu_quality' | 'menu_playback_rate' | 'menu_traffic_saving' | 'menu_report' | 'menu_pip' | 'menu_copy_video_link' | 'menu_copy_video_link_with_timestamp' | 'menu_video_rotate' | 'menu_chromecast' | 'menu_copy_debug' | 'menu_save_debug' | 'menu_debug_overlay' | 'pip_dummy_title' | 'submenu_traffic_saving' | 'submenu_quality' | 'submenu_playback_rate' | 'submenu_settings' | 'auto_quality_option' | 'mobile_unmute' | 'playing_ads' | 'skip_ads_now' | 'skip_ads_after' | 'visit_advertiser' | 'aria_timeline' | 'aria_open_settings' | '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_disable' | 'traffic_saving_enable' | '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_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_vk_logo' | 'tooltip_vk_video_logo' | '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_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' | '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_record_title' | 'aria_label_menu_traffic_saving' | 'aria_label_submenu_traffic_saving_off' | 'aria_label_submenu_traffic_saving_on' | 'aria_label_submenu_back' | 'aria_label_menu_quality' | 'aria_label_submenu_quality_select_quality' | 'aria_label_menu_rate' | 'aria_label_submenu_rate_select_rate' | 'aria_label_menu_subtitle' | 'aria_label_submenu_subtitle_select_subtitle' | 'aria_label_menu_download' | 'aria_label_new_tab_alert' | 'aria_label_menu_debug_overlay_enable' | 'aria_label_menu_debug_overlay_disable' | 'aria_label_menu_rotate' | 'aria_label_debug_panel' | 'aria_label_context_menu_open' | 'aria_label_context_menu_close' | 'aria_label_spherical_control';
109
113
  type LanguagePack = Record<Key, string>;
110
114
  type LanguageConfig = {
111
115
  language: string;
@@ -134,7 +138,7 @@ interface IVKVideoPlayerCallbacks {
134
138
  onUnmute?: () => void;
135
139
  onAudioDisabledHint?: () => void;
136
140
  onAudioDoesNotExistHint?: () => void;
137
- onEpisodeClicked?: () => void;
141
+ onEpisodeClicked?: (byKeyboard: boolean) => void;
138
142
  onEpisodeChanged?: (episode: IVideoEpisode) => void;
139
143
  onTimeupdate?: (duration: number, position: number) => void;
140
144
  onSeek?: (from: number, to: number) => void;
@@ -180,6 +184,7 @@ interface IVKVideoPlayerCallbacks {
180
184
  onSettingsChanged?: (value?: IControlInfo) => void;
181
185
  onFullscreenChanged?: (value?: IControlInfo) => void;
182
186
  onChromecastChanged?: (value?: IControlInfo) => void;
187
+ onPipChanged?: (value?: IControlInfo) => void;
183
188
  onVkLogoChanged?: (value?: IControlInfo) => void;
184
189
  onPlayerSizeChanged?: (value?: {
185
190
  width: number;
@@ -295,8 +300,14 @@ interface IVKVideoPlayerConfig {
295
300
  additionalButtons?: AdditionalButton[];
296
301
  }
297
302
  interface IControlInfo {
303
+ /** @deprecated Используйте новое поле left */
298
304
  positionStartX: number;
305
+ /** @deprecated Используйте новое поле right */
299
306
  positionEndX: number;
307
+ left: number;
308
+ right: number;
309
+ top: number;
310
+ bottom: number;
300
311
  isDisplayed: boolean;
301
312
  }
302
313
  declare const enum PlayerPhase {
@@ -308,13 +319,24 @@ declare const enum PlayerPhase {
308
319
  WaitingRecord = "waitingRecord"
309
320
  }
310
321
  interface IAnnotationsApi {
322
+ /** @deprecated Больше не используется. Контейнер теперь определяется самостоятельно */
311
323
  registryRootContainer: (container: HTMLElement) => void;
324
+ /** @deprecated Логики со слоями больше нет. Теперь все аннотации добавляются на единый общий слой */
312
325
  addLayer: (layerName: string) => HTMLElement | never;
326
+ /** @deprecated Логики со слоями больше нет. Теперь все аннотации добавляются на единый общий слой */
313
327
  getLayer: (layerName: string) => HTMLElement | undefined;
328
+ /** @deprecated Логики со слоями больше нет. Теперь все аннотации добавляются на единый общий слой */
314
329
  removeLayer: (layerName: string) => void;
330
+ /** @deprecated Логики со слоями больше нет. Теперь все аннотации добавляются на единый общий слой */
315
331
  clearLayer: (layerName: string) => void;
332
+ /** @deprecated Метод больше не является публичным */
316
333
  detach: () => void;
334
+ /** @deprecated Больше нет необходимости переназначать контейнер для аннотаций в ходе работы плеера */
317
335
  reattach: () => void;
336
+ add: (annotationName: string, annotation: HTMLElement) => void | never;
337
+ get: (annotationName: string) => HTMLElement | never;
338
+ remove: (annotationName: string) => void | never;
339
+ clear: () => void;
318
340
  destroy: () => void;
319
341
  }
320
342
  interface HotKeyMapItem {
@@ -333,15 +355,31 @@ interface HotKeyMapData {
333
355
 
334
356
  declare class AnnotationsApi implements IAnnotationsApi {
335
357
  private rootAnnotationsContainer;
336
- private layers;
358
+ private annotations;
359
+ private subscriptions;
360
+ private mutationObserver;
361
+ private playerSize;
362
+ constructor(container: HTMLElement);
363
+ add(annotationName: string, annotation: HTMLElement): void | never;
364
+ get(annotationName: string): HTMLElement | never;
365
+ remove(annotationName: string): void | never;
366
+ clear(): void;
367
+ destroy(): void;
368
+ private isElementExceedsBoundaries;
369
+ /** @deprecated Больше не используется. Контейнер теперь определяется самостоятельно */
337
370
  registryRootContainer(container: HTMLElement): void;
371
+ /** @deprecated Логики со слоями больше нет. Теперь все аннотации добавляются на единый общий слой */
338
372
  addLayer(layerName: string): HTMLElement | never;
373
+ /** @deprecated Логики со слоями больше нет. Теперь все аннотации добавляются на единый общий слой */
339
374
  getLayer(layerName: string): HTMLElement | undefined;
375
+ /** @deprecated Логики со слоями больше нет. Теперь все аннотации добавляются на единый общий слой */
340
376
  removeLayer(layerName: string): void;
377
+ /** @deprecated Логики со слоями больше нет. Теперь все аннотации добавляются на единый общий слой */
341
378
  clearLayer(layerName: string): void;
379
+ /** @deprecated Метод больше не является публичным */
342
380
  detach(): void;
381
+ /** @deprecated Больше нет необходимости переназначать контейнер для аннотаций в ходе работы плеера */
343
382
  reattach(): void;
344
- destroy(): void;
345
383
  }
346
384
 
347
385
  declare class VKVideoPlayer extends HTMLElement {
@@ -351,8 +389,9 @@ declare class VKVideoPlayer extends HTMLElement {
351
389
  private microStoresRoot?;
352
390
  private statistics;
353
391
  private sentry;
354
- private readonly _shadowRoot;
355
- private readonly playerContainer;
392
+ private _shadowRoot;
393
+ private playerContainer;
394
+ private rootContainer;
356
395
  private uiConfig;
357
396
  private coreConfig;
358
397
  private interactiveController;
@@ -369,11 +408,12 @@ declare class VKVideoPlayer extends HTMLElement {
369
408
  private readonly subscription;
370
409
  annotationsApi: AnnotationsApi | undefined;
371
410
  private createPlayerTimeout;
372
- private prevVsid;
411
+ private prevIsid;
373
412
  private isInited;
374
413
  constructor();
375
414
  private connectedCallback;
376
415
  private disconnectedCallback;
416
+ private initPlayerRootContainers;
377
417
  private needToShowNextPrevButtons;
378
418
  private isNextButtonActive;
379
419
  private isPrevButtonActive;
@@ -407,6 +447,7 @@ declare class VKVideoPlayer extends HTMLElement {
407
447
  setRepeat(repeat: boolean): void;
408
448
  seekTime(time: number): void;
409
449
  seekEpisodeStartTime(time: number): void;
450
+ returnFocusToEpisodes(): void;
410
451
  setPlaybackRate(playbackRate: PlaybackRate): void;
411
452
  setAutoQualityLimits(limits: QualityLimits): void;
412
453
  addLanguage(config: LanguageConfig): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vkontakte/videoplayer",
3
- "version": "1.1.34-dev.45becee3.0",
3
+ "version": "1.1.35-beta.0",
4
4
  "author": "vk.com",
5
5
  "description": "Videoplayer based on the vk.com platform",
6
6
  "homepage": "https://vk.com",
@@ -49,9 +49,9 @@
49
49
  "**/*.d.ts"
50
50
  ],
51
51
  "dependencies": {
52
- "@vkontakte/videoplayer-core": "2.0.101-beta.1",
53
- "@vkontakte/videoplayer-interactive": "1.0.9-beta.1",
54
- "@vkontakte/videoplayer-shared": "1.0.34-beta.1",
55
- "@vkontakte/videoplayer-statistics": "1.0.47-beta.1"
52
+ "@vkontakte/videoplayer-core": "2.0.102-beta.0",
53
+ "@vkontakte/videoplayer-interactive": "1.0.10-beta.0",
54
+ "@vkontakte/videoplayer-shared": "1.0.35-beta.0",
55
+ "@vkontakte/videoplayer-statistics": "1.0.48-beta.0"
56
56
  }
57
57
  }