@vkontakte/videoplayer 1.1.49-dev.a22b280e.0 → 1.1.49-dev.fad44c86.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.49-dev.a22b280e.0",
3
+ "version": "1.1.49-dev.fad44c86.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.116-dev.32c949ec.0",
53
- "@vkontakte/videoplayer-interactive": "1.0.24-dev.360439f0.0",
54
- "@vkontakte/videoplayer-shared": "^1.0.47",
55
- "@vkontakte/videoplayer-statistics": "1.0.63-dev.7c1d6cc5.0"
52
+ "@vkontakte/videoplayer-core": "2.0.116-dev.b57e6616.0",
53
+ "@vkontakte/videoplayer-interactive": "1.0.24-dev.2ffcdcdf.0",
54
+ "@vkontakte/videoplayer-shared": "1.0.48-dev.63f31def.0",
55
+ "@vkontakte/videoplayer-statistics": "1.0.63-dev.7436d072.0"
56
56
  }
57
57
  }
@@ -1,7 +1,8 @@
1
1
  import type { ISDKConfig } from '../config';
2
2
  import type { LanguageConfig } from '../translation/types';
3
3
  import type { IVideoData, IVKVideoPlayerConfig } from '../types';
4
- import { InterfaceLanguage, type QualityLimits } from '@vkontakte/videoplayer-shared';
4
+ import type { QualityLimits } from '@vkontakte/videoplayer-shared';
5
+ import { InterfaceLanguage } from '@vkontakte/videoplayer-shared';
5
6
  import { type PlaybackRate } from '@vkontakte/videoplayer-core';
6
7
  import type { IStatContext } from '@vkontakte/videoplayer-statistics';
7
8
  import { AnnotationsApi } from '../utils/webAPI/annotationsApi/annotationsApi';
