@aigamo/hydrangean-diva 0.0.1-alpha.6 → 0.0.1-alpha.60

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.
Files changed (142) hide show
  1. package/dist/index.cjs.js +14 -1
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.d.ts +2 -1
  4. package/dist/index.es.js +3842 -1068
  5. package/dist/index.es.js.map +1 -1
  6. package/dist/src/App.d.ts +9 -0
  7. package/dist/src/api/apis/MediaPlayerPlaylistsApi.d.ts +79 -0
  8. package/dist/src/api/apis/index.d.ts +1 -0
  9. package/dist/src/api/index.d.ts +3 -0
  10. package/dist/src/api/models/HydrangeanDivaMediaPlayerContractsPlaylistsDtosGetPlaylistResponseDto.d.ts +22 -0
  11. package/dist/src/api/models/HydrangeanDivaMediaPlayerContractsPlaylistsDtosListPlaylistsResponseDto.d.ts +22 -0
  12. package/dist/src/api/models/HydrangeanDivaMediaPlayerContractsPlaylistsDtosListTracksResponseDto.d.ts +22 -0
  13. package/dist/src/api/models/HydrangeanDivaMediaPlayerContractsPlaylistsDtosPlaylistDto.d.ts +38 -0
  14. package/dist/src/api/models/HydrangeanDivaMediaPlayerContractsPlaylistsDtosTrackDto.d.ts +56 -0
  15. package/dist/src/api/models/HydrangeanDivaMediaPlayerEndpointsPlaylistsCreatePlaylistRequest.d.ts +32 -0
  16. package/dist/src/api/models/HydrangeanDivaMediaPlayerEndpointsPlaylistsRenamePlaylistRequest.d.ts +32 -0
  17. package/dist/src/api/models/index.d.ts +7 -0
  18. package/dist/src/api/runtime.d.ts +184 -0
  19. package/dist/src/common/components/AppLink.d.ts +6 -0
  20. package/dist/src/common/components/AppPageTemplateHeader.d.ts +18 -0
  21. package/dist/src/features/common/helpers/bottomBarHeight.d.ts +1 -0
  22. package/dist/src/features/common/helpers/featureFlags.d.ts +5 -0
  23. package/dist/src/features/common/helpers/index.d.ts +2 -0
  24. package/dist/src/features/common/helpers/miniPlayerSize.d.ts +4 -0
  25. package/dist/src/features/common/helpers/videoServiceIcons.d.ts +2 -0
  26. package/dist/src/features/common/index.d.ts +1 -0
  27. package/dist/src/features/common/stores/localStorageStateKeys.d.ts +6 -0
  28. package/dist/src/features/index.d.ts +11 -0
  29. package/dist/src/features/media-player/components/HydrangeanDivaProvider.d.ts +7 -0
  30. package/dist/src/features/media-player/components/index.d.ts +2 -0
  31. package/dist/src/features/media-player/index.d.ts +1 -0
  32. package/dist/src/features/media-player.bottom-bar/components/BottomBar.d.ts +8 -0
  33. package/dist/src/features/media-player.bottom-bar/components/BottomBarCenterControls.d.ts +4 -0
  34. package/dist/src/features/media-player.bottom-bar/components/BottomBarLeftControls.d.ts +4 -0
  35. package/dist/src/features/media-player.bottom-bar/components/BottomBarProvider.d.ts +6 -0
  36. package/dist/src/features/media-player.bottom-bar/components/BottomBarRightControls.d.ts +6 -0
  37. package/dist/{AppRoutes.d.ts → src/features/media-player.bottom-bar/components/SeekBar.d.ts} +1 -1
  38. package/dist/src/features/media-player.bottom-bar/components/index.d.ts +1 -0
  39. package/dist/{features/media-player → src/features/media-player.bottom-bar}/index.d.ts +0 -1
  40. package/dist/src/features/media-player.bottom-bar/stores/BottomBarStore.d.ts +54 -0
  41. package/dist/src/features/media-player.bottom-bar.abstractions/contexts/BottomBarContext.d.ts +3 -0
  42. package/dist/src/features/media-player.bottom-bar.abstractions/index.d.ts +1 -0
  43. package/dist/src/features/media-player.bottom-bar.abstractions/interfaces/IBottomBarStore.d.ts +32 -0
  44. package/dist/src/features/media-player.bottom-bar.abstractions/interfaces/index.d.ts +1 -0
  45. package/dist/src/features/media-player.mini-player/components/CookieConsentPanel.d.ts +8 -0
  46. package/dist/src/features/media-player.mini-player/components/MiniPlayer.d.ts +4 -0
  47. package/dist/src/features/media-player.mini-player/components/MiniPlayerProvider.d.ts +6 -0
  48. package/dist/src/features/media-player.mini-player/components/index.d.ts +1 -0
  49. package/dist/src/features/media-player.mini-player/index.d.ts +1 -0
  50. package/dist/src/features/media-player.mini-player/stores/MiniPlayerStore.d.ts +22 -0
  51. package/dist/src/features/media-player.mini-player.abstractions/contexts/MiniPlayerContext.d.ts +3 -0
  52. package/dist/src/features/media-player.mini-player.abstractions/index.d.ts +1 -0
  53. package/dist/src/features/media-player.mini-player.abstractions/interfaces/IMiniPlayerStore.d.ts +13 -0
  54. package/dist/src/features/media-player.mini-player.abstractions/interfaces/index.d.ts +1 -0
  55. package/dist/src/features/media-player.play-queue/components/AddVideoButton.d.ts +7 -0
  56. package/dist/src/features/media-player.play-queue/components/AddVideoModal.d.ts +5 -0
  57. package/dist/src/features/media-player.play-queue/components/DeveloperToolsButton.d.ts +9 -0
  58. package/dist/src/features/media-player.play-queue/components/PlayQueueCommandBar.d.ts +9 -0
  59. package/dist/src/features/media-player.play-queue/components/PlayQueueProvider.d.ts +6 -0
  60. package/dist/src/features/media-player.play-queue/components/PlayQueueSection.d.ts +9 -0
  61. package/dist/src/features/media-player.play-queue/components/PlayQueueTable.d.ts +9 -0
  62. package/dist/src/features/media-player.play-queue/components/index.d.ts +1 -0
  63. package/dist/src/features/media-player.play-queue/helpers/isNoembedResult.d.ts +5 -0
  64. package/dist/src/features/media-player.play-queue/index.d.ts +2 -0
  65. package/dist/src/features/media-player.play-queue/pages/index.d.ts +1 -0
  66. package/dist/{features/media-player → src/features/media-player.play-queue}/stores/PlayQueueItemStore.d.ts +8 -9
  67. package/dist/{features/media-player → src/features/media-player.play-queue}/stores/PlayQueueStore.d.ts +25 -21
  68. package/dist/src/features/media-player.play-queue.abstractions/contexts/PlayQueueContext.d.ts +3 -0
  69. package/dist/src/features/media-player.play-queue.abstractions/contexts/index.d.ts +1 -0
  70. package/dist/src/features/media-player.play-queue.abstractions/index.d.ts +2 -0
  71. package/dist/{features/media-player/stores → src/features/media-player.play-queue.abstractions/interfaces}/IPlayQueueItemStore.d.ts +4 -8
  72. package/dist/src/features/media-player.play-queue.abstractions/interfaces/IPlayQueueStore.d.ts +44 -0
  73. package/dist/src/features/media-player.play-queue.abstractions/interfaces/PlayQueueDto.d.ts +11 -0
  74. package/dist/src/features/media-player.play-queue.abstractions/interfaces/PlayQueueItemDto.d.ts +9 -0
  75. package/dist/src/features/media-player.play-queue.abstractions/interfaces/index.d.ts +3 -0
  76. package/dist/src/features/media-player.player/components/PlayerProvider.d.ts +6 -0
  77. package/dist/src/features/media-player.player/stores/PlayerStore.d.ts +17 -0
  78. package/dist/src/features/media-player.player.abstractions/contexts/PlayerContext.d.ts +3 -0
  79. package/dist/src/features/media-player.player.abstractions/index.d.ts +1 -0
  80. package/dist/src/features/media-player.player.abstractions/interfaces/IPlayerStore.d.ts +13 -0
  81. package/dist/src/features/media-player.player.abstractions/interfaces/index.d.ts +1 -0
  82. package/dist/src/features/media-player.playlists/components/CreatePlaylistButton.d.ts +7 -0
  83. package/dist/src/features/media-player.playlists/components/CreatePlaylistModal.d.ts +4 -0
  84. package/dist/src/features/media-player.playlists/components/DeletePlaylistConfirmModal.d.ts +7 -0
  85. package/dist/src/features/media-player.playlists/components/PlaylistCommandBar.d.ts +9 -0
  86. package/dist/src/features/media-player.playlists/components/PlaylistListProvider.d.ts +6 -0
  87. package/dist/src/features/media-player.playlists/components/PlaylistListTable.d.ts +9 -0
  88. package/dist/src/features/media-player.playlists/components/PlaylistSection.d.ts +9 -0
  89. package/dist/src/features/media-player.playlists/components/PlaylistTable.d.ts +9 -0
  90. package/dist/src/features/media-player.playlists/components/RenamePlaylistModal.d.ts +7 -0
  91. package/dist/src/features/media-player.playlists/helpers/mediaPlayerPlaylistsApi.d.ts +2 -0
  92. package/dist/src/features/media-player.playlists/index.d.ts +1 -0
  93. package/dist/src/features/media-player.playlists/pages/PlaylistDetailsPage.d.ts +9 -0
  94. package/dist/src/features/media-player.playlists/pages/PlaylistListPage.d.ts +2 -0
  95. package/dist/src/features/media-player.playlists/pages/index.d.ts +2 -0
  96. package/dist/src/features/media-player.playlists/stores/PlaylistItemStore.d.ts +39 -0
  97. package/dist/src/features/media-player.playlists/stores/PlaylistListItemStore.d.ts +10 -0
  98. package/dist/src/features/media-player.playlists/stores/PlaylistListStore.d.ts +26 -0
  99. package/dist/src/features/media-player.playlists/stores/PlaylistStore.d.ts +46 -0
  100. package/dist/src/features/media-player.playlists.abstractions/contexts/PlaylistListContext.d.ts +3 -0
  101. package/dist/src/features/media-player.playlists.abstractions/contexts/index.d.ts +1 -0
  102. package/dist/src/features/media-player.playlists.abstractions/index.d.ts +1 -0
  103. package/dist/src/features/media-player.playlists.abstractions/interfaces/IPlaylistItemStore.d.ts +28 -0
  104. package/dist/src/features/media-player.playlists.abstractions/interfaces/IPlaylistListItemStore.d.ts +6 -0
  105. package/dist/src/features/media-player.playlists.abstractions/interfaces/IPlaylistListStore.d.ts +8 -0
  106. package/dist/src/features/media-player.playlists.abstractions/interfaces/IPlaylistStore.d.ts +26 -0
  107. package/dist/src/index.d.ts +1 -0
  108. package/dist/src/routeTree.gen.d.ts +91 -0
  109. package/dist/src/routes/__root.d.ts +1 -0
  110. package/dist/src/routes/_authenticated/index.d.ts +1 -0
  111. package/dist/src/routes/_authenticated/play-queue.d.ts +1 -0
  112. package/dist/src/routes/_authenticated/playlists/$playlistId.index.d.ts +1 -0
  113. package/dist/src/routes/_authenticated/playlists/index.d.ts +1 -0
  114. package/dist/src/routes/_authenticated.d.ts +1 -0
  115. package/dist/test/features/media-player/stores/PlayQueueStore.test.d.ts +1 -0
  116. package/dist/test/features/media-player/stores/PlayerStore.test.d.ts +1 -0
  117. package/package.json +59 -46
  118. package/dist/App.d.ts +0 -3
  119. package/dist/features/media-player/components/AddVideoButton.d.ts +0 -7
  120. package/dist/features/media-player/components/BottomBar.d.ts +0 -12
  121. package/dist/features/media-player/components/HydrangeanDiva.d.ts +0 -11
  122. package/dist/features/media-player/components/MiniPlayer.d.ts +0 -15
  123. package/dist/features/media-player/components/PlayQueueStoreContext.d.ts +0 -8
  124. package/dist/features/media-player/components/PlayQueueTable.d.ts +0 -9
  125. package/dist/features/media-player/components/PlayerStoreContext.d.ts +0 -8
  126. package/dist/features/media-player/components/index.d.ts +0 -6
  127. package/dist/features/media-player/stores/IObservableStateProvider.d.ts +0 -4
  128. package/dist/features/media-player/stores/IPlayQueueStore.d.ts +0 -15
  129. package/dist/features/media-player/stores/MobXObservableStateProvider.d.ts +0 -5
  130. package/dist/features/media-player/stores/ObservableStateProvider.d.ts +0 -5
  131. package/dist/features/media-player/stores/PlayQueueLocalStorageState.d.ts +0 -10
  132. package/dist/features/media-player/stores/PlayerStore.d.ts +0 -15
  133. package/dist/features/media-player/stores/index.d.ts +0 -6
  134. /package/dist/{common → src/features/common}/components/Compose.d.ts +0 -0
  135. /package/dist/{features/media-player → src/features/common}/stores/getOrAddSchema.d.ts +0 -0
  136. /package/dist/{features → src/features}/media-player/components/MediaPlayerLayout.d.ts +0 -0
  137. /package/dist/{features/media-player → src/features/media-player.header}/components/Header.d.ts +0 -0
  138. /package/dist/{features/media-player → src/features/media-player.play-queue}/pages/PlayQueuePage.d.ts +0 -0
  139. /package/dist/{features/media-player/stores → src/features/media-player.play-queue.abstractions/interfaces}/RepeatMode.d.ts +0 -0
  140. /package/dist/{main.d.ts → src/main.d.ts} +0 -0
  141. /package/dist/{sw.d.ts → src/sw.d.ts} +0 -0
  142. /package/dist/{icons.d.ts → test/features/media-player/stores/PlayQueueItemStore.test.d.ts} +0 -0
