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.
@@ -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":"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"}
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"}