@vkontakte/videoplayer 1.1.96-dev.dc17075f7.0 → 1.1.97-dev.2bfbc0980.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/es2015.cjs +10 -10
- package/es2015.esm.js +10 -10
- package/esnext.cjs +12 -12
- package/esnext.esm.js +11 -11
- package/evergreen.esm.js +10 -10
- package/package.json +5 -5
- package/types/VKVideoPlayer/index.svelte.d.ts +7 -1
- package/types/components/Menus/subMenuTabs/types.d.ts +7 -0
- package/types/components/Menus/utils/getSubMenusStack.svelte.d.ts +1 -0
- package/types/config.d.ts +10 -0
- package/types/index.d.ts +3 -3
- package/types/store/composition.d.ts +2 -1
- package/types/store/index.d.ts +1 -1
- package/types/store/modules/highlightedMenuItemsStore/highlightedMenuItems.module.d.ts +3 -0
- package/types/store/modules/highlightedMenuItemsStore/highlightedMenuItems.store.d.ts +21 -0
- package/types/store/modules/highlightedMenuItemsStore/highlightedMenuItems.token.d.ts +5 -0
- package/types/store/modules/highlightedMenuItemsStore/index.d.ts +3 -0
- package/types/store/modules/index.d.ts +1 -0
- package/types/store/modules/playbackRateStore/index.d.ts +1 -1
- package/types/store/modules/playbackRateStore/playbackRateStore.store.d.ts +4 -0
- package/types/store/modules/subtitlesStore/subtitlesStore.store.d.ts +2 -2
- package/types/store/types.d.ts +5 -40
- package/types/types/index.d.ts +1 -0
- package/types/utils/hooks/useIosSafariFullscreenSubtitles.d.ts +2 -2
- package/types/utils/sanitizeSvg.d.ts +5 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vkontakte/videoplayer",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.97-dev.2bfbc0980.0",
|
|
4
4
|
"author": "vk.com",
|
|
5
5
|
"description": "Videoplayer based on the vk.com platform",
|
|
6
6
|
"homepage": "https://vk.com",
|
|
@@ -43,9 +43,9 @@
|
|
|
43
43
|
],
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@adtech/rbadman": "2.2.57",
|
|
46
|
-
"@vkontakte/videoplayer-core": "2.0.
|
|
47
|
-
"@vkontakte/videoplayer-interactive": "1.0.
|
|
48
|
-
"@vkontakte/videoplayer-shared": "1.0.
|
|
49
|
-
"@vkontakte/videoplayer-statistics": "1.0.
|
|
46
|
+
"@vkontakte/videoplayer-core": "2.0.166-dev.2bfbc0980.0",
|
|
47
|
+
"@vkontakte/videoplayer-interactive": "1.0.72-dev.2bfbc0980.0",
|
|
48
|
+
"@vkontakte/videoplayer-shared": "1.0.95-dev.2bfbc0980.0",
|
|
49
|
+
"@vkontakte/videoplayer-statistics": "1.0.112-dev.2bfbc0980.0"
|
|
50
50
|
}
|
|
51
51
|
}
|
|
@@ -7,7 +7,7 @@ import type { PlaybackRate } from "@vkontakte/videoplayer-core";
|
|
|
7
7
|
import { type IStatContext } from "@vkontakte/videoplayer-statistics";
|
|
8
8
|
import { ThinOneStat } from "@vkontakte/videoplayer-statistics";
|
|
9
9
|
import { AnnotationsApi } from "../utils/webAPI/annotationsApi/annotationsApi";
|
|
10
|
-
import type { AdditionalContextMenuItem, AdditionalSettingsMenuItem } from "../components/Menus/subMenuTabs/types";
|
|
10
|
+
import type { AdditionalContextMenuItem, AdditionalSettingsMenuItem, MenuItemHighlight, RootMenuId } from "../components/Menus/subMenuTabs/types";
|
|
11
11
|
import type { AdditionalButton } from "../components/Controls/types";
|
|
12
12
|
import { SlotsApi } from "../utils/webAPI/slotsApi";
|
|
13
13
|
import { HTMLElement } from "./HTMLElement";
|
|
@@ -159,6 +159,7 @@ export declare class VKVideoPlayer extends HTMLElement {
|
|
|
159
159
|
*/
|
|
160
160
|
toggleHighQuality(value: boolean): void;
|
|
161
161
|
changeAudioStream(id: string): void;
|
|
162
|
+
setHighlightedMenuItems(items: Partial<Record<RootMenuId, MenuItemHighlight>> | undefined): void;
|
|
162
163
|
addLanguage(config: LanguageConfig): void;
|
|
163
164
|
setLanguage(language: InterfaceLanguage | string): Promise<void>;
|
|
164
165
|
private replaceVideoDataInConfig;
|
|
@@ -194,6 +195,11 @@ export declare class VKVideoPlayer extends HTMLElement {
|
|
|
194
195
|
updateStatContext(statContext: Partial<IStatContext | ThinOneStat.IStatContext>): void;
|
|
195
196
|
handleTimerNextVideo(state: boolean): void;
|
|
196
197
|
togglePictureInPicture(): void;
|
|
198
|
+
/**
|
|
199
|
+
* Переключает видимость меню настроек.
|
|
200
|
+
* @param force Если true — открыть, если false — закрыть, если не указано — toggle.
|
|
201
|
+
*/
|
|
202
|
+
toggleSettingsMenu(force?: boolean): void;
|
|
197
203
|
focus(): void;
|
|
198
204
|
/**
|
|
199
205
|
* Восстанавливает фокус на последнем сфокусированном элементе в плеере.
|
|
@@ -28,6 +28,7 @@ export declare enum RootMenuId {
|
|
|
28
28
|
COPY_DATA = "copy-data",
|
|
29
29
|
DEBUG_INFO = "debug-info"
|
|
30
30
|
}
|
|
31
|
+
export declare const SETTINGS_MENU_ID: "settings";
|
|
31
32
|
export type Context = {
|
|
32
33
|
closeSettingsMenu: () => void;
|
|
33
34
|
isMobile: boolean;
|
|
@@ -111,6 +112,12 @@ export declare enum MenuItemType {
|
|
|
111
112
|
CLICK = "CLICK",
|
|
112
113
|
SWITCH = "SWITCH"
|
|
113
114
|
}
|
|
115
|
+
export interface MenuItemHighlight {
|
|
116
|
+
/** SVG как строка или URL на SVG-файл */
|
|
117
|
+
svg: string;
|
|
118
|
+
/** CSS стили для контейнера с SVG */
|
|
119
|
+
styleSvgContainer?: string;
|
|
120
|
+
}
|
|
114
121
|
export declare enum SubMenuItemType {
|
|
115
122
|
OPEN_SUB_MENU = "OPEN_SUB_MENU",
|
|
116
123
|
SELECT_VALUE = "SELECT_VALUE"
|
package/types/config.d.ts
CHANGED
|
@@ -62,6 +62,16 @@ export interface IAdsConfig {
|
|
|
62
62
|
export interface IUIConfig {
|
|
63
63
|
isMobile: ForceOrRelay;
|
|
64
64
|
keepPlayerElement: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* не будет использовано если keepPlayerElement: false
|
|
67
|
+
* @default true
|
|
68
|
+
*/
|
|
69
|
+
keepPlayerElementOnMobile: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* не будет использовано если keepPlayerElement: false
|
|
72
|
+
* @default true
|
|
73
|
+
*/
|
|
74
|
+
keepPlayerElementOnSafari: boolean;
|
|
65
75
|
disableInvisibleComponentsTimeout: Milliseconds;
|
|
66
76
|
debugLog: boolean | {
|
|
67
77
|
tag?: string;
|
package/types/index.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { VKVideoPlayer } from "./VKVideoPlayer/index.svelte";
|
|
2
|
-
import type { AdsParams, IAdmanInitParamsExternalApi, IVKVideoPlayerConfig, IUpdatableVKVideoPlayerConfig, IControlInfo, ITimelinePreviewThumbsData, IUpcomingLiveViewControlInfo, IVKVideoPlayerCallbacks, IVideoData, HotKeyMapData, HotKeyMapItem, HotKeyMapGroup, IVideoLive, IInteractiveData, AdditionalButtonDeprecated, IVideoEpisode, IQoeConfig, IQoePoll, IQoeResult, IQoeQuestion, IQoeCallbacks, QoePollTranslations, VideoPlayerView } from "./types";
|
|
2
|
+
import type { AdsParams, IAdmanInitParamsExternalApi, IVKVideoPlayerConfig, IUpdatableVKVideoPlayerConfig, IControlInfo, ITimelinePreviewThumbsData, IUpcomingLiveViewControlInfo, IVKVideoPlayerCallbacks, IVideoData, HotKeyMapData, HotKeyMapItem, HotKeyMapGroup, IVideoLive, IInteractiveData, AdditionalButtonDeprecated, IVideoEpisode, IQoeConfig, IQoeButtonOnlyConfig, IQoePoll, IQoeResult, IQoeQuestion, IQoeCallbacks, QoePollTranslations, VideoPlayerView } from "./types";
|
|
3
3
|
import type { LanguagePack, LanguageConfig } from "./translation/types";
|
|
4
4
|
import type { LogoType as VKLogoType, IAdsConfig, ISDKConfig, IDpipConfig } from "./config";
|
|
5
5
|
import type { ISources, IDashSource, URLSource, RawSource, URLSourceWithSeek } from "@vkontakte/videoplayer-core";
|
|
6
6
|
import type { Milliseconds, QualityLimits } from "@vkontakte/videoplayer-shared";
|
|
7
7
|
export { VERSION } from "./env";
|
|
8
8
|
export declare const registerPlayerWebComponent: () => void;
|
|
9
|
-
export { type AdditionalSettingsMenuItem, MenuItemType, type AdditionalClickSettingsMenuItem, type AdditionalSwitchSettingsMenuItem, type AdditionalContextMenuItem } from "./components/Menus/subMenuTabs/types";
|
|
9
|
+
export { type AdditionalSettingsMenuItem, MenuItemType, type AdditionalClickSettingsMenuItem, type AdditionalSwitchSettingsMenuItem, type AdditionalContextMenuItem, RootMenuId, SubMenuId, SETTINGS_MENU_ID } from "./components/Menus/subMenuTabs/types";
|
|
10
10
|
export { type AdditionalButton, ControlButtonType } from "./components/Controls/types";
|
|
11
|
-
export type { VKVideoPlayer, IVKVideoPlayerConfig, IUpdatableVKVideoPlayerConfig, IControlInfo, ITimelinePreviewThumbsData, IUpcomingLiveViewControlInfo, IVKVideoPlayerCallbacks, IVideoData, AdsParams, HotKeyMapData, HotKeyMapItem, HotKeyMapGroup, ISources, IDashSource, URLSource, RawSource, URLSourceWithSeek, LanguagePack, LanguageConfig, Milliseconds, IVideoLive, IInteractiveData, AdditionalButtonDeprecated, QualityLimits, IAdsConfig, IVideoEpisode, IDpipConfig, IQoeConfig, IQoePoll, IQoeResult, IQoeQuestion, IQoeCallbacks, QoePollTranslations, ISDKConfig, VideoPlayerView, IAdmanInitParamsExternalApi, VKLogoType };
|
|
11
|
+
export type { VKVideoPlayer, IVKVideoPlayerConfig, IUpdatableVKVideoPlayerConfig, IControlInfo, ITimelinePreviewThumbsData, IUpcomingLiveViewControlInfo, IVKVideoPlayerCallbacks, IVideoData, AdsParams, HotKeyMapData, HotKeyMapItem, HotKeyMapGroup, ISources, IDashSource, URLSource, RawSource, URLSourceWithSeek, LanguagePack, LanguageConfig, Milliseconds, IVideoLive, IInteractiveData, AdditionalButtonDeprecated, QualityLimits, IAdsConfig, IVideoEpisode, IDpipConfig, IQoeConfig, IQoeButtonOnlyConfig, IQoePoll, IQoeResult, IQoeQuestion, IQoeCallbacks, QoePollTranslations, ISDKConfig, VideoPlayerView, IAdmanInitParamsExternalApi, VKLogoType };
|
|
12
12
|
export { GridTypes } from "./constans";
|
|
13
13
|
export { PlayerPhase } from "./types";
|
|
14
14
|
export { isPiPSupported, isDpipSupported } from "./utils/webAPI/pictureInPictureApi";
|
|
@@ -2,7 +2,7 @@ import type { IUIConfig } from "../config";
|
|
|
2
2
|
import type { IVKVideoPlayerConfig } from "../types";
|
|
3
3
|
import type { IUIStatistics } from "../services/statistics";
|
|
4
4
|
import type { IStore } from "./index";
|
|
5
|
-
import type { FakeIsPlayingStore, GraphIsOpenedStore, InteractiveControlsOpacityStore, LanguageStore, NotificationsStore, PictureInPictureStore, IQoeStore, SeekToInteractiveDisabledTooltipStore, ShowInteractiveTimeIndicatorTooltipStore, SubtitlesStore, QualityStore, PlaybackRateStore } from "./modules";
|
|
5
|
+
import type { FakeIsPlayingStore, GraphIsOpenedStore, HighlightedMenuItemsStore, InteractiveControlsOpacityStore, LanguageStore, NotificationsStore, PictureInPictureStore, IQoeStore, SeekToInteractiveDisabledTooltipStore, ShowInteractiveTimeIndicatorTooltipStore, SubtitlesStore, QualityStore, PlaybackRateStore } from "./modules";
|
|
6
6
|
import type { AppTracer, ITracer } from "@vkontakte/videoplayer-shared";
|
|
7
7
|
import type { Interactives } from "@vkontakte/videoplayer-interactive";
|
|
8
8
|
export interface ICompositionParams {
|
|
@@ -19,6 +19,7 @@ export interface ICompositionResult {
|
|
|
19
19
|
fakeIsPlayingStore: FakeIsPlayingStore;
|
|
20
20
|
graphIsOpenedStore: GraphIsOpenedStore;
|
|
21
21
|
interactiveControlsOpacityStore: InteractiveControlsOpacityStore;
|
|
22
|
+
highlightedMenuItemsStore: HighlightedMenuItemsStore;
|
|
22
23
|
notificationsStore: NotificationsStore;
|
|
23
24
|
pictureInPictureStore: PictureInPictureStore;
|
|
24
25
|
qoeStore: IQoeStore;
|
package/types/store/index.d.ts
CHANGED
|
@@ -4,4 +4,4 @@ export type { IStore, IAdsState, IUIState, EnrichedStore } from "./types";
|
|
|
4
4
|
* Store приложения.
|
|
5
5
|
* Если будет слишком большим - можно разделить его на модули
|
|
6
6
|
*/
|
|
7
|
-
export declare const createStore: ({
|
|
7
|
+
export declare const createStore: ({ initialVideoId, isTouch, isLiveCatchUpMode, isAudioDisabled, canDownload, callbacks, webApi, videoEpisodes: initialVideoEpisodes, previewThumbsData: initialPreviewThumbsData, uiConfig, coreConfig, player: playerInstance, disabledControls, isInteractive, interactiveRanges$, isInteractiveTime$, replayInteractive, stopPlayer, hasInteractiveBranches, playPrevChapterDisabledTooltip, additionalButtons, additionalSettingsMenuItems, additionalContextMenuItems, playPrevVideo, playNextVideo, onVideoChanged, looped, getStatisticsService, internalsExposure, playerView, playerId, metaConfig, getAppTracer, getAdmanWrapper, logger, adsEnabled, rootTracer, tracer }: IStoreParams) => IStore;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HighlightedMenuItems Store
|
|
3
|
+
*
|
|
4
|
+
* Управляет подсветкой пунктов меню настроек.
|
|
5
|
+
*/
|
|
6
|
+
import type { Writable } from "svelte/store";
|
|
7
|
+
import type { MenuItemHighlight, RootMenuId } from "../../../components/Menus/subMenuTabs/types";
|
|
8
|
+
export interface HighlightedMenuItemsStoreState {
|
|
9
|
+
items$: Writable<Partial<Record<RootMenuId, MenuItemHighlight>> | undefined>;
|
|
10
|
+
}
|
|
11
|
+
export interface HighlightedMenuItemsStoreActions {
|
|
12
|
+
/** Установить подсвеченные пункты меню */
|
|
13
|
+
setHighlightedMenuItems(items: Partial<Record<RootMenuId, MenuItemHighlight>> | undefined): void;
|
|
14
|
+
/** Очистить подсветку */
|
|
15
|
+
clear(): void;
|
|
16
|
+
}
|
|
17
|
+
export interface HighlightedMenuItemsStore {
|
|
18
|
+
state: HighlightedMenuItemsStoreState;
|
|
19
|
+
actions: HighlightedMenuItemsStoreActions;
|
|
20
|
+
}
|
|
21
|
+
export declare const createHighlightedMenuItemsStore: () => HighlightedMenuItemsStore;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { InjectionToken } from "@vkontakte/videoplayer-shared";
|
|
2
|
+
export declare const HIGHLIGHTED_MENU_ITEMS_STORE_TOKEN: InjectionToken<HIGHLIGHTED_MENU_ITEMS_STORE_STORE>;
|
|
3
|
+
import type { HighlightedMenuItemsStore } from "./highlightedMenuItems.store";
|
|
4
|
+
type HIGHLIGHTED_MENU_ITEMS_STORE_STORE = HighlightedMenuItemsStore;
|
|
5
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export type { HighlightedMenuItemsStoreState, HighlightedMenuItemsStore, HighlightedMenuItemsStoreActions } from "./highlightedMenuItems.store";
|
|
2
|
+
export { highlightedMenuItemsModule } from "./highlightedMenuItems.module";
|
|
3
|
+
export { HIGHLIGHTED_MENU_ITEMS_STORE_TOKEN } from "./highlightedMenuItems.token";
|
|
@@ -20,6 +20,7 @@ export type { SeekToInteractiveDisabledTooltipStoreState, SeekToInteractiveDisab
|
|
|
20
20
|
export { seekToInteractiveDisabledTooltipModule, SEEK_TO_INTERACTIVE_DISABLED_TOOLTIP_STORE_TOKEN } from "./seekToInteractiveDisabledTooltipStore";
|
|
21
21
|
export type { ShowInteractiveTimeIndicatorTooltipStoreState, ShowInteractiveTimeIndicatorTooltipStore, ShowInteractiveTimeIndicatorTooltipStoreActions, ShowInteractiveTimeIndicatorTooltipStoreDeps } from "./showInteractiveTimeIndicatorTooltipStore";
|
|
22
22
|
export { showInteractiveTimeIndicatorTooltipModule, SHOW_INTERACTIVE_TIME_INDICATOR_TOOLTIP_STORE_TOKEN } from "./showInteractiveTimeIndicatorTooltipStore";
|
|
23
|
+
export { type HighlightedMenuItemsStoreState, type HighlightedMenuItemsStore, type HighlightedMenuItemsStoreActions, highlightedMenuItemsModule, HIGHLIGHTED_MENU_ITEMS_STORE_TOKEN } from "./highlightedMenuItemsStore";
|
|
23
24
|
export type { SubtitlesStoreState, SubtitlesStoreInternalActions, SubtitlesStoreExternalActions, SubtitlesStore, SubtitlesStoreDeps } from "./subtitlesStore";
|
|
24
25
|
export { subtitlesModule, SUBTITLES_STORE_TOKEN } from "./subtitlesStore";
|
|
25
26
|
export type { QualityStoreDeps, QualityStoreState, QualityStore } from "./qualityStore";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Playback Rate Store Module
|
|
3
3
|
*/
|
|
4
|
-
export { createPlaybackRateStore, type PlaybackRateStoreDeps, type PlaybackRateStoreState, type PlaybackRateStoreActions, type PlaybackRateStore } from "./playbackRateStore.store";
|
|
4
|
+
export { createPlaybackRateStore, type PlaybackRateStoreDeps, type PlaybackRateStoreState, type PlaybackRateStoreActions, type PlaybackRateStoreExternalActions, type PlaybackRateStore } from "./playbackRateStore.store";
|
|
5
5
|
export { playbackRateModule } from "./playbackRateStore.module";
|
|
6
6
|
export { PLAYBACK_RATE_STORE_TOKEN } from "./playbackRateStore.token";
|
|
@@ -51,9 +51,13 @@ export interface PlaybackRateStoreActions {
|
|
|
51
51
|
decrementPlaybackRate: () => VideoPlaybackRate;
|
|
52
52
|
changeDoubleForwardOn: (enabled: boolean) => void;
|
|
53
53
|
}
|
|
54
|
+
export interface PlaybackRateStoreExternalActions {
|
|
55
|
+
setPlaybackRate: (playbackRate: PlaybackRate) => void;
|
|
56
|
+
}
|
|
54
57
|
export interface PlaybackRateStore {
|
|
55
58
|
state: PlaybackRateStoreState;
|
|
56
59
|
actions: PlaybackRateStoreActions;
|
|
60
|
+
externalActions: PlaybackRateStoreExternalActions;
|
|
57
61
|
}
|
|
58
62
|
/**
|
|
59
63
|
* Создаёт playback rate store
|
|
@@ -77,9 +77,9 @@ export interface SubtitlesStoreState {
|
|
|
77
77
|
*/
|
|
78
78
|
export interface SubtitlesStoreInternalActions {
|
|
79
79
|
/** Установить субтитры */
|
|
80
|
-
setSubtitle: (subtitle: VideoSubtitle | undefined
|
|
80
|
+
setSubtitle: (subtitle: VideoSubtitle | undefined) => void;
|
|
81
81
|
/** Переключить субтитры */
|
|
82
|
-
toggleSubtitle: (
|
|
82
|
+
toggleSubtitle: () => void;
|
|
83
83
|
/** Включить субтитры */
|
|
84
84
|
subtitleOn: (external: boolean, id?: string) => void;
|
|
85
85
|
/** Выключить субтитры */
|
package/types/store/types.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import type { ChromecastState, IAudioStream, IConfig as ICoreInitVideoConfig, IExternalTextTrack, IOptionalTuningConfig, IPlayer, ISources,
|
|
1
|
+
import type { ChromecastState, IAudioStream, IConfig as ICoreInitVideoConfig, IExternalTextTrack, IOptionalTuningConfig, IPlayer, ISources, IVideoStream, PlaybackState, VideoFormat } from "@vkontakte/videoplayer-core";
|
|
2
2
|
import type { InteractiveRange } from "@vkontakte/videoplayer-interactive";
|
|
3
|
-
import type { AppTracer, IError, ILogger,
|
|
3
|
+
import type { AppTracer, IError, ILogger, InternalsExposure, IRectangle, IRootTracer, ISubject, ITracer, IValueObservable, IValueSubject, QualityLimits, VideoQuality } from "@vkontakte/videoplayer-shared";
|
|
4
4
|
import type { SeekAction, ThinOneStat } from "@vkontakte/videoplayer-statistics";
|
|
5
5
|
import type { Readable, Writable } from "svelte/store";
|
|
6
|
-
import type { AdditionalButtonDeprecated, AdsPlaybackState, ControlBlocksRefs, ControlsKeys, HotKeyMapData, IAnnotationsApi, IControlInfo, IDisabledControls, IInteractiveData, IPictureInPictureApi, IPlayerControlsRef, IPlayerPhase, ITimelinePreviewThumbsData, IVideoEpisode, IVKVideoPlayerCallbacks, IVKVideoPlayerUICallbacks, Position, Size,
|
|
6
|
+
import type { AdditionalButtonDeprecated, AdsPlaybackState, ControlBlocksRefs, ControlsKeys, HotKeyMapData, IAnnotationsApi, IControlInfo, IDisabledControls, IInteractiveData, IPictureInPictureApi, IPlayerControlsRef, IPlayerPhase, ITimelinePreviewThumbsData, IVideoEpisode, IVKVideoPlayerCallbacks, IVKVideoPlayerUICallbacks, Position, Size, VideoPlayerView, VideoQualityUI } from "../types";
|
|
7
7
|
import type { AdmanWrapper } from "../components/Ads/admanWrapper";
|
|
8
|
-
import type { Key } from "../translation/types";
|
|
9
8
|
import type { QualitySettingsAppliesTo } from "../utils/userSettings";
|
|
10
9
|
import type { GridTypes, PlayPrevChapterDisabledTooltipKey } from "../constans";
|
|
11
10
|
import type { AdditionalButton, AdditionalDesktopControlPanelButton } from "../components/Controls/types";
|
|
@@ -31,7 +30,6 @@ export interface IAdsStateValues {
|
|
|
31
30
|
}
|
|
32
31
|
export type IAdsState = { [K in keyof IAdsStateValues]: Writable<IAdsStateValues[K]> };
|
|
33
32
|
export interface IUIState {
|
|
34
|
-
t: (key: Key, params?: Record<string, string>) => string;
|
|
35
33
|
isMinimalView$: Writable<boolean>;
|
|
36
34
|
controlsVisible: Writable<boolean>;
|
|
37
35
|
/**
|
|
@@ -62,6 +60,7 @@ export interface IUIState {
|
|
|
62
60
|
fullscreen: Writable<IControlInfo | undefined>;
|
|
63
61
|
chromecast: Writable<IControlInfo | undefined>;
|
|
64
62
|
pip: Writable<IControlInfo | undefined>;
|
|
63
|
+
qoe: Writable<IControlInfo | undefined>;
|
|
65
64
|
"theater-mode-button": Writable<IControlInfo | undefined>;
|
|
66
65
|
vkLogo: Writable<IControlInfo | undefined>;
|
|
67
66
|
interactiveTimeIndicator: Writable<IControlInfo | undefined>;
|
|
@@ -129,14 +128,6 @@ export interface IUIState {
|
|
|
129
128
|
* Положение заголовка названия видео.
|
|
130
129
|
*/
|
|
131
130
|
videoTitleInfo: Writable<IControlInfo | undefined>;
|
|
132
|
-
/**
|
|
133
|
-
* Ускорение видео х2.
|
|
134
|
-
*/
|
|
135
|
-
doubleForwardOn$: Writable<boolean>;
|
|
136
|
-
/**
|
|
137
|
-
* Определяет, что двойное ускорение видео доступно.
|
|
138
|
-
*/
|
|
139
|
-
doubleForwardAvailable$: Readable<boolean>;
|
|
140
131
|
previewTrackActive: Writable<boolean>;
|
|
141
132
|
previewTrackDragInProgress: Writable<boolean>;
|
|
142
133
|
previewTrackAvailable: Readable<boolean>;
|
|
@@ -158,7 +149,6 @@ export interface IPlayerState {
|
|
|
158
149
|
isLoaderVisible: Readable<boolean>;
|
|
159
150
|
bufferedProgress$: Readable<number>;
|
|
160
151
|
isLive$: Readable<boolean | undefined>;
|
|
161
|
-
canChangePlaybackSpeed$: Readable<boolean | undefined>;
|
|
162
152
|
isActiveLive$: Readable<boolean | undefined>;
|
|
163
153
|
isOldestAvailableLive$: Readable<boolean | undefined>;
|
|
164
154
|
isRewindableLive$: Readable<boolean>;
|
|
@@ -174,15 +164,8 @@ export interface IPlayerState {
|
|
|
174
164
|
currentQuality$: Readable<VideoQuality | undefined>;
|
|
175
165
|
autoQualityLimitingAvailable$: Readable<boolean>;
|
|
176
166
|
isAutoQualityEnabled$: Readable<boolean | undefined>;
|
|
177
|
-
availableQualities$: Readable<VideoQualityForRender[]>;
|
|
178
167
|
currentPlaybackRate$: Readable<number>;
|
|
179
|
-
availablePlaybackRates$: Readable<VideoPlaybackRate[]>;
|
|
180
|
-
currentSubtitle$: Readable<Omit<VideoSubtitle, "selected">>;
|
|
181
|
-
availableTextTracks$: Readable<ITextTrack[]>;
|
|
182
|
-
availableSubtitlesList$: Readable<VideoSubtitle[]>;
|
|
183
|
-
currentSubtitleCaptions$: Readable<VideoSubtitleParsed["texts"]>;
|
|
184
168
|
previewThumbsData$: Writable<ITimelinePreviewThumbsData | undefined>;
|
|
185
|
-
isAutoSubtitleCaptionVisible$: Writable<boolean>;
|
|
186
169
|
chromecastState$: Readable<ChromecastState>;
|
|
187
170
|
chromecastDeviceName$: Readable<string | undefined>;
|
|
188
171
|
chromecastConnected$: Readable<boolean>;
|
|
@@ -210,10 +193,6 @@ export interface IPlayerState {
|
|
|
210
193
|
playPrevChapterDisabledTooltip: PlayPrevChapterDisabledTooltipKey;
|
|
211
194
|
looped$: Writable<boolean>;
|
|
212
195
|
loadedMetadata$: Writable<boolean>;
|
|
213
|
-
/**
|
|
214
|
-
* Определяет, можно ли в целом увидеть/выбрать Авто режим выбора качества.
|
|
215
|
-
*/
|
|
216
|
-
isAutoQualityAvailable$: Readable<boolean>;
|
|
217
196
|
}
|
|
218
197
|
export interface IStoreInternalActions {
|
|
219
198
|
preload: () => void;
|
|
@@ -235,11 +214,6 @@ export interface IStoreInternalActions {
|
|
|
235
214
|
setAudioStream: (stream: IAudioStream) => void;
|
|
236
215
|
setVideoStream: (stream: IVideoStream) => void;
|
|
237
216
|
setQuality: (quality: VideoQualityUI, info?: SetQualityInfo) => void;
|
|
238
|
-
setPlaybackRate: (playbackRate: PlaybackRate) => void;
|
|
239
|
-
incrementPlaybackRate: () => VideoPlaybackRate;
|
|
240
|
-
decrementPlaybackRate: () => VideoPlaybackRate;
|
|
241
|
-
setSubtitle: (subtitle?: VideoSubtitle) => void;
|
|
242
|
-
toggleSubtitle: () => void;
|
|
243
217
|
togglePictureInPicture: () => void;
|
|
244
218
|
startScrubbing: (progress: number) => void;
|
|
245
219
|
progressScrubbing: (progress: number) => void;
|
|
@@ -272,7 +246,6 @@ export interface IStoreInternalActions {
|
|
|
272
246
|
holdCamera(): void;
|
|
273
247
|
releaseCamera(): void;
|
|
274
248
|
downloadVideo: () => void;
|
|
275
|
-
setLanguage: (language: InterfaceLanguage | string) => Promise<void>;
|
|
276
249
|
nextMovie: (movieId: number) => void;
|
|
277
250
|
correctSeekTimeToInteractive: (time: number) => number;
|
|
278
251
|
replayInteractive?: () => void;
|
|
@@ -288,7 +261,6 @@ export interface IStoreInternalActions {
|
|
|
288
261
|
nextVideoAnnouncementAuto: () => void;
|
|
289
262
|
nextVideoAnnouncementCancel: () => void;
|
|
290
263
|
checkFullscreenSupport: () => boolean;
|
|
291
|
-
changeDoubleForwardOn: (enabled: boolean) => void;
|
|
292
264
|
closePreviewTrack: () => void;
|
|
293
265
|
previewTrackOpened: () => void;
|
|
294
266
|
previewTrackDragStarted: () => void;
|
|
@@ -302,11 +274,8 @@ export interface IStoreExternalActions {
|
|
|
302
274
|
stop: () => void;
|
|
303
275
|
seekTime: (time: number) => void;
|
|
304
276
|
seekEpisodeStartTime: (time: number) => void;
|
|
305
|
-
setPlaybackRate: (playbackRate: PlaybackRate) => void;
|
|
306
277
|
setAutoQualityLimits: (limits: QualityLimits) => void;
|
|
307
278
|
setMuted: (muted: boolean) => void;
|
|
308
|
-
toggleSubtitle: () => void;
|
|
309
|
-
changeSubtitle: (enabled: boolean, id?: string) => void;
|
|
310
279
|
setVolume: (volume: number) => void;
|
|
311
280
|
returnFocusToEpisodes: () => void;
|
|
312
281
|
updateAdditionalSettingsItem: (itemId: string, fields: Partial<Omit<AdditionalSettingsMenuItem, "id" | "type">>) => void;
|
|
@@ -346,9 +315,6 @@ export interface IStore {
|
|
|
346
315
|
initVideo: (config: IStoreInitVideoConfig) => void;
|
|
347
316
|
videoId$: Writable<number | undefined>;
|
|
348
317
|
playerPhase: IPlayerPhase;
|
|
349
|
-
interfaceLanguage$: Readable<InterfaceLanguage | string>;
|
|
350
|
-
interfaceLanguageUpdated$: ISubject<void>;
|
|
351
|
-
isCyrillicRelatedInterface$: Readable<boolean>;
|
|
352
318
|
interactiveData?: IInteractiveData;
|
|
353
319
|
vsid$: Writable<string | undefined>;
|
|
354
320
|
events: IStoreEvents;
|
|
@@ -375,10 +341,9 @@ export interface IStore {
|
|
|
375
341
|
export type EnrichedStore = IStore & {
|
|
376
342
|
stores: ICompositionResult["stores"];
|
|
377
343
|
destroyComposedStore: () => void;
|
|
344
|
+
t: ICompositionResult["stores"]["languageStore"]["actions"]["t"];
|
|
378
345
|
};
|
|
379
346
|
export interface IStoreParams {
|
|
380
|
-
interfaceLanguage: InterfaceLanguage | string;
|
|
381
|
-
isCyrillicRelatedInterface: boolean;
|
|
382
347
|
initialVideoId?: number;
|
|
383
348
|
isTouch: boolean;
|
|
384
349
|
isLiveCatchUpMode?: boolean;
|
package/types/types/index.d.ts
CHANGED
|
@@ -381,6 +381,7 @@ export interface IPlayerControlsRef {
|
|
|
381
381
|
interactiveTimeIndicator?: HTMLElement;
|
|
382
382
|
timeline?: HTMLElement;
|
|
383
383
|
autoplayNextToggle?: HTMLButtonElement;
|
|
384
|
+
qoe?: HTMLElement;
|
|
384
385
|
}
|
|
385
386
|
export interface IPlayerDesktopControlsWidth {
|
|
386
387
|
prevButton: number;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { EnrichedStore } from "../../store/types";
|
|
2
2
|
interface Params {
|
|
3
|
-
store:
|
|
3
|
+
store: EnrichedStore;
|
|
4
4
|
getFullscreenTarget: () => HTMLElement;
|
|
5
5
|
}
|
|
6
6
|
export declare const useIosSafariFullscreenSubtitles: ({ store, getFullscreenTarget }: Params) => void;
|