saltfish 0.1.3 → 0.1.6

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 (46) hide show
  1. package/dist/core/SaltfishPlayer.d.ts +13 -3
  2. package/dist/core/SaltfishPlayer.d.ts.map +1 -1
  3. package/dist/core/store.d.ts.map +1 -1
  4. package/dist/managers/AnalyticsManager.d.ts +5 -0
  5. package/dist/managers/AnalyticsManager.d.ts.map +1 -1
  6. package/dist/managers/ButtonManager.d.ts +2 -0
  7. package/dist/managers/ButtonManager.d.ts.map +1 -1
  8. package/dist/managers/CursorManager.d.ts +27 -3
  9. package/dist/managers/CursorManager.d.ts.map +1 -1
  10. package/dist/managers/DragManager.d.ts +50 -0
  11. package/dist/managers/DragManager.d.ts.map +1 -0
  12. package/dist/managers/InteractionManager.d.ts +13 -1
  13. package/dist/managers/InteractionManager.d.ts.map +1 -1
  14. package/dist/managers/PlayerView.d.ts +34 -0
  15. package/dist/managers/PlayerView.d.ts.map +1 -0
  16. package/dist/managers/PlaylistManager.d.ts +16 -1
  17. package/dist/managers/PlaylistManager.d.ts.map +1 -1
  18. package/dist/managers/SessionRecordingManager.d.ts.map +1 -1
  19. package/dist/managers/StepTimeoutManager.d.ts +10 -5
  20. package/dist/managers/StepTimeoutManager.d.ts.map +1 -1
  21. package/dist/managers/TransitionManager.d.ts +8 -1
  22. package/dist/managers/TransitionManager.d.ts.map +1 -1
  23. package/dist/managers/TriggerManager.d.ts +85 -0
  24. package/dist/managers/TriggerManager.d.ts.map +1 -0
  25. package/dist/managers/UIManager.d.ts +7 -32
  26. package/dist/managers/UIManager.d.ts.map +1 -1
  27. package/dist/player.js +3 -2
  28. package/dist/player.min.js +3 -2
  29. package/dist/saltfish-playlist-player.es.js +1510 -921
  30. package/dist/saltfish-playlist-player.umd.js +1 -1
  31. package/dist/types/index.d.ts +18 -1
  32. package/dist/types/index.d.ts.map +1 -1
  33. package/dist/updaters/EventUpdater.d.ts +13 -0
  34. package/dist/updaters/EventUpdater.d.ts.map +1 -0
  35. package/dist/updaters/UIUpdater.d.ts +7 -0
  36. package/dist/updaters/UIUpdater.d.ts.map +1 -0
  37. package/dist/utils/deviceDetection.d.ts +6 -0
  38. package/dist/utils/deviceDetection.d.ts.map +1 -1
  39. package/package.json +2 -8
  40. package/README.md +0 -634
  41. package/dist/observers/EventObserver.d.ts +0 -52
  42. package/dist/observers/EventObserver.d.ts.map +0 -1
  43. package/dist/observers/UIObserver.d.ts +0 -43
  44. package/dist/observers/UIObserver.d.ts.map +0 -1
  45. package/dist/patterns/PlayerStateSubject.d.ts +0 -34
  46. package/dist/patterns/PlayerStateSubject.d.ts.map +0 -1
