@editframe/elements 0.55.2 → 0.57.0

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 (45) hide show
  1. package/dist/elements/EFTemporal.d.ts +2 -0
  2. package/dist/elements/EFTemporal.js +12 -0
  3. package/dist/elements/EFTemporal.js.map +1 -1
  4. package/dist/elements/EFVideo.js.map +1 -1
  5. package/dist/gui/ContextMixin.d.ts +2 -0
  6. package/dist/gui/ContextMixin.js +44 -0
  7. package/dist/gui/ContextMixin.js.map +1 -1
  8. package/dist/gui/Controllable.d.ts +2 -0
  9. package/dist/gui/Controllable.js +6 -0
  10. package/dist/gui/Controllable.js.map +1 -1
  11. package/dist/gui/EFControls.d.ts +2 -0
  12. package/dist/gui/EFControls.js +14 -1
  13. package/dist/gui/EFControls.js.map +1 -1
  14. package/dist/gui/EFFullscreen.d.ts +38 -0
  15. package/dist/gui/EFFullscreen.js +50 -0
  16. package/dist/gui/EFFullscreen.js.map +1 -0
  17. package/dist/gui/EFMute.d.ts +42 -0
  18. package/dist/gui/EFMute.js +60 -0
  19. package/dist/gui/EFMute.js.map +1 -0
  20. package/dist/gui/EFPIP.d.ts +43 -0
  21. package/dist/gui/EFPIP.js +89 -0
  22. package/dist/gui/EFPIP.js.map +1 -0
  23. package/dist/gui/EFPreview.js +0 -1
  24. package/dist/gui/EFPreview.js.map +1 -1
  25. package/dist/gui/EFResolution.d.ts +47 -0
  26. package/dist/gui/EFResolution.js +203 -0
  27. package/dist/gui/EFResolution.js.map +1 -0
  28. package/dist/gui/EFScrubber.js +9 -0
  29. package/dist/gui/EFScrubber.js.map +1 -1
  30. package/dist/gui/EFVolume.d.ts +47 -0
  31. package/dist/gui/EFVolume.js +165 -0
  32. package/dist/gui/EFVolume.js.map +1 -0
  33. package/dist/gui/PlaybackController.d.ts +5 -1
  34. package/dist/gui/PlaybackController.js +50 -1
  35. package/dist/gui/PlaybackController.js.map +1 -1
  36. package/dist/gui/icons.js +5 -1
  37. package/dist/gui/icons.js.map +1 -1
  38. package/dist/gui/volumeContext.d.ts +10 -0
  39. package/dist/gui/volumeContext.js +8 -0
  40. package/dist/gui/volumeContext.js.map +1 -0
  41. package/dist/index.d.ts +7 -1
  42. package/dist/index.js +7 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/version.js +1 -1
  45. package/package.json +3 -3
@@ -27,7 +27,7 @@ interface PlaybackHost extends HTMLElement, ReactiveControllerHost {
27
27
  rootTimegroup?: any;
28
28
  }
29
29
  type PlaybackControllerUpdateEvent = {
30
- property: "playing" | "loop" | "currentTimeMs";
30
+ property: "playing" | "loop" | "currentTimeMs" | "volume" | "muted";
31
31
  value: boolean | number;
32
32
  };
33
33
  /**
@@ -52,6 +52,10 @@ declare class PlaybackController implements ReactiveController {
52
52
  setPlaying(value: boolean): void;
53
53
  get loop(): boolean;
54
54
  setLoop(value: boolean): void;
55
+ get volume(): number;
56
+ setVolume(value: number): void;
57
+ get muted(): boolean;
58
+ setMuted(value: boolean): void;
55
59
  get currentTimeMs(): number;
56
60
  setCurrentTimeMs(value: number): void;
57
61
  play(): void;
@@ -1,6 +1,7 @@
1
1
  import { currentTimeContext } from "./currentTimeContext.js";
2
2
  import { durationContext } from "./durationContext.js";
3
3
  import { loopContext, playingContext } from "./playingContext.js";
4
+ import { mutedContext, volumeContext } from "./volumeContext.js";
4
5
  import { updateAnimations } from "../elements/updateAnimations.js";
5
6
  import { ContextProvider } from "@lit/context";
6
7
  //#region src/gui/PlaybackController.ts
@@ -21,14 +22,19 @@ var PlaybackController = class {
21
22
  #host;
22
23
  #playing = false;
23
24
  #loop = false;
25
+ #volume = 1;
26
+ #muted = false;
24
27
  #listeners = /* @__PURE__ */ new Set();
25
28
  #playingProvider;
26
29
  #loopProvider;
27
30
  #currentTimeMsProvider;
28
31
  #durationMsProvider;
32
+ #volumeProvider;
33
+ #mutedProvider;
29
34
  get #msPerFrame() {
30
35
  return 1e3 / (this.#host.fps ?? 30);
31
36
  }
37
+ #gainNode = null;
32
38
  #playbackAudioContext = null;
33
39
  #playbackAnimationFrameRequest = null;
34
40
  #pendingAudioContext = null;
@@ -62,6 +68,14 @@ var PlaybackController = class {
62
68
  context: durationContext,
63
69
  initialValue: host.durationMs
64
70
  });
71
+ this.#volumeProvider = new ContextProvider(host, {
72
+ context: volumeContext,
73
+ initialValue: this.#volume
74
+ });
75
+ this.#mutedProvider = new ContextProvider(host, {
76
+ context: mutedContext,
77
+ initialValue: this.#muted
78
+ });
65
79
  }
66
80
  get currentTime() {
67
81
  const rawTime = this.#currentTime ?? 0;
@@ -155,6 +169,37 @@ var PlaybackController = class {
155
169
  value
156
170
  });
157
171
  }
172
+ get volume() {
173
+ return this.#volume;
174
+ }
175
+ setVolume(value) {
176
+ const clamped = Math.max(0, Math.min(1, value));
177
+ if (this.#volume === clamped) return;
178
+ this.#volume = clamped;
179
+ this.#volumeProvider.setValue(clamped);
180
+ this.#notifyListeners({
181
+ property: "volume",
182
+ value: clamped
183
+ });
184
+ this.#applyGain();
185
+ }
186
+ get muted() {
187
+ return this.#muted;
188
+ }
189
+ setMuted(value) {
190
+ if (this.#muted === value) return;
191
+ this.#muted = value;
192
+ this.#mutedProvider.setValue(value);
193
+ this.#notifyListeners({
194
+ property: "muted",
195
+ value
196
+ });
197
+ this.#applyGain();
198
+ }
199
+ #applyGain() {
200
+ if (!this.#gainNode) return;
201
+ this.#gainNode.gain.value = this.#muted ? 0 : this.#volume;
202
+ }
158
203
  get currentTimeMs() {
159
204
  return this.currentTime * 1e3;
160
205
  }
