@drincs/pixi-vn 1.8.25 → 1.9.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 (53) hide show
  1. package/README.md +23 -1
  2. package/dist/{ContainerMemory-D2HtgX7w.d.cts → ContainerMemory-BpDgacyr.d.cts} +2 -15
  3. package/dist/{ContainerMemory-D2HtgX7w.d.ts → ContainerMemory-BpDgacyr.d.ts} +2 -15
  4. package/dist/{HistoryChoiceMenuOption-DVMD78W7.d.cts → HistoryChoiceMenuOption-BxMSXnyI.d.cts} +1 -1
  5. package/dist/{HistoryChoiceMenuOption-B8RfQz5H.d.ts → HistoryChoiceMenuOption-hSI4SHV-.d.ts} +1 -1
  6. package/dist/{HistoryGameState-CmjUtlkV.d.ts → HistoryGameState-C8ATx9K6.d.ts} +1 -1
  7. package/dist/{HistoryGameState-C28NcKKl.d.cts → HistoryGameState-CGfvq5iL.d.cts} +1 -1
  8. package/dist/{HistoryStep-G9dUn0Lf.d.cts → HistoryStep-WGB6nA4N.d.cts} +5 -0
  9. package/dist/{HistoryStep-G9dUn0Lf.d.ts → HistoryStep-WGB6nA4N.d.ts} +5 -0
  10. package/dist/{OpenedLabel-DLfFuZgk.d.ts → OpenedLabel-CmRdzTXP.d.ts} +1 -1
  11. package/dist/{OpenedLabel-BxfL31aQ.d.cts → OpenedLabel-Cmd675NI.d.cts} +1 -1
  12. package/dist/SoundGameState-C_6ZsQX6.d.cts +186 -0
  13. package/dist/SoundGameState-C_6ZsQX6.d.ts +186 -0
  14. package/dist/{StorageGameState-CtjNJpvE.d.cts → StorageGameState-C3PGrFPr.d.cts} +2 -2
  15. package/dist/{StorageGameState-BJy57o6K.d.ts → StorageGameState-jAexrJLj.d.ts} +2 -2
  16. package/dist/canvas.cjs +2 -2
  17. package/dist/canvas.d.cts +265 -24
  18. package/dist/canvas.d.ts +265 -24
  19. package/dist/canvas.mjs +2 -2
  20. package/dist/characters.cjs +1 -1
  21. package/dist/characters.mjs +1 -1
  22. package/dist/chunk-HD353M4B.mjs +1 -0
  23. package/dist/chunk-I7DOUH5V.mjs +1 -0
  24. package/dist/history.cjs +1 -1
  25. package/dist/history.d.cts +38 -15
  26. package/dist/history.d.ts +38 -15
  27. package/dist/history.mjs +1 -1
  28. package/dist/index.cjs +2 -2
  29. package/dist/index.d.cts +32 -34
  30. package/dist/index.d.ts +32 -34
  31. package/dist/index.mjs +2 -2
  32. package/dist/motion.cjs +1 -1
  33. package/dist/motion.mjs +1 -1
  34. package/dist/narration.cjs +2 -2
  35. package/dist/narration.d.cts +196 -52
  36. package/dist/narration.d.ts +196 -52
  37. package/dist/narration.mjs +2 -2
  38. package/dist/pixi/browser.js +115 -115
  39. package/dist/sound.cjs +1 -1
  40. package/dist/sound.d.cts +313 -6
  41. package/dist/sound.d.ts +313 -6
  42. package/dist/sound.mjs +1 -1
  43. package/dist/storage.cjs +1 -1
  44. package/dist/storage.d.cts +50 -3
  45. package/dist/storage.d.ts +50 -3
  46. package/dist/storage.mjs +1 -1
  47. package/dist/vite.cjs +2 -2
  48. package/dist/vite.mjs +2 -2
  49. package/package.json +2 -1
  50. package/dist/SoundManagerInterface-Dd0b88_N.d.cts +0 -436
  51. package/dist/SoundManagerInterface-Dd0b88_N.d.ts +0 -436
  52. package/dist/chunk-GIYMPXBT.mjs +0 -1
  53. package/dist/chunk-IWAXXFXE.mjs +0 -1
package/dist/index.d.cts CHANGED
@@ -1,4 +1,3 @@
1
- import { S as SoundGameState, a as SoundManagerInterface } from './SoundManagerInterface-Dd0b88_N.cjs';
2
1
  import * as canvasUtils from '@drincs/pixi-vn/canvas';
3
2
  export * from '@drincs/pixi-vn/canvas';
4
3
  import * as characterUtils from '@drincs/pixi-vn/characters';
@@ -17,31 +16,21 @@ export * from '@drincs/pixi-vn/sound';
17
16
  import * as storageUtils from '@drincs/pixi-vn/storage';
18
17
  export * from '@drincs/pixi-vn/storage';
19
18
  export { C as CachedMap } from './CachedMap-DZLvJAnA.cjs';
20
- import { P as PauseType, R as RepeatType, e as CanvasGameState } from './ContainerMemory-D2HtgX7w.cjs';
21
- import { H as HistoryGameState } from './HistoryGameState-C28NcKKl.cjs';
22
- import { S as StorageGameState } from './StorageGameState-CtjNJpvE.cjs';
23
- import { O as OpenedLabel } from './OpenedLabel-BxfL31aQ.cjs';
19
+ import { e as CanvasGameState } from './ContainerMemory-BpDgacyr.cjs';
20
+ import { H as HistoryGameState } from './HistoryGameState-CGfvq5iL.cjs';
21
+ import { S as SoundGameState } from './SoundGameState-C_6ZsQX6.cjs';
22
+ import { S as StorageGameState } from './StorageGameState-C3PGrFPr.cjs';
23
+ import { O as OpenedLabel } from './OpenedLabel-Cmd675NI.cjs';
24
24
  import { Devtools } from '@pixi/devtools';
25
- import 'tone';
26
25
  import 'lru-cache';
27
26
  import '@drincs/pixi-vn';
28
- import './HistoryStep-G9dUn0Lf.cjs';
27
+ import './HistoryStep-WGB6nA4N.cjs';
29
28
  import 'microdiff';
29
+ import 'tone';
30
30
  import './StorageElementType-C7ETezlL.cjs';
31
31
 
32
- var version = "1.8.25";
32
+ var version = "1.9.0";
33
33
 
34
- /**
35
- * @deprecated
36
- */
37
- declare const Repeat: RepeatType;
38
- /**
39
- * Pause the tickers for a duration.
40
- * @param duration Duration in seconds
41
- * @returns The pause object
42
- * @deprecated
43
- */
44
- declare function Pause(duration: number): PauseType;
45
34
  /**
46
35
  * Is a special alias to indicate the game layer.
47
36
  */