@@ -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 {};
@@ -1,4 +1,4 @@
1
1
  import { ReactElement } from 'react';
2
- export declare const AppRoutes: (() => ReactElement) & {
2
+ export declare const SeekBar: (() => ReactElement) & {
3
3
  displayName: string;
4
4
  };
@@ -0,0 +1 @@
1
+ export * from './BottomBar';
@@ -1,2 +1 @@
1
1
  export * from './components';
2
- export * from './stores';
@@ -0,0 +1,54 @@
1
+ import { IBottomBarStore } from '../../media-player.bottom-bar.abstractions/interfaces/IBottomBarStore';
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 { IPlayerStore } from '../../media-player.player.abstractions/interfaces/IPlayerStore';
6
+ import { IPlayerController } from '@aigamo/nostalgic-diva';
7
+ import { IStateStore } from '@aigamo/route-sphere';
8
+ import { JSONSchemaType } from 'ajv';
9
+ interface BottomBarLocalStorageState {
10
+ repeat?: RepeatMode;
11
+ shuffle?: boolean;
12
+ }
13
+ export declare const BottomBarLocalStorageStateSchema: JSONSchemaType<BottomBarLocalStorageState>;
14
+ declare class BottomBarLocalStorageStateStore implements IStateStore<BottomBarLocalStorageState> {
15
+ private readonly bottomBar;
16
+ constructor(bottomBar: BottomBarStore);
17
+ get state(): BottomBarLocalStorageState;
18
+ set state(value: BottomBarLocalStorageState);
19
+ validateState(state: unknown): state is BottomBarLocalStorageState;
20
+ }
21
+ export declare class BottomBarStore implements IBottomBarStore {
22
+ private readonly player;
23
+ private readonly playQueue;
24
+ readonly localStorageState: BottomBarLocalStorageStateStore;
25
+ repeat: RepeatMode;
26
+ shuffle: boolean;
27
+ constructor(player: IPlayerStore, playQueue: IPlayQueueStore);
28
+ get controller(): IPlayerController;
29
+ get playing(): boolean;
30
+ get percent(): number;
31
+ get canSeek(): boolean;
32
+ get currentItem(): IPlayQueueItemStore | undefined;
33
+ get canToggleRepeat(): boolean;
34
+ get canToggleShuffle(): boolean;
35
+ get canPlay(): boolean;
36
+ get canPause(): boolean;
37
+ get canPrevious(): boolean;
38
+ get canNext(): boolean;
39
+ get canSkipBack10(): boolean;
40
+ get canSkipForward30(): boolean;
41
+ get canRemoveFromPlayQueue(): boolean;
42
+ setPercent(value: number): void;
43
+ setSeeking(value: boolean): void;
44
+ toggleRepeat(): void;
45
+ toggleShuffle(): void;
46
+ play(): Promise<void>;
47
+ pause(): Promise<void>;
48
+ previous(): Promise<void>;
49
+ next(): Promise<void>;
50
+ skipBack10(): Promise<void>;
51
+ skipForward30(): Promise<void>;
52
+ removeFromPlayQueue(): Promise<void>;
53
+ }
54
+ export {};
@@ -0,0 +1,3 @@
1
+ import { IBottomBarStore } from '../interfaces/IBottomBarStore';
2
+ export declare const BottomBarContext: import('react').Context<IBottomBarStore>;
3
+ export declare const useBottomBar: () => IBottomBarStore;
@@ -0,0 +1 @@
1
+ export * from './interfaces';
@@ -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 @@
1
+ export * from './IBottomBarStore';
@@ -0,0 +1,8 @@
1
+ import { PlayerType } from '@aigamo/nostalgic-diva';
2
+ import { ReactElement } from 'react';
3
+ type ThirdPartyPlayerType = Exclude<PlayerType, 'Audio'>;
4
+ interface CookieConsentPanelProps {
5
+ playerType: ThirdPartyPlayerType;
6
+ }
7
+ export declare const CookieConsentPanel: ({ playerType, }: CookieConsentPanelProps) => ReactElement;
8
+ export {};
@@ -0,0 +1,4 @@
1
+ import { ReactElement } from 'react';
2
+ export declare const MiniPlayer: (() => ReactElement) & {
3
+ displayName: string;
4
+ };
@@ -0,0 +1,6 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ interface MiniPlayerProviderProps {
3
+ children?: ReactNode;
4
+ }
5
+ export declare const MiniPlayerProvider: ({ children, }: MiniPlayerProviderProps) => ReactElement;
6
+ export {};
@@ -0,0 +1 @@
1
+ export * from './MiniPlayer';
@@ -0,0 +1 @@
1
+ export * from './components';
@@ -0,0 +1,22 @@
1
+ import { IBottomBarStore } from '../../media-player.bottom-bar.abstractions/interfaces/IBottomBarStore';
2
+ import { IMiniPlayerStore } from '../../media-player.mini-player.abstractions/interfaces/IMiniPlayerStore';
3
+ import { IPlayQueueItemStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueItemStore';
4
+ import { IPlayQueueStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueStore';
5
+ import { IPlayerStore } from '../../media-player.player.abstractions/interfaces/IPlayerStore';
6
+ import { IPlayerController, TimeEvent } from '@aigamo/nostalgic-diva';
7
+ export declare class MiniPlayerStore implements IMiniPlayerStore {
8
+ private readonly player;
9
+ private readonly playQueue;
10
+ private readonly bottomBar;
11
+ interacted: boolean;
12
+ constructor(player: IPlayerStore, playQueue: IPlayQueueStore, bottomBar: IBottomBarStore);
13
+ get controller(): IPlayerController;
14
+ get currentItem(): IPlayQueueItemStore | undefined;
15
+ interact(): void;
16
+ onLoaded(): Promise<void>;
17
+ onPlay(): void;
18
+ onPause(): void;
19
+ onEnded(): Promise<void>;
20
+ onTimeUpdate(event: TimeEvent): void;
21
+ onControllerChange(value: IPlayerController): void;
22
+ }
@@ -0,0 +1,3 @@
1
+ import { IMiniPlayerStore } from '../interfaces/IMiniPlayerStore';
2
+ export declare const MiniPlayerContext: import('react').Context<IMiniPlayerStore>;
3
+ export declare const useMiniPlayer: () => IMiniPlayerStore;
@@ -0,0 +1 @@
1
+ export * from './interfaces';
@@ -0,0 +1,13 @@
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
+ interact(): void;
7
+ onLoaded(): Promise<void>;
8
+ onPlay(): void;
9
+ onPause(): void;
10
+ onEnded(): Promise<void>;
11
+ onTimeUpdate(event: TimeEvent): void;
12
+ onControllerChange(value: IPlayerController): void;
13
+ }
@@ -0,0 +1 @@
1
+ export * from './IMiniPlayerStore';
@@ -0,0 +1,7 @@
1
+ import { PlayQueueItemDto } from '../../media-player.play-queue.abstractions/interfaces/PlayQueueItemDto';
2
+ import { ReactElement } from 'react';
3
+ interface AddVideoButtonProps {
4
+ onFulfilled: (value: PlayQueueItemDto) => Promise<void>;
5
+ }
6
+ export declare const AddVideoButton: import('react').MemoExoticComponent<({ onFulfilled }: AddVideoButtonProps) => ReactElement>;
7
+ export {};
@@ -0,0 +1,5 @@
1
+ import { PlayQueueItemDto } from '../../media-player.play-queue.abstractions/interfaces/PlayQueueItemDto';
2
+ import { InnerModalProps } from 'ez-modal-react';
3
+ type AddVideoModalProps = InnerModalProps<PlayQueueItemDto>;
4
+ export declare const AddVideoModal: import('ez-modal-react').EasyModalHOC<AddVideoModalProps, PlayQueueItemDto>;
5
+ 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 PlayQueueCommandBarProps {
4
+ playQueue: IPlayQueueStore;
5
+ }
6
+ export declare const PlayQueueCommandBar: (({ playQueue }: PlayQueueCommandBarProps) => ReactElement) & {
7
+ displayName: string;
8
+ };
9
+ export {};
@@ -0,0 +1,6 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ interface PlayQueueProviderProps {
3
+ children?: ReactNode;
4
+ }
5
+ export declare const PlayQueueProvider: ({ children, }: PlayQueueProviderProps) => ReactElement;
6
+ export {};
@@ -0,0 +1,9 @@
1
+ import { IPlayQueueStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueStore';
2
+ import { ReactElement } from 'react';
3
+ interface PlayQueueSectionProps {
4
+ playQueue: IPlayQueueStore;
5
+ }
6
+ export declare const PlayQueueSection: (({ playQueue }: PlayQueueSectionProps) => 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 './PlayQueueSection';
@@ -0,0 +1,5 @@
1
+ interface NoembedResult {
2
+ title: string;
3
+ }
4
+ export declare function isNoembedResult(value: any): value is NoembedResult;
5
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './components';
2
+ export * from './pages';
@@ -0,0 +1 @@
1
+ export * from './PlayQueuePage';
@@ -1,17 +1,15 @@
1
+ import { IPlayQueueItemStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueItemStore';
2
+ import { IPlayQueueStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueStore';
3
+ import { PlayQueueItemDto } from '../../media-player.play-queue.abstractions/interfaces/PlayQueueItemDto';
1
4
  import { PlayerType } from '@aigamo/nostalgic-diva';
2
- import { IObservableStateProvider } from './IObservableStateProvider';
3
- import { IPlayQueueItemStore, PlayQueueItemDto } from './IPlayQueueItemStore';
4
- import { IPlayQueueStore } from './IPlayQueueStore';
5
- import { PlayQueueStore } from './PlayQueueStore';
6
5
  export declare class PlayQueueItemStore implements IPlayQueueItemStore {
7
- readonly observableStateProvider: IObservableStateProvider;
8
- readonly playQueueStore: IPlayQueueStore;
6
+ readonly playQueue: IPlayQueueStore;
9
7
  readonly dto: PlayQueueItemDto;
10
8
  static nextId: number;
11
9
  readonly id: number;
12
10
  isSelected: boolean;
13
- constructor(observableStateProvider: IObservableStateProvider, playQueueStore: IPlayQueueStore, dto: PlayQueueItemDto);
14
- static fromDto(observableStateProvider: IObservableStateProvider, playQueueStore: PlayQueueStore, dto: PlayQueueItemDto): IPlayQueueItemStore;
11
+ constructor(playQueue: IPlayQueueStore, dto: PlayQueueItemDto);
12
+ static fromDto(playQueue: IPlayQueueStore, dto: PlayQueueItemDto): IPlayQueueItemStore;
15
13
  get url(): string;
16
14
  get type(): PlayerType;
17
15
  get videoId(): string;
@@ -26,8 +24,9 @@ export declare class PlayQueueItemStore implements IPlayQueueItemStore {
26
24
  get canRemoveOthers(): boolean;
27
25
  clone(): IPlayQueueItemStore;
28
26
  unselect(): void;
27
+ select(): void;
29
28
  toggleSelected(): void;
30
- play(): void;
29
+ play(): Promise<void>;
31
30
  remove(): Promise<void>;
32
31
  playFirst(): Promise<void>;
33
32
  playNext(): Promise<void>;
@@ -1,22 +1,23 @@
1
- import { LocalStorageStateStore } from '@aigamo/route-sphere';
2
- import { IObservableStateProvider } from './IObservableStateProvider';
3
- import { IPlayQueueItemStore, PlayQueueItemDto } from './IPlayQueueItemStore';
4
- import { IPlayQueueStore } from './IPlayQueueStore';
5
- import { PlayQueueLocalStorageState } from './PlayQueueLocalStorageState';
6
- import { RepeatMode } from './RepeatMode';
7
- export declare class PlayQueueStore implements IPlayQueueStore, LocalStorageStateStore<PlayQueueLocalStorageState> {
8
- readonly observableStateProvider: IObservableStateProvider;
9
- interacted: boolean;
1
+ import { IPlayQueueItemStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueItemStore';
2
+ import { IPlayQueueStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueStore';
3
+ import { PlayQueueDto } from '../../media-player.play-queue.abstractions/interfaces/PlayQueueDto';
4
+ import { PlayQueueItemDto } from '../../media-player.play-queue.abstractions/interfaces/PlayQueueItemDto';
5
+ import { IStateStore } from '@aigamo/route-sphere';
6
+ declare class PlayQueueLocalStorageStateStore implements IStateStore<PlayQueueDto> {
7
+ private readonly playQueue;
8
+ constructor(playQueue: PlayQueueStore);
9
+ get state(): PlayQueueDto;
10
+ set state(value: PlayQueueDto);
11
+ validateState(state: unknown): state is PlayQueueDto;
12
+ }
13
+ export declare class PlayQueueStore implements IPlayQueueStore {
14
+ readonly localStorageState: PlayQueueLocalStorageStateStore;
10
15
  items: IPlayQueueItemStore[];
11
16
  currentId: number | undefined;
12
- repeat: RepeatMode;
13
- shuffle: boolean;
14
- constructor(observableStateProvider: IObservableStateProvider);
15
- createItem(dto: PlayQueueItemDto): IPlayQueueItemStore;
16
- get localStorageState(): PlayQueueLocalStorageState;
17
- set localStorageState(value: PlayQueueLocalStorageState);
18
- validateLocalStorageState(localStorageState: any): localStorageState is PlayQueueLocalStorageState;
17
+ constructor();
18
+ createItemFromDto(dto: PlayQueueItemDto): IPlayQueueItemStore;
19
19
  get isEmpty(): boolean;
20
+ get canClear(): boolean;
20
21
  get currentItem(): IPlayQueueItemStore | undefined;
21
22
  get canPlay(): boolean;
22
23
  get canPause(): boolean;
@@ -28,12 +29,15 @@ export declare class PlayQueueStore implements IPlayQueueStore, LocalStorageStat
28
29
  get isLastItem(): boolean;
29
30
  get selectedItems(): IPlayQueueItemStore[];
30
31
  get allItemsSelected(): boolean;
31
- set allItemsSelected(value: boolean);
32
+ get hasSelectedItems(): boolean;
32
33
  get selectedItemsOrAllItems(): IPlayQueueItemStore[];
34
+ get canAddSelectedItems(): boolean;
35
+ get canPlaySelectedItemsNext(): boolean;
36
+ get canRemoveSelectedItems(): boolean;
33
37
  setItems(value: IPlayQueueItemStore[]): void;
34
- interact(): void;
35
38
  clear(): void;
36
39
  unselectAll(): void;
40
+ selectAll(): void;
37
41
  setCurrentItem(item: IPlayQueueItemStore | undefined): void;
38
42
  setNextItems(items: IPlayQueueItemStore[]): void;
39
43
  clearAndSetItems(items: IPlayQueueItemStore[]): void;
@@ -43,13 +47,13 @@ export declare class PlayQueueStore implements IPlayQueueStore, LocalStorageStat
43
47
  addSelectedItems(): Promise<void>;
44
48
  playFirst(items: IPlayQueueItemStore[]): Promise<void>;
45
49
  moveItem(item: IPlayQueueItemStore, index: number): void;
50
+ goToFirst(): Promise<void>;
46
51
  removeItems(items: IPlayQueueItemStore[]): Promise<void>;
47
52
  removeSelectedItems(): Promise<void>;
48
53
  removeOtherItems(item: IPlayQueueItemStore): Promise<void>;
49
54
  removeItemsAbove(item: IPlayQueueItemStore): Promise<void>;
50
- toggleRepeat(): void;
51
- toggleShuffle(): void;
52
55
  previous(): Promise<void>;
53
56
  next(): Promise<void>;
54
- goToFirst(): Promise<void>;
57
+ addItemFromDto(dto: PlayQueueItemDto): Promise<void>;
55
58
  }
59
+ export {};
@@ -0,0 +1,3 @@
1
+ import { IPlayQueueStore } from '../interfaces/IPlayQueueStore';
2
+ export declare const PlayQueueContext: import('react').Context<IPlayQueueStore>;
3
+ export declare const usePlayQueue: () => IPlayQueueStore;
@@ -0,0 +1 @@
1
+ export * from './PlayQueueContext';
@@ -0,0 +1,2 @@
1
+ export * from './contexts';
2
+ export * from './interfaces';
@@ -1,13 +1,8 @@
1
+ import { PlayQueueItemDto } from './PlayQueueItemDto';
1
2
  import { PlayerType } from '@aigamo/nostalgic-diva';
2
- export interface PlayQueueItemDto {
3
- readonly url: string;
4
- readonly type: PlayerType;
5
- readonly videoId: string;
6
- readonly title: string;
7
- }
8
3
  export interface IPlayQueueItemStore {
9
4
  readonly id: number;
10
- isSelected: boolean;
5
+ readonly isSelected: boolean;
11
6
  readonly dto: PlayQueueItemDto;
12
7
  readonly url: string;
13
8
  readonly type: PlayerType;
@@ -20,8 +15,9 @@ export interface IPlayQueueItemStore {
20
15
  readonly isCurrent: boolean;
21
16
  clone(): IPlayQueueItemStore;
22
17
  unselect(): void;
18
+ select(): void;
23
19
  toggleSelected(): void;
24
- play(): void;
20
+ play(): Promise<void>;
25
21
  remove(): Promise<void>;
26
22
  playFirst(): Promise<void>;
27
23
  playNext(): Promise<void>;
@@ -0,0 +1,44 @@
1
+ import { IPlayQueueItemStore } from './IPlayQueueItemStore';
2
+ import { PlayQueueDto } from './PlayQueueDto';
3
+ import { PlayQueueItemDto } from './PlayQueueItemDto';
4
+ import { IStateStore } from '@aigamo/route-sphere';
5
+ export interface IPlayQueueStore {
6
+ readonly localStorageState: IStateStore<PlayQueueDto>;
7
+ readonly items: IPlayQueueItemStore[];
8
+ createItemFromDto(dto: PlayQueueItemDto): IPlayQueueItemStore;
9
+ readonly isEmpty: boolean;
10
+ readonly canClear: boolean;
11
+ readonly currentItem: IPlayQueueItemStore | undefined;
12
+ readonly canPlay: boolean;
13
+ readonly canPause: boolean;
14
+ readonly hasMultipleItems: boolean;
15
+ readonly hasPreviousItem: boolean;
16
+ readonly hasNextItem: boolean;
17
+ readonly isLastItem: boolean;
18
+ readonly selectedItems: IPlayQueueItemStore[];
19
+ readonly allItemsSelected: boolean;
20
+ readonly selectedItemsOrAllItems: IPlayQueueItemStore[];
21
+ readonly canAddSelectedItems: boolean;
22
+ readonly canPlaySelectedItemsNext: boolean;
23
+ readonly canRemoveSelectedItems: boolean;
24
+ setItems(value: IPlayQueueItemStore[]): void;
25
+ clear(): void;
26
+ unselectAll(): void;
27
+ selectAll(): void;
28
+ setCurrentItem(item: IPlayQueueItemStore | undefined): void;
29
+ clearAndSetItems(items: IPlayQueueItemStore[]): void;
30
+ playNext(items: IPlayQueueItemStore[]): Promise<void>;
31
+ playSelectedItemsNext(): Promise<void>;
32
+ addItems(items: IPlayQueueItemStore[]): Promise<void>;
33
+ addSelectedItems(): Promise<void>;
34
+ playFirst(items: IPlayQueueItemStore[]): Promise<void>;
35
+ moveItem(item: IPlayQueueItemStore, index: number): void;
36
+ goToFirst(): Promise<void>;
37
+ removeItems(items: IPlayQueueItemStore[]): Promise<void>;
38
+ removeSelectedItems(): Promise<void>;
39
+ removeItemsAbove(item: IPlayQueueItemStore): Promise<void>;
40
+ removeOtherItems(item: IPlayQueueItemStore): Promise<void>;
41
+ previous(): Promise<void>;
42
+ next(): Promise<void>;
43
+ addItemFromDto(dto: PlayQueueItemDto): Promise<void>;
44
+ }
@@ -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,3 @@
1
+ export * from './IPlayQueueItemStore';
2
+ export * from './IPlayQueueStore';
3
+ export * from './RepeatMode';
@@ -0,0 +1,6 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ interface PlayerProviderProps {
3
+ children?: ReactNode;
4
+ }
5
+ export declare const PlayerProvider: ({ children, }: PlayerProviderProps) => ReactElement;
6
+ export {};
@@ -0,0 +1,17 @@
1
+ import { IPlayerStore } from '../../media-player.player.abstractions/interfaces/IPlayerStore';
2
+ import { IPlayerController, TimeEvent } from '@aigamo/nostalgic-diva';
3
+ export declare class PlayerStore implements IPlayerStore {
4
+ controller: IPlayerController;
5
+ playing: boolean;
6
+ percent: number;
7
+ seeking: boolean;
8
+ constructor();
9
+ setPlaying(value: boolean): void;
10
+ setPercent(value: number): void;
11
+ setSeeking(value: boolean): void;
12
+ onControllerChange(value: IPlayerController): void;
13
+ onPlay(): void;
14
+ onPause(): void;
15
+ onEnded(): void;
16
+ onTimeUpdate({ percent }: TimeEvent): void;
17
+ }
@@ -0,0 +1,3 @@
1
+ import { IPlayerStore } from '../interfaces/IPlayerStore';
2
+ export declare const PlayerContext: import('react').Context<IPlayerStore>;
3
+ export declare const usePlayer: () => IPlayerStore;
@@ -0,0 +1 @@
1
+ export * from './interfaces';
@@ -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 @@
1
+ export * from './IPlayerStore';
@@ -0,0 +1,7 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ interface CreatePlaylistButtonProps {
3
+ children?: ReactNode;
4
+ onFulfilled: (value: string) => Promise<void>;
5
+ }
6
+ export declare const CreatePlaylistButton: ({ children, onFulfilled, }: CreatePlaylistButtonProps) => ReactElement;
7
+ export {};
@@ -0,0 +1,4 @@
1
+ import { InnerModalProps } from 'ez-modal-react';
2
+ type CreatePlaylistModalProps = InnerModalProps<string>;
3
+ export declare const CreatePlaylistModal: import('ez-modal-react').EasyModalHOC<CreatePlaylistModalProps, string>;
4
+ export {};
@@ -0,0 +1,7 @@
1
+ import { IPlaylistListItemStore } from '../../media-player.playlists.abstractions/interfaces/IPlaylistListItemStore';
2
+ import { InnerModalProps } from 'ez-modal-react';
3
+ interface DeletePlaylistConfirmModalProps extends InnerModalProps {
4
+ playlistListItem: IPlaylistListItemStore;
5
+ }
6
+ export declare const DeletePlaylistConfirmModal: import('ez-modal-react').EasyModalHOC<DeletePlaylistConfirmModalProps, unknown>;
7
+ export {};
@@ -0,0 +1,9 @@
1
+ import { IPlaylistStore } from '../../media-player.playlists.abstractions/interfaces/IPlaylistStore';
2
+ import { ReactElement } from 'react';
3
+ interface PlaylistCommandBarProps {
4
+ playlist: IPlaylistStore;
5
+ }
6
+ export declare const PlaylistCommandBar: (({ playlist }: PlaylistCommandBarProps) => ReactElement) & {
7
+ displayName: string;
8
+ };
9
+ export {};
@@ -0,0 +1,6 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ interface PlaylistListProviderProps {
3
+ children?: ReactNode;
4
+ }
5
+ export declare const PlaylistListProvider: ({ children, }: PlaylistListProviderProps) => ReactElement;
6
+ export {};
@@ -0,0 +1,9 @@
1
+ import { IPlaylistListStore } from '../../media-player.playlists.abstractions/interfaces/IPlaylistListStore';
2
+ import { ReactElement } from 'react';
3
+ interface PlaylistListTableProps {
4
+ playlistList: IPlaylistListStore;
5
+ }
6
+ export declare const PlaylistListTable: (({ playlistList }: PlaylistListTableProps) => ReactElement) & {
7
+ displayName: string;
8
+ };
9
+ export {};