@aigamo/hydrangean-diva 0.0.1-alpha.32 → 0.0.1-alpha.33
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/dist/App.d.ts +9 -0
- package/dist/api/apis/MediaPlayerPlaylistsApi.d.ts +79 -0
- package/dist/api/apis/index.d.ts +1 -0
- package/dist/api/index.d.ts +3 -0
- package/dist/api/models/HydrangeanDivaMediaPlayerContractsPlaylistsDtosGetPlaylistResponseDto.d.ts +22 -0
- package/dist/api/models/HydrangeanDivaMediaPlayerContractsPlaylistsDtosListPlaylistsResponseDto.d.ts +22 -0
- package/dist/api/models/HydrangeanDivaMediaPlayerContractsPlaylistsDtosListTracksResponseDto.d.ts +22 -0
- package/dist/api/models/HydrangeanDivaMediaPlayerContractsPlaylistsDtosPlaylistDto.d.ts +38 -0
- package/dist/api/models/HydrangeanDivaMediaPlayerContractsPlaylistsDtosTrackDto.d.ts +56 -0
- package/dist/api/models/HydrangeanDivaMediaPlayerEndpointsPlaylistsCreatePlaylistRequest.d.ts +32 -0
- package/dist/api/models/HydrangeanDivaMediaPlayerEndpointsPlaylistsRenamePlaylistRequest.d.ts +32 -0
- package/dist/api/models/index.d.ts +7 -0
- package/dist/api/runtime.d.ts +184 -0
- package/dist/common/components/AppLink.d.ts +6 -0
- package/dist/common/components/AppPageTemplateHeader.d.ts +18 -0
- package/dist/favicon.svg +39 -0
- package/dist/features/common/components/Compose.d.ts +7 -0
- package/dist/features/common/components/useLocationStateHandler.d.ts +10 -0
- package/dist/features/common/helpers/bottomBarHeight.d.ts +1 -0
- package/dist/features/common/helpers/featureFlags.d.ts +5 -0
- package/dist/features/common/helpers/index.d.ts +1 -0
- package/dist/features/common/helpers/miniPlayerSize.d.ts +4 -0
- package/dist/features/common/helpers/videoServiceIcons.d.ts +2 -0
- package/dist/features/common/index.d.ts +3 -0
- package/dist/features/common/interfaces/IObservableStateProvider.d.ts +4 -0
- package/dist/features/common/interfaces/index.d.ts +1 -0
- package/dist/features/common/stores/MobXObservableStateProvider.d.ts +5 -0
- package/dist/features/common/stores/ObservableStateProvider.d.ts +5 -0
- package/dist/features/common/stores/getOrAddSchema.d.ts +2 -0
- package/dist/features/common/stores/index.d.ts +2 -0
- package/dist/features/index.d.ts +5 -0
- package/dist/features/media-player/components/HydrangeanDivaProvider.d.ts +7 -0
- package/dist/features/media-player/components/index.d.ts +1 -0
- package/dist/features/media-player/index.d.ts +1 -0
- package/dist/features/media-player.header/components/Header.d.ts +2 -0
- package/dist/features/media-player.play-queue/components/AddToSelectablePopover.d.ts +8 -0
- package/dist/features/media-player.play-queue/components/AddVideoButton.d.ts +10 -0
- package/dist/features/media-player.play-queue/components/DeveloperToolsButton.d.ts +9 -0
- package/dist/features/media-player.play-queue/components/PlayQueue.d.ts +9 -0
- package/dist/features/media-player.play-queue/components/PlayQueueProvider.d.ts +6 -0
- package/dist/features/media-player.play-queue/components/PlayQueueTable.d.ts +9 -0
- package/dist/features/media-player.play-queue/components/index.d.ts +1 -0
- package/dist/features/media-player.play-queue/helpers/isNoembedResult.d.ts +5 -0
- package/dist/features/media-player.play-queue/helpers/mediaPlayerPlaylistsApi.d.ts +2 -0
- package/dist/features/media-player.play-queue/index.d.ts +2 -0
- package/dist/features/media-player.play-queue/pages/PlayQueuePage.d.ts +2 -0
- package/dist/features/media-player.play-queue/pages/index.d.ts +1 -0
- package/dist/features/media-player.play-queue/stores/PlayQueueItemStore.d.ts +40 -0
- package/dist/features/media-player.play-queue/stores/PlayQueueStore.d.ts +61 -0
- package/dist/features/media-player.play-queue.abstractions/contexts/PlayQueueContext.d.ts +3 -0
- package/dist/features/media-player.play-queue.abstractions/contexts/index.d.ts +1 -0
- package/dist/features/media-player.play-queue.abstractions/index.d.ts +2 -0
- package/dist/features/media-player.play-queue.abstractions/interfaces/IPlayQueueItemStore.d.ts +29 -0
- package/dist/features/media-player.play-queue.abstractions/interfaces/IPlayQueueStore.d.ts +48 -0
- package/dist/features/media-player.play-queue.abstractions/interfaces/PlayQueueDto.d.ts +11 -0
- package/dist/features/media-player.play-queue.abstractions/interfaces/PlayQueueItemDto.d.ts +9 -0
- package/dist/features/media-player.play-queue.abstractions/interfaces/RepeatMode.d.ts +5 -0
- package/dist/features/media-player.play-queue.abstractions/interfaces/index.d.ts +3 -0
- package/dist/features/media-player.player/components/CookieConsentPanel.d.ts +8 -0
- package/dist/features/media-player.player/components/MediaPlayerLayout.d.ts +8 -0
- package/dist/features/media-player.player/components/PlayerProvider.d.ts +6 -0
- package/dist/features/media-player.player/components/bottom-bar/BottomBar.d.ts +8 -0
- package/dist/features/media-player.player/components/bottom-bar/BottomBarCenterControls.d.ts +4 -0
- package/dist/features/media-player.player/components/bottom-bar/BottomBarLeftControls.d.ts +4 -0
- package/dist/features/media-player.player/components/bottom-bar/BottomBarProvider.d.ts +6 -0
- package/dist/features/media-player.player/components/bottom-bar/BottomBarRightControls.d.ts +6 -0
- package/dist/features/media-player.player/components/bottom-bar/SeekBar.d.ts +4 -0
- package/dist/features/media-player.player/components/bottom-bar/index.d.ts +1 -0
- package/dist/features/media-player.player/components/index.d.ts +3 -0
- package/dist/features/media-player.player/components/mini-player/MiniPlayer.d.ts +4 -0
- package/dist/features/media-player.player/components/mini-player/MiniPlayerProvider.d.ts +6 -0
- package/dist/features/media-player.player/components/mini-player/index.d.ts +1 -0
- package/dist/features/media-player.player/contexts/BottomBarContext.d.ts +3 -0
- package/dist/features/media-player.player/contexts/MiniPlayerContext.d.ts +3 -0
- package/dist/features/media-player.player/contexts/PlayerContext.d.ts +3 -0
- package/dist/features/media-player.player/index.d.ts +2 -0
- package/dist/features/media-player.player/interfaces/IBottomBarStore.d.ts +32 -0
- package/dist/features/media-player.player/interfaces/IMiniPlayerStore.d.ts +12 -0
- package/dist/features/media-player.player/interfaces/IPlayerStore.d.ts +13 -0
- package/dist/features/media-player.player/interfaces/index.d.ts +3 -0
- package/dist/features/media-player.player/stores/BottomBarStore.d.ts +39 -0
- package/dist/features/media-player.player/stores/MiniPlayerStore.d.ts +18 -0
- package/dist/features/media-player.player/stores/PlayerStore.d.ts +18 -0
- package/dist/features/media-player.playlists/components/CreatePlaylistButton.d.ts +10 -0
- package/dist/features/media-player.playlists/components/PlaylistTable.d.ts +9 -0
- package/dist/features/media-player.playlists/helpers/mediaPlayerPlaylistsApi.d.ts +2 -0
- package/dist/features/media-player.playlists/pages/PlaylistDetailsPage.d.ts +9 -0
- package/dist/features/media-player.playlists/pages/PlaylistListPage.d.ts +2 -0
- package/dist/features/media-player.playlists/stores/PlaylistItemStore.d.ts +20 -0
- package/dist/features/media-player.playlists/stores/PlaylistListStore.d.ts +16 -0
- package/dist/features/media-player.playlists/stores/PlaylistStore.d.ts +33 -0
- package/dist/icons.d.ts +1 -0
- package/dist/index.cjs.js +15 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.es.js +3374 -0
- package/dist/index.es.js.map +1 -0
- package/dist/main.d.ts +1 -0
- package/dist/routeTree.gen.d.ts +91 -0
- package/dist/routes/__root.d.ts +1 -0
- package/dist/routes/_authenticated/index.d.ts +1 -0
- package/dist/routes/_authenticated/play-queue.d.ts +1 -0
- package/dist/routes/_authenticated/playlists/$playlistId.index.d.ts +1 -0
- package/dist/routes/_authenticated/playlists/index.d.ts +1 -0
- package/dist/routes/_authenticated.d.ts +1 -0
- package/dist/sw.d.ts +1 -0
- package/package.json +4 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './IObservableStateProvider';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { IObservableStateProvider } from '../interfaces/IObservableStateProvider';
|
|
2
|
+
import { AnnotationsMap } from 'mobx';
|
|
3
|
+
export declare class MobXObservableStateProvider implements IObservableStateProvider {
|
|
4
|
+
makeObservable<T extends object, AdditionalKeys extends PropertyKey = never>(target: T, annotations?: AnnotationsMap<T, AdditionalKeys>): T;
|
|
5
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { IObservableStateProvider } from '../interfaces/IObservableStateProvider';
|
|
2
|
+
import { AnnotationsMap } from 'mobx';
|
|
3
|
+
export declare class ObservableStateProvider implements IObservableStateProvider {
|
|
4
|
+
makeObservable<T extends object, AdditionalKeys extends PropertyKey = never>(target: T, _annotations?: AnnotationsMap<T, AdditionalKeys>): T;
|
|
5
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { NostalgicDivaProviderProps } from '@aigamo/nostalgic-diva';
|
|
2
|
+
import { ReactElement, ReactNode } from 'react';
|
|
3
|
+
export interface HydrangeanDivaProviderProps {
|
|
4
|
+
children?: ReactNode;
|
|
5
|
+
nostalgicDivaProps?: NostalgicDivaProviderProps;
|
|
6
|
+
}
|
|
7
|
+
export declare const HydrangeanDivaProvider: ({ children, nostalgicDivaProps, }: HydrangeanDivaProviderProps) => ReactElement;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './HydrangeanDivaProvider';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './components';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { EuiSelectableOption } from '@elastic/eui';
|
|
2
|
+
import { ReactElement } from 'react';
|
|
3
|
+
interface AddToSelectablePopoverProps {
|
|
4
|
+
disabled: boolean;
|
|
5
|
+
onAddToPlaylist: (option: EuiSelectableOption) => Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
export declare const AddToSelectablePopover: ({ disabled, onAddToPlaylist, }: AddToSelectablePopoverProps) => ReactElement;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
export interface AddVideoFormSubmitEvent {
|
|
3
|
+
url: string;
|
|
4
|
+
title: string;
|
|
5
|
+
}
|
|
6
|
+
interface AddVideoButtonProps {
|
|
7
|
+
onSave: (e: AddVideoFormSubmitEvent) => Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
export declare const AddVideoButton: import('react').MemoExoticComponent<({ onSave }: AddVideoButtonProps) => ReactElement>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PlayQueueStore } from '../stores/PlayQueueStore';
|
|
2
|
+
import { ReactElement } from 'react';
|
|
3
|
+
interface DeveloperToolsButtonProps {
|
|
4
|
+
playQueue: PlayQueueStore;
|
|
5
|
+
}
|
|
6
|
+
export declare const DeveloperToolsButton: (({ playQueue }: DeveloperToolsButtonProps) => ReactElement) & {
|
|
7
|
+
displayName: string;
|
|
8
|
+
};
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IPlayQueueStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueStore';
|
|
2
|
+
import { ReactElement } from 'react';
|
|
3
|
+
interface PlayQueueProps {
|
|
4
|
+
playQueue: IPlayQueueStore;
|
|
5
|
+
}
|
|
6
|
+
export declare const PlayQueue: (({ playQueue }: PlayQueueProps) => ReactElement) & {
|
|
7
|
+
displayName: string;
|
|
8
|
+
};
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IPlayQueueStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueStore';
|
|
2
|
+
import { ReactElement } from 'react';
|
|
3
|
+
interface PlayQueueTableProps {
|
|
4
|
+
playQueue: IPlayQueueStore;
|
|
5
|
+
}
|
|
6
|
+
export declare const PlayQueueTable: (({ playQueue }: PlayQueueTableProps) => ReactElement) & {
|
|
7
|
+
displayName: string;
|
|
8
|
+
};
|
|
9
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './PlayQueue';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './PlayQueuePage';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { IObservableStateProvider } from '../../common/interfaces/IObservableStateProvider';
|
|
2
|
+
import { IPlayQueueItemStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueItemStore';
|
|
3
|
+
import { IPlayQueueStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueStore';
|
|
4
|
+
import { PlayQueueItemDto } from '../../media-player.play-queue.abstractions/interfaces/PlayQueueItemDto';
|
|
5
|
+
import { PlayerType } from '@aigamo/nostalgic-diva';
|
|
6
|
+
export declare class PlayQueueItemStore implements IPlayQueueItemStore {
|
|
7
|
+
readonly observableStateProvider: IObservableStateProvider;
|
|
8
|
+
readonly playQueue: IPlayQueueStore;
|
|
9
|
+
readonly dto: PlayQueueItemDto;
|
|
10
|
+
static nextId: number;
|
|
11
|
+
readonly id: number;
|
|
12
|
+
isSelected: boolean;
|
|
13
|
+
constructor(observableStateProvider: IObservableStateProvider, playQueue: IPlayQueueStore, dto: PlayQueueItemDto);
|
|
14
|
+
static fromDto(observableStateProvider: IObservableStateProvider, playQueue: IPlayQueueStore, dto: PlayQueueItemDto): IPlayQueueItemStore;
|
|
15
|
+
get url(): string;
|
|
16
|
+
get type(): PlayerType;
|
|
17
|
+
get videoId(): string;
|
|
18
|
+
get title(): string;
|
|
19
|
+
get isCurrent(): boolean;
|
|
20
|
+
get index(): number;
|
|
21
|
+
get isFirst(): boolean;
|
|
22
|
+
get isLast(): boolean;
|
|
23
|
+
get canMoveToTop(): boolean;
|
|
24
|
+
get canMoveToBottom(): boolean;
|
|
25
|
+
get canRemoveToTop(): boolean;
|
|
26
|
+
get canRemoveOthers(): boolean;
|
|
27
|
+
clone(): IPlayQueueItemStore;
|
|
28
|
+
unselect(): void;
|
|
29
|
+
select(): void;
|
|
30
|
+
toggleSelected(): void;
|
|
31
|
+
play(): void;
|
|
32
|
+
remove(): Promise<void>;
|
|
33
|
+
playFirst(): Promise<void>;
|
|
34
|
+
playNext(): Promise<void>;
|
|
35
|
+
addToPlayQueue(): Promise<void>;
|
|
36
|
+
moveToTop(): void;
|
|
37
|
+
moveToBottom(): void;
|
|
38
|
+
removeToTop(): Promise<void>;
|
|
39
|
+
removeOthers(): Promise<void>;
|
|
40
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { IObservableStateProvider } from '../../common/interfaces/IObservableStateProvider';
|
|
2
|
+
import { IPlayQueueItemStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueItemStore';
|
|
3
|
+
import { IPlayQueueStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueStore';
|
|
4
|
+
import { PlayQueueDto } from '../../media-player.play-queue.abstractions/interfaces/PlayQueueDto';
|
|
5
|
+
import { PlayQueueItemDto } from '../../media-player.play-queue.abstractions/interfaces/PlayQueueItemDto';
|
|
6
|
+
import { RepeatMode } from '../../media-player.play-queue.abstractions/interfaces/RepeatMode';
|
|
7
|
+
import { LocalStorageStateStore } from '@aigamo/route-sphere';
|
|
8
|
+
export declare class PlayQueueStore implements IPlayQueueStore, LocalStorageStateStore<PlayQueueDto> {
|
|
9
|
+
readonly observableStateProvider: IObservableStateProvider;
|
|
10
|
+
interacted: boolean;
|
|
11
|
+
items: IPlayQueueItemStore[];
|
|
12
|
+
currentId: number | undefined;
|
|
13
|
+
repeat: RepeatMode;
|
|
14
|
+
shuffle: boolean;
|
|
15
|
+
constructor(observableStateProvider: IObservableStateProvider);
|
|
16
|
+
createItem(dto: PlayQueueItemDto): IPlayQueueItemStore;
|
|
17
|
+
get localStorageState(): PlayQueueDto;
|
|
18
|
+
set localStorageState(value: PlayQueueDto);
|
|
19
|
+
validateLocalStorageState(localStorageState: any): localStorageState is PlayQueueDto;
|
|
20
|
+
get isEmpty(): boolean;
|
|
21
|
+
get canClear(): boolean;
|
|
22
|
+
get currentItem(): IPlayQueueItemStore | undefined;
|
|
23
|
+
get canPlay(): boolean;
|
|
24
|
+
get canPause(): boolean;
|
|
25
|
+
get hasMultipleItems(): boolean;
|
|
26
|
+
get currentIndex(): number | undefined;
|
|
27
|
+
set currentIndex(value: number | undefined);
|
|
28
|
+
get hasPreviousItem(): boolean;
|
|
29
|
+
get hasNextItem(): boolean;
|
|
30
|
+
get isLastItem(): boolean;
|
|
31
|
+
get selectedItems(): IPlayQueueItemStore[];
|
|
32
|
+
get allItemsSelected(): boolean;
|
|
33
|
+
get hasSelectedItems(): boolean;
|
|
34
|
+
get selectedItemsOrAllItems(): IPlayQueueItemStore[];
|
|
35
|
+
get canAddSelectedItems(): boolean;
|
|
36
|
+
get canPlaySelectedItemsNext(): boolean;
|
|
37
|
+
get canRemoveSelectedItems(): boolean;
|
|
38
|
+
setItems(value: IPlayQueueItemStore[]): void;
|
|
39
|
+
interact(): void;
|
|
40
|
+
clear(): void;
|
|
41
|
+
unselectAll(): void;
|
|
42
|
+
selectAll(): void;
|
|
43
|
+
setCurrentItem(item: IPlayQueueItemStore | undefined): void;
|
|
44
|
+
setNextItems(items: IPlayQueueItemStore[]): void;
|
|
45
|
+
clearAndSetItems(items: IPlayQueueItemStore[]): void;
|
|
46
|
+
playNext(items: IPlayQueueItemStore[]): Promise<void>;
|
|
47
|
+
playSelectedItemsNext(): Promise<void>;
|
|
48
|
+
addItems(items: IPlayQueueItemStore[]): Promise<void>;
|
|
49
|
+
addSelectedItems(): Promise<void>;
|
|
50
|
+
playFirst(items: IPlayQueueItemStore[]): Promise<void>;
|
|
51
|
+
moveItem(item: IPlayQueueItemStore, index: number): void;
|
|
52
|
+
goToFirst(): Promise<void>;
|
|
53
|
+
removeItems(items: IPlayQueueItemStore[]): Promise<void>;
|
|
54
|
+
removeSelectedItems(): Promise<void>;
|
|
55
|
+
removeOtherItems(item: IPlayQueueItemStore): Promise<void>;
|
|
56
|
+
removeItemsAbove(item: IPlayQueueItemStore): Promise<void>;
|
|
57
|
+
toggleRepeat(): void;
|
|
58
|
+
toggleShuffle(): void;
|
|
59
|
+
previous(): Promise<void>;
|
|
60
|
+
next(): Promise<void>;
|
|
61
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './PlayQueueContext';
|
package/dist/features/media-player.play-queue.abstractions/interfaces/IPlayQueueItemStore.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { PlayQueueItemDto } from './PlayQueueItemDto';
|
|
2
|
+
import { PlayerType } from '@aigamo/nostalgic-diva';
|
|
3
|
+
export interface IPlayQueueItemStore {
|
|
4
|
+
readonly id: number;
|
|
5
|
+
readonly isSelected: boolean;
|
|
6
|
+
readonly dto: PlayQueueItemDto;
|
|
7
|
+
readonly url: string;
|
|
8
|
+
readonly type: PlayerType;
|
|
9
|
+
readonly videoId: string;
|
|
10
|
+
readonly title: string;
|
|
11
|
+
readonly canMoveToTop: boolean;
|
|
12
|
+
readonly canMoveToBottom: boolean;
|
|
13
|
+
readonly canRemoveToTop: boolean;
|
|
14
|
+
readonly canRemoveOthers: boolean;
|
|
15
|
+
readonly isCurrent: boolean;
|
|
16
|
+
clone(): IPlayQueueItemStore;
|
|
17
|
+
unselect(): void;
|
|
18
|
+
select(): void;
|
|
19
|
+
toggleSelected(): void;
|
|
20
|
+
play(): void;
|
|
21
|
+
remove(): Promise<void>;
|
|
22
|
+
playFirst(): Promise<void>;
|
|
23
|
+
playNext(): Promise<void>;
|
|
24
|
+
addToPlayQueue(): Promise<void>;
|
|
25
|
+
moveToTop(): void;
|
|
26
|
+
moveToBottom(): void;
|
|
27
|
+
removeToTop(): Promise<void>;
|
|
28
|
+
removeOthers(): Promise<void>;
|
|
29
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { IPlayQueueItemStore } from './IPlayQueueItemStore';
|
|
2
|
+
import { PlayQueueDto } from './PlayQueueDto';
|
|
3
|
+
import { PlayQueueItemDto } from './PlayQueueItemDto';
|
|
4
|
+
import { RepeatMode } from './RepeatMode';
|
|
5
|
+
import { LocalStorageStateStore } from '@aigamo/route-sphere';
|
|
6
|
+
export interface IPlayQueueStore extends LocalStorageStateStore<PlayQueueDto> {
|
|
7
|
+
readonly interacted: boolean;
|
|
8
|
+
readonly items: IPlayQueueItemStore[];
|
|
9
|
+
readonly repeat: RepeatMode;
|
|
10
|
+
readonly shuffle: boolean;
|
|
11
|
+
createItem(dto: PlayQueueItemDto): IPlayQueueItemStore;
|
|
12
|
+
readonly isEmpty: boolean;
|
|
13
|
+
readonly canClear: boolean;
|
|
14
|
+
readonly currentItem: IPlayQueueItemStore | undefined;
|
|
15
|
+
readonly canPlay: boolean;
|
|
16
|
+
readonly canPause: boolean;
|
|
17
|
+
readonly hasMultipleItems: boolean;
|
|
18
|
+
readonly hasPreviousItem: boolean;
|
|
19
|
+
readonly hasNextItem: boolean;
|
|
20
|
+
readonly isLastItem: boolean;
|
|
21
|
+
readonly selectedItems: IPlayQueueItemStore[];
|
|
22
|
+
readonly allItemsSelected: boolean;
|
|
23
|
+
readonly selectedItemsOrAllItems: IPlayQueueItemStore[];
|
|
24
|
+
readonly canAddSelectedItems: boolean;
|
|
25
|
+
readonly canPlaySelectedItemsNext: boolean;
|
|
26
|
+
readonly canRemoveSelectedItems: boolean;
|
|
27
|
+
setItems(value: IPlayQueueItemStore[]): void;
|
|
28
|
+
clear(): void;
|
|
29
|
+
unselectAll(): void;
|
|
30
|
+
selectAll(): void;
|
|
31
|
+
setCurrentItem(item: IPlayQueueItemStore | undefined): void;
|
|
32
|
+
clearAndSetItems(items: IPlayQueueItemStore[]): void;
|
|
33
|
+
playNext(items: IPlayQueueItemStore[]): Promise<void>;
|
|
34
|
+
playSelectedItemsNext(): Promise<void>;
|
|
35
|
+
addItems(items: IPlayQueueItemStore[]): Promise<void>;
|
|
36
|
+
addSelectedItems(): Promise<void>;
|
|
37
|
+
playFirst(items: IPlayQueueItemStore[]): Promise<void>;
|
|
38
|
+
moveItem(item: IPlayQueueItemStore, index: number): void;
|
|
39
|
+
goToFirst(): Promise<void>;
|
|
40
|
+
removeItems(items: IPlayQueueItemStore[]): Promise<void>;
|
|
41
|
+
removeSelectedItems(): Promise<void>;
|
|
42
|
+
removeItemsAbove(item: IPlayQueueItemStore): Promise<void>;
|
|
43
|
+
removeOtherItems(item: IPlayQueueItemStore): Promise<void>;
|
|
44
|
+
toggleRepeat(): void;
|
|
45
|
+
toggleShuffle(): void;
|
|
46
|
+
previous(): Promise<void>;
|
|
47
|
+
next(): Promise<void>;
|
|
48
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { PlayQueueItemDto } from './PlayQueueItemDto';
|
|
2
|
+
import { RepeatMode } from './RepeatMode';
|
|
3
|
+
import { JSONSchemaType } from 'ajv';
|
|
4
|
+
export interface PlayQueueDto {
|
|
5
|
+
readonly version?: '1.0';
|
|
6
|
+
readonly repeat?: RepeatMode;
|
|
7
|
+
readonly shuffle?: boolean;
|
|
8
|
+
readonly items?: PlayQueueItemDto[];
|
|
9
|
+
readonly currentIndex?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare const PlayQueueDtoSchema: JSONSchemaType<PlayQueueDto>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PlayerType } from '@aigamo/nostalgic-diva';
|
|
2
|
+
import { JSONSchemaType } from 'ajv';
|
|
3
|
+
export interface PlayQueueItemDto {
|
|
4
|
+
readonly url: string;
|
|
5
|
+
readonly type: PlayerType;
|
|
6
|
+
readonly videoId: string;
|
|
7
|
+
readonly title: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const PlayQueueItemDtoSchema: JSONSchemaType<PlayQueueItemDto>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PlayerType } from '@aigamo/nostalgic-diva';
|
|
2
|
+
import { ReactElement } from 'react';
|
|
3
|
+
type ThirdPartyPlayerType = Exclude<PlayerType, PlayerType.Audio>;
|
|
4
|
+
interface CookieConsentPanelProps {
|
|
5
|
+
playerType: ThirdPartyPlayerType;
|
|
6
|
+
}
|
|
7
|
+
export declare const CookieConsentPanel: ({ playerType, }: CookieConsentPanelProps) => ReactElement;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MouseEventHandler, ReactElement } from 'react';
|
|
2
|
+
interface BottomBarProps {
|
|
3
|
+
onClickPlayQueueButton?: MouseEventHandler<HTMLButtonElement>;
|
|
4
|
+
}
|
|
5
|
+
export declare const BottomBar: (({ onClickPlayQueueButton }: BottomBarProps) => ReactElement) & {
|
|
6
|
+
displayName: string;
|
|
7
|
+
};
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { MouseEventHandler, ReactElement } from 'react';
|
|
2
|
+
interface BottomBarRightControlsProps {
|
|
3
|
+
onClickPlayQueueButton?: MouseEventHandler<HTMLButtonElement>;
|
|
4
|
+
}
|
|
5
|
+
export declare const BottomBarRightControls: import('react').MemoExoticComponent<({ onClickPlayQueueButton }: BottomBarRightControlsProps) => ReactElement>;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './BottomBar';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './MiniPlayer';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { IPlayQueueItemStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueItemStore';
|
|
2
|
+
import { RepeatMode } from '../../media-player.play-queue.abstractions/interfaces/RepeatMode';
|
|
3
|
+
import { IPlayerController } from '@aigamo/nostalgic-diva';
|
|
4
|
+
export interface IBottomBarStore {
|
|
5
|
+
readonly controller: IPlayerController;
|
|
6
|
+
readonly playing: boolean;
|
|
7
|
+
readonly percent: number;
|
|
8
|
+
readonly canSeek: boolean;
|
|
9
|
+
readonly currentItem: IPlayQueueItemStore | undefined;
|
|
10
|
+
readonly repeat: RepeatMode;
|
|
11
|
+
readonly shuffle: boolean;
|
|
12
|
+
readonly canToggleRepeat: boolean;
|
|
13
|
+
readonly canToggleShuffle: boolean;
|
|
14
|
+
readonly canPlay: boolean;
|
|
15
|
+
readonly canPause: boolean;
|
|
16
|
+
readonly canPrevious: boolean;
|
|
17
|
+
readonly canNext: boolean;
|
|
18
|
+
readonly canSkipBack10: boolean;
|
|
19
|
+
readonly canSkipForward30: boolean;
|
|
20
|
+
readonly canRemoveFromPlayQueue: boolean;
|
|
21
|
+
setPercent(value: number): void;
|
|
22
|
+
setSeeking(value: boolean): void;
|
|
23
|
+
toggleRepeat(): void;
|
|
24
|
+
toggleShuffle(): void;
|
|
25
|
+
play(): Promise<void>;
|
|
26
|
+
pause(): Promise<void>;
|
|
27
|
+
previous(): Promise<void>;
|
|
28
|
+
next(): Promise<void>;
|
|
29
|
+
skipBack10(): Promise<void>;
|
|
30
|
+
skipForward30(): Promise<void>;
|
|
31
|
+
removeFromPlayQueue(): Promise<void>;
|
|
32
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IPlayQueueItemStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueItemStore';
|
|
2
|
+
import { IPlayerController, TimeEvent } from '@aigamo/nostalgic-diva';
|
|
3
|
+
export interface IMiniPlayerStore {
|
|
4
|
+
readonly controller: IPlayerController;
|
|
5
|
+
readonly currentItem: IPlayQueueItemStore | undefined;
|
|
6
|
+
onLoaded(): Promise<void>;
|
|
7
|
+
onPlay(): void;
|
|
8
|
+
onPause(): void;
|
|
9
|
+
onEnded(): Promise<void>;
|
|
10
|
+
onTimeUpdate(event: TimeEvent): void;
|
|
11
|
+
onControllerChange(value: IPlayerController): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IPlayerController, TimeEvent } from '@aigamo/nostalgic-diva';
|
|
2
|
+
export interface IPlayerStore {
|
|
3
|
+
readonly controller: IPlayerController;
|
|
4
|
+
readonly playing: boolean;
|
|
5
|
+
readonly percent: number;
|
|
6
|
+
setPercent(value: number): void;
|
|
7
|
+
setSeeking(value: boolean): void;
|
|
8
|
+
onControllerChange(value: IPlayerController): void;
|
|
9
|
+
onPlay(): void;
|
|
10
|
+
onPause(): void;
|
|
11
|
+
onEnded(): void;
|
|
12
|
+
onTimeUpdate({ percent }: TimeEvent): void;
|
|
13
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { IObservableStateProvider } from '../../common/interfaces/IObservableStateProvider';
|
|
2
|
+
import { IPlayQueueItemStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueItemStore';
|
|
3
|
+
import { IPlayQueueStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueStore';
|
|
4
|
+
import { RepeatMode } from '../../media-player.play-queue.abstractions/interfaces/RepeatMode';
|
|
5
|
+
import { IBottomBarStore } from '../interfaces/IBottomBarStore';
|
|
6
|
+
import { IPlayerStore } from '../interfaces/IPlayerStore';
|
|
7
|
+
import { IPlayerController } from '@aigamo/nostalgic-diva';
|
|
8
|
+
export declare class BottomBarStore implements IBottomBarStore {
|
|
9
|
+
private readonly player;
|
|
10
|
+
private readonly playQueue;
|
|
11
|
+
constructor(observableStateProvider: IObservableStateProvider, player: IPlayerStore, playQueue: IPlayQueueStore);
|
|
12
|
+
get controller(): IPlayerController;
|
|
13
|
+
get playing(): boolean;
|
|
14
|
+
get percent(): number;
|
|
15
|
+
get canSeek(): boolean;
|
|
16
|
+
get currentItem(): IPlayQueueItemStore | undefined;
|
|
17
|
+
get repeat(): RepeatMode;
|
|
18
|
+
get shuffle(): boolean;
|
|
19
|
+
get canToggleRepeat(): boolean;
|
|
20
|
+
get canToggleShuffle(): boolean;
|
|
21
|
+
get canPlay(): boolean;
|
|
22
|
+
get canPause(): boolean;
|
|
23
|
+
get canPrevious(): boolean;
|
|
24
|
+
get canNext(): boolean;
|
|
25
|
+
get canSkipBack10(): boolean;
|
|
26
|
+
get canSkipForward30(): boolean;
|
|
27
|
+
get canRemoveFromPlayQueue(): boolean;
|
|
28
|
+
setPercent(value: number): void;
|
|
29
|
+
setSeeking(value: boolean): void;
|
|
30
|
+
toggleRepeat(): void;
|
|
31
|
+
toggleShuffle(): void;
|
|
32
|
+
play(): Promise<void>;
|
|
33
|
+
pause(): Promise<void>;
|
|
34
|
+
previous(): Promise<void>;
|
|
35
|
+
next(): Promise<void>;
|
|
36
|
+
skipBack10(): Promise<void>;
|
|
37
|
+
skipForward30(): Promise<void>;
|
|
38
|
+
removeFromPlayQueue(): Promise<void>;
|
|
39
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IObservableStateProvider } from '../../common/interfaces/IObservableStateProvider';
|
|
2
|
+
import { IPlayQueueItemStore, IPlayQueueStore } from '../../media-player.play-queue.abstractions';
|
|
3
|
+
import { IMiniPlayerStore } from '../interfaces/IMiniPlayerStore';
|
|
4
|
+
import { IPlayerStore } from '../interfaces/IPlayerStore';
|
|
5
|
+
import { IPlayerController, TimeEvent } from '@aigamo/nostalgic-diva';
|
|
6
|
+
export declare class MiniPlayerStore implements IMiniPlayerStore {
|
|
7
|
+
private readonly player;
|
|
8
|
+
private readonly playQueue;
|
|
9
|
+
constructor(observableStateProvider: IObservableStateProvider, player: IPlayerStore, playQueue: IPlayQueueStore);
|
|
10
|
+
get controller(): IPlayerController;
|
|
11
|
+
get currentItem(): IPlayQueueItemStore | undefined;
|
|
12
|
+
onLoaded(): Promise<void>;
|
|
13
|
+
onPlay(): void;
|
|
14
|
+
onPause(): void;
|
|
15
|
+
onEnded(): Promise<void>;
|
|
16
|
+
onTimeUpdate(event: TimeEvent): void;
|
|
17
|
+
onControllerChange(value: IPlayerController): void;
|
|
18
|
+
}
|