@@ -49,8 +50,8 @@ export declare class VKVideoPlayer extends HTMLElement {
49
50
  private createOneStat;
50
51
  private createPlayer;
51
52
  private addPlayerInfoSubscriptions;
52
- private playNextVideo;
53
- private playPrevVideo;
53
+ playNextVideo(): void;
54
+ playPrevVideo(): void;
54
55
  private repeatPlaylist;
55
56
  private createPlayerWithCurrentVideo;
56
57
  private playPrevChapter;
@@ -97,4 +98,6 @@ export declare class VKVideoPlayer extends HTMLElement {
97
98
  addAdditionalButton(newButton: AdditionalButton): void;
98
99
  removeAdditionalButton(itemId: string): void;
99
100
  updateStatContext(statContext: Partial<IStatContext>): void;
101
+ handleTimerNextVideo(state: boolean): void;
102
+ focus(): void;
100
103
  }
@@ -62,7 +62,7 @@ export declare class AdmanWrapper {
62
62
  skipped$: Subject<void>;
63
63
  clicked$: Subject<AdsSection>;
64
64
  closed$: Subject<AdsSection>;
65
- error$: Subject<void>;
65
+ error$: Subject<string>;
66
66
  };
67
67
  constructor(logger: ILogger, config: IConfig);
68
68
  init(actions: ExternalActions, adsState: IAdsState, playerState: IPlayerState): void;
@@ -82,8 +82,6 @@ export interface IUIState {
82
82
  mobileUnmuteButtonExpanded: Writable<boolean>;
83
83
  mobileUnmuteButtonVisible: Writable<boolean>;
84
84
  icon3DVideoVisible: Writable<boolean>;
85
- settingsMenuVisible: Writable<boolean>;
86
- settingsMenuOpenedByKeyboard: Writable<boolean>;
87
85
  scrubbingInProgress: Writable<boolean>;
88
86
  is3DVideo: Writable<boolean>;
89
87
  isPictureInPictureActive$: Readable<boolean>;
@@ -97,6 +95,17 @@ export interface IUIState {
97
95
  overlayContainer$: Writable<HTMLDivElement | undefined>;
98
96
  startedByKeyboard$: Writable<boolean>;
99
97
  autoplayNextEnabled$: Writable<boolean>;
98
+ timerNextVideoRunning$: Writable<boolean>;
99
+ settingsMenu: {
100
+ visible$: Writable<boolean>;
101
+ ref$: Writable<HTMLElement | undefined>;
102
+ openedByBtnKeyboard$: Writable<boolean>;
103
+ };
104
+ settingsSubMenu: {
105
+ visible$: Writable<boolean>;
106
+ ref$: Writable<HTMLElement | undefined>;
107
+ name$: Writable<string | undefined>;
108
+ };
100
109
  }
101
110
  export interface IWebApi {
102
111
  pictureInPictureApi?: IPictureInPictureApi;
@@ -183,9 +192,10 @@ export interface IStore {
183
192
  pause: () => void;
184
193
  togglePlay: () => void;
185
194
  toggleMuted: () => void;
186
- toggleSettingsMenu: (wasOpenedByKey?: boolean) => void;
187
- openSettingsMenu: (wasOpenedByKey?: boolean) => void;
188
- closeSettingsMenu: (wasOpenedByKey?: boolean) => void;
195
+ openSettingsMenu: (wasOpenedByKey?: boolean, tick?: () => Promise<void>) => void;
196
+ closeSettingsMenu: (fromSubMenu?: boolean) => void;
197
+ openSettingsSubMenu: (name: string, ref: HTMLElement) => void;
198
+ closeSettingsSubMenu: (ref: HTMLElement, isClosing?: boolean) => void;
189
199
  setTrafficSavingEnabled: (trafficSavingEnabled: boolean) => void;
190
200
  setVolume: (volume: number, preferredVolume?: number) => void;
191
201
  setAudioStream: (stream: IAudioStream) => void;
@@ -240,6 +250,10 @@ export interface IStore {
240
250
  setLooped: (isLooped: boolean) => void;
241
251
  reportProblem: () => void;
242
252
  setAutoplayNextEnabled: (autoplayNext: boolean) => void;
253
+ setTimerNextVideoRunning: (timerNextVideoRunning: boolean) => void;
254
+ nextVideoAnnouncementClick: () => void;
255
+ nextVideoAnnouncementAuto: () => void;
256
+ nextVideoAnnouncementCancel: () => void;
243
257
  };
244
258
  external: {
245
259
  firstStart: (showAds: boolean) => void;
@@ -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_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' | '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_interactive_interaction_time_indicator' | '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_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' | '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_off' | 'aria_label_submenu_traffic_saving_on' | '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_enable' | 'aria_label_menu_debug_overlay_disable' | 'aria_label_menu_rotate' | 'aria_label_menu_loop' | 'aria_label_debug_panel' | 'aria_label_context_menu_open' | 'aria_label_context_menu_close' | 'aria_label_video_player' | 'aria_label_spherical_control' | 'aria_label_menu_audio_languages' | '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';
2
+ export 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_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' | '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_interactive_interaction_time_indicator' | '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_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' | '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_off' | 'aria_label_submenu_traffic_saving_on' | '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_enable' | 'aria_label_menu_debug_overlay_disable' | 'aria_label_menu_rotate' | 'aria_label_menu_loop' | 'aria_label_debug_panel' | 'aria_label_context_menu_open' | 'aria_label_context_menu_close' | 'aria_label_video_player' | 'aria_label_spherical_control' | 'aria_label_menu_audio_languages' | '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';
3
3
  export type LanguagePack = Record<Key, string>;
4
4
  export type LanguageConfig = {
5
5
  language: string;
@@ -1,5 +1,5 @@
1
1
  import type { VideoQuality, VideoFormat, ISources, IExternalTextTrack } from '@vkontakte/videoplayer-core';
2
- import type { IValueObservable, InterfaceLanguage, Subscription } from '@vkontakte/videoplayer-shared';
2
+ import type { IValueObservable, InterfaceLanguage, Subscription, IRectangle } from '@vkontakte/videoplayer-shared';
3
3
  import type { Manifest, VideoInfo, Interactives, InteractiveProjectInfo } from '@vkontakte/videoplayer-interactive';
4
4
  import { PlaybackState } from '@vkontakte/videoplayer-core';
5
5
  import type { Writable, Readable } from 'svelte/store';
@@ -23,6 +23,7 @@ export interface IVKVideoPlayerCallbacks {
23
23
  onStarted?: () => void;
24
24
  onEnded?: () => void;
25
25
  onPlay?: () => void;
26
+ onLooped?: () => void;
26
27
  onPause?: () => void;
27
28
  onVolumeChange?: (volume: number) => void;
28
29
  onFullscreenEnter?: () => void;
@@ -63,6 +64,9 @@ export interface IVKVideoPlayerCallbacks {
63
64
  onExternalFullscreenExit?: () => void;
64
65
  onPrevVideoClick?: () => boolean;
65
66
  onNextVideoClick?: () => boolean;
67
+ onNextVideoAnnouncementClick?: () => void;
68
+ onNextVideoAnnouncementAuto?: () => void;
69
+ onNextVideoAnnouncementCancel?: () => void;
66
70
  onTrafficSavingEnabledChanged?: (isEnabled: boolean) => void;
67
71
  onCurrentPlaybackRateChanged?: (rate: number) => void;
68
72
  onStalledChanged?: (isStalled: boolean) => void;
@@ -97,6 +101,12 @@ export interface IVKVideoPlayerCallbacks {
97
101
  height: number;
98
102
  }) => void;
99
103
  onReportProblem?: () => void;
104
+ onSettingsMenu?: (value: {
105
+ name?: string;
106
+ visible: boolean;
107
+ size: IRectangle;
108
+ position: Position;
109
+ }) => void;
100
110
  };
101
111
  adsInfo?: {
102
112
  onLoadStarted?: () => void;
@@ -110,7 +120,7 @@ export interface IVKVideoPlayerCallbacks {
110
120
  onEmpty?: () => void;
111
121
  onClicked?: (adsSection: AdsSection) => void;
112
122
  onClosed?: (adsSection: AdsSection) => void;
113
- onError?: () => void;
123
+ onError?: (message: string) => void;
114
124
  };
115
125
  }
116
126
  export interface IVKVideoPlayerUICallbacks {
@@ -200,6 +210,7 @@ export interface AdditionalButtonDeprecated {
200
210
  }
201
211
  export interface IVKVideoPlayerConfig {
202
212
  videos: IVideoData[];
213
+ videoIndex?: number;
203
214
  interactiveData?: IInteractiveData;
204
215
  albumId?: string;
205
216
  statPlace?: 'embed' | 'direct' | string;
@@ -0,0 +1,4 @@
1
+ import type { IRectangle } from '@vkontakte/videoplayer-shared';
2
+ import type { Position } from '../types';
3
+ export declare const calcPosition: (childElement?: HTMLElement, parentElement?: HTMLElement) => Required<Position>;
4
+ export declare const getSize: (element?: HTMLElement) => IRectangle;