saltfish 0.1.2 → 0.1.4
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 +19 -3
- package/dist/core/SaltfishPlayer.d.ts.map +1 -1
- package/dist/core/store.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/managers/AnalyticsManager.d.ts +5 -0
- package/dist/managers/AnalyticsManager.d.ts.map +1 -1
- package/dist/managers/ButtonManager.d.ts +2 -0
- package/dist/managers/ButtonManager.d.ts.map +1 -1
- package/dist/managers/CursorManager.d.ts +50 -3
- package/dist/managers/CursorManager.d.ts.map +1 -1
- package/dist/managers/DevicePlaybackHandler.d.ts +118 -0
- package/dist/managers/DevicePlaybackHandler.d.ts.map +1 -0
- package/dist/managers/DragManager.d.ts +50 -0
- package/dist/managers/DragManager.d.ts.map +1 -0
- package/dist/managers/InteractionManager.d.ts +13 -1
- package/dist/managers/InteractionManager.d.ts.map +1 -1
- package/dist/managers/PlayerView.d.ts +34 -0
- package/dist/managers/PlayerView.d.ts.map +1 -0
- package/dist/managers/PlaylistManager.d.ts +16 -1
- package/dist/managers/PlaylistManager.d.ts.map +1 -1
- package/dist/managers/SessionRecordingManager.d.ts.map +1 -1
- package/dist/managers/StepTimeoutManager.d.ts +10 -5
- package/dist/managers/StepTimeoutManager.d.ts.map +1 -1
- package/dist/managers/TransitionManager.d.ts +8 -1
- package/dist/managers/TransitionManager.d.ts.map +1 -1
- package/dist/managers/TriggerManager.d.ts +85 -0
- package/dist/managers/TriggerManager.d.ts.map +1 -0
- package/dist/managers/UIManager.d.ts +7 -32
- package/dist/managers/UIManager.d.ts.map +1 -1
- package/dist/managers/VideoManager.d.ts +1 -7
- package/dist/managers/VideoManager.d.ts.map +1 -1
- package/dist/player.js +3 -2
- package/dist/player.min.js +3 -2
- package/dist/saltfish-playlist-player.es.js +1960 -1081
- package/dist/saltfish-playlist-player.umd.js +1 -1
- package/dist/types/index.d.ts +21 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/updaters/EventUpdater.d.ts +13 -0
- package/dist/updaters/EventUpdater.d.ts.map +1 -0
- package/dist/updaters/UIUpdater.d.ts +7 -0
- package/dist/updaters/UIUpdater.d.ts.map +1 -0
- package/dist/utils/deviceDetection.d.ts +6 -0
- package/dist/utils/deviceDetection.d.ts.map +1 -1
- package/package.json +2 -8
- package/README.md +0 -633
- package/dist/observers/EventObserver.d.ts +0 -52
- package/dist/observers/EventObserver.d.ts.map +0 -1
- package/dist/observers/UIObserver.d.ts +0 -43
- package/dist/observers/UIObserver.d.ts.map +0 -1
- package/dist/patterns/PlayerStateSubject.d.ts +0 -34
- 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
|
|
23
|
-
private
|
|
24
|
-
private
|
|
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;
|
|
@@ -85,6 +87,16 @@ export declare class SaltfishPlayer {
|
|
|
85
87
|
* @returns The URL of the next video or null if no next video exists
|
|
86
88
|
*/
|
|
87
89
|
private findNextVideoUrl;
|
|
90
|
+
/**
|
|
91
|
+
* Gets the appropriate video URL for a step, preferring compressedVideoUrl if available
|
|
92
|
+
* @param step - The step to get the video URL for
|
|
93
|
+
* @returns The video URL to use (compressed if available, otherwise regular)
|
|
94
|
+
*/
|
|
95
|
+
private getVideoUrl;
|
|
96
|
+
/**
|
|
97
|
+
* Setup UI and Event updaters that subscribe to store changes
|
|
98
|
+
*/
|
|
99
|
+
private setupUpdaters;
|
|
88
100
|
/**
|
|
89
101
|
* Handles store state changes
|
|
90
102
|
*/
|
|
@@ -118,6 +130,10 @@ export declare class SaltfishPlayer {
|
|
|
118
130
|
* Cleans up the current playlist state
|
|
119
131
|
*/
|
|
120
132
|
private cleanupCurrentPlaylist;
|
|
133
|
+
/**
|
|
134
|
+
* Cleans up playlist-specific resources while keeping trigger monitoring active
|
|
135
|
+
*/
|
|
136
|
+
private cleanupPlaylist;
|
|
121
137
|
/**
|
|
122
138
|
* Updates the visibility of player controls based on the current state
|
|
123
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;
|
|
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"}
|
package/dist/core/store.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEjF,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD;;;;OAIG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhF;;;OAGG;IACH,YAAY,EAAE,MAAM,MAAM,CAAC;IAE3B;;;OAGG;IACH,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAE9B;;;;OAIG;IACH,EAAE,EAAE,CAAC,CAAC,SAAS,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAEnF;;;;;OAKG;IACH,GAAG,EAAE,CAAC,CAAC,SAAS,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;IAEvF;;OAEG;IACH,aAAa,EAAE,MAAM,IAAI,CAAC;IAE1B;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE;QACR;;;WAGG;QACH,eAAe,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;QAEtD;;;WAGG;QACH,kBAAkB,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,gBAAgB,CAAC;QAE/E;;WAEG;QACH,mBAAmB,EAAE,gBAAgB,CAAC;QAEtC;;;WAGG;QACH,aAAa,EAAE,MAAM,UAAU,CAAC;KACjC,CAAA;CACF;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEjF,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD;;;;OAIG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhF;;;OAGG;IACH,YAAY,EAAE,MAAM,MAAM,CAAC;IAE3B;;;OAGG;IACH,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAE9B;;;;OAIG;IACH,EAAE,EAAE,CAAC,CAAC,SAAS,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAEnF;;;;;OAKG;IACH,GAAG,EAAE,CAAC,CAAC,SAAS,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;IAEvF;;OAEG;IACH,aAAa,EAAE,MAAM,IAAI,CAAC;IAE1B;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE;QACR;;;WAGG;QACH,eAAe,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;QAEtD;;;WAGG;QACH,kBAAkB,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,gBAAgB,CAAC;QAE/E;;WAEG;QACH,mBAAmB,EAAE,gBAAgB,CAAC;QAEtC;;;WAGG;QACH,aAAa,EAAE,MAAM,UAAU,CAAC;KACjC,CAAA;CACF;AAmMD,QAAA,MAAM,QAAQ,aAAc,CAAC;AAO7B,eAAe,QAAQ,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
|
|
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,12 +39,52 @@ 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
|
|
43
60
|
* @returns - The found element or null
|
|
44
61
|
*/
|
|
45
62
|
private findElement;
|
|
63
|
+
/**
|
|
64
|
+
* Checks if an element is completely visible in the viewport and within all scrollable parent containers
|
|
65
|
+
* @param element - The element to check
|
|
66
|
+
* @returns - Whether the entire element is visible in viewport and all scrollable parents
|
|
67
|
+
*/
|
|
68
|
+
private isElementInViewport;
|
|
69
|
+
/**
|
|
70
|
+
* Scrolls an element into view smoothly, handling both window and parent container scrolling
|
|
71
|
+
* @param element - The element to scroll into view
|
|
72
|
+
* @returns - Promise that resolves when scrolling is complete
|
|
73
|
+
*/
|
|
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;
|
|
82
|
+
/**
|
|
83
|
+
* Finds an element and scrolls it into view if necessary
|
|
84
|
+
* @param selector - CSS selector
|
|
85
|
+
* @returns - Promise that resolves with the element or null
|
|
86
|
+
*/
|
|
87
|
+
private findElementAndScrollIntoView;
|
|
46
88
|
/**
|
|
47
89
|
* Creates the virtual cursor element
|
|
48
90
|
*/
|
|
@@ -51,6 +93,11 @@ export declare class CursorManager {
|
|
|
51
93
|
* Handles scrolling to keep the cursor positioned on the target element
|
|
52
94
|
*/
|
|
53
95
|
private handleScroll;
|
|
96
|
+
/**
|
|
97
|
+
* Checks if autoplay is blocked and cursor should be disabled
|
|
98
|
+
* @returns - Whether autoplay is blocked
|
|
99
|
+
*/
|
|
100
|
+
private isAutoplayBlocked;
|
|
54
101
|
/**
|
|
55
102
|
* Sets whether the cursor should be shown based on step configuration
|
|
56
103
|
* @param shouldShow - Whether the cursor should be shown
|
|
@@ -58,7 +105,7 @@ export declare class CursorManager {
|
|
|
58
105
|
setShouldShowCursor(shouldShow: boolean): void;
|
|
59
106
|
/**
|
|
60
107
|
* Shows the cursor and flashlight at a specific position
|
|
61
|
-
* Note: Will only show if shouldShowCursor is true
|
|
108
|
+
* Note: Will only show if shouldShowCursor is true and autoplay is not blocked
|
|
62
109
|
* @param x - X coordinate
|
|
63
110
|
* @param y - Y coordinate
|
|
64
111
|
*/
|
|
@@ -82,7 +129,7 @@ export declare class CursorManager {
|
|
|
82
129
|
* Animates the cursor along a path
|
|
83
130
|
* @param animation - Animation configuration
|
|
84
131
|
*/
|
|
85
|
-
animate(animation: CursorAnimation): void
|
|
132
|
+
animate(animation: CursorAnimation): Promise<void>;
|
|
86
133
|
/**
|
|
87
134
|
* Handles selection mode setup and animation
|
|
88
135
|
*/
|
|
@@ -105,7 +152,7 @@ export declare class CursorManager {
|
|
|
105
152
|
* @param mode - Optional mode for cursor (pointer or selection)
|
|
106
153
|
* @param selectionStyles - Optional styles for selection mode
|
|
107
154
|
*/
|
|
108
|
-
moveToElement(selector: string, mode?: 'pointer' | 'selection', selectionStyles?: CursorAnimation['selectionStyles']): void
|
|
155
|
+
moveToElement(selector: string, mode?: 'pointer' | 'selection', selectionStyles?: CursorAnimation['selectionStyles']): Promise<void>;
|
|
109
156
|
/**
|
|
110
157
|
* Simulates a click action with the cursor
|
|
111
158
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CursorManager.d.ts","sourceRoot":"","sources":["../../src/managers/CursorManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"CursorManager.d.ts","sourceRoot":"","sources":["../../src/managers/CursorManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { DeviceInfo } from '../utils/deviceDetection';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for video elements based on device type
|
|
4
|
+
*/
|
|
5
|
+
export interface VideoElementConfig {
|
|
6
|
+
playsInline: boolean;
|
|
7
|
+
muted: boolean;
|
|
8
|
+
controls: boolean;
|
|
9
|
+
preload: "" | "metadata" | "none" | "auto";
|
|
10
|
+
additionalAttributes: Record<string, string>;
|
|
11
|
+
styles: Record<string, string>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Configuration for UI controls based on device type
|
|
15
|
+
*/
|
|
16
|
+
export interface ControlsConfig {
|
|
17
|
+
buttonMinSize: {
|
|
18
|
+
width: string;
|
|
19
|
+
height: string;
|
|
20
|
+
};
|
|
21
|
+
useTouch: boolean;
|
|
22
|
+
progressUpdateInterval: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Autoplay strategy configuration
|
|
26
|
+
*/
|
|
27
|
+
export interface AutoplayConfig {
|
|
28
|
+
shouldStartMuted: boolean;
|
|
29
|
+
enableFallbackLoop: boolean;
|
|
30
|
+
fallbackTimeout: number;
|
|
31
|
+
requiresUserInteraction: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Abstract base class for device-specific playback handling
|
|
35
|
+
*/
|
|
36
|
+
export declare abstract class DevicePlaybackHandler {
|
|
37
|
+
protected deviceInfo: DeviceInfo;
|
|
38
|
+
constructor(deviceInfo: DeviceInfo);
|
|
39
|
+
/**
|
|
40
|
+
* Get device-specific video element configuration
|
|
41
|
+
*/
|
|
42
|
+
abstract getVideoElementConfig(): VideoElementConfig;
|
|
43
|
+
/**
|
|
44
|
+
* Get device-specific controls configuration
|
|
45
|
+
*/
|
|
46
|
+
abstract getControlsConfig(): ControlsConfig;
|
|
47
|
+
/**
|
|
48
|
+
* Get device-specific autoplay configuration
|
|
49
|
+
*/
|
|
50
|
+
abstract getAutoplayConfig(hasUserInteracted: boolean): AutoplayConfig;
|
|
51
|
+
/**
|
|
52
|
+
* Apply device-specific video element setup
|
|
53
|
+
*/
|
|
54
|
+
abstract configureVideoElement(video: HTMLVideoElement): void;
|
|
55
|
+
/**
|
|
56
|
+
* Apply device-specific control styling
|
|
57
|
+
*/
|
|
58
|
+
abstract configureControlElement(element: HTMLElement): void;
|
|
59
|
+
/**
|
|
60
|
+
* Handle device-specific play attempt
|
|
61
|
+
*/
|
|
62
|
+
abstract handlePlayAttempt(video: HTMLVideoElement, hasUserInteracted: boolean): Promise<boolean>;
|
|
63
|
+
/**
|
|
64
|
+
* Handle device-specific autoplay fallback
|
|
65
|
+
*/
|
|
66
|
+
abstract handleAutoplayFallback(video: HTMLVideoElement): Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* Get appropriate progress update strategy
|
|
69
|
+
*/
|
|
70
|
+
abstract getProgressUpdateFrequency(isAutoplayFallback: boolean): number;
|
|
71
|
+
/**
|
|
72
|
+
* Clean up resources when handler is destroyed
|
|
73
|
+
*/
|
|
74
|
+
abstract destroy(): void;
|
|
75
|
+
/**
|
|
76
|
+
* Handle device change updates
|
|
77
|
+
*/
|
|
78
|
+
updateDeviceInfo(newDeviceInfo: DeviceInfo): void;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Mobile-specific playback handler
|
|
82
|
+
*/
|
|
83
|
+
export declare class MobilePlaybackHandler extends DevicePlaybackHandler {
|
|
84
|
+
getVideoElementConfig(): VideoElementConfig;
|
|
85
|
+
getControlsConfig(): ControlsConfig;
|
|
86
|
+
getAutoplayConfig(hasUserInteracted: boolean): AutoplayConfig;
|
|
87
|
+
configureVideoElement(video: HTMLVideoElement): void;
|
|
88
|
+
configureControlElement(element: HTMLElement): void;
|
|
89
|
+
handlePlayAttempt(video: HTMLVideoElement, hasUserInteracted: boolean): Promise<boolean>;
|
|
90
|
+
handleAutoplayFallback(video: HTMLVideoElement): Promise<void>;
|
|
91
|
+
/**
|
|
92
|
+
* Clean up resources when handler is destroyed
|
|
93
|
+
*/
|
|
94
|
+
destroy(): void;
|
|
95
|
+
getProgressUpdateFrequency(isAutoplayFallback: boolean): number;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Desktop-specific playback handler
|
|
99
|
+
*/
|
|
100
|
+
export declare class DesktopPlaybackHandler extends DevicePlaybackHandler {
|
|
101
|
+
getVideoElementConfig(): VideoElementConfig;
|
|
102
|
+
getControlsConfig(): ControlsConfig;
|
|
103
|
+
getAutoplayConfig(_hasUserInteracted: boolean): AutoplayConfig;
|
|
104
|
+
configureVideoElement(video: HTMLVideoElement): void;
|
|
105
|
+
configureControlElement(_element: HTMLElement): void;
|
|
106
|
+
handlePlayAttempt(video: HTMLVideoElement, _hasUserInteracted: boolean): Promise<boolean>;
|
|
107
|
+
handleAutoplayFallback(video: HTMLVideoElement): Promise<void>;
|
|
108
|
+
getProgressUpdateFrequency(_isAutoplayFallback: boolean): number;
|
|
109
|
+
/**
|
|
110
|
+
* Clean up resources when handler is destroyed
|
|
111
|
+
*/
|
|
112
|
+
destroy(): void;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Factory function to create appropriate device handler
|
|
116
|
+
*/
|
|
117
|
+
export declare function createDevicePlaybackHandler(deviceInfo: DeviceInfo): DevicePlaybackHandler;
|
|
118
|
+
//# sourceMappingURL=DevicePlaybackHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DevicePlaybackHandler.d.ts","sourceRoot":"","sources":["../../src/managers/DevicePlaybackHandler.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
|
|
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;
|
|
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;
|
|
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
|
-
|
|
2
|
-
|
|
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
|
|
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
|
-
*
|
|
18
|
+
* Update method - called when player state changes
|
|
15
19
|
*/
|
|
16
|
-
update(data:
|
|
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":"
|
|
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;
|
|
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"}
|