@aigamo/hydrangean-diva 0.0.1-alpha.7 → 0.0.1-alpha.70

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 (132) hide show
  1. package/dist/index.cjs.js +2 -45
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.d.ts +2 -1
  4. package/dist/index.es.js +2263 -2462
  5. package/dist/index.es.js.map +1 -1
  6. package/dist/src/App.d.ts +9 -0
  7. package/dist/src/common/components/AppLink.d.ts +6 -0
  8. package/dist/src/common/components/AppPageTemplateHeader.d.ts +18 -0
  9. package/dist/src/features/common/helpers/bottomBarHeight.d.ts +1 -0
  10. package/dist/src/features/common/helpers/commandBarHeight.d.ts +1 -0
  11. package/dist/src/features/common/helpers/commandBarSpacerHeight.d.ts +1 -0
  12. package/dist/src/features/common/helpers/featureFlags.d.ts +5 -0
  13. package/dist/src/features/common/helpers/headerHeight.d.ts +1 -0
  14. package/dist/src/features/common/helpers/index.d.ts +2 -0
  15. package/dist/src/features/common/helpers/miniPlayerSize.d.ts +4 -0
  16. package/dist/src/features/common/helpers/videoServiceIcons.d.ts +2 -0
  17. package/dist/src/features/common/index.d.ts +1 -0
  18. package/dist/src/features/common/stores/localStorageStateKeys.d.ts +6 -0
  19. package/dist/src/features/index.d.ts +11 -0
  20. package/dist/src/features/media-player/components/HydrangeanDivaProvider.d.ts +7 -0
  21. package/dist/src/features/media-player/components/index.d.ts +2 -0
  22. package/dist/src/features/media-player/index.d.ts +1 -0
  23. package/dist/src/features/media-player.bottom-bar/components/BottomBar.d.ts +8 -0
  24. package/dist/src/features/media-player.bottom-bar/components/BottomBarCenterControls.d.ts +7 -0
  25. package/dist/src/features/media-player.bottom-bar/components/BottomBarLeftControls.d.ts +4 -0
  26. package/dist/src/features/media-player.bottom-bar/components/BottomBarProvider.d.ts +6 -0
  27. package/dist/src/features/media-player.bottom-bar/components/BottomBarRightControls.d.ts +6 -0
  28. package/dist/{AppRoutes.d.ts → src/features/media-player.bottom-bar/components/SeekBar.d.ts} +1 -1
  29. package/dist/src/features/media-player.bottom-bar/components/index.d.ts +1 -0
  30. package/dist/{features/media-player → src/features/media-player.bottom-bar}/index.d.ts +0 -1
  31. package/dist/src/features/media-player.bottom-bar/stores/BottomBarStore.d.ts +54 -0
  32. package/dist/src/features/media-player.bottom-bar.abstractions/contexts/BottomBarContext.d.ts +3 -0
  33. package/dist/src/features/media-player.bottom-bar.abstractions/index.d.ts +1 -0
  34. package/dist/src/features/media-player.bottom-bar.abstractions/interfaces/IBottomBarStore.d.ts +32 -0
  35. package/dist/src/features/media-player.bottom-bar.abstractions/interfaces/index.d.ts +1 -0
  36. package/dist/src/features/media-player.mini-player/components/CookieConsentPanel.d.ts +8 -0
  37. package/dist/src/features/media-player.mini-player/components/MiniPlayer.d.ts +4 -0
  38. package/dist/src/features/media-player.mini-player/components/MiniPlayerProvider.d.ts +6 -0
  39. package/dist/src/features/media-player.mini-player/components/index.d.ts +1 -0
  40. package/dist/src/features/media-player.mini-player/index.d.ts +1 -0
  41. package/dist/src/features/media-player.mini-player/stores/MiniPlayerStore.d.ts +21 -0
  42. package/dist/src/features/media-player.mini-player.abstractions/contexts/MiniPlayerContext.d.ts +3 -0
  43. package/dist/src/features/media-player.mini-player.abstractions/index.d.ts +1 -0
  44. package/dist/src/features/media-player.mini-player.abstractions/interfaces/IMiniPlayerStore.d.ts +12 -0
  45. package/dist/src/features/media-player.mini-player.abstractions/interfaces/index.d.ts +1 -0
  46. package/dist/src/features/media-player.play-queue/components/AddVideoButton.d.ts +7 -0
  47. package/dist/src/features/media-player.play-queue/components/AddVideoModal.d.ts +5 -0
  48. package/dist/src/features/media-player.play-queue/components/DeveloperToolsButton.d.ts +9 -0
  49. package/dist/src/features/media-player.play-queue/components/PlayQueueCommandBar.d.ts +9 -0
  50. package/dist/src/features/media-player.play-queue/components/PlayQueueProvider.d.ts +6 -0
  51. package/dist/src/features/media-player.play-queue/components/PlayQueueSection.d.ts +9 -0
  52. package/dist/src/features/media-player.play-queue/components/PlayQueueTable.d.ts +9 -0
  53. package/dist/src/features/media-player.play-queue/components/index.d.ts +1 -0
  54. package/dist/src/features/media-player.play-queue/helpers/isNoembedResult.d.ts +5 -0
  55. package/dist/src/features/media-player.play-queue/index.d.ts +2 -0
  56. package/dist/src/features/media-player.play-queue/pages/index.d.ts +1 -0
  57. package/dist/{features/media-player → src/features/media-player.play-queue}/stores/PlayQueueItemStore.d.ts +8 -9
  58. package/dist/{features/media-player → src/features/media-player.play-queue}/stores/PlayQueueStore.d.ts +25 -19
  59. package/dist/src/features/media-player.play-queue.abstractions/contexts/PlayQueueContext.d.ts +3 -0
  60. package/dist/src/features/media-player.play-queue.abstractions/contexts/index.d.ts +1 -0
  61. package/dist/src/features/media-player.play-queue.abstractions/index.d.ts +2 -0
  62. package/dist/{features/media-player/stores → src/features/media-player.play-queue.abstractions/interfaces}/IPlayQueueItemStore.d.ts +4 -8
  63. package/dist/src/features/media-player.play-queue.abstractions/interfaces/IPlayQueueStore.d.ts +46 -0
  64. package/dist/src/features/media-player.play-queue.abstractions/interfaces/PlayQueueDto.d.ts +11 -0
  65. package/dist/src/features/media-player.play-queue.abstractions/interfaces/PlayQueueItemDto.d.ts +9 -0
  66. package/dist/src/features/media-player.play-queue.abstractions/interfaces/index.d.ts +3 -0
  67. package/dist/src/features/media-player.player/components/PlayerProvider.d.ts +6 -0
  68. package/dist/src/features/media-player.player/stores/PlayerStore.d.ts +17 -0
  69. package/dist/src/features/media-player.player.abstractions/contexts/PlayerContext.d.ts +3 -0
  70. package/dist/src/features/media-player.player.abstractions/index.d.ts +1 -0
  71. package/dist/src/features/media-player.player.abstractions/interfaces/IPlayerStore.d.ts +13 -0
  72. package/dist/src/features/media-player.player.abstractions/interfaces/index.d.ts +1 -0
  73. package/dist/src/features/media-player.playlists/components/CreatePlaylistButton.d.ts +7 -0
  74. package/dist/src/features/media-player.playlists/components/CreatePlaylistModal.d.ts +4 -0
  75. package/dist/src/features/media-player.playlists/components/DeletePlaylistConfirmModal.d.ts +7 -0
  76. package/dist/src/features/media-player.playlists/components/PlaylistCommandBar.d.ts +9 -0
  77. package/dist/src/features/media-player.playlists/components/PlaylistListProvider.d.ts +6 -0
  78. package/dist/src/features/media-player.playlists/components/PlaylistListTable.d.ts +9 -0
  79. package/dist/src/features/media-player.playlists/components/PlaylistSection.d.ts +9 -0
  80. package/dist/src/features/media-player.playlists/components/PlaylistTable.d.ts +9 -0
  81. package/dist/src/features/media-player.playlists/components/RenamePlaylistModal.d.ts +7 -0
  82. package/dist/src/features/media-player.playlists/index.d.ts +1 -0
  83. package/dist/src/features/media-player.playlists/pages/PlaylistDetailsPage.d.ts +9 -0
  84. package/dist/src/features/media-player.playlists/pages/PlaylistListPage.d.ts +2 -0
  85. package/dist/src/features/media-player.playlists/pages/index.d.ts +2 -0
  86. package/dist/src/features/media-player.playlists/stores/PlaylistItemStore.d.ts +39 -0
  87. package/dist/src/features/media-player.playlists/stores/PlaylistListItemStore.d.ts +10 -0
  88. package/dist/src/features/media-player.playlists/stores/PlaylistListStore.d.ts +26 -0
  89. package/dist/src/features/media-player.playlists/stores/PlaylistStore.d.ts +46 -0
  90. package/dist/src/features/media-player.playlists.abstractions/contexts/PlaylistListContext.d.ts +3 -0
  91. package/dist/src/features/media-player.playlists.abstractions/contexts/index.d.ts +1 -0
  92. package/dist/src/features/media-player.playlists.abstractions/index.d.ts +1 -0
  93. package/dist/src/features/media-player.playlists.abstractions/interfaces/IPlaylistItemStore.d.ts +28 -0
  94. package/dist/src/features/media-player.playlists.abstractions/interfaces/IPlaylistListItemStore.d.ts +6 -0
  95. package/dist/src/features/media-player.playlists.abstractions/interfaces/IPlaylistListStore.d.ts +8 -0
  96. package/dist/src/features/media-player.playlists.abstractions/interfaces/IPlaylistStore.d.ts +26 -0
  97. package/dist/src/index.d.ts +1 -0
  98. package/dist/src/routeTree.gen.d.ts +91 -0
  99. package/dist/src/routes/__root.d.ts +1 -0
  100. package/dist/src/routes/_authenticated/index.d.ts +1 -0
  101. package/dist/src/routes/_authenticated/play-queue.d.ts +1 -0
  102. package/dist/src/routes/_authenticated/playlists/$playlistId.index.d.ts +1 -0
  103. package/dist/src/routes/_authenticated/playlists/index.d.ts +1 -0
  104. package/dist/src/routes/_authenticated.d.ts +1 -0
  105. package/dist/test/features/media-player/stores/PlayQueueStore.test.d.ts +1 -0
  106. package/dist/test/features/media-player/stores/PlayerStore.test.d.ts +1 -0
  107. package/package.json +59 -47
  108. package/dist/App.d.ts +0 -3
  109. package/dist/features/media-player/components/AddVideoButton.d.ts +0 -7
  110. package/dist/features/media-player/components/BottomBar.d.ts +0 -12
  111. package/dist/features/media-player/components/HydrangeanDiva.d.ts +0 -11
  112. package/dist/features/media-player/components/MiniPlayer.d.ts +0 -15
  113. package/dist/features/media-player/components/PlayQueueStoreContext.d.ts +0 -8
  114. package/dist/features/media-player/components/PlayQueueTable.d.ts +0 -9
  115. package/dist/features/media-player/components/PlayerStoreContext.d.ts +0 -8
  116. package/dist/features/media-player/components/index.d.ts +0 -6
  117. package/dist/features/media-player/stores/IObservableStateProvider.d.ts +0 -4
  118. package/dist/features/media-player/stores/IPlayQueueStore.d.ts +0 -15
  119. package/dist/features/media-player/stores/MobXObservableStateProvider.d.ts +0 -5
  120. package/dist/features/media-player/stores/ObservableStateProvider.d.ts +0 -5
  121. package/dist/features/media-player/stores/PlayQueueLocalStorageState.d.ts +0 -10
  122. package/dist/features/media-player/stores/PlayerStore.d.ts +0 -15
  123. package/dist/features/media-player/stores/index.d.ts +0 -6
  124. /package/dist/{common → src/features/common}/components/Compose.d.ts +0 -0
  125. /package/dist/{features/media-player → src/features/common}/stores/getOrAddSchema.d.ts +0 -0
  126. /package/dist/{features → src/features}/media-player/components/MediaPlayerLayout.d.ts +0 -0
  127. /package/dist/{features/media-player → src/features/media-player.header}/components/Header.d.ts +0 -0
  128. /package/dist/{features/media-player → src/features/media-player.play-queue}/pages/PlayQueuePage.d.ts +0 -0
  129. /package/dist/{features/media-player/stores → src/features/media-player.play-queue.abstractions/interfaces}/RepeatMode.d.ts +0 -0
  130. /package/dist/{main.d.ts → src/main.d.ts} +0 -0
  131. /package/dist/{sw.d.ts → src/sw.d.ts} +0 -0
  132. /package/dist/{icons.d.ts → test/features/media-player/stores/PlayQueueItemStore.test.d.ts} +0 -0
