saltfish 0.1.0 → 0.1.1
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/core/SaltfishPlayer.d.ts +6 -33
- package/dist/core/SaltfishPlayer.d.ts.map +1 -1
- package/dist/managers/UIManager.d.ts +92 -0
- package/dist/managers/UIManager.d.ts.map +1 -0
- package/dist/player.js +2 -2
- package/dist/player.min.js +2 -2
- package/dist/saltfish-playlist-player.es.js +579 -467
- package/dist/saltfish-playlist-player.umd.js +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -18,21 +18,11 @@ export declare class SaltfishPlayer {
|
|
|
18
18
|
private eventManager;
|
|
19
19
|
private playlistManager;
|
|
20
20
|
private stepTimeoutManager;
|
|
21
|
+
private uiManager;
|
|
21
22
|
private stateSubject;
|
|
22
23
|
private uiObserver;
|
|
23
24
|
private eventObserver;
|
|
24
|
-
private playerRoot;
|
|
25
|
-
private playerElement;
|
|
26
|
-
private minimizeButton;
|
|
27
|
-
private exitButton;
|
|
28
|
-
private playPauseButton;
|
|
29
25
|
private isInitialized;
|
|
30
|
-
private isDragging;
|
|
31
|
-
private dragOffset;
|
|
32
|
-
private justFinishedDragging;
|
|
33
|
-
private dragStartPosition;
|
|
34
|
-
private hasMoved;
|
|
35
|
-
private resizeListener;
|
|
36
26
|
private static prevState;
|
|
37
27
|
private static destroyTimeoutId;
|
|
38
28
|
private lastConfig;
|
|
@@ -61,11 +51,6 @@ export declare class SaltfishPlayer {
|
|
|
61
51
|
* @param config - Configuration options
|
|
62
52
|
*/
|
|
63
53
|
initialize(config: SaltfishConfig): Promise<void>;
|
|
64
|
-
/**
|
|
65
|
-
* Creates the player element
|
|
66
|
-
* This is now private and will be called by startPlaylist
|
|
67
|
-
*/
|
|
68
|
-
private createPlayerUI;
|
|
69
54
|
/**
|
|
70
55
|
* Identifies the current user
|
|
71
56
|
* @param userId - User ID
|
|
@@ -104,27 +89,10 @@ export declare class SaltfishPlayer {
|
|
|
104
89
|
* Handles store state changes
|
|
105
90
|
*/
|
|
106
91
|
private handleStoreChanges;
|
|
107
|
-
/**
|
|
108
|
-
* Updates the position of the player element based on store state
|
|
109
|
-
*/
|
|
110
|
-
private updatePosition;
|
|
111
|
-
/**
|
|
112
|
-
* Handles minimize button click
|
|
113
|
-
*/
|
|
114
|
-
private handleMinimizeClick;
|
|
115
|
-
/**
|
|
116
|
-
* Sets up drag handlers for the player
|
|
117
|
-
*/
|
|
118
|
-
private setupDragHandlers;
|
|
119
92
|
/**
|
|
120
93
|
* Destroys the Saltfish playlist Player instance
|
|
121
94
|
*/
|
|
122
95
|
destroy(): void;
|
|
123
|
-
/**
|
|
124
|
-
* Updates the visibility of player controls based on the current state
|
|
125
|
-
* @param state - The current player state
|
|
126
|
-
*/
|
|
127
|
-
private updateControlsVisibility;
|
|
128
96
|
/**
|
|
129
97
|
* Handles completed state
|
|
130
98
|
*/
|
|
@@ -150,5 +118,10 @@ export declare class SaltfishPlayer {
|
|
|
150
118
|
* Cleans up the current playlist state
|
|
151
119
|
*/
|
|
152
120
|
private cleanupCurrentPlaylist;
|
|
121
|
+
/**
|
|
122
|
+
* Updates the visibility of player controls based on the current state
|
|
123
|
+
* @param state - The current player state
|
|
124
|
+
*/
|
|
125
|
+
private updateControlsVisibility;
|
|
153
126
|
}
|
|
154
127
|
//# sourceMappingURL=SaltfishPlayer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaltfishPlayer.d.ts","sourceRoot":"","sources":["../../src/core/SaltfishPlayer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAQxD,OAAO,EAAgB,iBAAiB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"SaltfishPlayer.d.ts","sourceRoot":"","sources":["../../src/core/SaltfishPlayer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAQxD,OAAO,EAAgB,iBAAiB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIzF,OAAO,KAAK,EAAE,cAAc,EAAe,eAAe,EAAQ,MAAM,UAAU,CAAC;AAWnF;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA+B;IAEtD,OAAO,CAAC,gBAAgB,CAAmB;IACpC,YAAY,EAAE,YAAY,CAAC;IAClC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,uBAAuB,CAA0B;IACzD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,SAAS,CAAY;IAE7B,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,aAAa,CAAkB;IAEvC,OAAO,CAAC,MAAM,CAAC,SAAS,CAItB;IAEF,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAuB;IAGtD,OAAO,CAAC,UAAU,CAA+B;IAGjD,OAAO,CAAC,sBAAsB,CAAmD;IAEjF;;;OAGG;IACH,OAAO;IA0DP;;OAEG;WACW,WAAW,IAAI,cAAc;IAQ3C;;;OAGG;IACI,YAAY,IAAI,MAAM;IAI7B;;;OAGG;IACI,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIhC;;;OAGG;IACU,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAqF9D;;;;OAIG;IACI,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI;IAuBzD;;;;OAIG;YACW,aAAa;IAoE3B;;;;;;;;;;OAUG;IACU,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAoaxF;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAoKnC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;OAEG;IACH,OAAO,CAAC,kBAAkB,CA0DxB;IAEF;;OAEG;IACI,OAAO,IAAI,IAAI;IAyEtB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA4B5B;;;;OAIG;IACI,EAAE,CAAC,CAAC,SAAS,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAIrF;;;;;OAKG;IACI,GAAG,CAAC,CAAC,SAAS,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO;IAIzF;;OAEG;IACI,aAAa,IAAI,IAAI;IAQ5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAoD9B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;CAIjC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { ShadowDOMManager } from './ShadowDOMManager';
|
|
2
|
+
import { VideoManager } from './VideoManager';
|
|
3
|
+
import { CursorManager } from './CursorManager';
|
|
4
|
+
import { InteractionManager } from './InteractionManager';
|
|
5
|
+
import { ButtonManager } from './ButtonManager';
|
|
6
|
+
import type { PlayerState } from '../types';
|
|
7
|
+
import { UIObserver } from '../observers/UIObserver';
|
|
8
|
+
/**
|
|
9
|
+
* Manages all UI-related functionality including DOM creation, positioning, and drag-and-drop
|
|
10
|
+
*/
|
|
11
|
+
export declare class UIManager {
|
|
12
|
+
private shadowDOMManager;
|
|
13
|
+
private videoManager;
|
|
14
|
+
private cursorManager;
|
|
15
|
+
private interactionManager;
|
|
16
|
+
private buttonManager;
|
|
17
|
+
private uiObserver;
|
|
18
|
+
private playerRoot;
|
|
19
|
+
private playerElement;
|
|
20
|
+
private minimizeButton;
|
|
21
|
+
private exitButton;
|
|
22
|
+
private playPauseButton;
|
|
23
|
+
private isDragging;
|
|
24
|
+
private dragOffset;
|
|
25
|
+
private justFinishedDragging;
|
|
26
|
+
private dragStartPosition;
|
|
27
|
+
private hasMoved;
|
|
28
|
+
private resizeListener;
|
|
29
|
+
constructor(shadowDOMManager: ShadowDOMManager, videoManager: VideoManager, cursorManager: CursorManager, interactionManager: InteractionManager, buttonManager: ButtonManager);
|
|
30
|
+
/**
|
|
31
|
+
* Sets the UIObserver that should be notified of UI changes
|
|
32
|
+
*/
|
|
33
|
+
setUIObserver(uiObserver: UIObserver): void;
|
|
34
|
+
/**
|
|
35
|
+
* Creates the complete player UI
|
|
36
|
+
*/
|
|
37
|
+
createPlayerUI(): void;
|
|
38
|
+
/**
|
|
39
|
+
* Sets up click handler for video container
|
|
40
|
+
*/
|
|
41
|
+
private setupVideoContainerClickHandler;
|
|
42
|
+
/**
|
|
43
|
+
* Creates and adds the saltfish logo to the bottom of the player
|
|
44
|
+
*/
|
|
45
|
+
private createSaltfishLogo;
|
|
46
|
+
/**
|
|
47
|
+
* Updates the position of the player element based on store state
|
|
48
|
+
*/
|
|
49
|
+
updatePosition(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Handles minimize button click
|
|
52
|
+
*/
|
|
53
|
+
handleMinimizeClick(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Handles minimize state changes and updates button visibility
|
|
56
|
+
*/
|
|
57
|
+
handleMinimizeStateChange(isMinimized: boolean): void;
|
|
58
|
+
/**
|
|
59
|
+
* Sets up drag handlers for the player
|
|
60
|
+
*/
|
|
61
|
+
private setupDragHandlers;
|
|
62
|
+
/**
|
|
63
|
+
* Updates the visibility of player controls based on the current state
|
|
64
|
+
* @param state - The current player state
|
|
65
|
+
*/
|
|
66
|
+
updateControlsVisibility(state: PlayerState): void;
|
|
67
|
+
/**
|
|
68
|
+
* Gets the player element
|
|
69
|
+
*/
|
|
70
|
+
getPlayerElement(): HTMLElement | null;
|
|
71
|
+
/**
|
|
72
|
+
* Gets the player root element
|
|
73
|
+
*/
|
|
74
|
+
getPlayerRoot(): HTMLElement | null;
|
|
75
|
+
/**
|
|
76
|
+
* Checks if the UI is currently being dragged
|
|
77
|
+
*/
|
|
78
|
+
isCurrentlyDragging(): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Checks if dragging just finished
|
|
81
|
+
*/
|
|
82
|
+
hasJustFinishedDragging(): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Resets drag state
|
|
85
|
+
*/
|
|
86
|
+
resetDragState(): void;
|
|
87
|
+
/**
|
|
88
|
+
* Destroys the UI and cleans up resources
|
|
89
|
+
*/
|
|
90
|
+
destroy(): void;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=UIManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UIManager.d.ts","sourceRoot":"","sources":["../../src/managers/UIManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAI5C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAA2B;IAE7C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,eAAe,CAAgC;IAGvD,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,oBAAoB,CAAkB;IAC9C,OAAO,CAAC,iBAAiB,CAA4C;IACrE,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,cAAc,CAA6B;gBAGjD,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,aAAa;IAS9B;;OAEG;IACI,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAUlD;;OAEG;IACI,cAAc,IAAI,IAAI;IA0E7B;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAqCvC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;OAEG;IACI,cAAc,IAAI,IAAI;IAiF7B;;OAEG;IACI,mBAAmB,IAAI,IAAI;IA0BlC;;OAEG;IACI,yBAAyB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI;IAc5D;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2IzB;;;OAGG;IACI,wBAAwB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAazD;;OAEG;IACI,gBAAgB,IAAI,WAAW,GAAG,IAAI;IAI7C;;OAEG;IACI,aAAa,IAAI,WAAW,GAAG,IAAI;IAI1C;;OAEG;IACI,mBAAmB,IAAI,OAAO;IAIrC;;OAEG;IACI,uBAAuB,IAAI,OAAO;IAIzC;;OAEG;IACI,cAAc,IAAI,IAAI;IAM7B;;OAEG;IACI,OAAO,IAAI,IAAI;CAkCvB"}
|