@@ -345,6 +390,7 @@ var PlaybackController = class {
345
390
  this.#playbackAnimationFrameRequest = null;
346
391
  }
347
392
  this.#rafStartWallMs = null;
393
+ this.#gainNode = null;
348
394
  if (this.#playbackAudioContext) {
349
395
  if (this.#playbackAudioContext.state !== "closed") await this.#playbackAudioContext.close();
350
396
  }
@@ -390,6 +436,9 @@ var PlaybackController = class {
390
436
  this.#playbackAudioContext = this.#pendingAudioContext;
391
437
  this.#pendingAudioContext = null;
392
438
  } else this.#playbackAudioContext = new AudioContext({ latencyHint: "playback" });
439
+ this.#gainNode = this.#playbackAudioContext.createGain();
440
+ this.#gainNode.gain.value = this.#muted ? 0 : this.#volume;
441
+ this.#gainNode.connect(this.#playbackAudioContext.destination);
393
442
  const playbackContext = this.#playbackAudioContext;
394
443
  if (playbackContext.state === "suspended") {
395
444
  playbackContext.close().catch(() => {});
@@ -419,7 +468,7 @@ var PlaybackController = class {
419
468
  bufferCount++;
420
469
  const source = playbackContext.createBufferSource();
421
470
  source.buffer = audioBuffer;
422
- source.connect(playbackContext.destination);
471
+ source.connect(this.#gainNode ?? playbackContext.destination);
423
472
  source.start(audioContextTimeMs / 1e3);
424
473
  const sliceDurationMs = endMs - startMs;
425
474
  source.onended = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"PlaybackController.js","names":["#msPerFrame","#host","#playingProvider","#playing","#loopProvider","#loop","#currentTimeMsProvider","#durationMsProvider","#currentTime","#processingPendingSeek","#pendingSeekTime","#seekInProgress","#runSeek","#seekAbortController","#notifyListeners","#hasConnected","#removed","#initializeTime","#selfRenderSuspended","#selfRenderAbortController","#selfRenderPromise","#selfRenderDirty","#startSelfRender","#listeners","#pendingAudioContext","#playbackAudioContext","#playbackWrapTimeSeconds","#loopingPlayback","#updatePlaybackTime","#playbackAnimationFrameRequest","#syncPlayheadToAudioContext","#rafStartWallMs","#rafStartLogicalMs","#syncPlayheadToRaf","#AUDIO_PLAYBACK_SLICE_MS"],"sources":["../../src/gui/PlaybackController.ts"],"mappings":";;;;;;;;;;;;;;;;;;;AAmDA,IAAa,qBAAb,MAA8D;CAC5D;CACA,WAAW;CACX,QAAQ;CACR,6BAAa,IAAI,KAAqD;CACtE;CACA;CACA;CACA;CAEA,KAAA,aAA0B;AACxB,SAAO,OAAQ,MAAA,KAAW,OAAO;;CAEnC,wBAA6C;CAC7C,iCAAgD;CAChD,uBAA4C;CAC5C,2BAA6B,KAAK,OAAQ,OAAS;CAGnD,kBAAiC;CACjC,qBAAqB;CAErB,eAAmC,KAAA;CACnC,kBAAkB;CAClB;CACA,yBAAyB;CACzB,mBAAmB;CACnB,2BAA2B;CAE3B,uBAA+C;CAC/C,gBAAgB;CAEhB,YAAY,MAAoB;AAC9B,QAAA,OAAa;AACb,OAAK,cAAc,KAAK;AAExB,QAAA,kBAAwB,IAAI,gBAAgB,MAAM;GAChD,SAAS;GACT,cAAc,MAAA;GACf,CAAC;AACF,QAAA,eAAqB,IAAI,gBAAgB,MAAM;GAC7C,SAAS;GACT,cAAc,MAAA;GACf,CAAC;AACF,QAAA,wBAA8B,IAAI,gBAAgB,MAAM;GACtD,SAAS;GACT,cAAc,KAAK;GACpB,CAAC;AACF,QAAA,qBAA2B,IAAI,gBAAgB,MAAM;GACnD,SAAS;GACT,cAAc,KAAK;GACpB,CAAC;;CAGJ,IAAI,cAAsB;EACxB,MAAM,UAAU,MAAA,eAAqB;EACrC,MAAM,MAAM,MAAA,KAAW,OAAO;AAC9B,MAAI,CAAC,OAAO,OAAO,EAAG,QAAO;EAC7B,MAAM,iBAAiB,IAAI;EAC3B,MAAM,gBAAgB,KAAK,MAAM,UAAU,eAAe,GAAG;EAC7D,MAAM,YAAY,MAAA,KAAW,aAAa;AAC1C,SAAO,KAAK,IAAI,GAAG,KAAK,IAAI,eAAe,UAAU,CAAC;;CAGxD,IAAI,YAAY,MAAc;AAC5B,SAAO,KAAK,IAAI,GAAG,KAAK,IAAI,MAAA,KAAW,aAAa,KAAM,KAAK,CAAC;AAChE,MAAI,OAAO,MAAM,KAAK,CACpB;AAEF,MAAI,SAAS,MAAA,eAAqB,CAAC,MAAA,sBACjC;AAEF,MAAI,MAAA,oBAA0B,KAC5B;AAGF,MAAI,MAAA,gBAAsB;AACxB,SAAA,kBAAwB;AACxB,SAAA,cAAoB;AACpB;;AAGF,QAAA,cAAoB;AACpB,QAAA,iBAAuB;AAEvB,QAAA,QAAc,KAAK,CAAC,QAAQ,YAAY;GAGtC,MAAM,EAAE,qBAAqB,MAAM,OAAO;AAC1C,oBAAiB,MAAA,KAAkB;AAEnC,OAAI,MAAA,oBAA0B,KAAA,KAAa,MAAA,oBAA0B,MAAM;IACzE,MAAM,cAAc,MAAA;AACpB,UAAA,kBAAwB,KAAA;AACxB,UAAA,wBAA8B;AAC9B,QAAI;AACF,UAAK,cAAc;cACX;AACR,WAAA,wBAA8B;;SAGhC,OAAA,kBAAwB,KAAA;IAE1B;;CAGJ,OAAA,QAAe,YAAiD;AAE9D,QAAA,qBAA2B,OAAO;AAClC,QAAA,sBAA4B,IAAI,iBAAiB;EACjD,MAAM,SAAS,MAAA,oBAA0B;AAEzC,MAAI;AACF,UAAO,gBAAgB;AAEvB,SAAM,MAAA,KAAW,wBAAwB,OAAO;AAChD,UAAO,gBAAgB;GAEvB,MAAM,UAAU,KAAK,IAAI,GAAG,KAAK,IAAI,YAAY,MAAA,KAAW,aAAa,IAAK,CAAC;AAC/E,SAAA,cAAoB;AACpB,SAAA,KAAW,cAAc,cAAc;AACvC,SAAA,sBAA4B,SAAS,KAAK,cAAc;AACxD,SAAA,gBAAsB;IACpB,UAAU;IACV,OAAO,KAAK;IACb,CAAC;AAEF,UAAO,gBAAgB;AAEvB,SAAM,KAAK,uBAAuB;AAClC,UAAO,gBAAgB;AAIvB,OAAI,EADiB,MAAA,KAAmB,+BAA+B,IAAI,OAEzE,OAAA,KAAW,yBAAyB,QAAQ;OAE3C,OAAA,KAAmB,+BAA+B,MAAM;AAE3D,SAAA,iBAAuB;AACvB,UAAO;WACA,OAAO;AACd,OAAI,iBAAiB,gBAAgB,MAAM,SAAS,aAElD;AAEF,SAAM;;;CAIV,IAAI,UAAmB;AACrB,SAAO,MAAA;;CAGT,WAAW,OAAsB;AAC/B,MAAI,MAAA,YAAkB,MAAO;AAC7B,QAAA,UAAgB;AAChB,QAAA,gBAAsB,SAAS,MAAM;AACrC,QAAA,KAAW,cAAc,UAAU;AACnC,QAAA,gBAAsB;GAAE,UAAU;GAAW;GAAO,CAAC;AAErD,MAAI,MACF,MAAK,eAAe;MAEpB,MAAK,cAAc;;CAIvB,IAAI,OAAgB;AAClB,SAAO,MAAA;;CAGT,QAAQ,OAAsB;AAC5B,MAAI,MAAA,SAAe,MAAO;AAC1B,QAAA,OAAa;AACb,QAAA,aAAmB,SAAS,MAAM;AAClC,QAAA,KAAW,cAAc,OAAO;AAChC,QAAA,gBAAsB;GAAE,UAAU;GAAQ;GAAO,CAAC;;CAGpD,IAAI,gBAAwB;AAC1B,SAAO,KAAK,cAAc;;CAG5B,iBAAiB,OAAqB;AACpC,OAAK,cAAc,QAAQ;;CAK7B,oBAAoB,QAAsB;EAExC,MAAM,aAAa,MAAA,KAAW;EAC9B,MAAM,gBAAgB,KAAK,IAAI,GAAG,KAAK,IAAI,QAAQ,WAAW,CAAC;EAC/D,MAAM,UAAU,gBAAgB;AAChC,MAAI,MAAA,gBAAsB,QACxB;AAEF,QAAA,cAAoB;AACpB,QAAA,KAAW,cAAc,cAAc;AACvC,QAAA,sBAA4B,SAAS,cAAc;AACnD,QAAA,gBAAsB;GACpB,UAAU;GACV,OAAO;GACR,CAAC;AAEF,OAAK,uBAAuB;;CAG9B,OAAa;AACX,OAAK,WAAW,KAAK;;CAGvB,QAAc;AACZ,OAAK,WAAW,MAAM;;CAGxB,WAAW;CAEX,gBAAsB;EACpB,MAAM,cAAc,MAAA;AACpB,QAAA,eAAqB;AAGrB,8BAA4B;AAC1B,+BAA4B;AAG1B,QAAI,MAAA,WAAiB,MAAA,KAAW,uBAAuB,KACrD;AAGF,QAAI,MAAA,WAAiB,YACnB,MAAK,eAAe;aACX,CAAC,MAAA,QACV,OAAA,gBAAsB;KAExB;IACF;;CAGJ,OAAA,iBAAuC;AACrC,MAAI;GACF,MAAM,cAAc,MAAA,KAAW,yBAAyB;AACxD,OAAI,YACF,OAAM;WAED,KAAK;AAOZ,OAAI,EALD,eAAe,gBAAgB,IAAI,SAAS,gBAC5C,eAAe,UACb,IAAI,SAAS,gBACZ,IAAI,QAAQ,SAAS,oBAAoB,IACzC,IAAI,QAAQ,SAAS,6BAA6B,GAEtD,SAAQ,MAAM,8CAA8C,IAAI;AAElE;;AAGF,MAAI,MAAA,WAAiB,MAAA,KAAW,uBAAuB,KACrD;EAGF,MAAM,kBAAkB,MAAA,KAAW,4BAA4B;AAC/D,MAAI,oBAAoB,KAAA,GAAW;AAChC,SAAA,KAAmB,+BAA+B,KAAK;AACxD,QAAK,cAAc;aACV,MAAA,gBAAsB,KAAA,EAC/B,MAAK,cAAc;;CAIvB,mBAAyB;AACvB,OAAK,OAAO;;CAGd,cAAoB;AAClB,QAAA,mBAAyB,SAAS,MAAA,KAAW,WAAW;AACxD,QAAA,sBAA4B,SAAS,KAAK,cAAc;;CAG1D;CACA;CACA,mBAAmB;CACnB,uBAAuB;CAEvB,oBAA0B;AACxB,QAAA,sBAA4B;AAC5B,QAAA,2BAAiC,OAAO;AACxC,QAAA,4BAAkC,KAAA;;CAGpC,mBAAyB;AACvB,QAAA,sBAA4B;;;;;;CAO9B,MAAM,wBAAuC;EAC3C,MAAM,SAAS,KAAK;AAEpB,MAAI,MAAA,KAAW,iBAAiB;AAC9B,OAAI;AACF,UAAM,MAAA,KAAW,gBAAgB,YAAY,QAAQ,EACnD,qBAAqB,SAAkB;AACrC,sBAAiB,KAAqC;OAEzD,CAAC;YACK,OAAO;AACd,QAAI,iBAAiB,gBAAgB,MAAM,SAAS,aAAc;AAClE,YAAQ,MAAM,0BAA0B,MAAM;;AAEhD;;EAIF,MAAM,OAAO,MAAA;AACb,MAAI,CAAC,KAAK,gBAAgB,CAAC,KAAK,YAAa;AAE7C,MAAI,MAAA,oBAA2B;AAI/B,MAAI,MAAA,mBAAyB;AAC3B,SAAA,kBAAwB;AACxB,UAAO,MAAA;;AAGT,SAAO,MAAA,gBAAsB,MAAM,OAAO;;CAG5C,iBAAiB,MAAgC,QAA+B;AAC9E,QAAA,2BAAiC,OAAO;AACxC,QAAA,4BAAkC,IAAI,iBAAiB;EACvD,MAAM,SAAS,MAAA,0BAAgC;AAC/C,QAAA,kBAAwB;AAExB,QAAA,qBAA2B,YAAY;AACrC,OAAI;AACF,UAAM,KAAK,aAAc,QAAQ,OAAO;AACxC,WAAO,gBAAgB;AACvB,SAAK,YAAa,OAAO;AACzB,qBAAiB,MAAA,KAA2C;YACrD,OAAO;AACd,QAAI,iBAAiB,gBAAgB,MAAM,SAAS,aAAc;AAClE,QAAK,OAAe,SAAS,aAAc;AAC3C,YAAQ,MAAM,kCAAkC,MAAM;aAC9C;AACR,UAAA,oBAA0B,KAAA;AAE1B,QAAI,MAAA,mBAAyB,CAAC,MAAA,oBAC5B,OAAA,gBAAsB,MAAM,KAAK,cAAc;;MAGjD;AAEJ,SAAO,MAAA;;CAGT,YAAY,UAAgE;AAC1E,QAAA,UAAgB,IAAI,SAAS;;CAG/B,eAAe,UAAgE;AAC7E,QAAA,UAAgB,OAAO,SAAS;;CAGlC,iBAAiB,OAA4C;AAC3D,OAAK,MAAM,YAAY,MAAA,UACrB,UAAS,MAAM;;CAInB,SAAe;AACb,QAAA,UAAgB;AAChB,OAAK,cAAc;AACnB,QAAA,UAAgB,OAAO;AACvB,QAAA,KAAW,iBAAiB,KAAK;;CAGnC,uBAAuB,SAA6B;AAClD,QAAA,sBAA4B;;CAG9B,4BAA4B,SAAiB;EAC3C,MAAM,mBAAmB,MAAA,sBAA4B,eAAe;EACpE,MAAM,QAAQ,MAAA,KAAW;EAGzB,IAAI;AACJ,MAAI,MAAA,0BAAgC,KAAK,oBAAoB,MAAA,wBAG3D,cADuB,mBAAmB,MAAA,2BAAiC,MAC/C;OACvB;AAEL,eAAY,UAAU,mBAAmB;AAGzC,OAAI,MAAA,mBAAyB,aAAa,MACxC,aAAY,YAAY;;EAI5B,MAAM,aAAa,KAAK,MAAM,YAAY,MAAA,WAAiB,GAAG,MAAA;AAI9D,QAAA,mBAAyB,WAAW;AAGpC,MAAI,CAAC,MAAA,mBAAyB,cAAc,OAAO;AACjD,QAAK,mBAAmB;AACxB;;AAGF,QAAA,gCAAsC,4BAA4B;AAChE,SAAA,2BAAiC,QAAQ;IACzC;;CAGJ,qBAAqB;AACnB,MAAI,MAAA,mBAAyB,KAAM;EACnC,MAAM,QAAQ,MAAA,KAAW;EACzB,MAAM,UAAU,YAAY,KAAK,GAAG,MAAA;EACpC,IAAI,YAAY,MAAA,oBAA0B;AAE1C,MAAI,MAAA,gBACF,aAAY,YAAY;EAG1B,MAAM,aAAa,KAAK,MAAM,YAAY,MAAA,WAAiB,GAAG,MAAA;AAC9D,QAAA,mBAAyB,WAAW;AAEpC,MAAI,CAAC,MAAA,mBAAyB,cAAc,OAAO;AACjD,QAAK,mBAAmB;AACxB;;AAGF,QAAA,gCAAsC,4BAA4B;AAChE,SAAA,mBAAyB;IACzB;;CAGJ,MAAc,oBAAoB;AAChC,MAAI,MAAA,MAAY;AAId,QAAK,iBAAiB,EAAE;AAExB,+BAA4B;AAC1B,SAAK,eAAe;KACpB;SACG;AAGL,QAAK,iBAAiB,EAAE;AACxB,QAAK,OAAO;;;CAIhB,MAAc,eAAe;AAC3B,MAAI,MAAA,+BAAqC;AACvC,wBAAqB,MAAA,8BAAoC;AACzD,SAAA,gCAAsC;;AAExC,QAAA,iBAAuB;AACvB,MAAI,MAAA;OACE,MAAA,qBAA2B,UAAU,SACvC,OAAM,MAAA,qBAA2B,OAAO;;AAG5C,QAAA,uBAA6B;;CAG/B,MAAc,gBAAgB;AAE5B,MAAI,MAAA,QACF;AAGF,QAAM,KAAK,cAAc;EACzB,MAAM,OAAO,MAAA;AACb,MAAI,CAAC,KACH;AAGF,MAAI,KAAK,sBACP,OAAM,KAAK,uBAAuB;AAIpC,MAAI,MAAA,QACF;EAGF,MAAM,YAAY,KAAK;EACvB,MAAM,SAAS;EACf,MAAM,OAAO,KAAK;AAElB,MAAI,UAAU,MAAM;AAClB,QAAK,OAAO;AACZ;;AAGF,QAAA,kBAAwB,MAAA;AACxB,QAAA,0BAAgC;AAEhC,MAAI,MAAA,8BACF,sBAAqB,MAAA,8BAAoC;AAK3D,MAAI,CAAC,KAAK,aAAa;AACrB,SAAA,iBAAuB,YAAY,KAAK;AACxC,SAAA,oBAA0B;AAC1B,SAAA,mBAAyB;AACzB;;AAKF,MAAI,aAAa,MAAM;AACrB,SAAA,iBAAuB,YAAY,KAAK;AACxC,SAAA,oBAA0B;AAC1B,SAAA,mBAAyB;AACzB;;AAQF,MADoB,MAAM,KAAK,YAAY,WAAW,KAAK,IAAI,YAAY,GAAG,KAAK,CAAC,KAChE,KAAA,GAAW;AAC7B,SAAA,iBAAuB,YAAY,KAAK;AACxC,SAAA,oBAA0B;AAC1B,SAAA,mBAAyB;AACzB;;EAGF,IAAI,cAAc;AAElB,MAAI,MAAA,qBAA2B;AAC7B,SAAA,uBAA6B,MAAA;AAC7B,SAAA,sBAA4B;QAE5B,OAAA,uBAA6B,IAAI,aAAa,EAC5C,aAAa,YACd,CAAC;EAGJ,MAAM,kBAAkB,MAAA;AAExB,MAAI,gBAAgB,UAAU,aAAa;AAEzC,mBAAgB,OAAO,CAAC,YAAY,GAAG;AACvC,SAAA,uBAA6B;AAC7B,SAAA,iBAAuB,YAAY,KAAK;AACxC,SAAA,oBAA0B;AAC1B,SAAA,mBAAyB;AACzB;;AAEF,QAAA,2BAAiC,UAAU;AAC3C,QAAM,gBAAgB,SAAS;EAI/B,IAAI,gBAAgB;EACpB,IAAI,qBAAqB;EACzB,IAAI,aAAa;EAEjB,MAAM,aAAa,YAAY;AAC7B,OAAI,cAAc,EAChB;AAGF,OADsB,MAAM,mBAAmB,CAE7C,aAAY,CAAC,YAAY,GAAG;;EAIhC,MAAM,oBAAoB,YAAY;AAEpC,OAAI,cAAc,CAAC,MAAA,gBACjB,QAAO;GAGT,MAAM,UAAU;GAChB,MAAM,QAAQ,KAAK,IAAI,gBAAgB,MAAA,yBAA+B,KAAK;GAG3E,MAAM,eAAe,SAAS;AAE9B,OAAI,CAAC,KAAK,YACR,QAAO;GAGT,MAAM,cAAc,MAAM,KAAK,YAAY,SAAS,MAAM;AAC1D,OAAI,gBAAgB,KAAA,EAAW,QAAO;AACtC;GACA,MAAM,SAAS,gBAAgB,oBAAoB;AACnD,UAAO,SAAS;AAChB,UAAO,QAAQ,gBAAgB,YAAY;AAE3C,UAAO,MAAM,qBAAqB,IAAK;GAEvC,MAAM,kBAAkB,QAAQ;AAEhC,UAAO,gBAAgB;AACrB;AAEA,QAAI,aACF,KAAI,CAAC,MAAA,gBAEH,MAAK,mBAAmB;QAGxB,aAAY,CAAC,YAAY,GAAG;QAI9B,aAAY,CAAC,YAAY,GAAG;;AAKhC,yBAAsB;AAGtB,OAAI,gBAAgB,MAAA,iBAAuB;AAEzC,iBAAa;AAGb,UAAA,2BAAiC,OAAO,UAAU;AAElD,oBAAgB;SAIhB,iBAAgB;AAGlB,UAAO;;AAGT,MAAI;AACF,SAAM,YAAY;AAClB,SAAM,gBAAgB,QAAQ;WACvB,OAAO;AAEd,OACE,iBAAiB,UAChB,MAAM,SAAS,uBAAuB,MAAM,QAAQ,SAAS,SAAS,EAEvE;AAEF,SAAM"}
1
+ {"version":3,"file":"PlaybackController.js","names":["#msPerFrame","#host","#playingProvider","#playing","#loopProvider","#loop","#currentTimeMsProvider","#durationMsProvider","#volumeProvider","#volume","#mutedProvider","#muted","#currentTime","#processingPendingSeek","#pendingSeekTime","#seekInProgress","#runSeek","#seekAbortController","#notifyListeners","#applyGain","#gainNode","#hasConnected","#removed","#initializeTime","#selfRenderSuspended","#selfRenderAbortController","#selfRenderPromise","#selfRenderDirty","#startSelfRender","#listeners","#pendingAudioContext","#playbackAudioContext","#playbackWrapTimeSeconds","#loopingPlayback","#updatePlaybackTime","#playbackAnimationFrameRequest","#syncPlayheadToAudioContext","#rafStartWallMs","#rafStartLogicalMs","#syncPlayheadToRaf","#AUDIO_PLAYBACK_SLICE_MS"],"sources":["../../src/gui/PlaybackController.ts"],"mappings":"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"}
package/dist/gui/icons.js CHANGED
@@ -25,7 +25,11 @@ const ICONS = {
25
25
  code: "M69.12,94.15,28.5,128l40.62,33.85a8,8,0,1,1-10.24,12.3l-48-40a8,8,0,0,1,0-12.3l48-40a8,8,0,0,1,10.24,12.3Zm176,27.7-48-40a8,8,0,0,0-10.24,12.3L227.5,128l-40.62,33.85a8,8,0,1,0,10.24,12.3l48-40a8,8,0,0,0,0-12.3Zm-82.39-89.37a8,8,0,0,0-10.25,4.79l-64,176a8,8,0,0,0,4.79,10.26A8.14,8.14,0,0,0,96,224a8,8,0,0,0,7.52-5.27l64-176A8,8,0,0,0,162.73,32.48Z",
26
26
  arrowLeft: "M192,128a8,8,0,0,1-2.34,5.66l-56,56a8,8,0,0,1-11.32-11.32L172.69,128,122.34,77.66a8,8,0,0,1,11.32-11.32l56,56A8,8,0,0,1,192,128Z",
27
27
  arrowRight: "M64,128a8,8,0,0,1,2.34-5.66l56-56a8,8,0,0,1,11.32,11.32L83.31,128l50.35,50.34a8,8,0,0,1-11.32,11.32l-56-56A8,8,0,0,1,64,128Z",
28
- lightning: "M215.79,118.17a8,8,0,0,0-5-5.66L153.18,90.9l14.66-73.33a8,8,0,0,0-13.69-7l-112,120a8,8,0,0,0,3,13l57.63,21.61L88.16,238.43a8,8,0,0,0,13.69,7l112-120A8,8,0,0,0,215.79,118.17Z"
28
+ lightning: "M215.79,118.17a8,8,0,0,0-5-5.66L153.18,90.9l14.66-73.33a8,8,0,0,0-13.69-7l-112,120a8,8,0,0,0,3,13l57.63,21.61L88.16,238.43a8,8,0,0,0,13.69,7l112-120A8,8,0,0,0,215.79,118.17Z",
29
+ speakerSlash: "M53.92,34.62A8,8,0,1,0,42.08,45.38L90.84,96H32A16,16,0,0,0,16,112v32a16,16,0,0,0,16,16H77.25l69.84,54.31A8,8,0,0,0,160,208V175.19l47.88,52.19a8,8,0,1,0,11.84-10.76ZM144,191.64,88.91,147.23a8,8,0,0,0-5-.88l0,0H32V112H72a8,8,0,0,0,5.66-2.34L50.29,80H32V112H72L144,64.36ZM155.51,8.81a8,8,0,0,0-8.42.88L117.09,32H117a8,8,0,0,0,0,16h.09L144,28.36V128a8,8,0,0,0,16,0V16A8,8,0,0,0,155.51,8.81ZM211.32,101.11a8,8,0,0,0-11.32,11.32,24,24,0,0,1,0,33.94,8,8,0,0,0,11.32,11.32,40,40,0,0,0,0-56.58Z",
30
+ cornersOut: "M160,48h40a8,8,0,0,1,8,8V96a8,8,0,0,1-16,0V72.37L115.31,149.66a8,8,0,0,1-11.32-11.32L181.63,56H160a8,8,0,0,1,0-16ZM96,173.63,18.37,96H40a8,8,0,0,0,0-16H8a8,8,0,0,0-8,8V128a8,8,0,0,0,16,0V106.37l77.66,77.66A8,8,0,0,0,96,184a8,8,0,0,0,8-8A8,8,0,0,0,96,173.63ZM200,152a8,8,0,0,0-8,8v21.63L114.34,103.66a8,8,0,0,0-11.32,11.32L181.63,193.63V172a8,8,0,0,0-16,0v40a8,8,0,0,0,8,8h40a8,8,0,0,0,0-16H192V160A8,8,0,0,0,200,152ZM56,200H34.37l77.66-77.63a8,8,0,0,0-11.32-11.32L23,189.63V168a8,8,0,0,0-16,0v40a8,8,0,0,0,8,8H56a8,8,0,0,0,0-16Z",
31
+ cornersIn: "M213.66,42.34a8,8,0,0,0-11.32,0L160,84.69V64a8,8,0,0,0-16,0v48a8,8,0,0,0,8,8h48a8,8,0,0,0,0-16H179.31l42.35-42.34A8,8,0,0,0,213.66,42.34ZM112,104H64a8,8,0,0,0,0,16H84.69L42.34,162.34a8,8,0,0,0,11.32,11.32L96,131.31V152a8,8,0,0,0,16,0V104A8,8,0,0,0,112,104Zm40,104a8,8,0,0,0,8-8V179.31l42.34,42.35a8,8,0,0,0,11.32-11.32L171.31,168H192a8,8,0,0,0,0-16H144a8,8,0,0,0-8,8v48A8,8,0,0,0,152,208ZM64,168H84.69L42.34,210.34a8,8,0,0,0,11.32,11.32L96,179.31V200a8,8,0,0,0,16,0V152a8,8,0,0,0-8-8H56a8,8,0,0,0,0,16Z",
32
+ pipWindow: "M228,144v56a12,12,0,0,1-12,12H148a12,12,0,0,1-12-12V144a12,12,0,0,1,12-12h68A12,12,0,0,1,228,144ZM208,40H48A16,16,0,0,0,32,56v96a16,16,0,0,0,16,16H120a8,8,0,0,0,0-16H48V56H208v56a8,8,0,0,0,16,0V56A16,16,0,0,0,208,40Z"
29
33
  };
30
34
  //#endregion
31
35
  export { ICONS, phosphorIcon };
@@ -1 +1 @@
1
- {"version":3,"file":"icons.js","names":[],"sources":["../../src/gui/icons.ts"],"mappings":";;;;;;AAMA,SAAgB,aAAa,MAAc,OAAO,IAAuB;AACvE,QAAO,IAAI;kBACK,KAAK,YAAY,KAAK;iBACvB,KAAK;;;;AAMtB,MAAa,QAAQ;CACnB,MAAM;CACN,OACE;CACF,WACE;CACF,WACE;CACF,aACE;CACF,OACE;CACF,OACE;CACF,WACE;CACF,YACE;CACF,UACE;CACF,MAAM;CACN,WACE;CACF,YACE;CACF,WACE;CACH"}
1
+ {"version":3,"file":"icons.js","names":[],"sources":["../../src/gui/icons.ts"],"mappings":";;;;;;AAMA,SAAgB,aAAa,MAAc,OAAO,IAAuB;AACvE,QAAO,IAAI;kBACK,KAAK,YAAY,KAAK;iBACvB,KAAK;;;;AAMtB,MAAa,QAAQ;CACnB,MAAM;CACN,OACE;CACF,WACE;CACF,WACE;CACF,aACE;CACF,OACE;CACF,OACE;CACF,WACE;CACF,YACE;CACF,UACE;CACF,MAAM;CACN,WACE;CACF,YACE;CACF,WACE;CACF,cACE;CACF,YACE;CACF,WACE;CACF,WACE;CACH"}
@@ -0,0 +1,10 @@
1
+ //#region src/gui/volumeContext.d.ts
2
+ declare const volumeContext: {
3
+ __context__: number;
4
+ };
5
+ declare const mutedContext: {
6
+ __context__: boolean;
7
+ };
8
+ //#endregion
9
+ export { mutedContext, volumeContext };
10
+ //# sourceMappingURL=volumeContext.d.ts.map
@@ -0,0 +1,8 @@
1
+ import { createContext } from "@lit/context";
2
+ //#region src/gui/volumeContext.ts
3
+ const volumeContext = createContext(Symbol("volumeContext"));
4
+ const mutedContext = createContext(Symbol("mutedContext"));
5
+ //#endregion
6
+ export { mutedContext, volumeContext };
7
+
8
+ //# sourceMappingURL=volumeContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"volumeContext.js","names":[],"sources":["../../src/gui/volumeContext.ts"],"mappings":";;AAEA,MAAa,gBAAgB,cAAsB,OAAO,gBAAgB,CAAC;AAC3E,MAAa,eAAe,cAAuB,OAAO,eAAe,CAAC"}
package/dist/index.d.ts CHANGED
@@ -46,6 +46,11 @@ import { EFTimeDisplay } from "./gui/EFTimeDisplay.js";
46
46
  import { EFActiveRootTemporal } from "./gui/EFActiveRootTemporal.js";
47
47
  import { DialChangeDetail, EFDial } from "./gui/EFDial.js";
48
48
  import { EFControls } from "./gui/EFControls.js";
49
+ import { EFVolume } from "./gui/EFVolume.js";
50
+ import { EFMute } from "./gui/EFMute.js";
51
+ import { EFFullscreen } from "./gui/EFFullscreen.js";
52
+ import { EFPIP } from "./gui/EFPIP.js";
53
+ import { EFResolution, ResolutionChangeDetail } from "./gui/EFResolution.js";
49
54
  import { EFFocusOverlay } from "./gui/EFFocusOverlay.js";
50
55
  import { getCornerPoint, getOppositeCorner, rotatePoint } from "./gui/transformUtils.js";
51
56
  import { BoxBounds, EFResizableBox } from "./gui/EFResizableBox.js";
@@ -54,7 +59,8 @@ import { EFCanvasItem } from "./canvas/EFCanvasItem.js";
54
59
  import { CanvasAPI } from "./canvas/api/CanvasAPI.js";
55
60
  import { SelectionModel } from "./canvas/selection/SelectionModel.js";
56
61
  import { RenderInfo, RenderInfoSchema, getRenderInfo } from "./getRenderInfo.js";
62
+ import { mutedContext, volumeContext } from "./gui/volumeContext.js";
57
63
  import { getRenderData } from "./render/getRenderData.js";
58
64
  import { CanvasPreviewOptions, CanvasPreviewResult, CaptureOptions, ContentReadyMode } from "./preview/renderTimegroupToCanvas.types.js";
59
65
  import { RenderElementOptions, renderElementToCanvas } from "./preview/renderElementToCanvas.js";
60
- export { type BoxBounds, CanvasAPI, type CanvasElementBounds, type CanvasElementData, type CanvasPreviewOptions, type CanvasPreviewResult, type CaptureOptions, type CloneFactory, type CloneFactoryResult, type ContainerInfo, type ContentReadyMode, type DialChangeDetail, EFActiveRootTemporal, EFAudio, EFAudioHierarchyItem, EFCanvas, EFCanvasItem, EFCaptions, EFCaptionsActiveWord, EFCaptionsActiveWordHierarchyItem, EFCaptionsAfterActiveWord, EFCaptionsBeforeActiveWord, EFCaptionsHierarchyItem, EFCaptionsSegment, EFConfiguration, EFControls, EFDial, EFFilmstrip, EFFitScale, EFFocusOverlay, EFHTMLHierarchyItem, EFHierarchy, EFHierarchyItem, EFImage, EFImageHierarchyItem, type EFMedia, EFMotionBlur, EFOverlayItem, EFOverlayLayer, EFPanZoom, EFPause, EFPlay, EFPreview, EFResizableBox, EFScrubber, EFSurface, EFText, EFTextHierarchyItem, EFTextSegment, EFTextSegmentHierarchyItem, EFThumbnailStrip, EFTimeDisplay, EFTimegroup, EFTimegroupHierarchyItem, EFTimeline, EFTimelineRuler, EFToggleLoop, EFTogglePlay, EFTransformHandles, EFTree, EFTreeItem, EFTrimHandles, EFVideo, EFVideoHierarchyItem, EFWaveform, EFWaveformHierarchyItem, EFWorkbench, type ElementPositionInfo, type HierarchyActions, type HierarchyContext, type HierarchyState, type OverlayItemPosition, type PanZoomTransform, PositionInfoMixin, type RenderElementOptions, type RenderInfo, RenderInfoSchema, type RenderProgress, type RenderToVideoOptions, type ScaleInput, type ScaleOutput, SelectionModel, type SelectionState, type TemporalMixinInterface, type TraceContext, type TransformBounds, type TreeActions, type TreeContext, type TreeItem, type TreeState, type TrimChangeDetail, type TrimValue, calculateFrameIntervalMs, calculatePixelsPerFrame, collectAllIds, computeFitScale, elementNeedsFitScale, getCloneFactory, getContainerInfoFromElement, getCornerPoint, getOppositeCorner, getPositionInfoFromElement, getRenderData, getRenderInfo, hierarchyContext, isEFTemporal, needsFitScale, quantizeToFrameTimeMs, registerCloneFactory, renderElementToCanvas, rotatePoint, shouldShowFrameMarkers, treeContext, unregisterCloneFactory, version };
66
+ export { type BoxBounds, CanvasAPI, type CanvasElementBounds, type CanvasElementData, type CanvasPreviewOptions, type CanvasPreviewResult, type CaptureOptions, type CloneFactory, type CloneFactoryResult, type ContainerInfo, type ContentReadyMode, type DialChangeDetail, EFActiveRootTemporal, EFAudio, EFAudioHierarchyItem, EFCanvas, EFCanvasItem, EFCaptions, EFCaptionsActiveWord, EFCaptionsActiveWordHierarchyItem, EFCaptionsAfterActiveWord, EFCaptionsBeforeActiveWord, EFCaptionsHierarchyItem, EFCaptionsSegment, EFConfiguration, EFControls, EFDial, EFFilmstrip, EFFitScale, EFFocusOverlay, EFFullscreen, EFHTMLHierarchyItem, EFHierarchy, EFHierarchyItem, EFImage, EFImageHierarchyItem, type EFMedia, EFMotionBlur, EFMute, EFOverlayItem, EFOverlayLayer, EFPIP, EFPanZoom, EFPause, EFPlay, EFPreview, EFResizableBox, EFResolution, EFScrubber, EFSurface, EFText, EFTextHierarchyItem, EFTextSegment, EFTextSegmentHierarchyItem, EFThumbnailStrip, EFTimeDisplay, EFTimegroup, EFTimegroupHierarchyItem, EFTimeline, EFTimelineRuler, EFToggleLoop, EFTogglePlay, EFTransformHandles, EFTree, EFTreeItem, EFTrimHandles, EFVideo, EFVideoHierarchyItem, EFVolume, EFWaveform, EFWaveformHierarchyItem, EFWorkbench, type ElementPositionInfo, type HierarchyActions, type HierarchyContext, type HierarchyState, type OverlayItemPosition, type PanZoomTransform, PositionInfoMixin, type RenderElementOptions, type RenderInfo, RenderInfoSchema, type RenderProgress, type RenderToVideoOptions, type ResolutionChangeDetail, type ScaleInput, type ScaleOutput, SelectionModel, type SelectionState, type TemporalMixinInterface, type TraceContext, type TransformBounds, type TreeActions, type TreeContext, type TreeItem, type TreeState, type TrimChangeDetail, type TrimValue, calculateFrameIntervalMs, calculatePixelsPerFrame, collectAllIds, computeFitScale, elementNeedsFitScale, getCloneFactory, getContainerInfoFromElement, getCornerPoint, getOppositeCorner, getPositionInfoFromElement, getRenderData, getRenderInfo, hierarchyContext, isEFTemporal, mutedContext, needsFitScale, quantizeToFrameTimeMs, registerCloneFactory, renderElementToCanvas, rotatePoint, shouldShowFrameMarkers, treeContext, unregisterCloneFactory, version, volumeContext };
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { getCloneFactory, registerCloneFactory, unregisterCloneFactory } from "./elements/cloneFactoryRegistry.js";
2
+ import { mutedContext, volumeContext } from "./gui/volumeContext.js";
2
3
  import { isEFTemporal } from "./elements/EFTemporal.js";
3
4
  import { EFConfiguration } from "./gui/EFConfiguration.js";
4
5
  import "./elements/EFMedia.js";
@@ -44,6 +45,11 @@ import { EFTimeDisplay } from "./gui/EFTimeDisplay.js";
44
45
  import { EFActiveRootTemporal } from "./gui/EFActiveRootTemporal.js";
45
46
  import { EFDial } from "./gui/EFDial.js";
46
47
  import { EFControls } from "./gui/EFControls.js";
48
+ import { EFVolume } from "./gui/EFVolume.js";
49
+ import { EFMute } from "./gui/EFMute.js";
50
+ import { EFFullscreen } from "./gui/EFFullscreen.js";
51
+ import { EFPIP } from "./gui/EFPIP.js";
52
+ import { EFResolution } from "./gui/EFResolution.js";
47
53
  import { EFFocusOverlay } from "./gui/EFFocusOverlay.js";
48
54
  import { EFResizableBox } from "./gui/EFResizableBox.js";
49
55
  import { EFSurface } from "./elements/EFSurface.js";
@@ -58,6 +64,6 @@ import { renderElementToCanvas } from "./preview/renderElementToCanvas.js";
58
64
  //#region src/index.ts
59
65
  if (typeof window !== "undefined") window.EF_REGISTERED = true;
60
66
  //#endregion
61
- export { CanvasAPI, EFActiveRootTemporal, EFAudio, EFAudioHierarchyItem, EFCanvas, EFCanvasItem, EFCaptions, EFCaptionsActiveWord, EFCaptionsActiveWordHierarchyItem, EFCaptionsAfterActiveWord, EFCaptionsBeforeActiveWord, EFCaptionsHierarchyItem, EFCaptionsSegment, EFConfiguration, EFControls, EFDial, EFFilmstrip, EFFitScale, EFFocusOverlay, EFHTMLHierarchyItem, EFHierarchy, EFHierarchyItem, EFImage, EFImageHierarchyItem, EFMotionBlur, EFOverlayItem, EFOverlayLayer, EFPanZoom, EFPause, EFPlay, EFPreview, EFResizableBox, EFScrubber, EFSurface, EFText, EFTextHierarchyItem, EFTextSegment, EFTextSegmentHierarchyItem, EFThumbnailStrip, EFTimeDisplay, EFTimegroup, EFTimegroupHierarchyItem, EFTimeline, EFTimelineRuler, EFToggleLoop, EFTogglePlay, EFTransformHandles, EFTree, EFTreeItem, EFTrimHandles, EFVideo, EFVideoHierarchyItem, EFWaveform, EFWaveformHierarchyItem, EFWorkbench, PositionInfoMixin, RenderInfoSchema, SelectionModel, calculateFrameIntervalMs, calculatePixelsPerFrame, collectAllIds, computeFitScale, elementNeedsFitScale, getCloneFactory, getContainerInfoFromElement, getCornerPoint, getOppositeCorner, getPositionInfoFromElement, getRenderData, getRenderInfo, hierarchyContext, isEFTemporal, needsFitScale, quantizeToFrameTimeMs, registerCloneFactory, renderElementToCanvas, rotatePoint, shouldShowFrameMarkers, treeContext, unregisterCloneFactory, version };
67
+ export { CanvasAPI, EFActiveRootTemporal, EFAudio, EFAudioHierarchyItem, EFCanvas, EFCanvasItem, EFCaptions, EFCaptionsActiveWord, EFCaptionsActiveWordHierarchyItem, EFCaptionsAfterActiveWord, EFCaptionsBeforeActiveWord, EFCaptionsHierarchyItem, EFCaptionsSegment, EFConfiguration, EFControls, EFDial, EFFilmstrip, EFFitScale, EFFocusOverlay, EFFullscreen, EFHTMLHierarchyItem, EFHierarchy, EFHierarchyItem, EFImage, EFImageHierarchyItem, EFMotionBlur, EFMute, EFOverlayItem, EFOverlayLayer, EFPIP, EFPanZoom, EFPause, EFPlay, EFPreview, EFResizableBox, EFResolution, EFScrubber, EFSurface, EFText, EFTextHierarchyItem, EFTextSegment, EFTextSegmentHierarchyItem, EFThumbnailStrip, EFTimeDisplay, EFTimegroup, EFTimegroupHierarchyItem, EFTimeline, EFTimelineRuler, EFToggleLoop, EFTogglePlay, EFTransformHandles, EFTree, EFTreeItem, EFTrimHandles, EFVideo, EFVideoHierarchyItem, EFVolume, EFWaveform, EFWaveformHierarchyItem, EFWorkbench, PositionInfoMixin, RenderInfoSchema, SelectionModel, calculateFrameIntervalMs, calculatePixelsPerFrame, collectAllIds, computeFitScale, elementNeedsFitScale, getCloneFactory, getContainerInfoFromElement, getCornerPoint, getOppositeCorner, getPositionInfoFromElement, getRenderData, getRenderInfo, hierarchyContext, isEFTemporal, mutedContext, needsFitScale, quantizeToFrameTimeMs, registerCloneFactory, renderElementToCanvas, rotatePoint, shouldShowFrameMarkers, treeContext, unregisterCloneFactory, version, volumeContext };
62
68
 
63
69
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8NA,IAAI,OAAO,WAAW,YAEpB,QAAO,gBAAgB"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkPA,IAAI,OAAO,WAAW,YAEpB,QAAO,gBAAgB"}
package/dist/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  //#region src/version.ts
2
- const version = "0.55.2";
2
+ const version = "0.57.0";
3
3
  globalThis.__EF_VERSION__ = version;
4
4
  //#endregion
5
5
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@editframe/elements",
3
- "version": "0.55.2",
3
+ "version": "0.57.0",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,7 +24,7 @@
24
24
  ],
25
25
  "dependencies": {
26
26
  "@bramus/style-observer": "^1.3.0",
27
- "@editframe/assets": "0.55.0",
27
+ "@editframe/assets": "0.57.0",
28
28
  "@lit/context": "^1.1.6",
29
29
  "@lit/reactive-element": "^2.1.1",
30
30
  "@opentelemetry/api": "^1.9.0",
@@ -125,4 +125,4 @@
125
125
  "inlinedDependencies": {
126
126
  "lit-html": "3.3.1"
127
127
  }
128
- }
128
+ }