@@ -0,0 +1,9 @@
1
+ import { ReactElement } from 'react';
2
+ declare const router: import('@tanstack/router-core').RouterCore<import('@tanstack/router-core').Route<import('@tanstack/react-router').Register, any, "/", "/", string, "__root__", undefined, {}, {}, import('@tanstack/react-router').AnyContext, import('@tanstack/react-router').AnyContext, {}, undefined, import('./routeTree.gen').RootRouteChildren, import('./routeTree.gen').FileRouteTypes, unknown, unknown, undefined>, "never", false, import('@tanstack/history').RouterHistory, Record<string, any>>;
3
+ declare module '@tanstack/react-router' {
4
+ interface Register {
5
+ router: typeof router;
6
+ }
7
+ }
8
+ declare const App: () => ReactElement;
9
+ export default App;
@@ -0,0 +1,6 @@
1
+ import { EuiLinkAnchorProps } from '@elastic/eui';
2
+ import { AnyRouter, LinkProps, RegisteredRouter } from '@tanstack/react-router';
3
+ import { ReactElement } from 'react';
4
+ export declare const AppLink: <TComp = "a", TRouter extends AnyRouter = RegisteredRouter, TFrom extends string = string, TTo extends string | undefined = ".", TMaskFrom extends string = TFrom, TMaskTo extends string = ".">({ linkProps, ...props }: Omit<EuiLinkAnchorProps, "href"> & {
5
+ linkProps: LinkProps<TComp, TRouter, TFrom, TTo, TMaskFrom, TMaskTo>;
6
+ }) => ReactElement;
@@ -0,0 +1,18 @@
1
+ import { EuiPageHeaderProps, EuiTabProps } from '@elastic/eui';
2
+ import { EuiBreadcrumbProps } from '@elastic/eui/src/components/breadcrumbs/types';
3
+ import { AnyRouter, LinkProps, RegisteredRouter } from '@tanstack/react-router';
4
+ import { ReactElement, ReactNode } from 'react';
5
+ export declare const AppPageTemplateHeader: <TComp = "a", TRouter extends AnyRouter = RegisteredRouter, TFrom extends string = string, TTo extends string | undefined = ".", TMaskFrom extends string = TFrom, TMaskTo extends string = ".">({ breadcrumbs, tabs, ...props }: Omit<EuiPageHeaderProps, "breadcrumbs" | "tabs"> & {
6
+ breadcrumbs?: (Omit<EuiBreadcrumbProps, "href"> & {
7
+ linkProps?: LinkProps<TComp, TRouter, TFrom, TTo, TMaskFrom, TMaskTo>;
8
+ })[];
9
+ } & {
10
+ tabs?: (Omit<EuiTabProps & {
11
+ /**
12
+ * Visible text of the tab
13
+ */
14
+ label: ReactNode;
15
+ }, "href"> & {
16
+ linkProps?: LinkProps<TComp, TRouter, TFrom, TTo, TMaskFrom, TMaskTo>;
17
+ })[];
18
+ }) => ReactElement;
@@ -0,0 +1 @@
1
+ export declare const bottomBarHeight: number;
@@ -0,0 +1 @@
1
+ export declare const commandBarHeight = 40;
@@ -0,0 +1 @@
1
+ export declare const commandBarSpacerHeight = 24;
@@ -0,0 +1,5 @@
1
+ export declare const featureFlags: {
2
+ readonly mediaPlayer: {
3
+ readonly enablePlaylists: true;
4
+ };
5
+ };
@@ -0,0 +1 @@
1
+ export declare const headerHeight = 48;
@@ -0,0 +1,2 @@
1
+ export * from './bottomBarHeight';
2
+ export * from './videoServiceIcons';
@@ -0,0 +1,4 @@
1
+ export declare const miniPlayerSize: {
2
+ readonly width: number;
3
+ readonly height: number;
4
+ };
@@ -0,0 +1,2 @@
1
+ import { PlayerType } from '@aigamo/nostalgic-diva';
2
+ export declare const videoServiceIcons: Map<PlayerType, string>;
@@ -0,0 +1 @@
1
+ export * from './helpers';
@@ -0,0 +1,6 @@
1
+ export declare const localStorageStateKeys: {
2
+ readonly playQueue: "PlayQueueStore";
3
+ readonly bottomBar: "BottomBarStore";
4
+ readonly playlistList: "PlaylistListStore";
5
+ readonly playlist: (playlistId: string) => string;
6
+ };
@@ -0,0 +1,11 @@
1
+ export * from './common';
2
+ export * from './media-player';
3
+ export * from './media-player.bottom-bar';
4
+ export * from './media-player.bottom-bar.abstractions';
5
+ export * from './media-player.mini-player';
6
+ export * from './media-player.mini-player.abstractions';
7
+ export * from './media-player.play-queue';
8
+ export * from './media-player.play-queue.abstractions';
9
+ export * from './media-player.player.abstractions';
10
+ export * from './media-player.playlists';
11
+ export * from './media-player.playlists.abstractions';
@@ -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,2 @@
1
+ export * from './HydrangeanDivaProvider';
2
+ export * from './MediaPlayerLayout';
@@ -0,0 +1 @@
1
+ export * from './components';
@@ -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,7 @@
1
+ import { RepeatMode } from '../../media-player.play-queue.abstractions/interfaces/RepeatMode';
2
+ import { IconType } from '@elastic/eui';
3
+ import { ReactElement } from 'react';
4
+ export declare const repeatIconTypes: Record<RepeatMode, IconType>;
5
+ export declare const BottomBarCenterControls: (() => ReactElement) & {
6
+ displayName: string;
7
+ };
@@ -0,0 +1,4 @@
1
+ import { ReactElement } from 'react';
2
+ export declare const BottomBarLeftControls: (() => ReactElement) & {
3
+ displayName: string;
4
+ };
@@ -0,0 +1,6 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ interface BottomBarProviderProps {
3
+ children?: ReactNode;
4
+ }
5
+ export declare const BottomBarProvider: ({ children, }: BottomBarProviderProps) => ReactElement;
6
+ 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 {};
@@ -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,21 @@
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
+ constructor(player: IPlayerStore, playQueue: IPlayQueueStore, bottomBar: IBottomBarStore);
12
+ get interacted(): boolean;
13
+ get controller(): IPlayerController;
14
+ get currentItem(): IPlayQueueItemStore | undefined;
15
+ onLoaded(): Promise<void>;
16
+ onPlay(): void;
17
+ onPause(): void;
18
+ onEnded(): Promise<void>;
19
+ onTimeUpdate(event: TimeEvent): void;
20
+ onControllerChange(value: IPlayerController): void;
21
+ }
@@ -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,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 @@
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,24 @@
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;
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 {
9
14
  interacted: boolean;
15
+ readonly localStorageState: PlayQueueLocalStorageStateStore;
10
16
  items: IPlayQueueItemStore[];
11
17
  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;
18
+ constructor();
19
+ createItemFromDto(dto: PlayQueueItemDto): IPlayQueueItemStore;
19
20
  get isEmpty(): boolean;
21
+ get canClear(): boolean;
20
22
  get currentItem(): IPlayQueueItemStore | undefined;
21
23
  get canPlay(): boolean;
22
24
  get canPause(): boolean;
@@ -28,12 +30,16 @@ export declare class PlayQueueStore implements IPlayQueueStore, LocalStorageStat
28
30
  get isLastItem(): boolean;
29
31
  get selectedItems(): IPlayQueueItemStore[];
30
32
  get allItemsSelected(): boolean;
31
- set allItemsSelected(value: boolean);
33
+ get hasSelectedItems(): boolean;
32
34
  get selectedItemsOrAllItems(): IPlayQueueItemStore[];
35
+ get canAddSelectedItems(): boolean;
36
+ get canPlaySelectedItemsNext(): boolean;
37
+ get canRemoveSelectedItems(): boolean;
33
38
  setItems(value: IPlayQueueItemStore[]): void;
34
39
  interact(): void;
35
40
  clear(): void;
36
41
  unselectAll(): void;
42
+ selectAll(): void;
37
43
  setCurrentItem(item: IPlayQueueItemStore | undefined): void;
38
44
  setNextItems(items: IPlayQueueItemStore[]): void;
39
45
  clearAndSetItems(items: IPlayQueueItemStore[]): void;
@@ -43,13 +49,13 @@ export declare class PlayQueueStore implements IPlayQueueStore, LocalStorageStat
43
49
  addSelectedItems(): Promise<void>;
44
50
  playFirst(items: IPlayQueueItemStore[]): Promise<void>;
45
51
  moveItem(item: IPlayQueueItemStore, index: number): void;
52
+ goToFirst(): Promise<void>;
46
53
  removeItems(items: IPlayQueueItemStore[]): Promise<void>;
47
54
  removeSelectedItems(): Promise<void>;
48
55
  removeOtherItems(item: IPlayQueueItemStore): Promise<void>;
49
56
  removeItemsAbove(item: IPlayQueueItemStore): Promise<void>;
50
- toggleRepeat(): void;
51
- toggleShuffle(): void;
52
57
  previous(): Promise<void>;
53
58
  next(): Promise<void>;
54
- goToFirst(): Promise<void>;
59
+ addItemFromDto(dto: PlayQueueItemDto): Promise<void>;
55
60
  }
61
+ 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>;