@codercms/web-player 0.0.48 → 0.0.50

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.
@@ -26,7 +26,6 @@ export class NativeLoader extends BaseLoader {
26
26
  if (trackList) {
27
27
  trackList.addEventListener('addtrack', this._onAudioTrackAddedOrRemovedCb);
28
28
  trackList.addEventListener('removetrack', this._onAudioTrackAddedOrRemovedCb);
29
- trackList.addEventListener('change', this._onAudioTrackChangeCb);
30
29
  }
31
30
  const waitLoadingPromise = this._waitForLoadingDone(this.el, params.abortSignal);
32
31
  const paused = this.el.paused;
@@ -46,6 +45,10 @@ export class NativeLoader extends BaseLoader {
46
45
  return Promise.reject(e);
47
46
  }
48
47
  this.emitter.emit(LoaderEvents.Loaded, params);
48
+ if (trackList) {
49
+ trackList.addEventListener('change', this._onAudioTrackChangeCb);
50
+ this._onAudioTrackChange();
51
+ }
49
52
  if (params.audioTrack !== undefined) {
50
53
  this.switchAudioTrack(params.audioTrack);
51
54
  }
@@ -59,7 +62,8 @@ export class NativeLoader extends BaseLoader {
59
62
  _onAudioTrackAddedOrRemoved = () => {
60
63
  const tracks = [];
61
64
  const trackList = this.el.audioTracks;
62
- for (let i = 0; trackList.length; i++) {
65
+ for (let i = 0; i < trackList.length; i++) {
66
+ // console.log('track', i, 'enabled', trackList[i].enabled, 'label', trackList[i].label);
63
67
  tracks.push({
64
68
  id: i,
65
69
  name: trackList[i].label,
@@ -100,9 +104,9 @@ export class NativeLoader extends BaseLoader {
100
104
  return;
101
105
  }
102
106
  this.emitter.emit(LoaderEvents.AudioTrackSwitching, id);
103
- for (let i = 0; i < trackList.length; i++) {
104
- trackList[i].enabled = false;
105
- }
107
+ // for (let i = 0; i < trackList.length; i++) {
108
+ // trackList[i].enabled = false;
109
+ // }
106
110
  track.enabled = true;
107
111
  }
108
112
  switchQualityLevel() {
@@ -1 +1 @@
1
- {"version":3,"file":"NativeLoader.js","sourceRoot":"","sources":["NativeLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NativeLoader.js","sourceRoot":"","sources":["NativeLoader.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { type Readable } from 'svelte/store';
2
1
  import type { LoaderType } from './Loaders/LoaderInterface.js';
3
2
  import type { PlayerLoadParams } from './types/PlayerLoadParams.js';
3
+ import { PlaylistStateSvelteStore } from './svelte/PlaylistStateSvelteStore.js';
4
4
  export interface PlaylistItemInterface {
5
5
  title: string;
6
6
  getLoadParams(): PlayerLoadParams;
@@ -30,18 +30,13 @@ export type PlaylistEventsMap<ItemImpl extends PlaylistItemInterface> = {
30
30
  [PlaylistEvents.Set]: (item: ItemImpl) => void;
31
31
  [PlaylistEvents.Emptied]: () => void;
32
32
  };
33
- interface CurrentItemState<ItemImpl extends PlaylistItemInterface> {
34
- current: ItemImpl | null;
35
- prev: ItemImpl | null;
36
- next: ItemImpl | null;
37
- }
38
33
  export declare class Playlist<ItemImpl extends PlaylistItemInterface> {
39
34
  private emitter;
40
35
  private _items;
41
36
  private _currentItemPos;
42
- private _currentItemState;
43
- private _currentItemStateStore;
37
+ private _stateSvelteStore;
44
38
  constructor(items?: ItemImpl[]);
39
+ destroy(): void;
45
40
  addItem(item: ItemImpl): void;
46
41
  addItems(items: ItemImpl[]): void;
47
42
  removeItem(item: ItemImpl): void;
@@ -53,12 +48,11 @@ export declare class Playlist<ItemImpl extends PlaylistItemInterface> {
53
48
  getCurrent(): ItemImpl | null;
54
49
  getNext(): ItemImpl | null;
55
50
  getPrev(): ItemImpl | null;
56
- getItemStateStore(): Readable<CurrentItemState<ItemImpl>>;
57
51
  rewind(): void;
58
52
  clear(): void;
59
53
  size(): number;
60
54
  getItems(): ItemImpl[];
55
+ get stateSvelteStore(): PlaylistStateSvelteStore<ItemImpl>;
61
56
  subscribe<K extends keyof PlaylistEventsMap<ItemImpl>>(ev: K, cb: PlaylistEventsMap<ItemImpl>[K]): void;
62
57
  unsubscribe<K extends keyof PlaylistEventsMap<ItemImpl>>(ev: K, cb: PlaylistEventsMap<ItemImpl>[K]): void;
63
58
  }
64
- export {};
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from 'eventemitter3';
2
- import { readonly, writable } from 'svelte/store';
2
+ import { PlaylistStateSvelteStore } from './svelte/PlaylistStateSvelteStore.js';
3
3
  export class PlaylistItem {
4
4
  title;
5
5
  url;
@@ -31,23 +31,19 @@ export class Playlist {
31
31
  emitter = new EventEmitter();
32
32
  _items = [];
33
33
  _currentItemPos = initialNoCurrentItemPos;
34
- _currentItemState = {
35
- current: null,
36
- prev: null,
37
- next: null
38
- };
39
- _currentItemStateStore = writable({ ...this._currentItemState });
34
+ _stateSvelteStore = null;
40
35
  constructor(items = []) {
41
36
  this.addItems(items);
42
37
  }
38
+ destroy() {
39
+ if (this._stateSvelteStore) {
40
+ this._stateSvelteStore.destroy();
41
+ this._stateSvelteStore = null;
42
+ }
43
+ }
43
44
  addItem(item) {
44
45
  const isEmpty = this._currentItemPos === initialNoCurrentItemPos;
45
- const isAfterCurrentItem = this._currentItemPos > initialNoCurrentItemPos &&
46
- this._currentItemPos === this._items.length - 1;
47
46
  this._items.push(item);
48
- if (isAfterCurrentItem) {
49
- this._updateCurrent(this._currentItemPos);
50
- }
51
47
  this.emitter.emit(PlaylistEvents.ItemAdded, item);
52
48
  if (isEmpty) {
53
49
  this.setCurrent(item);
@@ -82,9 +78,6 @@ export class Playlist {
82
78
  if (this._currentItemPos === initialNoCurrentItemPos) {
83
79
  this._resetState();
84
80
  }
85
- else {
86
- this._updateCurrent(this._currentItemPos);
87
- }
88
81
  // Emit ItemRemoved event
89
82
  this.emitter.emit(PlaylistEvents.ItemRemoved, removedItem);
90
83
  if (isCurrentItemRemoved && this._items.length > 0) {
@@ -103,18 +96,10 @@ export class Playlist {
103
96
  throw Error(`Update to not existing item at idx ${idx}`);
104
97
  }
105
98
  this._currentItemPos = idx;
106
- this._currentItemState.current = item;
107
- this._currentItemState.prev = this._items[idx - 1] ?? null;
108
- this._currentItemState.next = this._items[idx + 1] ?? null;
109
- this._currentItemStateStore.set({ ...this._currentItemState });
110
99
  return item;
111
100
  }
112
101
  _resetState() {
113
- this._currentItemState.current = null;
114
- this._currentItemState.next = null;
115
- this._currentItemState.prev = null;
116
102
  this._currentItemPos = -1;
117
- this._currentItemStateStore.set({ ...this._currentItemState });
118
103
  }
119
104
  setCurrent(item) {
120
105
  const foundIdx = this._items.findIndex((itm) => itm === item);
@@ -157,9 +142,6 @@ export class Playlist {
157
142
  getPrev() {
158
143
  return this._items[this._currentItemPos - 1] ?? null;
159
144
  }
160
- getItemStateStore() {
161
- return readonly(this._currentItemStateStore);
162
- }
163
145
  rewind() {
164
146
  if (!this._items.length) {
165
147
  return;
@@ -181,6 +163,9 @@ export class Playlist {
181
163
  getItems() {
182
164
  return this._items.slice();
183
165
  }
166
+ get stateSvelteStore() {
167
+ return (this._stateSvelteStore ??= new PlaylistStateSvelteStore(this));
168
+ }
184
169
  subscribe(ev, cb) {
185
170
  this.emitter.on(ev, cb);
186
171
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Playlist.js","sourceRoot":"","sources":["Playlist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAiB,MAAM,cAAc,CAAC;AAgBjE,MAAM,OAAO,YAAY;IAEhB;IACS;IACA;IAHjB,YACQ,KAAa,EACJ,GAAW,EACX,MAAmB;QAF5B,UAAK,GAAL,KAAK,CAAQ;QACJ,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAa;IACjC,CAAC;IAEJ,aAAa;QACZ,OAAO;YACN,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC;IACH,CAAC;CACD;AAED,MAAM,CAAN,IAAY,cAQX;AARD,WAAY,cAAc;IACzB,kDAAgC,CAAA;IAChC,sDAAoC,CAAA;IACpC,4CAA0B,CAAA;IAC1B,8CAA4B,CAAA;IAC5B,8CAA4B,CAAA;IAC5B,sCAAoB,CAAA;IACpB,8CAA4B,CAAA;AAC7B,CAAC,EARW,cAAc,KAAd,cAAc,QAQzB;AAwBD,MAAM,uBAAuB,GAAG,CAAC,CAAC,CAAC;AAEnC,MAAM,OAAO,QAAQ;IACZ,OAAO,GAAG,IAAI,YAAY,EAA+B,CAAC;IAE1D,MAAM,GAAe,EAAE,CAAC;IACxB,eAAe,GAAG,uBAAuB,CAAC;IAE1C,iBAAiB,GAA+B;QACvD,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;KACV,CAAC;IACM,sBAAsB,GAAG,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEzE,YAAY,QAAoB,EAAE;QACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAEM,OAAO,CAAC,IAAc;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,KAAK,uBAAuB,CAAC;QACjE,MAAM,kBAAkB,GACvB,IAAI,CAAC,eAAe,GAAG,uBAAuB;YAC9C,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAEjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAI,kBAAkB,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAC1C;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAElD,IAAI,OAAO,EAAE;YACZ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACtB;IACF,CAAC;IAEM,QAAQ,CAAC,KAAiB;QAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACnB;IACF,CAAC;IAEM,UAAU,CAAC,IAAc;QAC/B,uCAAuC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,GAAG,GAAG,CAAC,EAAE;YACZ,OAAO,CAAC,oCAAoC;SAC5C;QAED,wCAAwC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAElD,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,KAAK,GAAG,CAAC;QAE1D,kEAAkE;QAClE,IAAI,oBAAoB,EAAE;YACzB,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC9B,mEAAmE;gBACnE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;aAC9C;SACD;aAAM,IAAI,IAAI,CAAC,eAAe,GAAG,GAAG,EAAE;YACtC,0EAA0E;YAC1E,IAAI,CAAC,eAAe,EAAE,CAAC;SACvB;QAED,iCAAiC;QACjC,IAAI,IAAI,CAAC,eAAe,KAAK,uBAAuB,EAAE;YACrD,IAAI,CAAC,WAAW,EAAE,CAAC;SACnB;aAAM;YACN,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAC1C;QAED,yBAAyB;QACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAE3D,IAAI,oBAAoB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC;YACzC,wDAAwD;YACxD,IAAI,CAAC,eAAe,GAAG,uBAAuB,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;SAC1C;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;SAC1C;IACF,CAAC;IAEO,cAAc,CAAC,GAAW;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE;YACV,MAAM,KAAK,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAC;SACzD;QAED,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAE3B,IAAI,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;QAC3D,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;QAE3D,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAE/D,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,WAAW;QAClB,IAAI,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC;QAEnC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;QAE1B,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAChE,CAAC;IAEM,UAAU,CAAC,IAAc;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;QAC9D,IAAI,QAAQ,GAAG,CAAC,EAAE;YACjB,MAAM,KAAK,CAAC,yBAAyB,CAAC,CAAC;SACvC;QAED,sBAAsB;QACtB,IAAI,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE;YACtC,OAAO;SACP;QAED,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAEM,OAAO;QACb,gBAAgB;QAChB,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACnD,OAAO,IAAI,CAAC;SACZ;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;QAE3D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,OAAO;QACb,gBAAgB;QAChB,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,CAAC,EAAE;YACjC,OAAO,IAAI,CAAC;SACZ;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;QAE3D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,UAAU;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;IAClD,CAAC;IAEM,OAAO;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IACtD,CAAC;IAEM,OAAO;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IACtD,CAAC;IAEM,iBAAiB;QACvB,OAAO,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC9C,CAAC;IAEM,MAAM;QACZ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACxB,OAAO;SACP;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAEM,KAAK;QACX,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACxB,OAAO;SACP;QAED,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAEM,IAAI;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3B,CAAC;IAEM,QAAQ;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAEM,SAAS,CACf,EAAK,EACL,EAAkC;QAElC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAgB,CAAC,CAAC;IACvC,CAAC;IAEM,WAAW,CACjB,EAAK,EACL,EAAkC;QAElC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAgB,CAAC,CAAC;IACxC,CAAC;CACD"}
1
+ {"version":3,"file":"Playlist.js","sourceRoot":"","sources":["Playlist.ts"],"names":[],"mappings":"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"}
@@ -74,7 +74,7 @@ export class PlaylistPlayer {
74
74
  console.log('[PlaylistPlayer] Playlist.Set event is ignored because player is not attached');
75
75
  return;
76
76
  }
77
- const paused = this._player.paused;
77
+ const paused = this._player.mediaState.paused;
78
78
  await this._loadItem(item);
79
79
  if (this.opts.preservePlayOnSet && !paused) {
80
80
  await this._player.play();
@@ -1 +1 @@
1
- {"version":3,"file":"PlaylistPlayer.js","sourceRoot":"","sources":["PlaylistPlayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlaylistPlayer.js","sourceRoot":"","sources":["PlaylistPlayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAA8B,MAAM,uBAAuB,CAAC;AAE7F,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,MAAM,CAAN,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC/B,0EAAkD,CAAA;IAClD,wEAAgD,CAAA;IAChD,sFAA8D,CAAA;AAC/D,CAAC,EAJW,oBAAoB,KAApB,oBAAoB,QAI/B;AAeD,MAAM,OAAO,cAAc;IAChB,OAAO,GAAG,IAAI,YAAY,EAAqC,CAAC;IAEvD,IAAI,CAAqB;IAElC,OAAO,GAAuB,IAAI,CAAC;IACnC,SAAS,GAA8B,IAAI,CAAC;IAE5C,WAAW,GAAoB,IAAI,CAAC;IAE9C,YAAY,IAAyB;QACpC,IAAI,CAAC,IAAI,GAAG;YACX,iBAAiB,EAAE,IAAI;YACvB,GAAG,IAAI;SACP,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,IAAc,EAAE,UAAsC;QAC7E,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAClB,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAC;SACtC;QAED,IAAI,CAAC,UAAU,EAAE;YAChB,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;SAClC;aAAM;YACN,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;SACxD;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAChB,oBAAoB,CAAC,mBAAmB,EACxC,IAAI,EACJ,UAA8B,CAC9B,CAAC;QAEF,IAAI;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAA8B,CAAC,CAAC;YAExD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;SACjE;QAAC,OAAO,CAAC,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAE3D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,EAAE,IAAI,EAAE,CAAU,CAAC,CAAC;YACpF,WAAW;YACX,OAAO;SACP;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAAsC;QACvD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACpB,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAC;SACxC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE;YACb,OAAO;SACP;QAED,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;IAEO,KAAK,CAAC,oBAAoB;QACjC,qCAAqC;QACrC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACpB,OAAO;SACP;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACtB,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,EAAE;gBACV,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,EAAE;oBACV,MAAM,KAAK,CAAC,mBAAmB,CAAC,CAAC;iBACjC;aACD;YAED,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SAC3B;IACF,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAc;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAClB,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;YAC7F,OAAO;SACP;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;QAE9C,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,MAAM,EAAE;YAC3C,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SAC1B;IACF,CAAC;IAEO,kBAAkB;QACzB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACpB;IACF,CAAC;IAEM,cAAc,CAAC,QAA4B;QACjD,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACvF;QAED,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF,CAAC;IAEM,YAAY,CAAC,MAAmB;QACtC,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAClF;QAED,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,2BAA2B;QAC3B,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,MAAM;QACT,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAClB,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAC;SACtC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,IAAI,QAAQ;QACX,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACpB,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAC;SACxC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAEM,SAAS,CACf,EAAK,EACL,EAAwC;QAExC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAgB,CAAC,CAAC;IACvC,CAAC;IAEM,WAAW,CACjB,EAAK,EACL,EAAwC;QAExC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAgB,CAAC,CAAC;IACxC,CAAC;CACD"}
@@ -0,0 +1,29 @@
1
+ /// <reference types="svelte" />
2
+ import type { Playlist, PlaylistItemInterface } from '../Playlist.js';
3
+ interface CurrentItemState<ItemImpl extends PlaylistItemInterface> {
4
+ current: ItemImpl | null;
5
+ prev: ItemImpl | null;
6
+ next: ItemImpl | null;
7
+ }
8
+ export declare class PlaylistStateSvelteStore<T extends PlaylistItemInterface> {
9
+ private readonly playlist;
10
+ private onPlaylistEmptiedCb;
11
+ private onPlaylistItemAddedOrRemovedCb;
12
+ private onPlaylistItemSetCb;
13
+ private _items;
14
+ private _current;
15
+ private _prev;
16
+ private _next;
17
+ private _state;
18
+ constructor(playlist: Playlist<T>);
19
+ destroy(): void;
20
+ private onPlaylistEmptied;
21
+ private onPlaylistItemAddedOrRemoved;
22
+ private onPlaylistItemSet;
23
+ get items(): import("svelte/store").Readable<T[]>;
24
+ get current(): import("svelte/store").Readable<T | null>;
25
+ get prev(): import("svelte/store").Readable<T | null>;
26
+ get next(): import("svelte/store").Readable<T | null>;
27
+ get state(): import("svelte/store").Readable<CurrentItemState<T>>;
28
+ }
29
+ export {};
@@ -0,0 +1,68 @@
1
+ import { PlaylistEvents } from '../Playlist.js';
2
+ import { readonly, writable } from 'svelte/store';
3
+ const emptyState = Object.freeze({ current: null, prev: null, next: null });
4
+ export class PlaylistStateSvelteStore {
5
+ playlist;
6
+ onPlaylistEmptiedCb = this.onPlaylistEmptied.bind(this);
7
+ onPlaylistItemAddedOrRemovedCb = this.onPlaylistItemAddedOrRemoved.bind(this);
8
+ onPlaylistItemSetCb = this.onPlaylistItemSet.bind(this);
9
+ _items = writable([]);
10
+ _current = writable(null);
11
+ _prev = writable(null);
12
+ _next = writable(null);
13
+ _state = writable(emptyState);
14
+ constructor(playlist) {
15
+ this.playlist = playlist;
16
+ this.playlist.subscribe(PlaylistEvents.Emptied, this.onPlaylistEmptiedCb);
17
+ this.playlist.subscribe(PlaylistEvents.ItemAdded, this.onPlaylistItemAddedOrRemovedCb);
18
+ this.playlist.subscribe(PlaylistEvents.ItemRemoved, this.onPlaylistItemAddedOrRemovedCb);
19
+ this.playlist.subscribe(PlaylistEvents.Set, this.onPlaylistItemSetCb);
20
+ }
21
+ destroy() {
22
+ this.playlist.unsubscribe(PlaylistEvents.Emptied, this.onPlaylistEmptiedCb);
23
+ this.playlist.unsubscribe(PlaylistEvents.ItemAdded, this.onPlaylistItemAddedOrRemovedCb);
24
+ this.playlist.unsubscribe(PlaylistEvents.ItemRemoved, this.onPlaylistItemAddedOrRemovedCb);
25
+ this.playlist.unsubscribe(PlaylistEvents.Set, this.onPlaylistItemSetCb);
26
+ }
27
+ onPlaylistEmptied() {
28
+ this._items.set([]);
29
+ this._current.set(null);
30
+ this._next.set(null);
31
+ this._prev.set(null);
32
+ this._state.set({ ...emptyState });
33
+ }
34
+ onPlaylistItemAddedOrRemoved() {
35
+ const items = this.playlist.getItems();
36
+ const curr = this.playlist.getCurrent();
37
+ const next = this.playlist.getNext();
38
+ const prev = this.playlist.getPrev();
39
+ this._items.set(items);
40
+ this._current.set(curr);
41
+ this._next.set(next);
42
+ this._prev.set(prev);
43
+ this._state.set({ current: curr, next: next, prev: prev });
44
+ }
45
+ onPlaylistItemSet(item) {
46
+ const prev = this.playlist.setPrev();
47
+ const next = this.playlist.getNext();
48
+ this._current.set(item);
49
+ this._prev.set(prev);
50
+ this._next.set(next);
51
+ this._state.set({ current: item, next: next, prev: prev });
52
+ }
53
+ get items() {
54
+ return readonly(this._items);
55
+ }
56
+ get current() {
57
+ return readonly(this._current);
58
+ }
59
+ get prev() {
60
+ return readonly(this._prev);
61
+ }
62
+ get next() {
63
+ return readonly(this._next);
64
+ }
65
+ get state() {
66
+ return readonly(this._state);
67
+ }
68
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlaylistStateSvelteStore.js","sourceRoot":"","sources":["PlaylistStateSvelteStore.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -12,6 +12,8 @@ export * from "./core/VideoPlayerEvents.js";
12
12
  export * from "./core/VideoPlayer.js";
13
13
  export * from "./core/VideoPlayerMediaStateProxy.js";
14
14
  export * from "./core/svelte/VideoPlayerMediaStateSvelteStore.js";
15
+ export * from "./core/svelte/VideoPlayerLoadingStateSvelteStore.js";
16
+ export * from "./core/svelte/PlaylistStateSvelteStore.js";
15
17
  export * from "./ui/utils/duration.js";
16
18
  export * from "./ui/utils/slider.js";
17
19
  export * from "./ui/utils/ios.js";
package/dist/index.js CHANGED
@@ -16,6 +16,8 @@ export * from './core/VideoPlayerEvents.js';
16
16
  export * from './core/VideoPlayer.js';
17
17
  export * from './core/VideoPlayerMediaStateProxy.js';
18
18
  export * from './core/svelte/VideoPlayerMediaStateSvelteStore.js';
19
+ export * from './core/svelte/VideoPlayerLoadingStateSvelteStore.js';
20
+ export * from './core/svelte/PlaylistStateSvelteStore.js';
19
21
 
20
22
  export * from './ui/utils/duration.js';
21
23
  export * from './ui/utils/slider.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codercms/web-player",
3
- "version": "0.0.48",
3
+ "version": "0.0.50",
4
4
  "scripts": {
5
5
  "dev": "vite dev --host=0.0.0.0 --port=5174",
6
6
  "build": "vite build && npm run package",