@@ -15,13 +15,15 @@ export declare class SaltfishPlayer {
15
15
  private sessionManager;
16
16
  private buttonManager;
17
17
  private transitionManager;
18
+ private triggerManager;
18
19
  private eventManager;
19
20
  private playlistManager;
20
21
  private stepTimeoutManager;
21
22
  private uiManager;
22
- private stateSubject;
23
- private uiObserver;
24
- private eventObserver;
23
+ private playerView;
24
+ private dragManager;
25
+ private uiUpdaterUnsubscribe;
26
+ private eventUpdaterUnsubscribe;
25
27
  private isInitialized;
26
28
  private static prevState;
27
29
  private static destroyTimeoutId;
@@ -91,6 +93,10 @@ export declare class SaltfishPlayer {
91
93
  * @returns The video URL to use (compressed if available, otherwise regular)
92
94
  */
93
95
  private getVideoUrl;
96
+ /**
97
+ * Setup UI and Event updaters that subscribe to store changes
98
+ */
99
+ private setupUpdaters;
94
100
  /**
95
101
  * Handles store state changes
96
102
  */
@@ -124,6 +130,10 @@ export declare class SaltfishPlayer {
124
130
  * Cleans up the current playlist state
125
131
  */
126
132
  private cleanupCurrentPlaylist;
133
+ /**
134
+ * Cleans up playlist-specific resources while keeping trigger monitoring active
135
+ */
136
+ private cleanupPlaylist;
127
137
  /**
128
138
  * Updates the visibility of player controls based on the current state
129
139
  * @param state - The current player state
@@ -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;AAIzF,OAAO,KAAK,EAAE,cAAc,EAAe,eAAe,EAAQ,MAAM,UAAU,CAAC;AAUnF;;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;IA2F9D;;;;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;IA+ZxF;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA6KnC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAInB;;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"}
1
+ {"version":3,"file":"SaltfishPlayer.d.ts","sourceRoot":"","sources":["../../src/core/SaltfishPlayer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AASxD,OAAO,EAAgB,iBAAiB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAMzF,OAAO,KAAK,EAAE,cAAc,EAAe,eAAe,EAAQ,MAAM,UAAU,CAAC;AASnF;;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,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAc;IAGjC,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,uBAAuB,CAA6B;IAE5D,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;IA4CP;;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;IA+F9D;;;;OAIG;IACI,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI;IAuBzD;;;;OAIG;YACW,aAAa;IAwE3B;;;;;;;;;;OAUG;IACU,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAiexF;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA6KnC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,aAAa;IAuCrB;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAoDxB;IAEF;;OAEG;IACI,OAAO,IAAI,IAAI;IAmFtB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA0B5B;;;;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;IAkD9B;;OAEG;IACH,OAAO,CAAC,eAAe;IA0DvB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;CAIjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/core/store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EAIb,IAAI,EAKL,MAAM,UAAU,CAAC;AAgBlB;;;GAGG;AACH,eAAO,MAAM,aAAa;;CA2azB,CAAC;AAIF,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,MAAM,aAAa,CAAC;IAC9B,QAAQ,EAAE,OAAO,aAAa,CAAC,QAAQ,CAAC;IACxC,SAAS,EAAE,OAAO,aAAa,CAAC,SAAS,CAAC;IAC1C,OAAO,EAAE,OAAO,aAAa,CAAC,OAAO,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,YAK9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAO,IAAI,GAAG,IAKxC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAO,IAAI,GAAG,IAKxC,CAAC"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/core/store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EAIb,IAAI,EAKL,MAAM,UAAU,CAAC;AAelB;;;GAGG;AACH,eAAO,MAAM,aAAa;;CAgWzB,CAAC;AAIF,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,MAAM,aAAa,CAAC;IAC9B,QAAQ,EAAE,OAAO,aAAa,CAAC,QAAQ,CAAC;IACxC,SAAS,EAAE,OAAO,aAAa,CAAC,SAAS,CAAC;IAC1C,OAAO,EAAE,OAAO,aAAa,CAAC,OAAO,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,YAK9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAO,IAAI,GAAG,IAKxC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAO,IAAI,GAAG,IAKxC,CAAC"}
@@ -90,6 +90,11 @@ export declare class AnalyticsManager {
90
90
  * @param event - Event data
91
91
  */
92
92
  private trackEvent;
93
+ /**
94
+ * Manually flush queued events immediately
95
+ * This is useful for ensuring events are sent before player destruction
96
+ */
97
+ flush(): Promise<void>;
93
98
  /**
94
99
  * Sends queued events to the backend
95
100
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AnalyticsManager.d.ts","sourceRoot":"","sources":["../../src/managers/AnalyticsManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAK9C;;;;;;;;;GASG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,IAAI,CAAyB;IACrC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,gBAAgB,CAAiB;IAEzC;;;OAGG;gBACS,YAAY,CAAC,EAAE,YAAY;IAMvC;;;OAGG;IACI,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAKxD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgGzB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAUhB;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAqBnE;;;OAGG;IACI,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAIpC;;;OAGG;IACI,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAkBnD;;;OAGG;IACI,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAkBtD;;;;OAIG;IACI,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAmBjE;;;;OAIG;IACI,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAmBlE;;;;;OAKG;IACI,gBAAgB,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACnC,IAAI;IAmBP;;;;;;OAMG;IACI,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAuB9F;;;OAGG;IACH,OAAO,CAAC,UAAU;IAgBlB;;OAEG;YACW,WAAW;IAoDzB;;OAEG;IACI,OAAO,IAAI,IAAI;IA2BtB;;;OAGG;IACH,OAAO,CAAC,QAAQ;CASjB"}
1
+ {"version":3,"file":"AnalyticsManager.d.ts","sourceRoot":"","sources":["../../src/managers/AnalyticsManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAK9C;;;;;;;;;GASG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,IAAI,CAAyB;IACrC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,gBAAgB,CAAiB;IAEzC;;;OAGG;gBACS,YAAY,CAAC,EAAE,YAAY;IAMvC;;;OAGG;IACI,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAKxD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgGzB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAUhB;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAqBnE;;;OAGG;IACI,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAIpC;;;OAGG;IACI,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAkBnD;;;OAGG;IACI,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAkBtD;;;;OAIG;IACI,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAmBjE;;;;OAIG;IACI,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAmBlE;;;;;OAKG;IACI,gBAAgB,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACnC,IAAI;IAmBP;;;;;;OAMG;IACI,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAuB9F;;;OAGG;IACH,OAAO,CAAC,UAAU;IAgBlB;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;OAEG;YACW,WAAW;IAoDzB;;OAEG;IACI,OAAO,IAAI,IAAI;IA2BtB;;;OAGG;IACH,OAAO,CAAC,QAAQ;CASjB"}
@@ -3,6 +3,7 @@ import type { VideoManager } from './VideoManager';
3
3
  /**
4
4
  * ButtonManager is responsible for managing the display of
5
5
  * playback buttons, DOM click buttons, and other UI controls in the player.
6
+ * It subscribes to store changes and updates buttons automatically.
6
7
  */
7
8
  export declare class ButtonManager {
8
9
  private playbackButtonsVisible;
@@ -10,6 +11,7 @@ export declare class ButtonManager {
10
11
  private playButton;
11
12
  private centerPlayButton;
12
13
  private videoManager;
14
+ private storeUnsubscribe;
13
15
  constructor();
14
16
  /**
15
17
  * Initializes the ButtonManager with the root element and video manager
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonManager.d.ts","sourceRoot":"","sources":["../../src/managers/ButtonManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,YAAY,CAA6B;;IAMjD;;;;;OAKG;IACI,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI;IAuFzE;;;OAGG;IAEH;;;OAGG;IACI,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAYrD;;;OAGG;IACI,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAgGtD;;OAEG;IACI,OAAO,IAAI,IAAI;CAQvB"}
1
+ {"version":3,"file":"ButtonManager.d.ts","sourceRoot":"","sources":["../../src/managers/ButtonManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;GAIG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,gBAAgB,CAA6B;;IAMrD;;;;;OAKG;IACI,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI;IA4FzE;;;OAGG;IAEH;;;OAGG;IACI,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAYrD;;;OAGG;IACI,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAgGtD;;OAEG;IACI,OAAO,IAAI,IAAI;CAevB"}
@@ -19,6 +19,8 @@ export declare class CursorManager {
19
19
  private currentTargetElement;
20
20
  private scrollThrottleTimeout;
21
21
  private boundScrollHandler;
22
+ private scrollableParents;
23
+ private parentScrollHandlers;
22
24
  private selectionElement;
23
25
  private isSelectionMode;
24
26
  private selectionStartWidth;
@@ -37,6 +39,21 @@ export declare class CursorManager {
37
39
  private controlPointX;
38
40
  private controlPointY;
39
41
  private targetMutationObserver;
42
+ /**
43
+ * Finds all scrollable parent containers of an element
44
+ * @param element - The element to find scrollable parents for
45
+ * @returns Array of scrollable parent elements
46
+ */
47
+ private findScrollableParents;
48
+ /**
49
+ * Adds scroll event listeners to scrollable parent containers
50
+ * @param element - The target element whose parents should be monitored
51
+ */
52
+ private addScrollListenersToParents;
53
+ /**
54
+ * Removes scroll event listeners from all tracked parent containers
55
+ */
56
+ private removeScrollListenersFromParents;
40
57
  /**
41
58
  * Helper function to find an element in the document
42
59
  * @param selector - CSS selector
@@ -44,17 +61,24 @@ export declare class CursorManager {
44
61
  */
45
62
  private findElement;
46
63
  /**
47
- * Checks if an element is visible in the viewport
64
+ * Checks if an element is completely visible in the viewport and within all scrollable parent containers
48
65
  * @param element - The element to check
49
- * @returns - Whether the element is visible in viewport
66
+ * @returns - Whether the entire element is visible in viewport and all scrollable parents
50
67
  */
51
68
  private isElementInViewport;
52
69
  /**
53
- * Scrolls an element into view smoothly
70
+ * Scrolls an element into view smoothly, handling both window and parent container scrolling
54
71
  * @param element - The element to scroll into view
55
72
  * @returns - Promise that resolves when scrolling is complete
56
73
  */
57
74
  private scrollElementIntoView;
75
+ /**
76
+ * Scrolls parent containers to make the element visible
77
+ * @param element - The target element
78
+ * @param scrollableParents - Array of scrollable parent containers
79
+ * @returns Promise that resolves when scrolling is complete
80
+ */
81
+ private scrollParentContainersToShowElement;
58
82
  /**
59
83
  * Finds an element and scrolls it into view if necessary
60
84
  * @param selector - CSS selector
@@ -1 +1 @@
1
- {"version":3,"file":"CursorManager.d.ts","sourceRoot":"","sources":["../../src/managers/CursorManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CursorManager.d.ts","sourceRoot":"","sources":["../../src/managers/CursorManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * DragManager handles all drag-and-drop functionality for the player.
3
+ * It's responsible for managing drag state, handling mouse events,
4
+ * and updating player position during drag operations.
5
+ */
6
+ export declare class DragManager {
7
+ private playerElement;
8
+ private playerRoot;
9
+ private isDragging;
10
+ private dragOffset;
11
+ private justFinishedDragging;
12
+ private dragStartPosition;
13
+ private hasMoved;
14
+ private resizeListener;
15
+ private onDragStateChange;
16
+ /**
17
+ * Initializes the drag manager with the player elements
18
+ * @param playerElement - The draggable player element
19
+ * @param playerRoot - The root element that gets positioned
20
+ * @param onDragStateChange - Callback for when drag state changes
21
+ */
22
+ initialize(playerElement: HTMLElement, playerRoot: HTMLElement, onDragStateChange?: () => void): void;
23
+ /**
24
+ * Sets up drag handlers for the player
25
+ */
26
+ private setupDragHandlers;
27
+ /**
28
+ * Updates the player position during drag operations
29
+ * @param position - The new position coordinates
30
+ * @param positionAlignment - The position alignment setting
31
+ */
32
+ private updatePlayerPosition;
33
+ /**
34
+ * Checks if the UI is currently being dragged
35
+ */
36
+ isCurrentlyDragging(): boolean;
37
+ /**
38
+ * Checks if dragging just finished
39
+ */
40
+ hasJustFinishedDragging(): boolean;
41
+ /**
42
+ * Resets drag state
43
+ */
44
+ resetDragState(): void;
45
+ /**
46
+ * Destroys the drag manager and cleans up resources
47
+ */
48
+ destroy(): void;
49
+ }
50
+ //# sourceMappingURL=DragManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DragManager.d.ts","sourceRoot":"","sources":["../../src/managers/DragManager.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,UAAU,CAA4B;IAG9C,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;IAGnD,OAAO,CAAC,iBAAiB,CAA6B;IAEtD;;;;;OAKG;IACI,UAAU,CACf,aAAa,EAAE,WAAW,EAC1B,UAAU,EAAE,WAAW,EACvB,iBAAiB,CAAC,EAAE,MAAM,IAAI,GAC7B,IAAI;IAQP;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA0IzB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;OAEG;IACI,mBAAmB,IAAI,OAAO;IAIrC;;OAEG;IACI,uBAAuB,IAAI,OAAO;IAIzC;;OAEG;IACI,cAAc,IAAI,IAAI;IAM7B;;OAEG;IACI,OAAO,IAAI,IAAI;CAiBvB"}
@@ -1,12 +1,14 @@
1
1
  import type { ButtonOverlay, DOMInteraction } from '../types';
2
2
  /**
3
- * Manager class for handling user interactions
3
+ * Manager class for handling user interactions.
4
+ * Now subscribes to store changes for automatic state management.
4
5
  */
5
6
  export declare class InteractionManager {
6
7
  private container;
7
8
  private buttons;
8
9
  private buttonContainer;
9
10
  private domEventListeners;
11
+ private storeUnsubscribe;
10
12
  /**
11
13
  * Creates interaction elements
12
14
  * @param container - The container element for interactions
@@ -46,6 +48,16 @@ export declare class InteractionManager {
46
48
  * @param interaction - The interaction configuration
47
49
  */
48
50
  private handleDOMInteraction;
51
+ /**
52
+ * Checks if the current step is the last step in the playlist
53
+ * @param store - The current store state
54
+ * @returns true if current step is the last step, false otherwise
55
+ */
56
+ private isCurrentStepLast;
57
+ /**
58
+ * Flushes analytics events to ensure they're sent before player destruction
59
+ */
60
+ private flushAnalytics;
49
61
  /**
50
62
  * Cleans up resources used by the interaction manager
51
63
  */
@@ -1 +1 @@
1
- {"version":3,"file":"InteractionManager.d.ts","sourceRoot":"","sources":["../../src/managers/InteractionManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI9D;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,iBAAiB,CAA2F;IAEpH;;;OAGG;IACI,MAAM,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAK3C;;;OAGG;IACI,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI;IAwDpD;;OAEG;IACI,YAAY,IAAI,IAAI;IAoB3B;;OAEG;IACI,qBAAqB,IAAI,IAAI;IAqBpC;;;OAGG;IACI,oBAAoB,CAAC,YAAY,EAAE,cAAc,EAAE,GAAG,IAAI;IA6CjE;;OAEG;IACI,oBAAoB,IAAI,IAAI;IAgBnC;;;;OAIG;YACW,iBAAiB;IAkF/B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAqC5B;;OAEG;IACI,OAAO,IAAI,IAAI;CAYvB"}
1
+ {"version":3,"file":"InteractionManager.d.ts","sourceRoot":"","sources":["../../src/managers/InteractionManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI9D;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,iBAAiB,CAA2F;IACpH,OAAO,CAAC,gBAAgB,CAA6B;IAErD;;;OAGG;IACI,MAAM,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAc3C;;;OAGG;IACI,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI;IAwDpD;;OAEG;IACI,YAAY,IAAI,IAAI;IAoB3B;;OAEG;IACI,qBAAqB,IAAI,IAAI;IAqBpC;;;OAGG;IACI,oBAAoB,CAAC,YAAY,EAAE,cAAc,EAAE,GAAG,IAAI;IA6CjE;;OAEG;IACI,oBAAoB,IAAI,IAAI;IAgBnC;;;;OAIG;YACW,iBAAiB;IAmG/B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAqC5B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;YACW,cAAc;IAmB5B;;OAEG;IACI,OAAO,IAAI,IAAI;CAkBvB"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * PlayerView is responsible for creating the main player DOM structure
3
+ * and appending it to the shadow DOM. It handles only the structural
4
+ * creation of the player interface.
5
+ */
6
+ export declare class PlayerView {
7
+ private playerElement;
8
+ /**
9
+ * Creates the main player DOM structure
10
+ * @param shadowRoot - The shadow DOM root element to append to
11
+ * @returns The created player element
12
+ */
13
+ create(shadowRoot: HTMLElement): HTMLElement;
14
+ /**
15
+ * Creates the controls container structure
16
+ * @param parentElement - The parent element to append the controls container to
17
+ * @returns The created controls container element
18
+ */
19
+ createControlsContainer(parentElement: HTMLElement): HTMLElement;
20
+ /**
21
+ * Creates and adds the saltfish logo to the player
22
+ * @param parentElement - The parent element to append the logo to
23
+ */
24
+ createSaltfishLogo(parentElement: HTMLElement): void;
25
+ /**
26
+ * Gets the player element
27
+ */
28
+ getPlayerElement(): HTMLElement | null;
29
+ /**
30
+ * Destroys the player view and cleans up resources
31
+ */
32
+ destroy(): void;
33
+ }
34
+ //# sourceMappingURL=PlayerView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlayerView.d.ts","sourceRoot":"","sources":["../../src/managers/PlayerView.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,aAAa,CAA4B;IAEjD;;;;OAIG;IACI,MAAM,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW;IAenD;;;;OAIG;IACI,uBAAuB,CAAC,aAAa,EAAE,WAAW,GAAG,WAAW;IAOvE;;;OAGG;IACI,kBAAkB,CAAC,aAAa,EAAE,WAAW,GAAG,IAAI;IA2C3D;;OAEG;IACI,gBAAgB,IAAI,WAAW,GAAG,IAAI;IAI7C;;OAEG;IACI,OAAO,IAAI,IAAI;CAMvB"}
@@ -1,4 +1,5 @@
1
1
  import { EventManager } from './EventManager';
2
+ import type { PlaylistOptions } from '../types';
2
3
  /**
3
4
  * Manager class for handling playlist-related functionality
4
5
  *
@@ -9,6 +10,7 @@ import { EventManager } from './EventManager';
9
10
  */
10
11
  export declare class PlaylistManager {
11
12
  private eventManager;
13
+ private isUpdatingWatchedPlaylists;
12
14
  /**
13
15
  * Creates a new PlaylistManager
14
16
  * @param eventManager - Optional event manager to subscribe to events
@@ -28,12 +30,25 @@ export declare class PlaylistManager {
28
30
  */
29
31
  private getStore;
30
32
  /**
31
- * Updates the watched playlist status in the backend
33
+ * Updates the watched playlist status locally and in the backend
32
34
  * @param playlistId - ID of the playlist
33
35
  * @param status - New status ('in_progress' or 'completed')
34
36
  * @param currentStepId - Optional current step ID
35
37
  */
36
38
  private updateWatchedPlaylistStatus;
39
+ /**
40
+ * Loads a playlist manifest and sets up the store
41
+ * @param playlistId - Path or identifier for the playlist manifest
42
+ * @param options - Playlist configuration options
43
+ */
44
+ load(playlistId: string, options: PlaylistOptions): Promise<void>;
45
+ /**
46
+ * Determines which step to start from based on persistence settings and saved progress
47
+ * @param manifest - The loaded playlist manifest
48
+ * @param options - Playlist configuration options
49
+ * @returns The step ID to start from
50
+ */
51
+ private determineStartStep;
37
52
  /**
38
53
  * Cleans up resources used by the playlist manager
39
54
  */
@@ -1 +1 @@
1
- {"version":3,"file":"PlaylistManager.d.ts","sourceRoot":"","sources":["../../src/managers/PlaylistManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI9C;;;;;;;GAOG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,YAAY,CAA6B;IAEjD;;;OAGG;gBACS,YAAY,CAAC,EAAE,YAAY;IAMvC;;;OAGG;IACI,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAKxD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA4BzB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAShB;;;;;OAKG;YACW,2BAA2B;IAmCzC;;OAEG;IACI,OAAO,IAAI,IAAI;CAQvB"}
1
+ {"version":3,"file":"PlaylistManager.d.ts","sourceRoot":"","sources":["../../src/managers/PlaylistManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,KAAK,EAAoB,eAAe,EAAE,MAAM,UAAU,CAAC;AAElE;;;;;;;GAOG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,0BAA0B,CAAkB;IAEpD;;;OAGG;gBACS,YAAY,CAAC,EAAE,YAAY;IAMvC;;;OAGG;IACI,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAKxD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA4BzB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAShB;;;;;OAKG;YACW,2BAA2B;IA0EzC;;;;OAIG;IACU,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA0D9E;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;OAEG;IACI,OAAO,IAAI,IAAI;CAQvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SessionRecordingManager.d.ts","sourceRoot":"","sources":["../../src/managers/SessionRecordingManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEzD;;;;;;;;GAQG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,WAAW,CAAkB;IAErC;;OAEG;;IAKH;;;;;OAKG;IACI,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAmBnF;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAsCnC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAuBtB;;;OAGG;IACI,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IA+BzC;;OAEG;IACI,aAAa,IAAI,IAAI;IAQ5B;;;OAGG;IACI,oBAAoB,IAAI,OAAO;CAGvC"}
1
+ {"version":3,"file":"SessionRecordingManager.d.ts","sourceRoot":"","sources":["../../src/managers/SessionRecordingManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEzD;;;;;;;;GAQG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,WAAW,CAAkB;IAErC;;OAEG;;IAKH;;;;;OAKG;IACI,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAyBnF;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA4CnC;;;OAGG;IACH,OAAO,CAAC,cAAc;IA4BtB;;;OAGG;IACI,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAoCzC;;OAEG;IACI,aAAa,IAAI,IAAI;IAa5B;;;OAGG;IACI,oBAAoB,IAAI,OAAO;CAGvC"}
@@ -1,19 +1,23 @@
1
- import { PlayerStateChangeData } from '../patterns/PlayerStateSubject';
2
- import { Observer } from '../patterns/Observer';
1
+ interface StepTimeoutData {
2
+ currentStepId: string | null;
3
+ currentState: string;
4
+ isMinimized: boolean;
5
+ previousState?: string;
6
+ }
3
7
  /**
4
8
  * Manages step timeout functionality to destroy the player if a user
5
9
  * stays on the same step for more than 60 seconds
6
10
  */
7
- export declare class StepTimeoutManager implements Observer<PlayerStateChangeData> {
11
+ export declare class StepTimeoutManager {
8
12
  private static readonly STEP_TIMEOUT_MS;
9
13
  private currentStepId;
10
14
  private stepTimeoutId;
11
15
  private destroyCallback;
12
16
  constructor(destroyCallback: () => void);
13
17
  /**
14
- * Observer pattern implementation - called when player state changes
18
+ * Update method - called when player state changes
15
19
  */
16
- update(data: PlayerStateChangeData): void;
20
+ update(data: StepTimeoutData): void;
17
21
  /**
18
22
  * Sets or resets the step timeout
19
23
  */
@@ -35,4 +39,5 @@ export declare class StepTimeoutManager implements Observer<PlayerStateChangeDat
35
39
  */
36
40
  destroy(): void;
37
41
  }
42
+ export {};
38
43
  //# sourceMappingURL=StepTimeoutManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StepTimeoutManager.d.ts","sourceRoot":"","sources":["../../src/managers/StepTimeoutManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,QAAQ,CAAC,qBAAqB,CAAC;IACxE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAuB;IAE9D,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,eAAe,CAA6B;gBAExC,eAAe,EAAE,MAAM,IAAI;IAKvC;;OAEG;IACI,MAAM,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI;IAsChD;;OAEG;IACH,OAAO,CAAC,cAAc;IAmBtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACI,KAAK,IAAI,IAAI;IAMpB;;OAEG;IACI,OAAO,IAAI,IAAI;CAMvB"}
1
+ {"version":3,"file":"StepTimeoutManager.d.ts","sourceRoot":"","sources":["../../src/managers/StepTimeoutManager.ts"],"names":[],"mappings":"AAIA,UAAU,eAAe;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAuB;IAE9D,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,eAAe,CAA6B;gBAExC,eAAe,EAAE,MAAM,IAAI;IAKvC;;OAEG;IACI,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAsC1C;;OAEG;IACH,OAAO,CAAC,cAAc;IAmBtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACI,KAAK,IAAI,IAAI;IAMpB;;OAEG;IACI,OAAO,IAAI,IAAI;CAMvB"}
@@ -1,4 +1,5 @@
1
1
  import type { Step } from '../types';
2
+ import type { TriggerManager } from './TriggerManager';
2
3
  /**
3
4
  * Manages transitions between steps in the Saltfish playlist Player
4
5
  * Serves as a single source of truth for determining when to move to the next step
@@ -6,13 +7,19 @@ import type { Step } from '../types';
6
7
  export declare class TransitionManager {
7
8
  private activeTransitions;
8
9
  private waitingForInteraction;
10
+ private triggerManager;
9
11
  constructor();
12
+ /**
13
+ * Sets the TriggerManager reference for coordinating autoStart triggers
14
+ * @param triggerManager - The TriggerManager instance
15
+ */
16
+ setTriggerManager(triggerManager: TriggerManager): void;
10
17
  /**
11
18
  * Monitors history pushState and replaceState methods to detect SPA navigation
12
19
  */
13
20
  private monitorHistoryChanges;
14
21
  /**
15
- * Handles URL changes by checking active URL path transitions
22
+ * Handles URL changes by checking active URL path transitions and autoStart triggers
16
23
  */
17
24
  private handleURLChange;
18
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TransitionManager.d.ts","sourceRoot":"","sources":["../../src/managers/TransitionManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAuB,MAAM,UAAU,CAAC;AAE1D;;;GAGG;AACH,qBAAa,iBAAiB;IAE5B,OAAO,CAAC,iBAAiB,CAQV;IAGf,OAAO,CAAC,qBAAqB,CAAkB;;IAgB/C;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAwB7B;;OAEG;IACH,OAAO,CAAC,eAAe,CAkBtB;IAED;;;;OAIG;IACI,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,GAAE,OAAe,GAAG,IAAI;IA2B9E;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAyH/B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IA0C9B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA+F9B;;OAEG;IACH,OAAO,CAAC,cAAc;IAuBtB;;;OAGG;IACI,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IA2ClD;;OAEG;IACI,kBAAkB,IAAI,IAAI;IASjC;;;OAGG;IACI,wBAAwB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAKzD;;;OAGG;IACI,uBAAuB,IAAI,OAAO;IAIzC;;OAEG;IACI,OAAO,IAAI,IAAI;IAQtB;;;OAGG;IACH,OAAO,CAAC,gCAAgC;CAiKzC"}
1
+ {"version":3,"file":"TransitionManager.d.ts","sourceRoot":"","sources":["../../src/managers/TransitionManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAuB,MAAM,UAAU,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,iBAAiB;IAE5B,OAAO,CAAC,iBAAiB,CAQV;IAGf,OAAO,CAAC,qBAAqB,CAAkB;IAG/C,OAAO,CAAC,cAAc,CAA+B;;IAgBrD;;;OAGG;IACI,iBAAiB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IAK9D;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAwB7B;;OAEG;IACH,OAAO,CAAC,eAAe,CAyBtB;IAED;;;;OAIG;IACI,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,GAAE,OAAe,GAAG,IAAI;IA2B9E;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAyH/B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IA0C9B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA+F9B;;OAEG;IACH,OAAO,CAAC,cAAc;IA6BtB;;;OAGG;IACI,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IA2ClD;;OAEG;IACI,kBAAkB,IAAI,IAAI;IASjC;;;OAGG;IACI,wBAAwB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAKzD;;;OAGG;IACI,uBAAuB,IAAI,OAAO;IAIzC;;OAEG;IACI,OAAO,IAAI,IAAI;IAQtB;;;OAGG;IACH,OAAO,CAAC,gCAAgC;CAiKzC"}
@@ -0,0 +1,85 @@
1
+ import type { PlaylistPathInfo } from '../types';
2
+ /**
3
+ * Manages autoStart playlist triggers
4
+ * Evaluates trigger conditions and launches playlists automatically
5
+ */
6
+ export declare class TriggerManager {
7
+ private autoStartPlaylists;
8
+ private triggeredPlaylists;
9
+ private isMonitoring;
10
+ constructor();
11
+ /**
12
+ * Registers autoStart playlists and their trigger configurations
13
+ * @param playlists - List of all playlists from backend
14
+ */
15
+ registerTriggers(playlists: PlaylistPathInfo[]): void;
16
+ /**
17
+ * Starts monitoring for trigger conditions
18
+ */
19
+ startMonitoring(): void;
20
+ /**
21
+ * Stops monitoring for trigger conditions
22
+ */
23
+ stopMonitoring(): void;
24
+ /**
25
+ * Evaluates all registered triggers against current conditions
26
+ * Called by TransitionManager when URL changes occur
27
+ */
28
+ evaluateAllTriggers(): void;
29
+ /**
30
+ * Evaluates triggers for a specific playlist
31
+ * @param playlist - The playlist to evaluate triggers for
32
+ */
33
+ private evaluatePlaylistTrigger;
34
+ /**
35
+ * Evaluates the 'once' condition for a playlist
36
+ * @param once - Whether playlist should only trigger once per user
37
+ * @param playlistId - The playlist ID to check
38
+ * @param watchedPlaylists - User's watched playlists data
39
+ */
40
+ private evaluateOnceCondition;
41
+ /**
42
+ * Evaluates the URL condition for a playlist
43
+ * @param pattern - URL pattern to match against (null = no URL condition)
44
+ */
45
+ private evaluateURLCondition;
46
+ /**
47
+ * Evaluates the playlistSeen condition
48
+ * User must have seen ALL specified playlists
49
+ * @param requiredPlaylists - Array of playlist IDs that user must have seen
50
+ * @param watchedPlaylists - User's watched playlists data
51
+ */
52
+ private evaluatePlaylistSeenCondition;
53
+ /**
54
+ * Evaluates the playlistNotSeen condition
55
+ * User must NOT have seen ANY of the specified playlists
56
+ * @param forbiddenPlaylists - Array of playlist IDs that user must not have seen
57
+ * @param watchedPlaylists - User's watched playlists data
58
+ */
59
+ private evaluatePlaylistNotSeenCondition;
60
+ /**
61
+ * Applies logical operators to combine multiple conditions
62
+ * @param conditions - Array of boolean conditions to combine
63
+ * @param operators - Array of operators ("AND" or "OR")
64
+ */
65
+ private applyOperators;
66
+ /**
67
+ * Triggers a playlist to start
68
+ * @param playlistId - ID of the playlist to trigger
69
+ */
70
+ private triggerPlaylist;
71
+ /**
72
+ * Resets the triggered playlists tracking
73
+ * Useful for testing or when user context changes
74
+ */
75
+ resetTriggeredPlaylists(): void;
76
+ /**
77
+ * Gets list of playlists that have been triggered this session
78
+ */
79
+ getTriggeredPlaylists(): string[];
80
+ /**
81
+ * Cleanup method to be called on destroy
82
+ */
83
+ destroy(): void;
84
+ }
85
+ //# sourceMappingURL=TriggerManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriggerManager.d.ts","sourceRoot":"","sources":["../../src/managers/TriggerManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,kBAAkB,CAA0B;IACpD,OAAO,CAAC,kBAAkB,CAA0B;IACpD,OAAO,CAAC,YAAY,CAAkB;;IAMtC;;;OAGG;IACI,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAc5D;;OAEG;IACI,eAAe,IAAI,IAAI;IAa9B;;OAEG;IACI,cAAc,IAAI,IAAI;IAK7B;;;OAGG;IACI,mBAAmB,IAAI,IAAI;IAYlC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAwD/B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA4B5B;;;;;OAKG;IACH,OAAO,CAAC,6BAA6B;IAwBrC;;;;;OAKG;IACH,OAAO,CAAC,gCAAgC;IAwBxC;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAuBtB;;;OAGG;YACW,eAAe;IAsB7B;;;OAGG;IACI,uBAAuB,IAAI,IAAI;IAKtC;;OAEG;IACI,qBAAqB,IAAI,MAAM,EAAE;IAIxC;;OAEG;IACI,OAAO,IAAI,IAAI;CAMvB"}
@@ -1,48 +1,27 @@
1
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
2
  import type { PlayerState } from '../types';
7
- import { UIObserver } from '../observers/UIObserver';
8
3
  /**
9
- * Manages all UI-related functionality including DOM creation, positioning, and drag-and-drop
4
+ * Manages UI coordination and positioning. Now uses PlayerView for DOM creation
5
+ * and DragManager for drag functionality, making it much more focused.
10
6
  */
11
7
  export declare class UIManager {
12
8
  private shadowDOMManager;
13
- private videoManager;
14
- private cursorManager;
15
- private interactionManager;
16
- private buttonManager;
17
- private uiObserver;
9
+ private playerView;
10
+ private dragManager;
18
11
  private playerRoot;
19
12
  private playerElement;
20
13
  private minimizeButton;
21
14
  private exitButton;
22
15
  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);
16
+ constructor(shadowDOMManager: ShadowDOMManager);
30
17
  /**
31
- * Sets the UIObserver that should be notified of UI changes
18
+ * Creates the complete player UI using the new decoupled structure
32
19
  */
33
- setUIObserver(uiObserver: UIObserver): void;
34
- /**
35
- * Creates the complete player UI
36
- */
37
- createPlayerUI(): void;
20
+ createPlayerUI(videoManager: any, cursorManager: any, interactionManager: any, buttonManager: any): void;
38
21
  /**
39
22
  * Sets up click handler for video container
40
23
  */
41
24
  private setupVideoContainerClickHandler;
42
- /**
43
- * Creates and adds the saltfish logo to the bottom of the player
44
- */
45
- private createSaltfishLogo;
46
25
  /**
47
26
  * Updates the position of the player element based on store state
48
27
  */
@@ -55,10 +34,6 @@ export declare class UIManager {
55
34
  * Handles minimize state changes and updates button visibility
56
35
  */
57
36
  handleMinimizeStateChange(isMinimized: boolean): void;
58
- /**
59
- * Sets up drag handlers for the player
60
- */
61
- private setupDragHandlers;
62
37
  /**
63
38
  * Updates the visibility of player controls based on the current state
64
39
  * @param state - The current player state
@@ -1 +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;IA6E7B;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAqCvC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyC1B;;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"}
1
+ {"version":3,"file":"UIManager.d.ts","sourceRoot":"","sources":["../../src/managers/UIManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAOtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAK5C;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAc;IAEjC,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;gBAE3C,gBAAgB,EAAE,gBAAgB;IAO9C;;OAEG;IACI,cAAc,CAAC,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,GAAG,IAAI;IAsE/G;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAsCvC;;OAEG;IACI,cAAc,IAAI,IAAI;IAgF7B;;OAEG;IACI,mBAAmB,IAAI,IAAI;IA0BlC;;OAEG;IACI,yBAAyB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI;IAe5D;;;OAGG;IACI,wBAAwB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAWzD;;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;IAI7B;;OAEG;IACI,OAAO,IAAI,IAAI;CA6BvB"}