@@ -218,15 +207,9 @@ declare namespace Game {
218
207
  function exportGameState(): GameState;
219
208
  /**
220
209
  * Load the save data
221
- * @param data The save data
210
+ * @param data The save data object to restore the game state from.
222
211
  */
223
212
  function restoreGameState(data: GameState): Promise<void>;
224
- /**
225
- * @deprecated Use `restoreGameState(data)` (without the `navigate` argument) and configure navigation via `Game.init({ navigate })` or `Game.onNavigate(...)`.
226
- * @param data The save data
227
- * @param navigate Navigation function to use for this restore call.
228
- */
229
- function restoreGameState(data: GameState, navigate: (path: string) => void | Promise<void>): Promise<void>;
230
213
  /**
231
214
  * Start the game with a label. This function will clear all the game data and start the narration from the specified label.
232
215
  * @param label The label to start the game with. It can be a string or a LabelAbstract instance. If it is a string, it will be used as the id of the label to start. If it is a LabelAbstract instance, it will be used directly. If the label is not found, an error will be thrown.
@@ -250,10 +233,6 @@ declare namespace Game {
250
233
  * ```
251
234
  */
252
235
  function onEnd(value: narrationUtils.StepLabelType): void;
253
- /**
254
- * @deprecated Game.onError is deprecated. Use Game.addOnError / Game.removeOnError to register multiple handlers.
255
- */
256
- function onError(handler: (type: "step", error: any, props: narrationUtils.StepLabelPropsType) => void | Promise<void>): () => void;
257
236
  /**
258
237
  * Register an error handler. Multiple handlers can be registered; they
259
238
  * will be executed in registration order.
@@ -346,6 +325,27 @@ declare namespace Game {
346
325
  closeCurrentLabel?: boolean;
347
326
  type: string;
348
327
  }, defaultStart: () => Promise<narrationUtils.StepLabelResultType>) => narrationUtils.StepLabelResultType | Promise<narrationUtils.StepLabelResultType>): void;
328
+ /**
329
+ * Is a function that will be executed every time the current label is about to close because it
330
+ * naturally ran out of steps and control is returning to the label that called it.
331
+ *
332
+ * By default (when this is not set), the label closes immediately, exactly like before this hook
333
+ * existed. If you set it, you take control: call `defaultClose()` yourself whenever you actually
334
+ * want the label to close — right away, or later (e.g. on a subsequent player action in your
335
+ * template). Until `defaultClose()` is called, the label stays open and narration does not
336
+ * continue into the parent label.
337
+ *
338
+ * This does not fire for a `jump` or a choice's `closeCurrentLabel` option - those close the
339
+ * current label as part of starting a new one, so {@link onLabelStarting} already covers
340
+ * deferring them.
341
+ * @example
342
+ * ```ts
343
+ * Game.onLabelClosing((labelId, props, defaultClose) => {
344
+ * pendingLabelClose = defaultClose; // keep it for later, don't run it now
345
+ * })
346
+ * ```
347
+ */
348
+ function onLabelClosing(value: (labelId: narrationUtils.LabelIdType, props: narrationUtils.StepLabelPropsType, defaultClose: () => Promise<narrationUtils.StepLabelResultType>) => narrationUtils.StepLabelResultType | Promise<narrationUtils.StepLabelResultType>): void;
349
349
  /**
350
350
  * Function to be executed when navigation is requested.
351
351
  * @example
@@ -368,7 +368,7 @@ declare namespace Game {
368
368
  declare const _default: {
369
369
  canvas: canvasUtils.CanvasManagerInterface;
370
370
  narration: narrationUtils.NarrationManagerInterface;
371
- sound: SoundManagerInterface;
371
+ sound: soundUtils.SoundManagerInterface;
372
372
  storage: storageUtils.StorageManagerInterface;
373
373
  history: historyUtils.HistoryManagerInterface;
374
374
  Game: typeof Game;
@@ -379,9 +379,7 @@ declare const _default: {
379
379
  narrationUtils: typeof narrationUtils;
380
380
  soundUtils: typeof soundUtils;
381
381
  CANVAS_APP_GAME_LAYER_ALIAS: string;
382
- Pause: typeof Pause;
383
- Repeat: "repeat";
384
382
  PIXIVN_VERSION: string;
385
383
  };
386
384
 
387
- export { CANVAS_APP_GAME_LAYER_ALIAS, Game, type GameState, type GameStepStateData, version as PIXIVN_VERSION, Pause, Repeat, SYSTEM_RESERVED_STORAGE_KEYS, createExportableElement, _default as default };
385
+ export { CANVAS_APP_GAME_LAYER_ALIAS, Game, type GameState, type GameStepStateData, version as PIXIVN_VERSION, SYSTEM_RESERVED_STORAGE_KEYS, createExportableElement, _default as default };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import { S as SoundGameState, a as SoundManagerInterface } from './SoundManagerInterface-Dd0b88_N.js';
2
1
  import * as canvasUtils from '@drincs/pixi-vn/canvas';
3
2
  export * from '@drincs/pixi-vn/canvas';
4
3
  import * as characterUtils from '@drincs/pixi-vn/characters';
@@ -17,31 +16,21 @@ export * from '@drincs/pixi-vn/sound';
17
16
  import * as storageUtils from '@drincs/pixi-vn/storage';
18
17
  export * from '@drincs/pixi-vn/storage';
19
18
  export { C as CachedMap } from './CachedMap-DZLvJAnA.js';
20
- import { P as PauseType, R as RepeatType, e as CanvasGameState } from './ContainerMemory-D2HtgX7w.js';
21
- import { H as HistoryGameState } from './HistoryGameState-CmjUtlkV.js';
22
- import { S as StorageGameState } from './StorageGameState-BJy57o6K.js';
23
- import { O as OpenedLabel } from './OpenedLabel-DLfFuZgk.js';
19
+ import { e as CanvasGameState } from './ContainerMemory-BpDgacyr.js';
20
+ import { H as HistoryGameState } from './HistoryGameState-C8ATx9K6.js';
21
+ import { S as SoundGameState } from './SoundGameState-C_6ZsQX6.js';
22
+ import { S as StorageGameState } from './StorageGameState-jAexrJLj.js';
23
+ import { O as OpenedLabel } from './OpenedLabel-CmRdzTXP.js';
24
24
  import { Devtools } from '@pixi/devtools';
25
- import 'tone';
26
25
  import 'lru-cache';
27
26
  import '@drincs/pixi-vn';
28
- import './HistoryStep-G9dUn0Lf.js';
27
+ import './HistoryStep-WGB6nA4N.js';
29
28
  import 'microdiff';
29
+ import 'tone';
30
30
  import './StorageElementType-C7ETezlL.js';
31
31
 
32
- var version = "1.8.25";
32
+ var version = "1.9.0";
33
33
 
34
- /**
35
- * @deprecated
36
- */
37
- declare const Repeat: RepeatType;
38
- /**
39
- * Pause the tickers for a duration.
40
- * @param duration Duration in seconds
41
- * @returns The pause object
42
- * @deprecated
43
- */
44
- declare function Pause(duration: number): PauseType;
45
34
  /**
46
35
  * Is a special alias to indicate the game layer.
47
36
  */
@@ -218,15 +207,9 @@ declare namespace Game {
218
207
  function exportGameState(): GameState;
219
208
  /**
220
209
  * Load the save data
221
- * @param data The save data
210
+ * @param data The save data object to restore the game state from.
222
211
  */
223
212
  function restoreGameState(data: GameState): Promise<void>;
224
- /**
225
- * @deprecated Use `restoreGameState(data)` (without the `navigate` argument) and configure navigation via `Game.init({ navigate })` or `Game.onNavigate(...)`.
226
- * @param data The save data
227
- * @param navigate Navigation function to use for this restore call.
228
- */
229
- function restoreGameState(data: GameState, navigate: (path: string) => void | Promise<void>): Promise<void>;
230
213
  /**
231
214
  * Start the game with a label. This function will clear all the game data and start the narration from the specified label.
232
215
  * @param label The label to start the game with. It can be a string or a LabelAbstract instance. If it is a string, it will be used as the id of the label to start. If it is a LabelAbstract instance, it will be used directly. If the label is not found, an error will be thrown.
@@ -250,10 +233,6 @@ declare namespace Game {
250
233
  * ```
251
234
  */
252
235
  function onEnd(value: narrationUtils.StepLabelType): void;
253
- /**
254
- * @deprecated Game.onError is deprecated. Use Game.addOnError / Game.removeOnError to register multiple handlers.
255
- */
256
- function onError(handler: (type: "step", error: any, props: narrationUtils.StepLabelPropsType) => void | Promise<void>): () => void;
257
236
  /**
258
237
  * Register an error handler. Multiple handlers can be registered; they
259
238
  * will be executed in registration order.
@@ -346,6 +325,27 @@ declare namespace Game {
346
325
  closeCurrentLabel?: boolean;
347
326
  type: string;
348
327
  }, defaultStart: () => Promise<narrationUtils.StepLabelResultType>) => narrationUtils.StepLabelResultType | Promise<narrationUtils.StepLabelResultType>): void;
328
+ /**
329
+ * Is a function that will be executed every time the current label is about to close because it
330
+ * naturally ran out of steps and control is returning to the label that called it.
331
+ *
332
+ * By default (when this is not set), the label closes immediately, exactly like before this hook
333
+ * existed. If you set it, you take control: call `defaultClose()` yourself whenever you actually
334
+ * want the label to close — right away, or later (e.g. on a subsequent player action in your
335
+ * template). Until `defaultClose()` is called, the label stays open and narration does not
336
+ * continue into the parent label.
337
+ *
338
+ * This does not fire for a `jump` or a choice's `closeCurrentLabel` option - those close the
339
+ * current label as part of starting a new one, so {@link onLabelStarting} already covers
340
+ * deferring them.
341
+ * @example
342
+ * ```ts
343
+ * Game.onLabelClosing((labelId, props, defaultClose) => {
344
+ * pendingLabelClose = defaultClose; // keep it for later, don't run it now
345
+ * })
346
+ * ```
347
+ */
348
+ function onLabelClosing(value: (labelId: narrationUtils.LabelIdType, props: narrationUtils.StepLabelPropsType, defaultClose: () => Promise<narrationUtils.StepLabelResultType>) => narrationUtils.StepLabelResultType | Promise<narrationUtils.StepLabelResultType>): void;
349
349
  /**
350
350
  * Function to be executed when navigation is requested.
351
351
  * @example
@@ -368,7 +368,7 @@ declare namespace Game {
368
368
  declare const _default: {
369
369
  canvas: canvasUtils.CanvasManagerInterface;
370
370
  narration: narrationUtils.NarrationManagerInterface;
371
- sound: SoundManagerInterface;
371
+ sound: soundUtils.SoundManagerInterface;
372
372
  storage: storageUtils.StorageManagerInterface;
373
373
  history: historyUtils.HistoryManagerInterface;
374
374
  Game: typeof Game;
@@ -379,9 +379,7 @@ declare const _default: {
379
379
  narrationUtils: typeof narrationUtils;
380
380
  soundUtils: typeof soundUtils;
381
381
  CANVAS_APP_GAME_LAYER_ALIAS: string;
382
- Pause: typeof Pause;
383
- Repeat: "repeat";
384
382
  PIXIVN_VERSION: string;
385
383
  };
386
384
 
387
- export { CANVAS_APP_GAME_LAYER_ALIAS, Game, type GameState, type GameStepStateData, version as PIXIVN_VERSION, Pause, Repeat, SYSTEM_RESERVED_STORAGE_KEYS, createExportableElement, _default as default };
385
+ export { CANVAS_APP_GAME_LAYER_ALIAS, Game, type GameState, type GameStepStateData, version as PIXIVN_VERSION, SYSTEM_RESERVED_STORAGE_KEYS, createExportableElement, _default as default };
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import {f as f$1,b as b$1,g,e,d,h,i}from'./chunk-K7JIC2F2.mjs';import*as at from'@drincs/pixi-vn/canvas';export*from'@drincs/pixi-vn/canvas';import*as $t from'@drincs/pixi-vn/characters';export*from'@drincs/pixi-vn/characters';import {PixiError,GameUnifier}from'@drincs/pixi-vn/core';export*from'@drincs/pixi-vn/core';import*as it from'@drincs/pixi-vn/history';export*from'@drincs/pixi-vn/history';import*as R from'@drincs/pixi-vn/narration';export*from'@drincs/pixi-vn/narration';import*as ut from'@drincs/pixi-vn/sound';export*from'@drincs/pixi-vn/sound';import*as G from'@drincs/pixi-vn/storage';export*from'@drincs/pixi-vn/storage';import {motion}from'@drincs/pixi-vn/motion';var de=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,Qt=new Set,jt=typeof process=="object"&&process?process:{},Zt=(g,e,i,s)=>{typeof jt.emitWarning=="function"?jt.emitWarning(g,e,i,s):console.error(`[${i}] ${e}: ${g}`);},Pt=globalThis.AbortController,Bt=globalThis.AbortSignal;if(typeof Pt>"u"){Bt=class{onabort;_onabort=[];reason;aborted=false;addEventListener(i,s){this._onabort.push(s);}},Pt=class{constructor(){e();}signal=new Bt;abort(i){if(!this.signal.aborted){this.signal.reason=i,this.signal.aborted=true;for(let s of this.signal._onabort)s(i);this.signal.onabort?.(i);}}};let g=jt.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",e=()=>{g&&(g=false,Zt("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",e));};}var pe=g=>!Qt.has(g);var lt=g=>g&&g===Math.floor(g)&&g>0&&isFinite(g),te=g=>lt(g)?g<=Math.pow(2,8)?Uint8Array:g<=Math.pow(2,16)?Uint16Array:g<=Math.pow(2,32)?Uint32Array:g<=Number.MAX_SAFE_INTEGER?Lt:null:null,Lt=class extends Array{constructor(g){super(g),this.fill(0);}},st,St,ue=(st=class{heap;length;static create(e){let i=te(e);if(!i)return [];g(st,St,true);let s=new st(e,i);return g(st,St,false),s}constructor(e$1,i){if(!e(st,St))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new i(e$1),this.length=0;}push(e){this.heap[this.length++]=e;}pop(){return this.heap[--this.length]}},St=new WeakMap,f$1(st,St,false),st),Xt,Jt,k,z,$,ft,B,yt,xt,X,U,J,O,b,f,j,V,F,D,Q,C,Z,tt,W,Y,et,pt,I,Et,a,It,mt,nt,Tt,H,ie,gt,bt,Ot,ht,ct,Gt,Dt,Ct,E,Mt,At,dt,zt,wt,ee=(wt=class{constructor(e$1){f$1(this,a);f$1(this,k);f$1(this,z);f$1(this,$);f$1(this,ft);f$1(this,B);f$1(this,yt);f$1(this,xt);f$1(this,X);d(this,"ttl");d(this,"ttlResolution");d(this,"ttlAutopurge");d(this,"updateAgeOnGet");d(this,"updateAgeOnHas");d(this,"allowStale");d(this,"noDisposeOnSet");d(this,"noUpdateTTL");d(this,"maxEntrySize");d(this,"sizeCalculation");d(this,"noDeleteOnFetchRejection");d(this,"noDeleteOnStaleGet");d(this,"allowStaleOnFetchAbort");d(this,"allowStaleOnFetchRejection");d(this,"ignoreFetchAbort");f$1(this,U);f$1(this,J);f$1(this,O);f$1(this,b);f$1(this,f);f$1(this,j);f$1(this,V);f$1(this,F);f$1(this,D);f$1(this,Q);f$1(this,C);f$1(this,Z);f$1(this,tt);f$1(this,W);f$1(this,Y);f$1(this,et);f$1(this,pt);f$1(this,I);f$1(this,Et);f$1(this,mt,()=>{});f$1(this,nt,()=>{});f$1(this,Tt,()=>{});f$1(this,H,()=>false);f$1(this,gt,e=>{});f$1(this,bt,(e,i,s)=>{});f$1(this,Ot,(e,i,s,r)=>{if(s||r)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});d(this,Xt,"LRUCache");let{max:i=0,ttl:s,ttlResolution:r=1,ttlAutopurge:n,updateAgeOnGet:o,updateAgeOnHas:l,allowStale:c,dispose:v,onInsert:L,disposeAfter:S,noDisposeOnSet:ot,noUpdateTTL:M,maxSize:q=0,maxEntrySize:w=0,sizeCalculation:y,fetchMethod:m,memoMethod:p,noDeleteOnFetchRejection:x,noDeleteOnStaleGet:T,allowStaleOnFetchRejection:d$1,allowStaleOnFetchAbort:A,ignoreFetchAbort:N,perf:K}=e$1;if(K!==void 0&&typeof K?.now!="function")throw new TypeError("perf option must have a now() method if specified");if(g(this,X,K??de),i!==0&&!lt(i))throw new TypeError("max option must be a nonnegative integer");let vt=i?te(i):Array;if(!vt)throw new Error("invalid max value: "+i);if(g(this,k,i),g(this,z,q),this.maxEntrySize=w||e(this,z),this.sizeCalculation=y,this.sizeCalculation){if(!e(this,z)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(p!==void 0&&typeof p!="function")throw new TypeError("memoMethod must be a function if defined");if(g(this,xt,p),m!==void 0&&typeof m!="function")throw new TypeError("fetchMethod must be a function if specified");if(g(this,yt,m),g(this,pt,!!m),g(this,O,new Map),g(this,b,new Array(i).fill(void 0)),g(this,f,new Array(i).fill(void 0)),g(this,j,new vt(i)),g(this,V,new vt(i)),g(this,F,0),g(this,D,0),g(this,Q,ue.create(i)),g(this,U,0),g(this,J,0),typeof v=="function"&&g(this,$,v),typeof L=="function"&&g(this,ft,L),typeof S=="function"?(g(this,B,S),g(this,C,[])):(g(this,B,void 0),g(this,C,void 0)),g(this,et,!!e(this,$)),g(this,Et,!!e(this,ft)),g(this,I,!!e(this,B)),this.noDisposeOnSet=!!ot,this.noUpdateTTL=!!M,this.noDeleteOnFetchRejection=!!x,this.allowStaleOnFetchRejection=!!d$1,this.allowStaleOnFetchAbort=!!A,this.ignoreFetchAbort=!!N,this.maxEntrySize!==0){if(e(this,z)!==0&&!lt(e(this,z)))throw new TypeError("maxSize must be a positive integer if specified");if(!lt(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");h(this,a,ie).call(this);}if(this.allowStale=!!c,this.noDeleteOnStaleGet=!!T,this.updateAgeOnGet=!!o,this.updateAgeOnHas=!!l,this.ttlResolution=lt(r)||r===0?r:1,this.ttlAutopurge=!!n,this.ttl=s||0,this.ttl){if(!lt(this.ttl))throw new TypeError("ttl must be a positive integer if specified");h(this,a,It).call(this);}if(e(this,k)===0&&this.ttl===0&&e(this,z)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!e(this,k)&&!e(this,z)){let Ft="LRU_CACHE_UNBOUNDED";pe(Ft)&&(Qt.add(Ft),Zt("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",Ft,wt));}}get perf(){return e(this,X)}static unsafeExposeInternals(e$1){return {starts:e(e$1,tt),ttls:e(e$1,W),autopurgeTimers:e(e$1,Y),sizes:e(e$1,Z),keyMap:e(e$1,O),keyList:e(e$1,b),valList:e(e$1,f),next:e(e$1,j),prev:e(e$1,V),get head(){return e(e$1,F)},get tail(){return e(e$1,D)},free:e(e$1,Q),isBackgroundFetch:i=>{var s;return h(s=e$1,a,E).call(s,i)},backgroundFetch:(i,s,r,n)=>{var o;return h(o=e$1,a,Ct).call(o,i,s,r,n)},moveToTail:i=>{var s;return h(s=e$1,a,At).call(s,i)},indexes:i=>{var s;return h(s=e$1,a,ht).call(s,i)},rindexes:i=>{var s;return h(s=e$1,a,ct).call(s,i)},isStale:i=>{var s;return e(s=e$1,H).call(s,i)}}}get max(){return e(this,k)}get maxSize(){return e(this,z)}get calculatedSize(){return e(this,J)}get size(){return e(this,U)}get fetchMethod(){return e(this,yt)}get memoMethod(){return e(this,xt)}get dispose(){return e(this,$)}get onInsert(){return e(this,ft)}get disposeAfter(){return e(this,B)}getRemainingTTL(e$1){return e(this,O).has(e$1)?1/0:0}*entries(){for(let e$1 of h(this,a,ht).call(this))e(this,f)[e$1]!==void 0&&e(this,b)[e$1]!==void 0&&!h(this,a,E).call(this,e(this,f)[e$1])&&(yield [e(this,b)[e$1],e(this,f)[e$1]]);}*rentries(){for(let e$1 of h(this,a,ct).call(this))e(this,f)[e$1]!==void 0&&e(this,b)[e$1]!==void 0&&!h(this,a,E).call(this,e(this,f)[e$1])&&(yield [e(this,b)[e$1],e(this,f)[e$1]]);}*keys(){for(let e$1 of h(this,a,ht).call(this)){let i=e(this,b)[e$1];i!==void 0&&!h(this,a,E).call(this,e(this,f)[e$1])&&(yield i);}}*rkeys(){for(let e$1 of h(this,a,ct).call(this)){let i=e(this,b)[e$1];i!==void 0&&!h(this,a,E).call(this,e(this,f)[e$1])&&(yield i);}}*values(){for(let e$1 of h(this,a,ht).call(this))e(this,f)[e$1]!==void 0&&!h(this,a,E).call(this,e(this,f)[e$1])&&(yield e(this,f)[e$1]);}*rvalues(){for(let e$1 of h(this,a,ct).call(this))e(this,f)[e$1]!==void 0&&!h(this,a,E).call(this,e(this,f)[e$1])&&(yield e(this,f)[e$1]);}[(Jt=Symbol.iterator,Xt=Symbol.toStringTag,Jt)](){return this.entries()}find(e$1,i={}){for(let s of h(this,a,ht).call(this)){let r=e(this,f)[s],n=h(this,a,E).call(this,r)?r.__staleWhileFetching:r;if(n!==void 0&&e$1(n,e(this,b)[s],this))return this.get(e(this,b)[s],i)}}forEach(e$1,i=this){for(let s of h(this,a,ht).call(this)){let r=e(this,f)[s],n=h(this,a,E).call(this,r)?r.__staleWhileFetching:r;n!==void 0&&e$1.call(i,n,e(this,b)[s],this);}}rforEach(e$1,i=this){for(let s of h(this,a,ct).call(this)){let r=e(this,f)[s],n=h(this,a,E).call(this,r)?r.__staleWhileFetching:r;n!==void 0&&e$1.call(i,n,e(this,b)[s],this);}}purgeStale(){let e$1=false;for(let i of h(this,a,ct).call(this,{allowStale:true}))e(this,H).call(this,i)&&(h(this,a,dt).call(this,e(this,b)[i],"expire"),e$1=true);return e$1}info(e$1){let i=e(this,O).get(e$1);if(i===void 0)return;let s=e(this,f)[i],r=h(this,a,E).call(this,s)?s.__staleWhileFetching:s;if(r===void 0)return;let n={value:r};if(e(this,W)&&e(this,tt)){let o=e(this,W)[i],l=e(this,tt)[i];if(o&&l){let c=o-(e(this,X).now()-l);n.ttl=c,n.start=Date.now();}}return e(this,Z)&&(n.size=e(this,Z)[i]),n}dump(){let e$1=[];for(let i of h(this,a,ht).call(this,{allowStale:true})){let s=e(this,b)[i],r=e(this,f)[i],n=h(this,a,E).call(this,r)?r.__staleWhileFetching:r;if(n===void 0||s===void 0)continue;let o={value:n};if(e(this,W)&&e(this,tt)){o.ttl=e(this,W)[i];let l=e(this,X).now()-e(this,tt)[i];o.start=Math.floor(Date.now()-l);}e(this,Z)&&(o.size=e(this,Z)[i]),e$1.unshift([s,o]);}return e$1}load(e$1){this.clear();for(let[i,s]of e$1){if(s.start){let r=Date.now()-s.start;s.start=e(this,X).now()-r;}this.set(i,s.value,s);}}set(e$1,i$1,s={}){var ot,M,q,w;if(i$1===void 0)return this.delete(e$1),this;let{ttl:r=this.ttl,start:n,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:l=this.sizeCalculation,status:c}=s,{noUpdateTTL:v=this.noUpdateTTL}=s,L=e(this,Ot).call(this,e$1,i$1,s.size||0,l);if(this.maxEntrySize&&L>this.maxEntrySize)return c&&(c.set="miss",c.maxEntrySizeExceeded=true),h(this,a,dt).call(this,e$1,"set"),this;let S=e(this,U)===0?void 0:e(this,O).get(e$1);if(S===void 0)S=e(this,U)===0?e(this,D):e(this,Q).length!==0?e(this,Q).pop():e(this,U)===e(this,k)?h(this,a,Dt).call(this,false):e(this,U),e(this,b)[S]=e$1,e(this,f)[S]=i$1,e(this,O).set(e$1,S),e(this,j)[e(this,D)]=S,e(this,V)[S]=e(this,D),g(this,D,S),i(this,U)._++,e(this,bt).call(this,S,L,c),c&&(c.set="add"),v=false,e(this,Et)&&((ot=e(this,ft))==null||ot.call(this,i$1,e$1,"add"));else {h(this,a,At).call(this,S);let y=e(this,f)[S];if(i$1!==y){if(e(this,pt)&&h(this,a,E).call(this,y)){y.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:m}=y;m!==void 0&&!o&&(e(this,et)&&((M=e(this,$))==null||M.call(this,m,e$1,"set")),e(this,I)&&e(this,C)?.push([m,e$1,"set"]));}else o||(e(this,et)&&((q=e(this,$))==null||q.call(this,y,e$1,"set")),e(this,I)&&e(this,C)?.push([y,e$1,"set"]));if(e(this,gt).call(this,S),e(this,bt).call(this,S,L,c),e(this,f)[S]=i$1,c){c.set="replace";let m=y&&h(this,a,E).call(this,y)?y.__staleWhileFetching:y;m!==void 0&&(c.oldValue=m);}}else c&&(c.set="update");e(this,Et)&&this.onInsert?.(i$1,e$1,i$1===y?"update":"replace");}if(r!==0&&!e(this,W)&&h(this,a,It).call(this),e(this,W)&&(v||e(this,Tt).call(this,S,r,n),c&&e(this,nt).call(this,c,S)),!o&&e(this,I)&&e(this,C)){let y=e(this,C),m;for(;m=y?.shift();)(w=e(this,B))==null||w.call(this,...m);}return this}pop(){var e$1;try{for(;e(this,U);){let i=e(this,f)[e(this,F)];if(h(this,a,Dt).call(this,!0),h(this,a,E).call(this,i)){if(i.__staleWhileFetching)return i.__staleWhileFetching}else if(i!==void 0)return i}}finally{if(e(this,I)&&e(this,C)){let i=e(this,C),s;for(;s=i?.shift();)(e$1=e(this,B))==null||e$1.call(this,...s);}}}has(e$1,i={}){let{updateAgeOnHas:s=this.updateAgeOnHas,status:r}=i,n=e(this,O).get(e$1);if(n!==void 0){let o=e(this,f)[n];if(h(this,a,E).call(this,o)&&o.__staleWhileFetching===void 0)return false;if(e(this,H).call(this,n))r&&(r.has="stale",e(this,nt).call(this,r,n));else return s&&e(this,mt).call(this,n),r&&(r.has="hit",e(this,nt).call(this,r,n)),true}else r&&(r.has="miss");return false}peek(e$1,i={}){let{allowStale:s=this.allowStale}=i,r=e(this,O).get(e$1);if(r===void 0||!s&&e(this,H).call(this,r))return;let n=e(this,f)[r];return h(this,a,E).call(this,n)?n.__staleWhileFetching:n}async fetch(e$1,i={}){let{allowStale:s=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:n=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:l=this.noDisposeOnSet,size:c=0,sizeCalculation:v=this.sizeCalculation,noUpdateTTL:L=this.noUpdateTTL,noDeleteOnFetchRejection:S=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:ot=this.allowStaleOnFetchRejection,ignoreFetchAbort:M=this.ignoreFetchAbort,allowStaleOnFetchAbort:q=this.allowStaleOnFetchAbort,context:w,forceRefresh:y=false,status:m,signal:p}=i;if(!e(this,pt))return m&&(m.fetch="get"),this.get(e$1,{allowStale:s,updateAgeOnGet:r,noDeleteOnStaleGet:n,status:m});let x={allowStale:s,updateAgeOnGet:r,noDeleteOnStaleGet:n,ttl:o,noDisposeOnSet:l,size:c,sizeCalculation:v,noUpdateTTL:L,noDeleteOnFetchRejection:S,allowStaleOnFetchRejection:ot,allowStaleOnFetchAbort:q,ignoreFetchAbort:M,status:m,signal:p},T=e(this,O).get(e$1);if(T===void 0){m&&(m.fetch="miss");let d=h(this,a,Ct).call(this,e$1,T,x,w);return d.__returned=d}else {let d=e(this,f)[T];if(h(this,a,E).call(this,d)){let vt=s&&d.__staleWhileFetching!==void 0;return m&&(m.fetch="inflight",vt&&(m.returnedStale=true)),vt?d.__staleWhileFetching:d.__returned=d}let A=e(this,H).call(this,T);if(!y&&!A)return m&&(m.fetch="hit"),h(this,a,At).call(this,T),r&&e(this,mt).call(this,T),m&&e(this,nt).call(this,m,T),d;let N=h(this,a,Ct).call(this,e$1,T,x,w),K=N.__staleWhileFetching!==void 0&&s;return m&&(m.fetch=A?"stale":"refresh",K&&A&&(m.returnedStale=true)),K?N.__staleWhileFetching:N.__returned=N}}async forceFetch(e,i={}){let s=await this.fetch(e,i);if(s===void 0)throw new Error("fetch() returned undefined");return s}memo(e$1,i={}){let s=e(this,xt);if(!s)throw new Error("no memoMethod provided to constructor");let{context:r,forceRefresh:n,...o}=i,l=this.get(e$1,o);if(!n&&l!==void 0)return l;let c=s(e$1,l,{options:o,context:r});return this.set(e$1,c,o),c}get(e$1,i={}){let{allowStale:s=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:n=this.noDeleteOnStaleGet,status:o}=i,l=e(this,O).get(e$1);if(l!==void 0){let c=e(this,f)[l],v=h(this,a,E).call(this,c);return o&&e(this,nt).call(this,o,l),e(this,H).call(this,l)?(o&&(o.get="stale"),v?(o&&s&&c.__staleWhileFetching!==void 0&&(o.returnedStale=true),s?c.__staleWhileFetching:void 0):(n||h(this,a,dt).call(this,e$1,"expire"),o&&s&&(o.returnedStale=true),s?c:void 0)):(o&&(o.get="hit"),v?c.__staleWhileFetching:(h(this,a,At).call(this,l),r&&e(this,mt).call(this,l),c))}else o&&(o.get="miss");}delete(e){return h(this,a,dt).call(this,e,"delete")}clear(){return h(this,a,zt).call(this,"delete")}},k=new WeakMap,z=new WeakMap,$=new WeakMap,ft=new WeakMap,B=new WeakMap,yt=new WeakMap,xt=new WeakMap,X=new WeakMap,U=new WeakMap,J=new WeakMap,O=new WeakMap,b=new WeakMap,f=new WeakMap,j=new WeakMap,V=new WeakMap,F=new WeakMap,D=new WeakMap,Q=new WeakMap,C=new WeakMap,Z=new WeakMap,tt=new WeakMap,W=new WeakMap,Y=new WeakMap,et=new WeakMap,pt=new WeakMap,I=new WeakMap,Et=new WeakMap,a=new WeakSet,It=function(){let e$1=new Lt(e(this,k)),i=new Lt(e(this,k));g(this,W,e$1),g(this,tt,i);let s=this.ttlAutopurge?new Array(e(this,k)):void 0;g(this,Y,s),g(this,Tt,(l,c,v=e(this,X).now())=>{i[l]=c!==0?v:0,e$1[l]=c,r(l,c);}),g(this,mt,l=>{i[l]=e$1[l]!==0?e(this,X).now():0,r(l,e$1[l]);});let r=this.ttlAutopurge?(l,c)=>{if(s?.[l]&&(clearTimeout(s[l]),s[l]=void 0),c&&c!==0&&s){let v=setTimeout(()=>{e(this,H).call(this,l)&&h(this,a,dt).call(this,e(this,b)[l],"expire");},c+1);v.unref&&v.unref(),s[l]=v;}}:()=>{};g(this,nt,(l,c)=>{if(e$1[c]){let v=e$1[c],L=i[c];if(!v||!L)return;l.ttl=v,l.start=L,l.now=n||o();let S=l.now-L;l.remainingTTL=v-S;}});let n=0,o=()=>{let l=e(this,X).now();if(this.ttlResolution>0){n=l;let c=setTimeout(()=>n=0,this.ttlResolution);c.unref&&c.unref();}return l};this.getRemainingTTL=l=>{let c=e(this,O).get(l);if(c===void 0)return 0;let v=e$1[c],L=i[c];if(!v||!L)return 1/0;let S=(n||o())-L;return v-S},g(this,H,l=>{let c=i[l],v=e$1[l];return !!v&&!!c&&(n||o())-c>v});},mt=new WeakMap,nt=new WeakMap,Tt=new WeakMap,H=new WeakMap,ie=function(){let e$1=new Lt(e(this,k));g(this,J,0),g(this,Z,e$1),g(this,gt,i=>{g(this,J,e(this,J)-e$1[i]),e$1[i]=0;}),g(this,Ot,(i,s,r,n)=>{if(h(this,a,E).call(this,s))return 0;if(!lt(r))if(n){if(typeof n!="function")throw new TypeError("sizeCalculation must be a function");if(r=n(s,i),!lt(r))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return r}),g(this,bt,(i,s,r)=>{if(e$1[i]=s,e(this,z)){let n=e(this,z)-e$1[i];for(;e(this,J)>n;)h(this,a,Dt).call(this,true);}g(this,J,e(this,J)+e$1[i]),r&&(r.entrySize=s,r.totalCalculatedSize=e(this,J));});},gt=new WeakMap,bt=new WeakMap,Ot=new WeakMap,ht=function*({allowStale:e$1=this.allowStale}={}){if(e(this,U))for(let i=e(this,D);!(!h(this,a,Gt).call(this,i)||((e$1||!e(this,H).call(this,i))&&(yield i),i===e(this,F)));)i=e(this,V)[i];},ct=function*({allowStale:e$1=this.allowStale}={}){if(e(this,U))for(let i=e(this,F);!(!h(this,a,Gt).call(this,i)||((e$1||!e(this,H).call(this,i))&&(yield i),i===e(this,D)));)i=e(this,j)[i];},Gt=function(e$1){return e$1!==void 0&&e(this,O).get(e(this,b)[e$1])===e$1},Dt=function(e$1){var n;let i$1=e(this,F),s=e(this,b)[i$1],r=e(this,f)[i$1];return e(this,pt)&&h(this,a,E).call(this,r)?r.__abortController.abort(new Error("evicted")):(e(this,et)||e(this,I))&&(e(this,et)&&((n=e(this,$))==null||n.call(this,r,s,"evict")),e(this,I)&&e(this,C)?.push([r,s,"evict"])),e(this,gt).call(this,i$1),e(this,Y)?.[i$1]&&(clearTimeout(e(this,Y)[i$1]),e(this,Y)[i$1]=void 0),e$1&&(e(this,b)[i$1]=void 0,e(this,f)[i$1]=void 0,e(this,Q).push(i$1)),e(this,U)===1?(g(this,F,g(this,D,0)),e(this,Q).length=0):g(this,F,e(this,j)[i$1]),e(this,O).delete(s),i(this,U)._--,i$1},Ct=function(e$1,i,s,r){let n=i===void 0?void 0:e(this,f)[i];if(h(this,a,E).call(this,n))return n;let o=new Pt,{signal:l}=s;l?.addEventListener("abort",()=>o.abort(l.reason),{signal:o.signal});let c={signal:o.signal,options:s,context:r},v=(w,y=false)=>{let{aborted:m}=o.signal,p=s.ignoreFetchAbort&&w!==void 0,x=s.ignoreFetchAbort||!!(s.allowStaleOnFetchAbort&&w!==void 0);if(s.status&&(m&&!y?(s.status.fetchAborted=true,s.status.fetchError=o.signal.reason,p&&(s.status.fetchAbortIgnored=true)):s.status.fetchResolved=true),m&&!p&&!y)return S(o.signal.reason,x);let T=M,d=e(this,f)[i];return (d===M||p&&y&&d===void 0)&&(w===void 0?T.__staleWhileFetching!==void 0?e(this,f)[i]=T.__staleWhileFetching:h(this,a,dt).call(this,e$1,"fetch"):(s.status&&(s.status.fetchUpdated=true),this.set(e$1,w,c.options))),w},L=w=>(s.status&&(s.status.fetchRejected=true,s.status.fetchError=w),S(w,false)),S=(w,y)=>{let{aborted:m}=o.signal,p=m&&s.allowStaleOnFetchAbort,x=p||s.allowStaleOnFetchRejection,T=x||s.noDeleteOnFetchRejection,d=M;if(e(this,f)[i]===M&&(!T||!y&&d.__staleWhileFetching===void 0?h(this,a,dt).call(this,e$1,"fetch"):p||(e(this,f)[i]=d.__staleWhileFetching)),x)return s.status&&d.__staleWhileFetching!==void 0&&(s.status.returnedStale=true),d.__staleWhileFetching;if(d.__returned===d)throw w},ot=(w,y)=>{var p;let m=(p=e(this,yt))==null?void 0:p.call(this,e$1,n,c);m&&m instanceof Promise&&m.then(x=>w(x===void 0?void 0:x),y),o.signal.addEventListener("abort",()=>{(!s.ignoreFetchAbort||s.allowStaleOnFetchAbort)&&(w(void 0),s.allowStaleOnFetchAbort&&(w=x=>v(x,true)));});};s.status&&(s.status.fetchDispatched=true);let M=new Promise(ot).then(v,L),q=Object.assign(M,{__abortController:o,__staleWhileFetching:n,__returned:void 0});return i===void 0?(this.set(e$1,q,{...c.options,status:void 0}),i=e(this,O).get(e$1)):e(this,f)[i]=q,q},E=function(e$1){if(!e(this,pt))return false;let i=e$1;return !!i&&i instanceof Promise&&i.hasOwnProperty("__staleWhileFetching")&&i.__abortController instanceof Pt},Mt=function(e$1,i){e(this,V)[i]=e$1,e(this,j)[e$1]=i;},At=function(e$1){e$1!==e(this,D)&&(e$1===e(this,F)?g(this,F,e(this,j)[e$1]):h(this,a,Mt).call(this,e(this,V)[e$1],e(this,j)[e$1]),h(this,a,Mt).call(this,e(this,D),e$1),g(this,D,e$1));},dt=function(e$1,i$1){var r,n;let s=false;if(e(this,U)!==0){let o=e(this,O).get(e$1);if(o!==void 0)if(e(this,Y)?.[o]&&(clearTimeout(e(this,Y)?.[o]),e(this,Y)[o]=void 0),s=true,e(this,U)===1)h(this,a,zt).call(this,i$1);else {e(this,gt).call(this,o);let l=e(this,f)[o];if(h(this,a,E).call(this,l)?l.__abortController.abort(new Error("deleted")):(e(this,et)||e(this,I))&&(e(this,et)&&((r=e(this,$))==null||r.call(this,l,e$1,i$1)),e(this,I)&&e(this,C)?.push([l,e$1,i$1])),e(this,O).delete(e$1),e(this,b)[o]=void 0,e(this,f)[o]=void 0,o===e(this,D))g(this,D,e(this,V)[o]);else if(o===e(this,F))g(this,F,e(this,j)[o]);else {let c=e(this,V)[o];e(this,j)[c]=e(this,j)[o];let v=e(this,j)[o];e(this,V)[v]=e(this,V)[o];}i(this,U)._--,e(this,Q).push(o);}}if(e(this,I)&&e(this,C)?.length){let o=e(this,C),l;for(;l=o?.shift();)(n=e(this,B))==null||n.call(this,...l);}return s},zt=function(e$1){var i,s;for(let r of h(this,a,ct).call(this,{allowStale:true})){let n=e(this,f)[r];if(h(this,a,E).call(this,n))n.__abortController.abort(new Error("deleted"));else {let o=e(this,b)[r];e(this,et)&&((i=e(this,$))==null||i.call(this,n,o,e$1)),e(this,I)&&e(this,C)?.push([n,o,e$1]);}}if(e(this,O).clear(),e(this,f).fill(void 0),e(this,b).fill(void 0),e(this,W)&&e(this,tt)){e(this,W).fill(0),e(this,tt).fill(0);for(let r of e(this,Y)??[])r!==void 0&&clearTimeout(r);e(this,Y)?.fill(void 0);}if(e(this,Z)&&e(this,Z).fill(0),g(this,F,0),g(this,D,0),e(this,Q).length=0,g(this,J,0),g(this,U,0),e(this,I)&&e(this,C)){let r=e(this,C),n;for(;n=r?.shift();)(s=e(this,B))==null||s.call(this,...n);}},wt);var Nt=class{cache;map=new Map;constructor(e){this.cache=new ee({max:e.cacheSize}),this.map=new Map;}get[Symbol.iterator](){return this.map[Symbol.iterator]}get[Symbol.toStringTag](){return this.map[Symbol.toStringTag]}clear(){this.cache.clear(),this.map.clear();}delete(e){let i=this.map.delete(e);return i&&this.cache.delete(e),i}get forEach(){return this.map.forEach}get(e){let i=this.cache.get(e);return i||this.map.get(e)}has(e){return this.map.has(e)}set(e,i){return this.map.set(e,i),this.cache.set(e,i),this}get size(){return this.map.size}entries(){return this.map.entries()}keys(){return this.map.keys()}values(){return this.map.values()}};var Ut="1.8.25";var Vt={version:Ut};var Wt="repeat";function Yt(g){return {type:"pause",duration:g}}var Ht="__game_layer__";var fe={CURRENT_DIALOGUE_MEMORY_KEY:"dialogue",LAST_DIALOGUE_ADDED_IN_STEP_MEMORY_KEY:"dialogue:step_counter",CURRENT_MENU_OPTIONS_MEMORY_KEY:"choice:options",LAST_MENU_OPTIONS_ADDED_IN_STEP_MEMORY_KEY:"choice:step_counter",CURRENT_INPUT_VALUE_MEMORY_KEY:"input:value",LAST_INPUT_ADDED_IN_STEP_MEMORY_KEY:"input:step_counter",CURRENT_INPUT_INFO_MEMORY_KEY:"input:info",CHARACTER_CATEGORY_KEY:"character",ADD_NEXT_DIALOG_TEXT_INTO_THE_CURRENT_DIALOG_FLAG_KEY:"___glue___",OPENED_LABELS_COUNTER_KEY:"label:opened",ALL_CHOICES_MADE_KEY:"choices:made",CURRENT_STEP_TIMES_COUNTER_KEY:"label:history",LAST_STEP_GLUED:"glue:last_step"};var re={};var Kt={};b$1(Kt,{createExportableElement:()=>oe});var _t;(r=>(r.log=(n,...o)=>console.log(`[Pixi\u2019VN] ${n}`,...o),r.warn=(n,...o)=>console.warn(`[Pixi\u2019VN] ${n}`,...o),r.error=(n,...o)=>console.error(`[Pixi\u2019VN] ${n}`,...o),r.info=(n,...o)=>console.info(`[Pixi\u2019VN] ${n}`,...o)))(_t||={});function oe(g){try{if(typeof g>"u")return g;let e=JSON.stringify(g);return JSON.parse(e)}catch(e){throw _t.error("Error creating exportable element",g,e),new PixiError("not_json_serializable","Error creating exportable element")}}var ge=typeof window<"u"&&typeof document<"u",ne=[" _______ _ _ _ ____ ____ ____ _____ ","|_ __ \\ (_) (_) | | |_ _| |_ _||_ \\|_ _|"," | |__) |__ _ __ __ \\_| \\ \\ / / | \\ | | "," | ___/[ | [ \\ [ ][ | \\ \\ / / | |\\ \\| | "," _| |_ | | > ' < | | \\ ' / _| |_\\ |_ ",`|_____| [___][__]\`\\_][___] \\_/ |_____|\\____| v${Vt.version}`],ae=31,_e="background:#2f90da;color:#fff;font-weight:bold;",ve="background:#c832bb;color:#fff;font-weight:bold;",Se="background:transparent;font-weight:bold;",kt=` v${Vt.version}`;function le(){if(!ge)return;let g=[],e=[];for(let i=0;i<ne.length;i++){let s=ne[i],r=s.endsWith(kt),n=r?s.slice(0,-kt.length):s,o=n.slice(0,ae),l=n.slice(ae),c=r?"%c%s%c%s%c%s":"%c%s%c%s";g.push(c),e.push(_e,o,ve,l),r&&e.push(Se,kt);}console.info(g.join(`
2
- `),...e);}function qt(){let g=window.location.pathname+window.location.hash;return g.includes("#")&&(g=g.split("#")[1]),g}le();var he;(m=>{async function g(p,x,T){if(GameUnifier.init({navigate:x?.navigate,getCurrentGameStepState:()=>{let d={};try{d=at.canvas.export();}catch{}return {path:qt(),storage:G.storage.export(),canvas:d,sound:ut.sound.export(),labelIndex:R.NarrationManagerStatic.currentLabelStepIndex||0,openedLabels:R.narration.openedLabels}},restoreGameStepState:async(d,A)=>{it.HistoryManagerStatic._originalStepData=d,R.NarrationManagerStatic.openedLabels=d.openedLabels,G.storage.restore(d.storage);try{await at.canvas.restore(d.canvas),await ut.sound.restore(d.sound);}catch(N){_t.error("Error restoring game step state:",N);}await A(d.path);},getStepCounter:()=>R.narration.stepCounter,setStepCounter:d=>{R.NarrationManagerStatic._stepCounter=d;},getOpenedLabels:()=>R.narration.openedLabels.length,addHistoryItem:(d,A)=>it.stepHistory.add(d,A),getCharacter:d=>$t.RegisteredCharacters.get(d),processNavigationRequests:(d,A)=>{let N=d,K=Promise.resolve();return d>0?(N--,K=R.narration.continue(A)):d<0&&(N=0,K=it.stepHistory.back(A,{steps:d*-1})),{newValue:N,result:K}},animate:(d,A,N,K)=>motion.animate(d,A,N,K),getVariable:(d,A)=>G.StorageRegistry.getVariable(d,A),setVariable:(d,A,N)=>G.StorageRegistry.setVariable(d,A,N),removeVariable:(d,A)=>G.StorageRegistry.removeVariable(d,A),getFlag:d=>G.storage.getFlag(d),setFlag:(d,A)=>G.storage.setFlag(d,A),onLabelClosing:d=>G.StorageRegistry.clearOldTempVariables(d)}),!p||!x){_t.warn("The canvas element or options are not defined. The canvas will not be initialized.");return}return await at.canvas.init(p,x,T)}m.init=g;function e(){G.storage.clear();try{at.canvas.clear();}catch{}ut.sound.clear(),R.narration.clear(),it.stepHistory.clear();}m.clear=e;function i(){let p={};try{p=at.canvas.export();}catch{}return {pixivn_version:Ut,stepData:R.narration.export(),storageData:G.storage.export(),canvasData:p,soundData:ut.sound.export(),historyData:it.stepHistory.export(),path:qt()}}m.exportGameState=i;async function s(p,x){it.stepHistory.restore(p.historyData);let T=it.stepHistory.lastKey;if(typeof T=="number"){let d=it.stepHistory.stepsInfoMap.get(T)||null;await R.narration.restore(p.stepData,d);}G.storage.restore(p.storageData);try{await at.canvas.restore(p.canvasData),await ut.sound.restore(p.soundData);}catch{}x?await x(p.path):await GameUnifier.navigate(p.path);}m.restoreGameState=s;async function r(p,x){return m.clear(),await R.narration.call(p,x)}m.start=r;function n(p){return JSON.parse(p)}m.jsonToGameState=n;function o(p){GameUnifier.onEnd=p;}m.onEnd=o;function l(p){return _t.warn("Game.onError is deprecated. Use Game.addOnError / Game.removeOnError to register multiple handlers."),GameUnifier.addOnError((x,T)=>p("step",x,T))}m.onError=l;function c(p){return GameUnifier.addOnError(p)}m.addOnError=c;function v(p){return GameUnifier.removeOnError(p)}m.removeOnError=v;function L(p){R.NarrationManagerStatic.onStepStart=p;}m.onStepStart=L;function S(p){R.NarrationManagerStatic.onLoadingLabel=p;}m.onLoadingLabel=S;function ot(p){R.NarrationManagerStatic.onStepEnd=p;}m.onStepEnd=ot;function M(p){R.NarrationManagerStatic.onLabelStarting=p;}m.onLabelStarting=M;function q(p){GameUnifier.navigate=p;}m.onNavigate=q;function w(p){return GameUnifier.addOnPreContinue(p)}m.addOnPreContinue=w;function y(p){return GameUnifier.removeOnPreContinue(p)}m.removeOnPreContinue=y;})(he||={});var $e={characterUtils:$t,canvasUtils:at,narrationUtils:R,soundUtils:ut,CANVAS_APP_GAME_LAYER_ALIAS:Ht,Pause:Yt,Repeat:Wt,PIXIVN_VERSION:Ut,...Kt,...re,canvas:at.canvas,narration:R.narration,sound:ut.sound,storage:G.storage,history:it.stepHistory,Game:he,GameUnifier:GameUnifier};export{Ht as CANVAS_APP_GAME_LAYER_ALIAS,Nt as CachedMap,he as Game,Ut as PIXIVN_VERSION,Yt as Pause,Wt as Repeat,fe as SYSTEM_RESERVED_STORAGE_KEYS,oe as createExportableElement,$e as default};
1
+ import {f as f$1,b as b$1,g,e,d,h,i}from'./chunk-K7JIC2F2.mjs';import*as M from'@drincs/pixi-vn/canvas';export*from'@drincs/pixi-vn/canvas';import*as kt from'@drincs/pixi-vn/characters';export*from'@drincs/pixi-vn/characters';import {PixiError,GameUnifier}from'@drincs/pixi-vn/core';export*from'@drincs/pixi-vn/core';import*as st from'@drincs/pixi-vn/history';export*from'@drincs/pixi-vn/history';import*as O from'@drincs/pixi-vn/narration';export*from'@drincs/pixi-vn/narration';import*as ut from'@drincs/pixi-vn/sound';export*from'@drincs/pixi-vn/sound';import*as z from'@drincs/pixi-vn/storage';export*from'@drincs/pixi-vn/storage';import {motion}from'@drincs/pixi-vn/motion';var he=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,Xt=new Set,jt=typeof process=="object"&&process?process:{},Jt=(g,e,i,s)=>{typeof jt.emitWarning=="function"?jt.emitWarning(g,e,i,s):console.error(`[${i}] ${e}: ${g}`);},Nt=globalThis.AbortController,qt=globalThis.AbortSignal;if(typeof Nt>"u"){qt=class{onabort;_onabort=[];reason;aborted=false;addEventListener(i,s){this._onabort.push(s);}},Nt=class{constructor(){e();}signal=new qt;abort(i){if(!this.signal.aborted){this.signal.reason=i,this.signal.aborted=true;for(let s of this.signal._onabort)s(i);this.signal.onabort?.(i);}}};let g=jt.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",e=()=>{g&&(g=false,Jt("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",e));};}var ce=g=>!Xt.has(g);var lt=g=>g&&g===Math.floor(g)&&g>0&&isFinite(g),Qt=g=>lt(g)?g<=Math.pow(2,8)?Uint8Array:g<=Math.pow(2,16)?Uint16Array:g<=Math.pow(2,32)?Uint32Array:g<=Number.MAX_SAFE_INTEGER?Lt:null:null,Lt=class extends Array{constructor(g){super(g),this.fill(0);}},rt,vt,de=(rt=class{heap;length;static create(e){let i=Qt(e);if(!i)return [];g(rt,vt,true);let s=new rt(e,i);return g(rt,vt,false),s}constructor(e$1,i){if(!e(rt,vt))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new i(e$1),this.length=0;}push(e){this.heap[this.length++]=e;}pop(){return this.heap[--this.length]}},vt=new WeakMap,f$1(rt,vt,false),rt),$t,Bt,q,V,B,ft,X,St,yt,J,R,Q,U,x,f,j,W,F,D,Z,C,tt,et,Y,H,it,pt,P,bt,a,Pt,mt,nt,Tt,K,te,gt,xt,Ut,ht,ct,Mt,Dt,Ct,b,zt,At,dt,Gt,Et,Zt=(Et=class{constructor(e$1){f$1(this,a);f$1(this,q);f$1(this,V);f$1(this,B);f$1(this,ft);f$1(this,X);f$1(this,St);f$1(this,yt);f$1(this,J);d(this,"ttl");d(this,"ttlResolution");d(this,"ttlAutopurge");d(this,"updateAgeOnGet");d(this,"updateAgeOnHas");d(this,"allowStale");d(this,"noDisposeOnSet");d(this,"noUpdateTTL");d(this,"maxEntrySize");d(this,"sizeCalculation");d(this,"noDeleteOnFetchRejection");d(this,"noDeleteOnStaleGet");d(this,"allowStaleOnFetchAbort");d(this,"allowStaleOnFetchRejection");d(this,"ignoreFetchAbort");f$1(this,R);f$1(this,Q);f$1(this,U);f$1(this,x);f$1(this,f);f$1(this,j);f$1(this,W);f$1(this,F);f$1(this,D);f$1(this,Z);f$1(this,C);f$1(this,tt);f$1(this,et);f$1(this,Y);f$1(this,H);f$1(this,it);f$1(this,pt);f$1(this,P);f$1(this,bt);f$1(this,mt,()=>{});f$1(this,nt,()=>{});f$1(this,Tt,()=>{});f$1(this,K,()=>false);f$1(this,gt,e=>{});f$1(this,xt,(e,i,s)=>{});f$1(this,Ut,(e,i,s,r)=>{if(s||r)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});d(this,$t,"LRUCache");let{max:i=0,ttl:s,ttlResolution:r=1,ttlAutopurge:n,updateAgeOnGet:o,updateAgeOnHas:l,allowStale:c,dispose:v,onInsert:L,disposeAfter:S,noDisposeOnSet:ot,noUpdateTTL:G,maxSize:$=0,maxEntrySize:E=0,sizeCalculation:y,fetchMethod:m,memoMethod:u,noDeleteOnFetchRejection:w,noDeleteOnStaleGet:T,allowStaleOnFetchRejection:d$1,allowStaleOnFetchAbort:A,ignoreFetchAbort:I,perf:k}=e$1;if(k!==void 0&&typeof k?.now!="function")throw new TypeError("perf option must have a now() method if specified");if(g(this,J,k??he),i!==0&&!lt(i))throw new TypeError("max option must be a nonnegative integer");let _t=i?Qt(i):Array;if(!_t)throw new Error("invalid max value: "+i);if(g(this,q,i),g(this,V,$),this.maxEntrySize=E||e(this,V),this.sizeCalculation=y,this.sizeCalculation){if(!e(this,V)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(u!==void 0&&typeof u!="function")throw new TypeError("memoMethod must be a function if defined");if(g(this,yt,u),m!==void 0&&typeof m!="function")throw new TypeError("fetchMethod must be a function if specified");if(g(this,St,m),g(this,pt,!!m),g(this,U,new Map),g(this,x,new Array(i).fill(void 0)),g(this,f,new Array(i).fill(void 0)),g(this,j,new _t(i)),g(this,W,new _t(i)),g(this,F,0),g(this,D,0),g(this,Z,de.create(i)),g(this,R,0),g(this,Q,0),typeof v=="function"&&g(this,B,v),typeof L=="function"&&g(this,ft,L),typeof S=="function"?(g(this,X,S),g(this,C,[])):(g(this,X,void 0),g(this,C,void 0)),g(this,it,!!e(this,B)),g(this,bt,!!e(this,ft)),g(this,P,!!e(this,X)),this.noDisposeOnSet=!!ot,this.noUpdateTTL=!!G,this.noDeleteOnFetchRejection=!!w,this.allowStaleOnFetchRejection=!!d$1,this.allowStaleOnFetchAbort=!!A,this.ignoreFetchAbort=!!I,this.maxEntrySize!==0){if(e(this,V)!==0&&!lt(e(this,V)))throw new TypeError("maxSize must be a positive integer if specified");if(!lt(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");h(this,a,te).call(this);}if(this.allowStale=!!c,this.noDeleteOnStaleGet=!!T,this.updateAgeOnGet=!!o,this.updateAgeOnHas=!!l,this.ttlResolution=lt(r)||r===0?r:1,this.ttlAutopurge=!!n,this.ttl=s||0,this.ttl){if(!lt(this.ttl))throw new TypeError("ttl must be a positive integer if specified");h(this,a,Pt).call(this);}if(e(this,q)===0&&this.ttl===0&&e(this,V)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!e(this,q)&&!e(this,V)){let Ft="LRU_CACHE_UNBOUNDED";ce(Ft)&&(Xt.add(Ft),Jt("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",Ft,Et));}}get perf(){return e(this,J)}static unsafeExposeInternals(e$1){return {starts:e(e$1,et),ttls:e(e$1,Y),autopurgeTimers:e(e$1,H),sizes:e(e$1,tt),keyMap:e(e$1,U),keyList:e(e$1,x),valList:e(e$1,f),next:e(e$1,j),prev:e(e$1,W),get head(){return e(e$1,F)},get tail(){return e(e$1,D)},free:e(e$1,Z),isBackgroundFetch:i=>{var s;return h(s=e$1,a,b).call(s,i)},backgroundFetch:(i,s,r,n)=>{var o;return h(o=e$1,a,Ct).call(o,i,s,r,n)},moveToTail:i=>{var s;return h(s=e$1,a,At).call(s,i)},indexes:i=>{var s;return h(s=e$1,a,ht).call(s,i)},rindexes:i=>{var s;return h(s=e$1,a,ct).call(s,i)},isStale:i=>{var s;return e(s=e$1,K).call(s,i)}}}get max(){return e(this,q)}get maxSize(){return e(this,V)}get calculatedSize(){return e(this,Q)}get size(){return e(this,R)}get fetchMethod(){return e(this,St)}get memoMethod(){return e(this,yt)}get dispose(){return e(this,B)}get onInsert(){return e(this,ft)}get disposeAfter(){return e(this,X)}getRemainingTTL(e$1){return e(this,U).has(e$1)?1/0:0}*entries(){for(let e$1 of h(this,a,ht).call(this))e(this,f)[e$1]!==void 0&&e(this,x)[e$1]!==void 0&&!h(this,a,b).call(this,e(this,f)[e$1])&&(yield [e(this,x)[e$1],e(this,f)[e$1]]);}*rentries(){for(let e$1 of h(this,a,ct).call(this))e(this,f)[e$1]!==void 0&&e(this,x)[e$1]!==void 0&&!h(this,a,b).call(this,e(this,f)[e$1])&&(yield [e(this,x)[e$1],e(this,f)[e$1]]);}*keys(){for(let e$1 of h(this,a,ht).call(this)){let i=e(this,x)[e$1];i!==void 0&&!h(this,a,b).call(this,e(this,f)[e$1])&&(yield i);}}*rkeys(){for(let e$1 of h(this,a,ct).call(this)){let i=e(this,x)[e$1];i!==void 0&&!h(this,a,b).call(this,e(this,f)[e$1])&&(yield i);}}*values(){for(let e$1 of h(this,a,ht).call(this))e(this,f)[e$1]!==void 0&&!h(this,a,b).call(this,e(this,f)[e$1])&&(yield e(this,f)[e$1]);}*rvalues(){for(let e$1 of h(this,a,ct).call(this))e(this,f)[e$1]!==void 0&&!h(this,a,b).call(this,e(this,f)[e$1])&&(yield e(this,f)[e$1]);}[(Bt=Symbol.iterator,$t=Symbol.toStringTag,Bt)](){return this.entries()}find(e$1,i={}){for(let s of h(this,a,ht).call(this)){let r=e(this,f)[s],n=h(this,a,b).call(this,r)?r.__staleWhileFetching:r;if(n!==void 0&&e$1(n,e(this,x)[s],this))return this.get(e(this,x)[s],i)}}forEach(e$1,i=this){for(let s of h(this,a,ht).call(this)){let r=e(this,f)[s],n=h(this,a,b).call(this,r)?r.__staleWhileFetching:r;n!==void 0&&e$1.call(i,n,e(this,x)[s],this);}}rforEach(e$1,i=this){for(let s of h(this,a,ct).call(this)){let r=e(this,f)[s],n=h(this,a,b).call(this,r)?r.__staleWhileFetching:r;n!==void 0&&e$1.call(i,n,e(this,x)[s],this);}}purgeStale(){let e$1=false;for(let i of h(this,a,ct).call(this,{allowStale:true}))e(this,K).call(this,i)&&(h(this,a,dt).call(this,e(this,x)[i],"expire"),e$1=true);return e$1}info(e$1){let i=e(this,U).get(e$1);if(i===void 0)return;let s=e(this,f)[i],r=h(this,a,b).call(this,s)?s.__staleWhileFetching:s;if(r===void 0)return;let n={value:r};if(e(this,Y)&&e(this,et)){let o=e(this,Y)[i],l=e(this,et)[i];if(o&&l){let c=o-(e(this,J).now()-l);n.ttl=c,n.start=Date.now();}}return e(this,tt)&&(n.size=e(this,tt)[i]),n}dump(){let e$1=[];for(let i of h(this,a,ht).call(this,{allowStale:true})){let s=e(this,x)[i],r=e(this,f)[i],n=h(this,a,b).call(this,r)?r.__staleWhileFetching:r;if(n===void 0||s===void 0)continue;let o={value:n};if(e(this,Y)&&e(this,et)){o.ttl=e(this,Y)[i];let l=e(this,J).now()-e(this,et)[i];o.start=Math.floor(Date.now()-l);}e(this,tt)&&(o.size=e(this,tt)[i]),e$1.unshift([s,o]);}return e$1}load(e$1){this.clear();for(let[i,s]of e$1){if(s.start){let r=Date.now()-s.start;s.start=e(this,J).now()-r;}this.set(i,s.value,s);}}set(e$1,i$1,s={}){var ot,G,$,E;if(i$1===void 0)return this.delete(e$1),this;let{ttl:r=this.ttl,start:n,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:l=this.sizeCalculation,status:c}=s,{noUpdateTTL:v=this.noUpdateTTL}=s,L=e(this,Ut).call(this,e$1,i$1,s.size||0,l);if(this.maxEntrySize&&L>this.maxEntrySize)return c&&(c.set="miss",c.maxEntrySizeExceeded=true),h(this,a,dt).call(this,e$1,"set"),this;let S=e(this,R)===0?void 0:e(this,U).get(e$1);if(S===void 0)S=e(this,R)===0?e(this,D):e(this,Z).length!==0?e(this,Z).pop():e(this,R)===e(this,q)?h(this,a,Dt).call(this,false):e(this,R),e(this,x)[S]=e$1,e(this,f)[S]=i$1,e(this,U).set(e$1,S),e(this,j)[e(this,D)]=S,e(this,W)[S]=e(this,D),g(this,D,S),i(this,R)._++,e(this,xt).call(this,S,L,c),c&&(c.set="add"),v=false,e(this,bt)&&((ot=e(this,ft))==null||ot.call(this,i$1,e$1,"add"));else {h(this,a,At).call(this,S);let y=e(this,f)[S];if(i$1!==y){if(e(this,pt)&&h(this,a,b).call(this,y)){y.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:m}=y;m!==void 0&&!o&&(e(this,it)&&((G=e(this,B))==null||G.call(this,m,e$1,"set")),e(this,P)&&e(this,C)?.push([m,e$1,"set"]));}else o||(e(this,it)&&(($=e(this,B))==null||$.call(this,y,e$1,"set")),e(this,P)&&e(this,C)?.push([y,e$1,"set"]));if(e(this,gt).call(this,S),e(this,xt).call(this,S,L,c),e(this,f)[S]=i$1,c){c.set="replace";let m=y&&h(this,a,b).call(this,y)?y.__staleWhileFetching:y;m!==void 0&&(c.oldValue=m);}}else c&&(c.set="update");e(this,bt)&&this.onInsert?.(i$1,e$1,i$1===y?"update":"replace");}if(r!==0&&!e(this,Y)&&h(this,a,Pt).call(this),e(this,Y)&&(v||e(this,Tt).call(this,S,r,n),c&&e(this,nt).call(this,c,S)),!o&&e(this,P)&&e(this,C)){let y=e(this,C),m;for(;m=y?.shift();)(E=e(this,X))==null||E.call(this,...m);}return this}pop(){var e$1;try{for(;e(this,R);){let i=e(this,f)[e(this,F)];if(h(this,a,Dt).call(this,!0),h(this,a,b).call(this,i)){if(i.__staleWhileFetching)return i.__staleWhileFetching}else if(i!==void 0)return i}}finally{if(e(this,P)&&e(this,C)){let i=e(this,C),s;for(;s=i?.shift();)(e$1=e(this,X))==null||e$1.call(this,...s);}}}has(e$1,i={}){let{updateAgeOnHas:s=this.updateAgeOnHas,status:r}=i,n=e(this,U).get(e$1);if(n!==void 0){let o=e(this,f)[n];if(h(this,a,b).call(this,o)&&o.__staleWhileFetching===void 0)return false;if(e(this,K).call(this,n))r&&(r.has="stale",e(this,nt).call(this,r,n));else return s&&e(this,mt).call(this,n),r&&(r.has="hit",e(this,nt).call(this,r,n)),true}else r&&(r.has="miss");return false}peek(e$1,i={}){let{allowStale:s=this.allowStale}=i,r=e(this,U).get(e$1);if(r===void 0||!s&&e(this,K).call(this,r))return;let n=e(this,f)[r];return h(this,a,b).call(this,n)?n.__staleWhileFetching:n}async fetch(e$1,i={}){let{allowStale:s=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:n=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:l=this.noDisposeOnSet,size:c=0,sizeCalculation:v=this.sizeCalculation,noUpdateTTL:L=this.noUpdateTTL,noDeleteOnFetchRejection:S=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:ot=this.allowStaleOnFetchRejection,ignoreFetchAbort:G=this.ignoreFetchAbort,allowStaleOnFetchAbort:$=this.allowStaleOnFetchAbort,context:E,forceRefresh:y=false,status:m,signal:u}=i;if(!e(this,pt))return m&&(m.fetch="get"),this.get(e$1,{allowStale:s,updateAgeOnGet:r,noDeleteOnStaleGet:n,status:m});let w={allowStale:s,updateAgeOnGet:r,noDeleteOnStaleGet:n,ttl:o,noDisposeOnSet:l,size:c,sizeCalculation:v,noUpdateTTL:L,noDeleteOnFetchRejection:S,allowStaleOnFetchRejection:ot,allowStaleOnFetchAbort:$,ignoreFetchAbort:G,status:m,signal:u},T=e(this,U).get(e$1);if(T===void 0){m&&(m.fetch="miss");let d=h(this,a,Ct).call(this,e$1,T,w,E);return d.__returned=d}else {let d=e(this,f)[T];if(h(this,a,b).call(this,d)){let _t=s&&d.__staleWhileFetching!==void 0;return m&&(m.fetch="inflight",_t&&(m.returnedStale=true)),_t?d.__staleWhileFetching:d.__returned=d}let A=e(this,K).call(this,T);if(!y&&!A)return m&&(m.fetch="hit"),h(this,a,At).call(this,T),r&&e(this,mt).call(this,T),m&&e(this,nt).call(this,m,T),d;let I=h(this,a,Ct).call(this,e$1,T,w,E),k=I.__staleWhileFetching!==void 0&&s;return m&&(m.fetch=A?"stale":"refresh",k&&A&&(m.returnedStale=true)),k?I.__staleWhileFetching:I.__returned=I}}async forceFetch(e,i={}){let s=await this.fetch(e,i);if(s===void 0)throw new Error("fetch() returned undefined");return s}memo(e$1,i={}){let s=e(this,yt);if(!s)throw new Error("no memoMethod provided to constructor");let{context:r,forceRefresh:n,...o}=i,l=this.get(e$1,o);if(!n&&l!==void 0)return l;let c=s(e$1,l,{options:o,context:r});return this.set(e$1,c,o),c}get(e$1,i={}){let{allowStale:s=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:n=this.noDeleteOnStaleGet,status:o}=i,l=e(this,U).get(e$1);if(l!==void 0){let c=e(this,f)[l],v=h(this,a,b).call(this,c);return o&&e(this,nt).call(this,o,l),e(this,K).call(this,l)?(o&&(o.get="stale"),v?(o&&s&&c.__staleWhileFetching!==void 0&&(o.returnedStale=true),s?c.__staleWhileFetching:void 0):(n||h(this,a,dt).call(this,e$1,"expire"),o&&s&&(o.returnedStale=true),s?c:void 0)):(o&&(o.get="hit"),v?c.__staleWhileFetching:(h(this,a,At).call(this,l),r&&e(this,mt).call(this,l),c))}else o&&(o.get="miss");}delete(e){return h(this,a,dt).call(this,e,"delete")}clear(){return h(this,a,Gt).call(this,"delete")}},q=new WeakMap,V=new WeakMap,B=new WeakMap,ft=new WeakMap,X=new WeakMap,St=new WeakMap,yt=new WeakMap,J=new WeakMap,R=new WeakMap,Q=new WeakMap,U=new WeakMap,x=new WeakMap,f=new WeakMap,j=new WeakMap,W=new WeakMap,F=new WeakMap,D=new WeakMap,Z=new WeakMap,C=new WeakMap,tt=new WeakMap,et=new WeakMap,Y=new WeakMap,H=new WeakMap,it=new WeakMap,pt=new WeakMap,P=new WeakMap,bt=new WeakMap,a=new WeakSet,Pt=function(){let e$1=new Lt(e(this,q)),i=new Lt(e(this,q));g(this,Y,e$1),g(this,et,i);let s=this.ttlAutopurge?new Array(e(this,q)):void 0;g(this,H,s),g(this,Tt,(l,c,v=e(this,J).now())=>{i[l]=c!==0?v:0,e$1[l]=c,r(l,c);}),g(this,mt,l=>{i[l]=e$1[l]!==0?e(this,J).now():0,r(l,e$1[l]);});let r=this.ttlAutopurge?(l,c)=>{if(s?.[l]&&(clearTimeout(s[l]),s[l]=void 0),c&&c!==0&&s){let v=setTimeout(()=>{e(this,K).call(this,l)&&h(this,a,dt).call(this,e(this,x)[l],"expire");},c+1);v.unref&&v.unref(),s[l]=v;}}:()=>{};g(this,nt,(l,c)=>{if(e$1[c]){let v=e$1[c],L=i[c];if(!v||!L)return;l.ttl=v,l.start=L,l.now=n||o();let S=l.now-L;l.remainingTTL=v-S;}});let n=0,o=()=>{let l=e(this,J).now();if(this.ttlResolution>0){n=l;let c=setTimeout(()=>n=0,this.ttlResolution);c.unref&&c.unref();}return l};this.getRemainingTTL=l=>{let c=e(this,U).get(l);if(c===void 0)return 0;let v=e$1[c],L=i[c];if(!v||!L)return 1/0;let S=(n||o())-L;return v-S},g(this,K,l=>{let c=i[l],v=e$1[l];return !!v&&!!c&&(n||o())-c>v});},mt=new WeakMap,nt=new WeakMap,Tt=new WeakMap,K=new WeakMap,te=function(){let e$1=new Lt(e(this,q));g(this,Q,0),g(this,tt,e$1),g(this,gt,i=>{g(this,Q,e(this,Q)-e$1[i]),e$1[i]=0;}),g(this,Ut,(i,s,r,n)=>{if(h(this,a,b).call(this,s))return 0;if(!lt(r))if(n){if(typeof n!="function")throw new TypeError("sizeCalculation must be a function");if(r=n(s,i),!lt(r))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return r}),g(this,xt,(i,s,r)=>{if(e$1[i]=s,e(this,V)){let n=e(this,V)-e$1[i];for(;e(this,Q)>n;)h(this,a,Dt).call(this,true);}g(this,Q,e(this,Q)+e$1[i]),r&&(r.entrySize=s,r.totalCalculatedSize=e(this,Q));});},gt=new WeakMap,xt=new WeakMap,Ut=new WeakMap,ht=function*({allowStale:e$1=this.allowStale}={}){if(e(this,R))for(let i=e(this,D);!(!h(this,a,Mt).call(this,i)||((e$1||!e(this,K).call(this,i))&&(yield i),i===e(this,F)));)i=e(this,W)[i];},ct=function*({allowStale:e$1=this.allowStale}={}){if(e(this,R))for(let i=e(this,F);!(!h(this,a,Mt).call(this,i)||((e$1||!e(this,K).call(this,i))&&(yield i),i===e(this,D)));)i=e(this,j)[i];},Mt=function(e$1){return e$1!==void 0&&e(this,U).get(e(this,x)[e$1])===e$1},Dt=function(e$1){var n;let i$1=e(this,F),s=e(this,x)[i$1],r=e(this,f)[i$1];return e(this,pt)&&h(this,a,b).call(this,r)?r.__abortController.abort(new Error("evicted")):(e(this,it)||e(this,P))&&(e(this,it)&&((n=e(this,B))==null||n.call(this,r,s,"evict")),e(this,P)&&e(this,C)?.push([r,s,"evict"])),e(this,gt).call(this,i$1),e(this,H)?.[i$1]&&(clearTimeout(e(this,H)[i$1]),e(this,H)[i$1]=void 0),e$1&&(e(this,x)[i$1]=void 0,e(this,f)[i$1]=void 0,e(this,Z).push(i$1)),e(this,R)===1?(g(this,F,g(this,D,0)),e(this,Z).length=0):g(this,F,e(this,j)[i$1]),e(this,U).delete(s),i(this,R)._--,i$1},Ct=function(e$1,i,s,r){let n=i===void 0?void 0:e(this,f)[i];if(h(this,a,b).call(this,n))return n;let o=new Nt,{signal:l}=s;l?.addEventListener("abort",()=>o.abort(l.reason),{signal:o.signal});let c={signal:o.signal,options:s,context:r},v=(E,y=false)=>{let{aborted:m}=o.signal,u=s.ignoreFetchAbort&&E!==void 0,w=s.ignoreFetchAbort||!!(s.allowStaleOnFetchAbort&&E!==void 0);if(s.status&&(m&&!y?(s.status.fetchAborted=true,s.status.fetchError=o.signal.reason,u&&(s.status.fetchAbortIgnored=true)):s.status.fetchResolved=true),m&&!u&&!y)return S(o.signal.reason,w);let T=G,d=e(this,f)[i];return (d===G||u&&y&&d===void 0)&&(E===void 0?T.__staleWhileFetching!==void 0?e(this,f)[i]=T.__staleWhileFetching:h(this,a,dt).call(this,e$1,"fetch"):(s.status&&(s.status.fetchUpdated=true),this.set(e$1,E,c.options))),E},L=E=>(s.status&&(s.status.fetchRejected=true,s.status.fetchError=E),S(E,false)),S=(E,y)=>{let{aborted:m}=o.signal,u=m&&s.allowStaleOnFetchAbort,w=u||s.allowStaleOnFetchRejection,T=w||s.noDeleteOnFetchRejection,d=G;if(e(this,f)[i]===G&&(!T||!y&&d.__staleWhileFetching===void 0?h(this,a,dt).call(this,e$1,"fetch"):u||(e(this,f)[i]=d.__staleWhileFetching)),w)return s.status&&d.__staleWhileFetching!==void 0&&(s.status.returnedStale=true),d.__staleWhileFetching;if(d.__returned===d)throw E},ot=(E,y)=>{var u;let m=(u=e(this,St))==null?void 0:u.call(this,e$1,n,c);m&&m instanceof Promise&&m.then(w=>E(w===void 0?void 0:w),y),o.signal.addEventListener("abort",()=>{(!s.ignoreFetchAbort||s.allowStaleOnFetchAbort)&&(E(void 0),s.allowStaleOnFetchAbort&&(E=w=>v(w,true)));});};s.status&&(s.status.fetchDispatched=true);let G=new Promise(ot).then(v,L),$=Object.assign(G,{__abortController:o,__staleWhileFetching:n,__returned:void 0});return i===void 0?(this.set(e$1,$,{...c.options,status:void 0}),i=e(this,U).get(e$1)):e(this,f)[i]=$,$},b=function(e$1){if(!e(this,pt))return false;let i=e$1;return !!i&&i instanceof Promise&&i.hasOwnProperty("__staleWhileFetching")&&i.__abortController instanceof Nt},zt=function(e$1,i){e(this,W)[i]=e$1,e(this,j)[e$1]=i;},At=function(e$1){e$1!==e(this,D)&&(e$1===e(this,F)?g(this,F,e(this,j)[e$1]):h(this,a,zt).call(this,e(this,W)[e$1],e(this,j)[e$1]),h(this,a,zt).call(this,e(this,D),e$1),g(this,D,e$1));},dt=function(e$1,i$1){var r,n;let s=false;if(e(this,R)!==0){let o=e(this,U).get(e$1);if(o!==void 0)if(e(this,H)?.[o]&&(clearTimeout(e(this,H)?.[o]),e(this,H)[o]=void 0),s=true,e(this,R)===1)h(this,a,Gt).call(this,i$1);else {e(this,gt).call(this,o);let l=e(this,f)[o];if(h(this,a,b).call(this,l)?l.__abortController.abort(new Error("deleted")):(e(this,it)||e(this,P))&&(e(this,it)&&((r=e(this,B))==null||r.call(this,l,e$1,i$1)),e(this,P)&&e(this,C)?.push([l,e$1,i$1])),e(this,U).delete(e$1),e(this,x)[o]=void 0,e(this,f)[o]=void 0,o===e(this,D))g(this,D,e(this,W)[o]);else if(o===e(this,F))g(this,F,e(this,j)[o]);else {let c=e(this,W)[o];e(this,j)[c]=e(this,j)[o];let v=e(this,j)[o];e(this,W)[v]=e(this,W)[o];}i(this,R)._--,e(this,Z).push(o);}}if(e(this,P)&&e(this,C)?.length){let o=e(this,C),l;for(;l=o?.shift();)(n=e(this,X))==null||n.call(this,...l);}return s},Gt=function(e$1){var i,s;for(let r of h(this,a,ct).call(this,{allowStale:true})){let n=e(this,f)[r];if(h(this,a,b).call(this,n))n.__abortController.abort(new Error("deleted"));else {let o=e(this,x)[r];e(this,it)&&((i=e(this,B))==null||i.call(this,n,o,e$1)),e(this,P)&&e(this,C)?.push([n,o,e$1]);}}if(e(this,U).clear(),e(this,f).fill(void 0),e(this,x).fill(void 0),e(this,Y)&&e(this,et)){e(this,Y).fill(0),e(this,et).fill(0);for(let r of e(this,H)??[])r!==void 0&&clearTimeout(r);e(this,H)?.fill(void 0);}if(e(this,tt)&&e(this,tt).fill(0),g(this,F,0),g(this,D,0),e(this,Z).length=0,g(this,Q,0),g(this,R,0),e(this,P)&&e(this,C)){let r=e(this,C),n;for(;n=r?.shift();)(s=e(this,X))==null||s.call(this,...n);}},Et);var It=class{cache;map=new Map;constructor(e){this.cache=new Zt({max:e.cacheSize}),this.map=new Map;}get[Symbol.iterator](){return this.map[Symbol.iterator]}get[Symbol.toStringTag](){return this.map[Symbol.toStringTag]}clear(){this.cache.clear(),this.map.clear();}delete(e){let i=this.map.delete(e);return i&&this.cache.delete(e),i}get forEach(){return this.map.forEach}get(e){let i=this.cache.get(e);return i||this.map.get(e)}has(e){return this.map.has(e)}set(e,i){return this.map.set(e,i),this.cache.set(e,i),this}get size(){return this.map.size}entries(){return this.map.entries()}keys(){return this.map.keys()}values(){return this.map.values()}};var Ot="1.9.0";var Vt={version:Ot};var Wt="__game_layer__";var pe={CURRENT_DIALOGUE_MEMORY_KEY:"dialogue",LAST_DIALOGUE_ADDED_IN_STEP_MEMORY_KEY:"dialogue:step_counter",CURRENT_MENU_OPTIONS_MEMORY_KEY:"choice:options",LAST_MENU_OPTIONS_ADDED_IN_STEP_MEMORY_KEY:"choice:step_counter",CURRENT_INPUT_VALUE_MEMORY_KEY:"input:value",LAST_INPUT_ADDED_IN_STEP_MEMORY_KEY:"input:step_counter",CURRENT_INPUT_INFO_MEMORY_KEY:"input:info",CHARACTER_CATEGORY_KEY:"character",ADD_NEXT_DIALOG_TEXT_INTO_THE_CURRENT_DIALOG_FLAG_KEY:"___glue___",OPENED_LABELS_COUNTER_KEY:"label:opened",ALL_CHOICES_MADE_KEY:"choices:made",CURRENT_STEP_TIMES_COUNTER_KEY:"label:history",LAST_STEP_GLUED:"glue:last_step"};var ie={};var Yt={};b$1(Yt,{createExportableElement:()=>se});var wt;(r=>(r.log=(n,...o)=>console.log(`[Pixi\u2019VN] ${n}`,...o),r.warn=(n,...o)=>console.warn(`[Pixi\u2019VN] ${n}`,...o),r.error=(n,...o)=>console.error(`[Pixi\u2019VN] ${n}`,...o),r.info=(n,...o)=>console.info(`[Pixi\u2019VN] ${n}`,...o)))(wt||={});function se(g){try{if(typeof g>"u")return g;let e=JSON.stringify(g);return JSON.parse(e)}catch(e){throw wt.error("Error creating exportable element",g,e),new PixiError("not_json_serializable","Error creating exportable element")}}var fe=typeof window<"u"&&typeof document<"u",re=[" _______ _ _ _ ____ ____ ____ _____ ","|_ __ \\ (_) (_) | | |_ _| |_ _||_ \\|_ _|"," | |__) |__ _ __ __ \\_| \\ \\ / / | \\ | | "," | ___/[ | [ \\ [ ][ | \\ \\ / / | |\\ \\| | "," _| |_ | | > ' < | | \\ ' / _| |_\\ |_ ",`|_____| [___][__]\`\\_][___] \\_/ |_____|\\____| v${Vt.version}`],oe=31,me="background:#2f90da;color:#fff;font-weight:bold;",ge="background:#c832bb;color:#fff;font-weight:bold;",_e="background:transparent;font-weight:bold;",Ht=` v${Vt.version}`;function ne(){if(!fe)return;let g=[],e=[];for(let i=0;i<re.length;i++){let s=re[i],r=s.endsWith(Ht),n=r?s.slice(0,-Ht.length):s,o=n.slice(0,oe),l=n.slice(oe),c=r?"%c%s%c%s%c%s":"%c%s%c%s";g.push(c),e.push(me,o,ge,l),r&&e.push(_e,Ht);}console.info(g.join(`
2
+ `),...e);}function Kt(){let g=window.location.pathname+window.location.hash;return g.includes("#")&&(g=g.split("#")[1]),g}ne();var ae;(m=>{async function g(u,w,T){if(GameUnifier.init({navigate:w?.navigate,getCurrentGameStepState:()=>{let d=M.canvas.isInitialized?M.canvas.export():{};return {path:Kt(),storage:z.storage.export(),canvas:d,sound:ut.sound.export(),labelIndex:O.NarrationManagerStatic.currentLabelStepIndex||0,openedLabels:O.narration.openedLabels}},restoreGameStepState:async(d,A)=>{st.HistoryManagerStatic._originalStepData=d,O.NarrationManagerStatic.openedLabels=d.openedLabels,z.storage.restore(d.storage);try{M.canvas.isInitialized&&await M.canvas.restore(d.canvas),await ut.sound.restore(d.sound);}catch(I){wt.error("Error restoring game step state:",I);}await A(d.path);},getStepCounter:()=>O.narration.stepCounter,setStepCounter:d=>{O.NarrationManagerStatic._stepCounter=d;},getOpenedLabels:()=>O.narration.openedLabels.length,addHistoryItem:(d,A)=>st.stepHistory.add(d,A),getCharacter:d=>kt.RegisteredCharacters.get(d),processNavigationRequests:(d,A)=>{let I=d,k=Promise.resolve();return d>0?(I--,k=O.narration.continue(A)):d<0&&(I=0,k=st.stepHistory.back(A,{steps:d*-1})),{newValue:I,result:k}},animate:(d,A,I,k)=>motion.animate(d,A,I,k),getVariable:(d,A)=>z.StorageRegistry.getVariable(d,A),setVariable:(d,A,I)=>z.StorageRegistry.setVariable(d,A,I),removeVariable:(d,A)=>z.StorageRegistry.removeVariable(d,A),getFlag:d=>z.storage.flags.get(d),setFlag:(d,A)=>z.storage.flags.set(d,A),onLabelClosing:d=>z.StorageRegistry.clearOldTempVariables(d)}),!u||!w){wt.warn("The canvas element or options are not defined. The canvas will not be initialized.");return}return await M.canvas.init(u,w,T)}m.init=g;function e(){z.storage.clear(),M.canvas.isInitialized&&M.canvas.clear(),ut.sound.clear(),O.narration.clear(),st.stepHistory.clear();}m.clear=e;function i(){let u=M.canvas.isInitialized?M.canvas.export():{};return {pixivn_version:Ot,stepData:O.narration.export(),storageData:z.storage.export(),canvasData:u,soundData:ut.sound.export(),historyData:st.stepHistory.export(),path:Kt()}}m.exportGameState=i;async function s(u){st.stepHistory.restore(u.historyData);let w=st.stepHistory.lastKey;if(typeof w=="number"){let T=st.stepHistory.stepsInfoMap.get(w)||null;await O.narration.restore(u.stepData,T);}z.storage.restore(u.storageData);try{M.canvas.isInitialized&&await M.canvas.restore(u.canvasData),await ut.sound.restore(u.soundData);}catch{}await GameUnifier.navigate(u.path);}m.restoreGameState=s;async function r(u,w){return m.clear(),await O.narration.call(u,w)}m.start=r;function n(u){return JSON.parse(u)}m.jsonToGameState=n;function o(u){GameUnifier.onEnd=u;}m.onEnd=o;function l(u){return GameUnifier.addOnError(u)}m.addOnError=l;function c(u){return GameUnifier.removeOnError(u)}m.removeOnError=c;function v(u){O.NarrationManagerStatic.onStepStart=u;}m.onStepStart=v;function L(u){O.NarrationManagerStatic.onLoadingLabel=u;}m.onLoadingLabel=L;function S(u){O.NarrationManagerStatic.onStepEnd=u;}m.onStepEnd=S;function ot(u){O.NarrationManagerStatic.onLabelStarting=u;}m.onLabelStarting=ot;function G(u){O.NarrationManagerStatic.onLabelClosing=u;}m.onLabelClosing=G;function $(u){GameUnifier.navigate=u;}m.onNavigate=$;function E(u){return GameUnifier.addOnPreContinue(u)}m.addOnPreContinue=E;function y(u){return GameUnifier.removeOnPreContinue(u)}m.removeOnPreContinue=y;})(ae||={});var ke={characterUtils:kt,canvasUtils:M,narrationUtils:O,soundUtils:ut,CANVAS_APP_GAME_LAYER_ALIAS:Wt,PIXIVN_VERSION:Ot,...Yt,...ie,canvas:M.canvas,narration:O.narration,sound:ut.sound,storage:z.storage,history:st.stepHistory,Game:ae,GameUnifier:GameUnifier};export{Wt as CANVAS_APP_GAME_LAYER_ALIAS,It as CachedMap,ae as Game,Ot as PIXIVN_VERSION,pe as SYSTEM_RESERVED_STORAGE_KEYS,se as createExportableElement,ke as default};
package/dist/motion.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';var canvas=require('@drincs/pixi-vn/canvas'),H=require('@drincs/pixi-vn/pixi.js'),motion=require('motion'),core=require('@drincs/pixi-vn/core');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var H__default=/*#__PURE__*/_interopDefault(H);var G=Object.create;var z=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var Z=Object.getOwnPropertyNames;var tt=Object.getPrototypeOf,et=Object.prototype.hasOwnProperty;var q=(s=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(s,{get:(e,a)=>(typeof require<"u"?require:e)[a]}):s)(function(s){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+s+'" is not supported')});var D=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports);var nt=(s,e,a,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Z(e))!et.call(s,n)&&n!==a&&z(s,n,{get:()=>e[n],enumerable:!(i=Q(e,n))||i.enumerable});return s};var it=(s,e,a)=>(a=s!=null?G(tt(s)):{},nt(z(a,"default",{value:s,enumerable:true}),s));var X=D((W,U)=>{(function(s,e){typeof W=="object"?U.exports=W=e():typeof define=="function"&&define.amd?define([],e):s.CryptoJS=e();})(W,function(){var s=s||(function(e,a){var i;if(typeof window<"u"&&window.crypto&&(i=window.crypto),typeof self<"u"&&self.crypto&&(i=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(i=globalThis.crypto),!i&&typeof window<"u"&&window.msCrypto&&(i=window.msCrypto),!i&&typeof global<"u"&&global.crypto&&(i=global.crypto),!i&&typeof q=="function")try{i=q("crypto");}catch{}var n=function(){if(i){if(typeof i.getRandomValues=="function")try{return i.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof i.randomBytes=="function")try{return i.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},o=Object.create||(function(){function t(){}return function(r){var p;return t.prototype=r,p=new t,t.prototype=null,p}})(),c={},h=c.lib={},d=h.Base=(function(){return {extend:function(t){var r=o(this);return t&&r.mixIn(t),(!r.hasOwnProperty("init")||this.init===r.init)&&(r.init=function(){r.$super.init.apply(this,arguments);}),r.init.prototype=r,r.$super=this,r},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var r in t)t.hasOwnProperty(r)&&(this[r]=t[r]);t.hasOwnProperty("toString")&&(this.toString=t.toString);},clone:function(){return this.init.prototype.extend(this)}}})(),u=h.WordArray=d.extend({init:function(t,r){t=this.words=t||[],r!=a?this.sigBytes=r:this.sigBytes=t.length*4;},toString:function(t){return (t||l).stringify(this)},concat:function(t){var r=this.words,p=t.words,f=this.sigBytes,g=t.sigBytes;if(this.clamp(),f%4)for(var v=0;v<g;v++){var k=p[v>>>2]>>>24-v%4*8&255;r[f+v>>>2]|=k<<24-(f+v)%4*8;}else for(var O=0;O<g;O+=4)r[f+O>>>2]=p[O>>>2];return this.sigBytes+=g,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4);},clone:function(){var t=d.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var r=[],p=0;p<t;p+=4)r.push(n());return new u.init(r,t)}}),m=c.enc={},l=m.Hex={stringify:function(t){for(var r=t.words,p=t.sigBytes,f=[],g=0;g<p;g++){var v=r[g>>>2]>>>24-g%4*8&255;f.push((v>>>4).toString(16)),f.push((v&15).toString(16));}return f.join("")},parse:function(t){for(var r=t.length,p=[],f=0;f<r;f+=2)p[f>>>3]|=parseInt(t.substr(f,2),16)<<24-f%8*4;return new u.init(p,r/2)}},A=m.Latin1={stringify:function(t){for(var r=t.words,p=t.sigBytes,f=[],g=0;g<p;g++){var v=r[g>>>2]>>>24-g%4*8&255;f.push(String.fromCharCode(v));}return f.join("")},parse:function(t){for(var r=t.length,p=[],f=0;f<r;f++)p[f>>>2]|=(t.charCodeAt(f)&255)<<24-f%4*8;return new u.init(p,r)}},b=m.Utf8={stringify:function(t){try{return decodeURIComponent(escape(A.stringify(t)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(t){return A.parse(unescape(encodeURIComponent(t)))}},x=h.BufferedBlockAlgorithm=d.extend({reset:function(){this._data=new u.init,this._nDataBytes=0;},_append:function(t){typeof t=="string"&&(t=b.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes;},_process:function(t){var r,p=this._data,f=p.words,g=p.sigBytes,v=this.blockSize,k=v*4,O=g/k;t?O=e.ceil(O):O=e.max((O|0)-this._minBufferSize,0);var S=O*v,_=e.min(S*4,g);if(S){for(var E=0;E<S;E+=v)this._doProcessBlock(f,E);r=f.splice(0,S),p.sigBytes-=_;}return new u.init(r,_)},clone:function(){var t=d.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});h.Hasher=x.extend({cfg:d.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset();},reset:function(){x.reset.call(this),this._doReset();},update:function(t){return this._append(t),this._process(),this},finalize:function(t){t&&this._append(t);var r=this._doFinalize();return r},blockSize:512/32,_createHelper:function(t){return function(r,p){return new t.init(p).finalize(r)}},_createHmacHelper:function(t){return function(r,p){return new y.HMAC.init(t,p).finalize(r)}}});var y=c.algo={};return c})(Math);return s});});var $=D((R,N)=>{(function(s,e){typeof R=="object"?N.exports=R=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(s.CryptoJS);})(R,function(s){return (function(){var e=s,a=e.lib,i=a.WordArray,n=a.Hasher,o=e.algo,c=[],h=o.SHA1=n.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520]);},_doProcessBlock:function(d,u){for(var m=this._hash.words,l=m[0],A=m[1],b=m[2],x=m[3],T=m[4],y=0;y<80;y++){if(y<16)c[y]=d[u+y]|0;else {var t=c[y-3]^c[y-8]^c[y-14]^c[y-16];c[y]=t<<1|t>>>31;}var r=(l<<5|l>>>27)+T+c[y];y<20?r+=(A&b|~A&x)+1518500249:y<40?r+=(A^b^x)+1859775393:y<60?r+=(A&b|A&x|b&x)-1894007588:r+=(A^b^x)-899497514,T=x,x=b,b=A<<30|A>>>2,A=l,l=r;}m[0]=m[0]+l|0,m[1]=m[1]+A|0,m[2]=m[2]+b|0,m[3]=m[3]+x|0,m[4]=m[4]+T|0;},_doFinalize:function(){var d=this._data,u=d.words,m=this._nDataBytes*8,l=d.sigBytes*8;return u[l>>>5]|=128<<24-l%32,u[(l+64>>>9<<4)+14]=Math.floor(m/4294967296),u[(l+64>>>9<<4)+15]=m,d.sigBytes=u.length*4,this._process(),this._hash},clone:function(){var d=n.clone.call(this);return d._hash=this._hash.clone(),d}});e.SHA1=n._createHelper(h),e.HmacSHA1=n._createHmacHelper(h);})(),s.SHA1});});var j=s=>e=>{let a=({lastTime:i})=>e(i);return {start:(i=true)=>{s.add(a),s.start();},stop:()=>s.remove(a),now:()=>s.lastTime}};function B(s,e,a){if(Array.isArray(s)&&Array.isArray(s[0])){e&&"repeat"in e&&e?.repeat===null&&(e.repeat=1/0),s.forEach(c=>{if(Array.isArray(c)&&c.length===3){let[h,d,u]=c;u&&"repeat"in u&&u?.repeat===null&&(u.repeat=1/0);}});let{ticker:i=new H__default.default.Ticker,driver:n=j(i),...o}=e||{};return motion.animate(s,{driver:n,...o})}else {a&&"repeat"in a&&a?.repeat===null&&(a.repeat=1/0);let{ticker:i=new H__default.default.Ticker,driver:n=j(i),...o}=a||{};return motion.animate(s,e,{driver:n,...o})}}function rt(s,e){let{ticker:a=new H__default.default.Ticker,driver:i=j(a),repeat:n,...o}=e||{},c={x:0},h=[],d=[],u=0;s.forEach((b,x)=>{let{onComplete:T,onPlay:y,delay:t=0,duration:r=.3,...p}=b,f=typeof t=="function"?t(0,1):t,g=u+f,v=g+r;h.push({start:g,end:v,onPlay:y,onComplete:T}),d.push([c,{x:x+1},{...p,delay:t,duration:r}]),u=v;});let m=u,l=B(d,{...o,repeat:n,driver:i});if(h.length>0&&m>0){let k=function(){if(r)return;for(t+=a.deltaMS/1e3;!r&&t>=m;){if(f(),y++,y>=x){v();return}t-=m;}let S=g(t);S===-1?T>=0&&f():S!==T&&p(S);};let b=n===null?1/0:n,x=b===void 0?1:b+1,T=-1,y=0,t=0,r=false,p=S=>{T>=0&&h[T].onComplete?.(),T=S,h[T].onPlay?.();},f=()=>{T>=0&&h[T].onComplete?.(),T=-1;},g=S=>{for(let _=0;_<h.length;_++){if(S<h[_].start)return -1;if(S<h[_].end)return _}return h.length-1},v=()=>{r=true,a.remove(k);};a.add(k);let O=l.stop.bind(l);l.stop=()=>{v(),O();};}return l}var L=it($());var C=class{constructor(e,a){let{duration:i,priority:n,id:o=this.generateTickerId(a),canvasElementAliases:c=[]}=a||{};this._args=e,this.duration=i,this.priority=n,this.id=o,this.canvasElementAliases=c;}id;_args;get args(){return {...this._args,time:this._animation?.time}}duration;priority;ticker=new H__default.default.Ticker;_animation;stopped=false;_paused=false;canvasElementAliases=[];getItemByAlias(e){if(!this.canvasElementAliases.includes(e))return;let a=canvas.canvas.find(e);if(a)return a}generateTickerId(...e){try{return (0,L.default)(JSON.stringify(e)).toString()+"_motion_"+Math.random().toString(36).substring(7)}catch(a){throw new core.PixiError("not_json_serializable",`Error to generate ticker id: ${a}`)}}timeout=50;async complete(){this.animation.complete(),await new Promise(e=>setTimeout(e,this.timeout));}stop(){this.stopped=true,this.animation.stop();}start(){this.args.options?.autoplay!==false&&(this._paused=false,this.animation.play());}onComplete=()=>{let e=this.id,a=this._args.options?.aliasToRemoveAfter||[];typeof a=="string"&&(a=[a]);let i=this._args.options?.tickerAliasToResume||[];typeof i=="string"&&(i=[i]);let n=this._args.options?.tickerIdToResume||[];typeof n=="string"&&(n=[n]),canvas.canvas.onTickerComplete(e,{aliasToRemoveAfter:a,tickerAliasToResume:i,tickerIdToResume:n,stopTicker:false});};createItem(e){return new Proxy({alias:e},{set:({alias:a},i,n)=>{if(this.stopped||this._paused||this._args.startState&&this._args.startState[i]===n)return true;let o=this.getItemByAlias(a);if(!o)return true;switch(i){case "pivotX":o.pivot.x=n;break;case "pivotY":o.pivot.y=n;break;case "scaleX":o.scale.x=n;break;case "scaleY":o.scale.y=n;break;default:o[i]=n;break}return true},get:({alias:a},i)=>{if(this._args.startState||(this._args.startState={}),i in this._args.startState)return this._args.startState[i];let n=this.getItemByAlias(a);if(!n)return;let o;switch(i){case "pivotX":o=n.pivot.x;break;case "pivotY":o=n.pivot.y;break;case "scaleX":o=n.scale.x;break;case "scaleY":o=n.scale.y;break;default:o=n[i];break}return this._args.startState={...this._args.startState,[i]:o},o},has:({alias:a},i)=>{let n=this.getItemByAlias(a);if(!n)return false;switch(i){case "pivotX":return "pivot"in n&&"x"in n.pivot;case "pivotY":return "pivot"in n&&"y"in n.pivot;case "scaleX":return "scale"in n&&"x"in n.scale;case "scaleY":return "scale"in n&&"y"in n.scale;default:return i in n}},ownKeys:({alias:a})=>{let i=this.getItemByAlias(a);return i?Object.keys(i):[]}})}pause(){this.animation&&(this._paused=true,this.animation.pause());}play(){this._paused=false,this.animation.play();}get paused(){return this.animation?this.animation.state==="paused":true}};var I=class extends C{get animation(){let e=this._animation;if(e)return e;let a=this.canvasElementAliases[0],i=this.createItem(a),n=this._args.sequence.map((o,c)=>[i,o[0],{...o[1]||{},ticker:this.ticker,onComplete:c===this._args.sequence.length-1?()=>this.onComplete():void 0}]);return e=B(n,this._args.options),this._args.time&&(this.animation.time=this._args.time),this._animation=e,e}alias="motion-sequence"};var w=class extends C{get animation(){let e=this._animation;if(e)return e;let a=this.canvasElementAliases.map(i=>this.createItem(i));return e=B(a,this._args.keyframes,{...this._args.options,onComplete:()=>this.onComplete(),ticker:this.ticker}),this._args.time&&(e.time=this._args.time),this._animation=e,e}alias="motion"};var P;(n=>(n.log=(o,...c)=>console.log(`[Pixi\u2019VN] ${o}`,...c),n.warn=(o,...c)=>console.warn(`[Pixi\u2019VN] ${o}`,...c),n.error=(o,...c)=>console.error(`[Pixi\u2019VN] ${o}`,...c),n.info=(o,...c)=>console.info(`[Pixi\u2019VN] ${o}`,...c)))(P||={});function M(s){try{if(typeof s>"u")return s;let e=JSON.stringify(s);return JSON.parse(e)}catch(e){throw P.error("Error creating exportable element",s,e),new core.PixiError("not_json_serializable","Error creating exportable element")}}var F;(e=>{function s(a,i,n,o){try{i=M(i);}catch(l){throw P.error("animate keyframes cannot contain functions or classes"),l}try{n=M(n);}catch(l){throw P.error("animate options cannot contain functions or classes"),l}let c=[];typeof a=="string"?c=[a]:Array.isArray(a)?c=a.map(l=>typeof l=="string"?l:l.label):c=[a.label];let h;Array.isArray(i)?h=new I({sequence:i,options:n},{priority:o,canvasElementAliases:c}):h=new w({keyframes:i,options:n},{priority:o,canvasElementAliases:c});let d=canvas.canvas.addTicker(c,h),{forceCompleteBeforeNext:u}=n||{},{completeOnContinue:m=u}=n||{};return d&&m&&canvas.canvas.completeTickerOnStepEnd({id:d}),d}e.animate=s;})(F||={});var ct=F;canvas.RegisteredTickers.add(w,"motion");canvas.RegisteredTickers.add(I,"motion-sequence");exports.animate=B;exports.motion=ct;exports.motionDriver=j;exports.timeline=rt;
1
+ 'use strict';var canvas=require('@drincs/pixi-vn/canvas'),H=require('@drincs/pixi-vn/pixi.js'),motion=require('motion'),core=require('@drincs/pixi-vn/core');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var H__default=/*#__PURE__*/_interopDefault(H);var G=Object.create;var z=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var Z=Object.getOwnPropertyNames;var tt=Object.getPrototypeOf,et=Object.prototype.hasOwnProperty;var q=(s=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(s,{get:(e,a)=>(typeof require<"u"?require:e)[a]}):s)(function(s){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+s+'" is not supported')});var D=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports);var nt=(s,e,a,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Z(e))!et.call(s,n)&&n!==a&&z(s,n,{get:()=>e[n],enumerable:!(i=Q(e,n))||i.enumerable});return s};var it=(s,e,a)=>(a=s!=null?G(tt(s)):{},nt(z(a,"default",{value:s,enumerable:true}),s));var X=D((W,U)=>{(function(s,e){typeof W=="object"?U.exports=W=e():typeof define=="function"&&define.amd?define([],e):s.CryptoJS=e();})(W,function(){var s=s||(function(e,a){var i;if(typeof window<"u"&&window.crypto&&(i=window.crypto),typeof self<"u"&&self.crypto&&(i=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(i=globalThis.crypto),!i&&typeof window<"u"&&window.msCrypto&&(i=window.msCrypto),!i&&typeof global<"u"&&global.crypto&&(i=global.crypto),!i&&typeof q=="function")try{i=q("crypto");}catch{}var n=function(){if(i){if(typeof i.getRandomValues=="function")try{return i.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof i.randomBytes=="function")try{return i.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},o=Object.create||(function(){function t(){}return function(r){var m;return t.prototype=r,m=new t,t.prototype=null,m}})(),c={},u=c.lib={},h=u.Base=(function(){return {extend:function(t){var r=o(this);return t&&r.mixIn(t),(!r.hasOwnProperty("init")||this.init===r.init)&&(r.init=function(){r.$super.init.apply(this,arguments);}),r.init.prototype=r,r.$super=this,r},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var r in t)t.hasOwnProperty(r)&&(this[r]=t[r]);t.hasOwnProperty("toString")&&(this.toString=t.toString);},clone:function(){return this.init.prototype.extend(this)}}})(),l=u.WordArray=h.extend({init:function(t,r){t=this.words=t||[],r!=a?this.sigBytes=r:this.sigBytes=t.length*4;},toString:function(t){return (t||v).stringify(this)},concat:function(t){var r=this.words,m=t.words,p=this.sigBytes,y=t.sigBytes;if(this.clamp(),p%4)for(var g=0;g<y;g++){var k=m[g>>>2]>>>24-g%4*8&255;r[p+g>>>2]|=k<<24-(p+g)%4*8;}else for(var O=0;O<y;O+=4)r[p+O>>>2]=m[O>>>2];return this.sigBytes+=y,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4);},clone:function(){var t=h.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var r=[],m=0;m<t;m+=4)r.push(n());return new l.init(r,t)}}),f=c.enc={},v=f.Hex={stringify:function(t){for(var r=t.words,m=t.sigBytes,p=[],y=0;y<m;y++){var g=r[y>>>2]>>>24-y%4*8&255;p.push((g>>>4).toString(16)),p.push((g&15).toString(16));}return p.join("")},parse:function(t){for(var r=t.length,m=[],p=0;p<r;p+=2)m[p>>>3]|=parseInt(t.substr(p,2),16)<<24-p%8*4;return new l.init(m,r/2)}},A=f.Latin1={stringify:function(t){for(var r=t.words,m=t.sigBytes,p=[],y=0;y<m;y++){var g=r[y>>>2]>>>24-y%4*8&255;p.push(String.fromCharCode(g));}return p.join("")},parse:function(t){for(var r=t.length,m=[],p=0;p<r;p++)m[p>>>2]|=(t.charCodeAt(p)&255)<<24-p%4*8;return new l.init(m,r)}},b=f.Utf8={stringify:function(t){try{return decodeURIComponent(escape(A.stringify(t)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(t){return A.parse(unescape(encodeURIComponent(t)))}},x=u.BufferedBlockAlgorithm=h.extend({reset:function(){this._data=new l.init,this._nDataBytes=0;},_append:function(t){typeof t=="string"&&(t=b.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes;},_process:function(t){var r,m=this._data,p=m.words,y=m.sigBytes,g=this.blockSize,k=g*4,O=y/k;t?O=e.ceil(O):O=e.max((O|0)-this._minBufferSize,0);var S=O*g,_=e.min(S*4,y);if(S){for(var E=0;E<S;E+=g)this._doProcessBlock(p,E);r=p.splice(0,S),m.sigBytes-=_;}return new l.init(r,_)},clone:function(){var t=h.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});u.Hasher=x.extend({cfg:h.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset();},reset:function(){x.reset.call(this),this._doReset();},update:function(t){return this._append(t),this._process(),this},finalize:function(t){t&&this._append(t);var r=this._doFinalize();return r},blockSize:512/32,_createHelper:function(t){return function(r,m){return new t.init(m).finalize(r)}},_createHmacHelper:function(t){return function(r,m){return new d.HMAC.init(t,m).finalize(r)}}});var d=c.algo={};return c})(Math);return s});});var K=D((R,$)=>{(function(s,e){typeof R=="object"?$.exports=R=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(s.CryptoJS);})(R,function(s){return (function(){var e=s,a=e.lib,i=a.WordArray,n=a.Hasher,o=e.algo,c=[],u=o.SHA1=n.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520]);},_doProcessBlock:function(h,l){for(var f=this._hash.words,v=f[0],A=f[1],b=f[2],x=f[3],T=f[4],d=0;d<80;d++){if(d<16)c[d]=h[l+d]|0;else {var t=c[d-3]^c[d-8]^c[d-14]^c[d-16];c[d]=t<<1|t>>>31;}var r=(v<<5|v>>>27)+T+c[d];d<20?r+=(A&b|~A&x)+1518500249:d<40?r+=(A^b^x)+1859775393:d<60?r+=(A&b|A&x|b&x)-1894007588:r+=(A^b^x)-899497514,T=x,x=b,b=A<<30|A>>>2,A=v,v=r;}f[0]=f[0]+v|0,f[1]=f[1]+A|0,f[2]=f[2]+b|0,f[3]=f[3]+x|0,f[4]=f[4]+T|0;},_doFinalize:function(){var h=this._data,l=h.words,f=this._nDataBytes*8,v=h.sigBytes*8;return l[v>>>5]|=128<<24-v%32,l[(v+64>>>9<<4)+14]=Math.floor(f/4294967296),l[(v+64>>>9<<4)+15]=f,h.sigBytes=l.length*4,this._process(),this._hash},clone:function(){var h=n.clone.call(this);return h._hash=this._hash.clone(),h}});e.SHA1=n._createHelper(u),e.HmacSHA1=n._createHmacHelper(u);})(),s.SHA1});});var j=s=>e=>{let a=({lastTime:i})=>e(i);return {start:(i=true)=>{s.add(a),s.start();},stop:()=>s.remove(a),now:()=>s.lastTime}};function B(s,e,a){if(Array.isArray(s)&&Array.isArray(s[0])){e&&"repeat"in e&&e?.repeat===null&&(e.repeat=1/0),s.forEach(c=>{if(Array.isArray(c)&&c.length===3){let[u,h,l]=c;l&&"repeat"in l&&l?.repeat===null&&(l.repeat=1/0);}});let{ticker:i=new H__default.default.Ticker,driver:n=j(i),...o}=e||{};return motion.animate(s,{driver:n,...o})}else {a&&"repeat"in a&&a?.repeat===null&&(a.repeat=1/0);let{ticker:i=new H__default.default.Ticker,driver:n=j(i),...o}=a||{};return motion.animate(s,e,{driver:n,...o})}}function rt(s,e){let{ticker:a=new H__default.default.Ticker,driver:i=j(a),repeat:n,...o}=e||{},c={x:0},u=[],h=[],l=0;s.forEach((b,x)=>{let{onComplete:T,onPlay:d,delay:t=0,duration:r=.3,...m}=b,p=typeof t=="function"?t(0,1):t,y=l+p,g=y+r;u.push({start:y,end:g,onPlay:d,onComplete:T}),h.push([c,{x:x+1},{...m,delay:t,duration:r}]),l=g;});let f=l,v=B(h,{...o,repeat:n,driver:i});if(u.length>0&&f>0){let k=function(){if(r)return;for(t+=a.deltaMS/1e3;!r&&t>=f;){if(p(),d++,d>=x){g();return}t-=f;}let S=y(t);S===-1?T>=0&&p():S!==T&&m(S);};let b=n===null?1/0:n,x=b===void 0?1:b+1,T=-1,d=0,t=0,r=false,m=S=>{T>=0&&u[T].onComplete?.(),T=S,u[T].onPlay?.();},p=()=>{T>=0&&u[T].onComplete?.(),T=-1;},y=S=>{for(let _=0;_<u.length;_++){if(S<u[_].start)return -1;if(S<u[_].end)return _}return u.length-1},g=()=>{r=true,a.remove(k);};a.add(k);let O=v.stop.bind(v);v.stop=()=>{g(),O();};}return v}var N=it(K());var C=class{constructor(e,a){let{duration:i,priority:n,id:o=this.generateTickerId(a),canvasElementAliases:c=[]}=a||{};this._args=e,this.duration=i,this.priority=n,this.id=o,this.canvasElementAliases=c;}id;_args;get args(){return {...this._args,time:this._animation?.time}}duration;priority;ticker=new H__default.default.Ticker;_animation;stopped=false;_paused=false;canvasElementAliases=[];getItemByAlias(e){if(!this.canvasElementAliases.includes(e))return;let a=canvas.canvas.find(e);if(a)return a}generateTickerId(...e){try{return (0,N.default)(JSON.stringify(e)).toString()+"_motion_"+Math.random().toString(36).substring(7)}catch(a){throw new core.PixiError("not_json_serializable",`Error to generate ticker id: ${a}`)}}timeout=50;async complete(){this.animation.complete(),await new Promise(e=>setTimeout(e,this.timeout));}stop(){this.stopped=true,this.animation.stop();}start(){this.args.options?.autoplay!==false&&(this._paused=false,this.animation.play());}onComplete=()=>{let e=this.id,a=this._args.options?.aliasToRemoveAfter||[];typeof a=="string"&&(a=[a]);let i=this._args.options?.tickerAliasToResume||[];typeof i=="string"&&(i=[i]);let n=this._args.options?.tickerIdToResume||[];typeof n=="string"&&(n=[n]),canvas.canvas.tickers.onComplete(e,{aliasToRemoveAfter:a,tickerAliasToResume:i,tickerIdToResume:n,stopTicker:false});};createItem(e){return new Proxy({alias:e},{set:({alias:a},i,n)=>{if(this.stopped||this._paused||this._args.startState&&this._args.startState[i]===n)return true;let o=this.getItemByAlias(a);if(!o)return true;switch(i){case "pivotX":o.pivot.x=n;break;case "pivotY":o.pivot.y=n;break;case "scaleX":o.scale.x=n;break;case "scaleY":o.scale.y=n;break;default:o[i]=n;break}return true},get:({alias:a},i)=>{if(this._args.startState||(this._args.startState={}),i in this._args.startState)return this._args.startState[i];let n=this.getItemByAlias(a);if(!n)return;let o;switch(i){case "pivotX":o=n.pivot.x;break;case "pivotY":o=n.pivot.y;break;case "scaleX":o=n.scale.x;break;case "scaleY":o=n.scale.y;break;default:o=n[i];break}return this._args.startState={...this._args.startState,[i]:o},o},has:({alias:a},i)=>{let n=this.getItemByAlias(a);if(!n)return false;switch(i){case "pivotX":return "pivot"in n&&"x"in n.pivot;case "pivotY":return "pivot"in n&&"y"in n.pivot;case "scaleX":return "scale"in n&&"x"in n.scale;case "scaleY":return "scale"in n&&"y"in n.scale;default:return i in n}},ownKeys:({alias:a})=>{let i=this.getItemByAlias(a);return i?Object.keys(i):[]}})}pause(){this.animation&&(this._paused=true,this.animation.pause());}play(){this._paused=false,this.animation.play();}get paused(){return this.animation?this.animation.state==="paused":true}};var I=class extends C{get animation(){let e=this._animation;if(e)return e;let a=this.canvasElementAliases[0],i=this.createItem(a),n=this._args.sequence.map((o,c)=>[i,o[0],{...o[1]||{},ticker:this.ticker,onComplete:c===this._args.sequence.length-1?()=>this.onComplete():void 0}]);return e=B(n,this._args.options),this._args.time&&(this.animation.time=this._args.time),this._animation=e,e}alias="motion-sequence"};var w=class extends C{get animation(){let e=this._animation;if(e)return e;let a=this.canvasElementAliases.map(i=>this.createItem(i));return e=B(a,this._args.keyframes,{...this._args.options,onComplete:()=>this.onComplete(),ticker:this.ticker}),this._args.time&&(e.time=this._args.time),this._animation=e,e}alias="motion"};var P;(n=>(n.log=(o,...c)=>console.log(`[Pixi\u2019VN] ${o}`,...c),n.warn=(o,...c)=>console.warn(`[Pixi\u2019VN] ${o}`,...c),n.error=(o,...c)=>console.error(`[Pixi\u2019VN] ${o}`,...c),n.info=(o,...c)=>console.info(`[Pixi\u2019VN] ${o}`,...c)))(P||={});function M(s){try{if(typeof s>"u")return s;let e=JSON.stringify(s);return JSON.parse(e)}catch(e){throw P.error("Error creating exportable element",s,e),new core.PixiError("not_json_serializable","Error creating exportable element")}}var F;(e=>{function s(a,i,n,o){try{i=M(i);}catch(f){throw P.error("animate keyframes cannot contain functions or classes"),f}try{n=M(n);}catch(f){throw P.error("animate options cannot contain functions or classes"),f}let c=[];typeof a=="string"?c=[a]:Array.isArray(a)?c=a.map(f=>typeof f=="string"?f:f.label):c=[a.label];let u;Array.isArray(i)?u=new I({sequence:i,options:n},{priority:o,canvasElementAliases:c}):u=new w({keyframes:i,options:n},{priority:o,canvasElementAliases:c});let h=canvas.canvas.tickers.add(c,u),{completeOnContinue:l}=n||{};return h&&l&&canvas.canvas.tickers.completeOnStepEnd({id:h}),h}e.animate=s;})(F||={});var ct=F;canvas.RegisteredTickers.add(w,"motion");canvas.RegisteredTickers.add(I,"motion-sequence");exports.animate=B;exports.motion=ct;exports.motionDriver=j;exports.timeline=rt;
package/dist/motion.mjs CHANGED
@@ -1 +1 @@
1
- import {RegisteredTickers,canvas}from'@drincs/pixi-vn/canvas';import H from'@drincs/pixi-vn/pixi.js';import {animate}from'motion';import {PixiError}from'@drincs/pixi-vn/core';var G=Object.create;var z=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var Z=Object.getOwnPropertyNames;var tt=Object.getPrototypeOf,et=Object.prototype.hasOwnProperty;var q=(s=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(s,{get:(e,a)=>(typeof require<"u"?require:e)[a]}):s)(function(s){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+s+'" is not supported')});var D=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports);var nt=(s,e,a,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Z(e))!et.call(s,n)&&n!==a&&z(s,n,{get:()=>e[n],enumerable:!(i=Q(e,n))||i.enumerable});return s};var it=(s,e,a)=>(a=s!=null?G(tt(s)):{},nt(z(a,"default",{value:s,enumerable:true}),s));var X=D((W,U)=>{(function(s,e){typeof W=="object"?U.exports=W=e():typeof define=="function"&&define.amd?define([],e):s.CryptoJS=e();})(W,function(){var s=s||(function(e,a){var i;if(typeof window<"u"&&window.crypto&&(i=window.crypto),typeof self<"u"&&self.crypto&&(i=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(i=globalThis.crypto),!i&&typeof window<"u"&&window.msCrypto&&(i=window.msCrypto),!i&&typeof global<"u"&&global.crypto&&(i=global.crypto),!i&&typeof q=="function")try{i=q("crypto");}catch{}var n=function(){if(i){if(typeof i.getRandomValues=="function")try{return i.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof i.randomBytes=="function")try{return i.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},o=Object.create||(function(){function t(){}return function(r){var p;return t.prototype=r,p=new t,t.prototype=null,p}})(),c={},h=c.lib={},d=h.Base=(function(){return {extend:function(t){var r=o(this);return t&&r.mixIn(t),(!r.hasOwnProperty("init")||this.init===r.init)&&(r.init=function(){r.$super.init.apply(this,arguments);}),r.init.prototype=r,r.$super=this,r},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var r in t)t.hasOwnProperty(r)&&(this[r]=t[r]);t.hasOwnProperty("toString")&&(this.toString=t.toString);},clone:function(){return this.init.prototype.extend(this)}}})(),u=h.WordArray=d.extend({init:function(t,r){t=this.words=t||[],r!=a?this.sigBytes=r:this.sigBytes=t.length*4;},toString:function(t){return (t||l).stringify(this)},concat:function(t){var r=this.words,p=t.words,f=this.sigBytes,g=t.sigBytes;if(this.clamp(),f%4)for(var v=0;v<g;v++){var k=p[v>>>2]>>>24-v%4*8&255;r[f+v>>>2]|=k<<24-(f+v)%4*8;}else for(var O=0;O<g;O+=4)r[f+O>>>2]=p[O>>>2];return this.sigBytes+=g,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4);},clone:function(){var t=d.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var r=[],p=0;p<t;p+=4)r.push(n());return new u.init(r,t)}}),m=c.enc={},l=m.Hex={stringify:function(t){for(var r=t.words,p=t.sigBytes,f=[],g=0;g<p;g++){var v=r[g>>>2]>>>24-g%4*8&255;f.push((v>>>4).toString(16)),f.push((v&15).toString(16));}return f.join("")},parse:function(t){for(var r=t.length,p=[],f=0;f<r;f+=2)p[f>>>3]|=parseInt(t.substr(f,2),16)<<24-f%8*4;return new u.init(p,r/2)}},A=m.Latin1={stringify:function(t){for(var r=t.words,p=t.sigBytes,f=[],g=0;g<p;g++){var v=r[g>>>2]>>>24-g%4*8&255;f.push(String.fromCharCode(v));}return f.join("")},parse:function(t){for(var r=t.length,p=[],f=0;f<r;f++)p[f>>>2]|=(t.charCodeAt(f)&255)<<24-f%4*8;return new u.init(p,r)}},b=m.Utf8={stringify:function(t){try{return decodeURIComponent(escape(A.stringify(t)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(t){return A.parse(unescape(encodeURIComponent(t)))}},x=h.BufferedBlockAlgorithm=d.extend({reset:function(){this._data=new u.init,this._nDataBytes=0;},_append:function(t){typeof t=="string"&&(t=b.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes;},_process:function(t){var r,p=this._data,f=p.words,g=p.sigBytes,v=this.blockSize,k=v*4,O=g/k;t?O=e.ceil(O):O=e.max((O|0)-this._minBufferSize,0);var S=O*v,_=e.min(S*4,g);if(S){for(var E=0;E<S;E+=v)this._doProcessBlock(f,E);r=f.splice(0,S),p.sigBytes-=_;}return new u.init(r,_)},clone:function(){var t=d.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});h.Hasher=x.extend({cfg:d.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset();},reset:function(){x.reset.call(this),this._doReset();},update:function(t){return this._append(t),this._process(),this},finalize:function(t){t&&this._append(t);var r=this._doFinalize();return r},blockSize:512/32,_createHelper:function(t){return function(r,p){return new t.init(p).finalize(r)}},_createHmacHelper:function(t){return function(r,p){return new y.HMAC.init(t,p).finalize(r)}}});var y=c.algo={};return c})(Math);return s});});var $=D((R,N)=>{(function(s,e){typeof R=="object"?N.exports=R=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(s.CryptoJS);})(R,function(s){return (function(){var e=s,a=e.lib,i=a.WordArray,n=a.Hasher,o=e.algo,c=[],h=o.SHA1=n.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520]);},_doProcessBlock:function(d,u){for(var m=this._hash.words,l=m[0],A=m[1],b=m[2],x=m[3],T=m[4],y=0;y<80;y++){if(y<16)c[y]=d[u+y]|0;else {var t=c[y-3]^c[y-8]^c[y-14]^c[y-16];c[y]=t<<1|t>>>31;}var r=(l<<5|l>>>27)+T+c[y];y<20?r+=(A&b|~A&x)+1518500249:y<40?r+=(A^b^x)+1859775393:y<60?r+=(A&b|A&x|b&x)-1894007588:r+=(A^b^x)-899497514,T=x,x=b,b=A<<30|A>>>2,A=l,l=r;}m[0]=m[0]+l|0,m[1]=m[1]+A|0,m[2]=m[2]+b|0,m[3]=m[3]+x|0,m[4]=m[4]+T|0;},_doFinalize:function(){var d=this._data,u=d.words,m=this._nDataBytes*8,l=d.sigBytes*8;return u[l>>>5]|=128<<24-l%32,u[(l+64>>>9<<4)+14]=Math.floor(m/4294967296),u[(l+64>>>9<<4)+15]=m,d.sigBytes=u.length*4,this._process(),this._hash},clone:function(){var d=n.clone.call(this);return d._hash=this._hash.clone(),d}});e.SHA1=n._createHelper(h),e.HmacSHA1=n._createHmacHelper(h);})(),s.SHA1});});var j=s=>e=>{let a=({lastTime:i})=>e(i);return {start:(i=true)=>{s.add(a),s.start();},stop:()=>s.remove(a),now:()=>s.lastTime}};function B(s,e,a){if(Array.isArray(s)&&Array.isArray(s[0])){e&&"repeat"in e&&e?.repeat===null&&(e.repeat=1/0),s.forEach(c=>{if(Array.isArray(c)&&c.length===3){let[h,d,u]=c;u&&"repeat"in u&&u?.repeat===null&&(u.repeat=1/0);}});let{ticker:i=new H.Ticker,driver:n=j(i),...o}=e||{};return animate(s,{driver:n,...o})}else {a&&"repeat"in a&&a?.repeat===null&&(a.repeat=1/0);let{ticker:i=new H.Ticker,driver:n=j(i),...o}=a||{};return animate(s,e,{driver:n,...o})}}function rt(s,e){let{ticker:a=new H.Ticker,driver:i=j(a),repeat:n,...o}=e||{},c={x:0},h=[],d=[],u=0;s.forEach((b,x)=>{let{onComplete:T,onPlay:y,delay:t=0,duration:r=.3,...p}=b,f=typeof t=="function"?t(0,1):t,g=u+f,v=g+r;h.push({start:g,end:v,onPlay:y,onComplete:T}),d.push([c,{x:x+1},{...p,delay:t,duration:r}]),u=v;});let m=u,l=B(d,{...o,repeat:n,driver:i});if(h.length>0&&m>0){let k=function(){if(r)return;for(t+=a.deltaMS/1e3;!r&&t>=m;){if(f(),y++,y>=x){v();return}t-=m;}let S=g(t);S===-1?T>=0&&f():S!==T&&p(S);};let b=n===null?1/0:n,x=b===void 0?1:b+1,T=-1,y=0,t=0,r=false,p=S=>{T>=0&&h[T].onComplete?.(),T=S,h[T].onPlay?.();},f=()=>{T>=0&&h[T].onComplete?.(),T=-1;},g=S=>{for(let _=0;_<h.length;_++){if(S<h[_].start)return -1;if(S<h[_].end)return _}return h.length-1},v=()=>{r=true,a.remove(k);};a.add(k);let O=l.stop.bind(l);l.stop=()=>{v(),O();};}return l}var L=it($());var C=class{constructor(e,a){let{duration:i,priority:n,id:o=this.generateTickerId(a),canvasElementAliases:c=[]}=a||{};this._args=e,this.duration=i,this.priority=n,this.id=o,this.canvasElementAliases=c;}id;_args;get args(){return {...this._args,time:this._animation?.time}}duration;priority;ticker=new H.Ticker;_animation;stopped=false;_paused=false;canvasElementAliases=[];getItemByAlias(e){if(!this.canvasElementAliases.includes(e))return;let a=canvas.find(e);if(a)return a}generateTickerId(...e){try{return (0,L.default)(JSON.stringify(e)).toString()+"_motion_"+Math.random().toString(36).substring(7)}catch(a){throw new PixiError("not_json_serializable",`Error to generate ticker id: ${a}`)}}timeout=50;async complete(){this.animation.complete(),await new Promise(e=>setTimeout(e,this.timeout));}stop(){this.stopped=true,this.animation.stop();}start(){this.args.options?.autoplay!==false&&(this._paused=false,this.animation.play());}onComplete=()=>{let e=this.id,a=this._args.options?.aliasToRemoveAfter||[];typeof a=="string"&&(a=[a]);let i=this._args.options?.tickerAliasToResume||[];typeof i=="string"&&(i=[i]);let n=this._args.options?.tickerIdToResume||[];typeof n=="string"&&(n=[n]),canvas.onTickerComplete(e,{aliasToRemoveAfter:a,tickerAliasToResume:i,tickerIdToResume:n,stopTicker:false});};createItem(e){return new Proxy({alias:e},{set:({alias:a},i,n)=>{if(this.stopped||this._paused||this._args.startState&&this._args.startState[i]===n)return true;let o=this.getItemByAlias(a);if(!o)return true;switch(i){case "pivotX":o.pivot.x=n;break;case "pivotY":o.pivot.y=n;break;case "scaleX":o.scale.x=n;break;case "scaleY":o.scale.y=n;break;default:o[i]=n;break}return true},get:({alias:a},i)=>{if(this._args.startState||(this._args.startState={}),i in this._args.startState)return this._args.startState[i];let n=this.getItemByAlias(a);if(!n)return;let o;switch(i){case "pivotX":o=n.pivot.x;break;case "pivotY":o=n.pivot.y;break;case "scaleX":o=n.scale.x;break;case "scaleY":o=n.scale.y;break;default:o=n[i];break}return this._args.startState={...this._args.startState,[i]:o},o},has:({alias:a},i)=>{let n=this.getItemByAlias(a);if(!n)return false;switch(i){case "pivotX":return "pivot"in n&&"x"in n.pivot;case "pivotY":return "pivot"in n&&"y"in n.pivot;case "scaleX":return "scale"in n&&"x"in n.scale;case "scaleY":return "scale"in n&&"y"in n.scale;default:return i in n}},ownKeys:({alias:a})=>{let i=this.getItemByAlias(a);return i?Object.keys(i):[]}})}pause(){this.animation&&(this._paused=true,this.animation.pause());}play(){this._paused=false,this.animation.play();}get paused(){return this.animation?this.animation.state==="paused":true}};var I=class extends C{get animation(){let e=this._animation;if(e)return e;let a=this.canvasElementAliases[0],i=this.createItem(a),n=this._args.sequence.map((o,c)=>[i,o[0],{...o[1]||{},ticker:this.ticker,onComplete:c===this._args.sequence.length-1?()=>this.onComplete():void 0}]);return e=B(n,this._args.options),this._args.time&&(this.animation.time=this._args.time),this._animation=e,e}alias="motion-sequence"};var w=class extends C{get animation(){let e=this._animation;if(e)return e;let a=this.canvasElementAliases.map(i=>this.createItem(i));return e=B(a,this._args.keyframes,{...this._args.options,onComplete:()=>this.onComplete(),ticker:this.ticker}),this._args.time&&(e.time=this._args.time),this._animation=e,e}alias="motion"};var P;(n=>(n.log=(o,...c)=>console.log(`[Pixi\u2019VN] ${o}`,...c),n.warn=(o,...c)=>console.warn(`[Pixi\u2019VN] ${o}`,...c),n.error=(o,...c)=>console.error(`[Pixi\u2019VN] ${o}`,...c),n.info=(o,...c)=>console.info(`[Pixi\u2019VN] ${o}`,...c)))(P||={});function M(s){try{if(typeof s>"u")return s;let e=JSON.stringify(s);return JSON.parse(e)}catch(e){throw P.error("Error creating exportable element",s,e),new PixiError("not_json_serializable","Error creating exportable element")}}var F;(e=>{function s(a,i,n,o){try{i=M(i);}catch(l){throw P.error("animate keyframes cannot contain functions or classes"),l}try{n=M(n);}catch(l){throw P.error("animate options cannot contain functions or classes"),l}let c=[];typeof a=="string"?c=[a]:Array.isArray(a)?c=a.map(l=>typeof l=="string"?l:l.label):c=[a.label];let h;Array.isArray(i)?h=new I({sequence:i,options:n},{priority:o,canvasElementAliases:c}):h=new w({keyframes:i,options:n},{priority:o,canvasElementAliases:c});let d=canvas.addTicker(c,h),{forceCompleteBeforeNext:u}=n||{},{completeOnContinue:m=u}=n||{};return d&&m&&canvas.completeTickerOnStepEnd({id:d}),d}e.animate=s;})(F||={});var ct=F;RegisteredTickers.add(w,"motion");RegisteredTickers.add(I,"motion-sequence");export{B as animate,ct as motion,j as motionDriver,rt as timeline};
1
+ import {RegisteredTickers,canvas}from'@drincs/pixi-vn/canvas';import H from'@drincs/pixi-vn/pixi.js';import {animate}from'motion';import {PixiError}from'@drincs/pixi-vn/core';var G=Object.create;var z=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var Z=Object.getOwnPropertyNames;var tt=Object.getPrototypeOf,et=Object.prototype.hasOwnProperty;var q=(s=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(s,{get:(e,a)=>(typeof require<"u"?require:e)[a]}):s)(function(s){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+s+'" is not supported')});var D=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports);var nt=(s,e,a,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Z(e))!et.call(s,n)&&n!==a&&z(s,n,{get:()=>e[n],enumerable:!(i=Q(e,n))||i.enumerable});return s};var it=(s,e,a)=>(a=s!=null?G(tt(s)):{},nt(z(a,"default",{value:s,enumerable:true}),s));var X=D((W,U)=>{(function(s,e){typeof W=="object"?U.exports=W=e():typeof define=="function"&&define.amd?define([],e):s.CryptoJS=e();})(W,function(){var s=s||(function(e,a){var i;if(typeof window<"u"&&window.crypto&&(i=window.crypto),typeof self<"u"&&self.crypto&&(i=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(i=globalThis.crypto),!i&&typeof window<"u"&&window.msCrypto&&(i=window.msCrypto),!i&&typeof global<"u"&&global.crypto&&(i=global.crypto),!i&&typeof q=="function")try{i=q("crypto");}catch{}var n=function(){if(i){if(typeof i.getRandomValues=="function")try{return i.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof i.randomBytes=="function")try{return i.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},o=Object.create||(function(){function t(){}return function(r){var m;return t.prototype=r,m=new t,t.prototype=null,m}})(),c={},u=c.lib={},h=u.Base=(function(){return {extend:function(t){var r=o(this);return t&&r.mixIn(t),(!r.hasOwnProperty("init")||this.init===r.init)&&(r.init=function(){r.$super.init.apply(this,arguments);}),r.init.prototype=r,r.$super=this,r},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var r in t)t.hasOwnProperty(r)&&(this[r]=t[r]);t.hasOwnProperty("toString")&&(this.toString=t.toString);},clone:function(){return this.init.prototype.extend(this)}}})(),l=u.WordArray=h.extend({init:function(t,r){t=this.words=t||[],r!=a?this.sigBytes=r:this.sigBytes=t.length*4;},toString:function(t){return (t||v).stringify(this)},concat:function(t){var r=this.words,m=t.words,p=this.sigBytes,y=t.sigBytes;if(this.clamp(),p%4)for(var g=0;g<y;g++){var k=m[g>>>2]>>>24-g%4*8&255;r[p+g>>>2]|=k<<24-(p+g)%4*8;}else for(var O=0;O<y;O+=4)r[p+O>>>2]=m[O>>>2];return this.sigBytes+=y,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4);},clone:function(){var t=h.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var r=[],m=0;m<t;m+=4)r.push(n());return new l.init(r,t)}}),f=c.enc={},v=f.Hex={stringify:function(t){for(var r=t.words,m=t.sigBytes,p=[],y=0;y<m;y++){var g=r[y>>>2]>>>24-y%4*8&255;p.push((g>>>4).toString(16)),p.push((g&15).toString(16));}return p.join("")},parse:function(t){for(var r=t.length,m=[],p=0;p<r;p+=2)m[p>>>3]|=parseInt(t.substr(p,2),16)<<24-p%8*4;return new l.init(m,r/2)}},A=f.Latin1={stringify:function(t){for(var r=t.words,m=t.sigBytes,p=[],y=0;y<m;y++){var g=r[y>>>2]>>>24-y%4*8&255;p.push(String.fromCharCode(g));}return p.join("")},parse:function(t){for(var r=t.length,m=[],p=0;p<r;p++)m[p>>>2]|=(t.charCodeAt(p)&255)<<24-p%4*8;return new l.init(m,r)}},b=f.Utf8={stringify:function(t){try{return decodeURIComponent(escape(A.stringify(t)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(t){return A.parse(unescape(encodeURIComponent(t)))}},x=u.BufferedBlockAlgorithm=h.extend({reset:function(){this._data=new l.init,this._nDataBytes=0;},_append:function(t){typeof t=="string"&&(t=b.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes;},_process:function(t){var r,m=this._data,p=m.words,y=m.sigBytes,g=this.blockSize,k=g*4,O=y/k;t?O=e.ceil(O):O=e.max((O|0)-this._minBufferSize,0);var S=O*g,_=e.min(S*4,y);if(S){for(var E=0;E<S;E+=g)this._doProcessBlock(p,E);r=p.splice(0,S),m.sigBytes-=_;}return new l.init(r,_)},clone:function(){var t=h.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});u.Hasher=x.extend({cfg:h.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset();},reset:function(){x.reset.call(this),this._doReset();},update:function(t){return this._append(t),this._process(),this},finalize:function(t){t&&this._append(t);var r=this._doFinalize();return r},blockSize:512/32,_createHelper:function(t){return function(r,m){return new t.init(m).finalize(r)}},_createHmacHelper:function(t){return function(r,m){return new d.HMAC.init(t,m).finalize(r)}}});var d=c.algo={};return c})(Math);return s});});var K=D((R,$)=>{(function(s,e){typeof R=="object"?$.exports=R=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(s.CryptoJS);})(R,function(s){return (function(){var e=s,a=e.lib,i=a.WordArray,n=a.Hasher,o=e.algo,c=[],u=o.SHA1=n.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520]);},_doProcessBlock:function(h,l){for(var f=this._hash.words,v=f[0],A=f[1],b=f[2],x=f[3],T=f[4],d=0;d<80;d++){if(d<16)c[d]=h[l+d]|0;else {var t=c[d-3]^c[d-8]^c[d-14]^c[d-16];c[d]=t<<1|t>>>31;}var r=(v<<5|v>>>27)+T+c[d];d<20?r+=(A&b|~A&x)+1518500249:d<40?r+=(A^b^x)+1859775393:d<60?r+=(A&b|A&x|b&x)-1894007588:r+=(A^b^x)-899497514,T=x,x=b,b=A<<30|A>>>2,A=v,v=r;}f[0]=f[0]+v|0,f[1]=f[1]+A|0,f[2]=f[2]+b|0,f[3]=f[3]+x|0,f[4]=f[4]+T|0;},_doFinalize:function(){var h=this._data,l=h.words,f=this._nDataBytes*8,v=h.sigBytes*8;return l[v>>>5]|=128<<24-v%32,l[(v+64>>>9<<4)+14]=Math.floor(f/4294967296),l[(v+64>>>9<<4)+15]=f,h.sigBytes=l.length*4,this._process(),this._hash},clone:function(){var h=n.clone.call(this);return h._hash=this._hash.clone(),h}});e.SHA1=n._createHelper(u),e.HmacSHA1=n._createHmacHelper(u);})(),s.SHA1});});var j=s=>e=>{let a=({lastTime:i})=>e(i);return {start:(i=true)=>{s.add(a),s.start();},stop:()=>s.remove(a),now:()=>s.lastTime}};function B(s,e,a){if(Array.isArray(s)&&Array.isArray(s[0])){e&&"repeat"in e&&e?.repeat===null&&(e.repeat=1/0),s.forEach(c=>{if(Array.isArray(c)&&c.length===3){let[u,h,l]=c;l&&"repeat"in l&&l?.repeat===null&&(l.repeat=1/0);}});let{ticker:i=new H.Ticker,driver:n=j(i),...o}=e||{};return animate(s,{driver:n,...o})}else {a&&"repeat"in a&&a?.repeat===null&&(a.repeat=1/0);let{ticker:i=new H.Ticker,driver:n=j(i),...o}=a||{};return animate(s,e,{driver:n,...o})}}function rt(s,e){let{ticker:a=new H.Ticker,driver:i=j(a),repeat:n,...o}=e||{},c={x:0},u=[],h=[],l=0;s.forEach((b,x)=>{let{onComplete:T,onPlay:d,delay:t=0,duration:r=.3,...m}=b,p=typeof t=="function"?t(0,1):t,y=l+p,g=y+r;u.push({start:y,end:g,onPlay:d,onComplete:T}),h.push([c,{x:x+1},{...m,delay:t,duration:r}]),l=g;});let f=l,v=B(h,{...o,repeat:n,driver:i});if(u.length>0&&f>0){let k=function(){if(r)return;for(t+=a.deltaMS/1e3;!r&&t>=f;){if(p(),d++,d>=x){g();return}t-=f;}let S=y(t);S===-1?T>=0&&p():S!==T&&m(S);};let b=n===null?1/0:n,x=b===void 0?1:b+1,T=-1,d=0,t=0,r=false,m=S=>{T>=0&&u[T].onComplete?.(),T=S,u[T].onPlay?.();},p=()=>{T>=0&&u[T].onComplete?.(),T=-1;},y=S=>{for(let _=0;_<u.length;_++){if(S<u[_].start)return -1;if(S<u[_].end)return _}return u.length-1},g=()=>{r=true,a.remove(k);};a.add(k);let O=v.stop.bind(v);v.stop=()=>{g(),O();};}return v}var N=it(K());var C=class{constructor(e,a){let{duration:i,priority:n,id:o=this.generateTickerId(a),canvasElementAliases:c=[]}=a||{};this._args=e,this.duration=i,this.priority=n,this.id=o,this.canvasElementAliases=c;}id;_args;get args(){return {...this._args,time:this._animation?.time}}duration;priority;ticker=new H.Ticker;_animation;stopped=false;_paused=false;canvasElementAliases=[];getItemByAlias(e){if(!this.canvasElementAliases.includes(e))return;let a=canvas.find(e);if(a)return a}generateTickerId(...e){try{return (0,N.default)(JSON.stringify(e)).toString()+"_motion_"+Math.random().toString(36).substring(7)}catch(a){throw new PixiError("not_json_serializable",`Error to generate ticker id: ${a}`)}}timeout=50;async complete(){this.animation.complete(),await new Promise(e=>setTimeout(e,this.timeout));}stop(){this.stopped=true,this.animation.stop();}start(){this.args.options?.autoplay!==false&&(this._paused=false,this.animation.play());}onComplete=()=>{let e=this.id,a=this._args.options?.aliasToRemoveAfter||[];typeof a=="string"&&(a=[a]);let i=this._args.options?.tickerAliasToResume||[];typeof i=="string"&&(i=[i]);let n=this._args.options?.tickerIdToResume||[];typeof n=="string"&&(n=[n]),canvas.tickers.onComplete(e,{aliasToRemoveAfter:a,tickerAliasToResume:i,tickerIdToResume:n,stopTicker:false});};createItem(e){return new Proxy({alias:e},{set:({alias:a},i,n)=>{if(this.stopped||this._paused||this._args.startState&&this._args.startState[i]===n)return true;let o=this.getItemByAlias(a);if(!o)return true;switch(i){case "pivotX":o.pivot.x=n;break;case "pivotY":o.pivot.y=n;break;case "scaleX":o.scale.x=n;break;case "scaleY":o.scale.y=n;break;default:o[i]=n;break}return true},get:({alias:a},i)=>{if(this._args.startState||(this._args.startState={}),i in this._args.startState)return this._args.startState[i];let n=this.getItemByAlias(a);if(!n)return;let o;switch(i){case "pivotX":o=n.pivot.x;break;case "pivotY":o=n.pivot.y;break;case "scaleX":o=n.scale.x;break;case "scaleY":o=n.scale.y;break;default:o=n[i];break}return this._args.startState={...this._args.startState,[i]:o},o},has:({alias:a},i)=>{let n=this.getItemByAlias(a);if(!n)return false;switch(i){case "pivotX":return "pivot"in n&&"x"in n.pivot;case "pivotY":return "pivot"in n&&"y"in n.pivot;case "scaleX":return "scale"in n&&"x"in n.scale;case "scaleY":return "scale"in n&&"y"in n.scale;default:return i in n}},ownKeys:({alias:a})=>{let i=this.getItemByAlias(a);return i?Object.keys(i):[]}})}pause(){this.animation&&(this._paused=true,this.animation.pause());}play(){this._paused=false,this.animation.play();}get paused(){return this.animation?this.animation.state==="paused":true}};var I=class extends C{get animation(){let e=this._animation;if(e)return e;let a=this.canvasElementAliases[0],i=this.createItem(a),n=this._args.sequence.map((o,c)=>[i,o[0],{...o[1]||{},ticker:this.ticker,onComplete:c===this._args.sequence.length-1?()=>this.onComplete():void 0}]);return e=B(n,this._args.options),this._args.time&&(this.animation.time=this._args.time),this._animation=e,e}alias="motion-sequence"};var w=class extends C{get animation(){let e=this._animation;if(e)return e;let a=this.canvasElementAliases.map(i=>this.createItem(i));return e=B(a,this._args.keyframes,{...this._args.options,onComplete:()=>this.onComplete(),ticker:this.ticker}),this._args.time&&(e.time=this._args.time),this._animation=e,e}alias="motion"};var P;(n=>(n.log=(o,...c)=>console.log(`[Pixi\u2019VN] ${o}`,...c),n.warn=(o,...c)=>console.warn(`[Pixi\u2019VN] ${o}`,...c),n.error=(o,...c)=>console.error(`[Pixi\u2019VN] ${o}`,...c),n.info=(o,...c)=>console.info(`[Pixi\u2019VN] ${o}`,...c)))(P||={});function M(s){try{if(typeof s>"u")return s;let e=JSON.stringify(s);return JSON.parse(e)}catch(e){throw P.error("Error creating exportable element",s,e),new PixiError("not_json_serializable","Error creating exportable element")}}var F;(e=>{function s(a,i,n,o){try{i=M(i);}catch(f){throw P.error("animate keyframes cannot contain functions or classes"),f}try{n=M(n);}catch(f){throw P.error("animate options cannot contain functions or classes"),f}let c=[];typeof a=="string"?c=[a]:Array.isArray(a)?c=a.map(f=>typeof f=="string"?f:f.label):c=[a.label];let u;Array.isArray(i)?u=new I({sequence:i,options:n},{priority:o,canvasElementAliases:c}):u=new w({keyframes:i,options:n},{priority:o,canvasElementAliases:c});let h=canvas.tickers.add(c,u),{completeOnContinue:l}=n||{};return h&&l&&canvas.tickers.completeOnStepEnd({id:h}),h}e.animate=s;})(F||={});var ct=F;RegisteredTickers.add(w,"motion");RegisteredTickers.add(I,"motion-sequence");export{B as animate,ct as motion,j as motionDriver,rt as timeline};