@thednp/tween 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +94 -108
- package/dist/preact/preact.d.mts +2 -2
- package/dist/preact/preact.mjs +2 -2
- package/dist/preact/preact.mjs.map +1 -1
- package/dist/react/react.d.mts +2 -2
- package/dist/react/react.mjs +2 -2
- package/dist/react/react.mjs.map +1 -1
- package/dist/solid/solid.d.mts +2 -2
- package/dist/solid/solid.mjs +2 -2
- package/dist/solid/solid.mjs.map +1 -1
- package/dist/svelte/svelte.mjs.map +1 -1
- package/dist/svelte/tween.svelte.d.ts +2 -2
- package/dist/svelte/tween.svelte.js +2 -2
- package/dist/tween/index.d.mts +52 -33
- package/dist/tween/index.d.mts.map +1 -1
- package/dist/tween/index.mjs +66 -45
- package/dist/tween/index.mjs.map +1 -1
- package/dist/tween.min.js +4 -4
- package/dist/tween.min.js.map +1 -1
- package/dist/vue/vue.d.mts +2 -2
- package/dist/vue/vue.mjs +2 -2
- package/dist/vue/vue.mjs.map +1 -1
- package/package.json +7 -14
package/dist/tween/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @thednp/tween v0.0.
|
|
2
|
+
* @thednp/tween v0.0.4 (https://github.com/thednp/tween)
|
|
3
3
|
* Copyright 2026 © thednp
|
|
4
4
|
* Licensed under MIT (https://github.com/thednp/tween/blob/master/LICENSE)
|
|
5
5
|
*/
|
|
@@ -167,11 +167,11 @@ declare class Tween<T extends TweenProps = TweenProps> {
|
|
|
167
167
|
/**
|
|
168
168
|
* Sets a number of seconds to delay the animation
|
|
169
169
|
* after each repeat.
|
|
170
|
-
* @param
|
|
170
|
+
* @param seconds - How many seconds to delay
|
|
171
171
|
* @default 0 seconds
|
|
172
172
|
* @returns this
|
|
173
173
|
*/
|
|
174
|
-
repeatDelay(
|
|
174
|
+
repeatDelay(seconds?: number): this;
|
|
175
175
|
/**
|
|
176
176
|
* Sets to tween from end to start values.
|
|
177
177
|
* The easing is also goes backwards.
|
|
@@ -652,7 +652,7 @@ declare const isServer: boolean;
|
|
|
652
652
|
* - allow free-form configuration for signal based frameworks
|
|
653
653
|
*/
|
|
654
654
|
declare const dummyInstance: Record<string, typeof dummyMethod>;
|
|
655
|
-
declare
|
|
655
|
+
declare function dummyMethod(this: typeof dummyInstance): Record<string, typeof dummyMethod>;
|
|
656
656
|
/**
|
|
657
657
|
* Utility to round numbers to a specified number of decimals.
|
|
658
658
|
* @param n Input number value
|
|
@@ -665,17 +665,18 @@ declare const objectHasProp: <T extends object>(obj: T, prop: keyof T) => boolea
|
|
|
665
665
|
* A small utility to deep assign up to one level deep nested objects.
|
|
666
666
|
* This is to prevent breaking reactivity of miniStore.
|
|
667
667
|
*
|
|
668
|
-
* **NOTE** - This doesn't perform ANY check and expects objects
|
|
669
|
-
* be validated beforehand.
|
|
668
|
+
* **NOTE** - This doesn't perform ANY check and expects objects values
|
|
669
|
+
* to be validated beforehand.
|
|
670
670
|
* @param target The target to assign values to
|
|
671
671
|
* @param source The source object to assign values from
|
|
672
672
|
*/
|
|
673
673
|
declare function deepAssign<T extends TweenProps>(target: T, source: T): void;
|
|
674
674
|
/**
|
|
675
|
-
* Creates a
|
|
676
|
-
* proxy elements / properties, only their values.
|
|
675
|
+
* Creates a new object with the same structure of a target object / array
|
|
676
|
+
* without its proxy elements / properties, only their values.
|
|
677
677
|
*
|
|
678
678
|
* **NOTE** - The utility is useful to create deep clones as well.
|
|
679
|
+
*
|
|
679
680
|
* @param value An object / array with proxy elements
|
|
680
681
|
* @returns the object / array value without proxy elements
|
|
681
682
|
*/
|
|
@@ -696,7 +697,8 @@ declare function validateValues<T extends TweenProps>(this: Timeline | Tween, ta
|
|
|
696
697
|
* Interpolates two `Array<number>` values.
|
|
697
698
|
*
|
|
698
699
|
* **NOTE**: Values my be validated first!
|
|
699
|
-
*
|
|
700
|
+
*
|
|
701
|
+
* @param target The target `Array<number>` value of the state object
|
|
700
702
|
* @param start The start `Array<number>` value
|
|
701
703
|
* @param end The end `Array<number>` value
|
|
702
704
|
* @param t The progress value
|
|
@@ -704,16 +706,18 @@ declare function validateValues<T extends TweenProps>(this: Timeline | Tween, ta
|
|
|
704
706
|
*/
|
|
705
707
|
declare const interpolateArray: InterpolatorFunction<number[]>;
|
|
706
708
|
/**
|
|
707
|
-
* Check if a value is a valid
|
|
709
|
+
* Check if a value is a valid `Array<number>` for interpolation.
|
|
708
710
|
* @param target The array to check
|
|
709
711
|
* @returns `true` is value is array and all elements are numbers
|
|
710
712
|
*/
|
|
711
713
|
declare const isValidArray: <T extends number[]>(target: unknown) => target is T;
|
|
712
714
|
/**
|
|
713
|
-
* Check if an
|
|
715
|
+
* Check if an `Array<number>` is valid and compatible with a reference.
|
|
716
|
+
*
|
|
714
717
|
* @param target The incoming value `from()` / `to()`
|
|
715
718
|
* @param ref The state reference value
|
|
716
|
-
* @returns [boolean, reason] tuple
|
|
719
|
+
* @returns [boolean, reason] tuple with validation state as boolean and,
|
|
720
|
+
* if not valid, a reason why it's not valid
|
|
717
721
|
*/
|
|
718
722
|
declare const validateArray: <T extends number[]>(propName: string, target: unknown, ref?: T) => ValidationResultEntry;
|
|
719
723
|
/**
|
|
@@ -726,16 +730,18 @@ declare const arrayConfig: {
|
|
|
726
730
|
//#endregion
|
|
727
731
|
//#region src/extend/path.d.ts
|
|
728
732
|
/**
|
|
729
|
-
* Iterates a `PathArray` and concatenates the values into a string to return it.
|
|
733
|
+
* Iterates a `PathArray` value and concatenates the values into a string to return it.
|
|
734
|
+
*
|
|
730
735
|
* **NOTE**: Segment values are rounded to 4 decimals by default.
|
|
731
736
|
* @param path A source PathArray
|
|
732
737
|
* @param round An optional parameter to round segment values to a number of decimals
|
|
733
|
-
* @returns A path string
|
|
738
|
+
* @returns A valid HTML `description` (d) path string value
|
|
734
739
|
*/
|
|
735
740
|
declare function pathToString(path: MorphPathArray, round?: number): string;
|
|
736
741
|
/**
|
|
737
|
-
* Interpolate PathArray values.
|
|
738
|
-
*
|
|
742
|
+
* Interpolate `PathArray` values.
|
|
743
|
+
*
|
|
744
|
+
* **NOTE**: these values must be validated first!
|
|
739
745
|
* @param target - The target PathArray value
|
|
740
746
|
* @param start - A starting PathArray value
|
|
741
747
|
* @param end - An ending PathArray value
|
|
@@ -756,10 +762,10 @@ declare const isPathLike: (value: unknown) => value is PathLike;
|
|
|
756
762
|
*/
|
|
757
763
|
declare const isValidPath: (value: unknown) => value is MorphPathArray;
|
|
758
764
|
/**
|
|
759
|
-
* Validate a PathArray and check if it's compatible with a reference.
|
|
765
|
+
* Validate a `PathArray` and check if it's compatible with a reference.
|
|
760
766
|
*
|
|
761
767
|
* **NOTE**: Path interpolation only works when both paths have:
|
|
762
|
-
* - Identical segments structure (same number and order of M/L/C/Z)
|
|
768
|
+
* - Identical segments structure (same number and order of M/L/C/Z path commands)
|
|
763
769
|
* - Corresponding coordinates to interpolate
|
|
764
770
|
* Complex morphs require preprocessing (e.g. KUTE.js, Flubber)
|
|
765
771
|
*
|
|
@@ -788,7 +794,8 @@ declare const isValidPath: (value: unknown) => value is MorphPathArray;
|
|
|
788
794
|
*
|
|
789
795
|
* @param target The incoming value `from()` / `to()`
|
|
790
796
|
* @param ref The state reference value
|
|
791
|
-
* @returns
|
|
797
|
+
* @returns a tuple with validation result as a `boolean` and,
|
|
798
|
+
* if not valid, a reason why value isn't
|
|
792
799
|
*/
|
|
793
800
|
declare const validatePath: <T extends MorphPathArray>(propName: string, target: unknown, ref?: T) => ValidationResultEntry;
|
|
794
801
|
/**
|
|
@@ -801,12 +808,19 @@ declare const pathArrayConfig: {
|
|
|
801
808
|
//#endregion
|
|
802
809
|
//#region src/extend/object.d.ts
|
|
803
810
|
/**
|
|
804
|
-
* Single-level object
|
|
805
|
-
*
|
|
811
|
+
* Single-level `Record<string, number>` object interpolate function.
|
|
812
|
+
*
|
|
813
|
+
* **NOTE**: values must be validated first!
|
|
814
|
+
*
|
|
815
|
+
* Input: single-level nested object
|
|
806
816
|
*
|
|
807
|
-
* Input: { scale: { x: 1, y: 1 } }
|
|
808
817
|
* Output: interpolated flat object with same structure
|
|
809
|
-
*
|
|
818
|
+
*
|
|
819
|
+
* @example
|
|
820
|
+
* const initialValues = { translate : { x: 0, y: 0 } };
|
|
821
|
+
* // we will need to validate the value of `translate`
|
|
822
|
+
*
|
|
823
|
+
* @param target The target value of the state object
|
|
810
824
|
* @param start The start value of the object
|
|
811
825
|
* @param end The end value of the object
|
|
812
826
|
* @param t The progress value
|
|
@@ -814,7 +828,8 @@ declare const pathArrayConfig: {
|
|
|
814
828
|
*/
|
|
815
829
|
declare const interpolateObject: InterpolatorFunction<BaseTweenProps>;
|
|
816
830
|
/**
|
|
817
|
-
* Validate a
|
|
831
|
+
* Validate a plain `Record<string, number>` object and compare its compatibility
|
|
832
|
+
* with a reference object.
|
|
818
833
|
* @param propName The property name to which this object belongs to
|
|
819
834
|
* @param target The target object itself
|
|
820
835
|
* @param ref A reference object to compare our target to
|
|
@@ -850,8 +865,10 @@ declare const transformToString: (steps: TransformStep[], toMatrix?: boolean) =>
|
|
|
850
865
|
*/
|
|
851
866
|
declare const eulerToAxisAngle: (x: number, y: number, z: number) => [number, number, number, number];
|
|
852
867
|
/**
|
|
853
|
-
*
|
|
854
|
-
*
|
|
868
|
+
* Interpolates arrays of `TransformStep`s → returns interpolated `TransformStep`s.
|
|
869
|
+
*
|
|
870
|
+
* **NOTE** - Like `PathArray`, these values are required to have same length,
|
|
871
|
+
* structure and must be validated beforehand.
|
|
855
872
|
* @example
|
|
856
873
|
* const a1: TransformArray = [
|
|
857
874
|
* ["translate", 0, 0], // [translateX, translateY]
|
|
@@ -872,7 +889,7 @@ declare const eulerToAxisAngle: (x: number, y: number, z: number) => [number, nu
|
|
|
872
889
|
* ["perspective", 400],
|
|
873
890
|
* ];
|
|
874
891
|
*
|
|
875
|
-
* @param target The target `TransformArray`
|
|
892
|
+
* @param target The target `TransformArray` of the state object
|
|
876
893
|
* @param start The start `TransformArray`
|
|
877
894
|
* @param end The end `TransformArray`
|
|
878
895
|
* @param t The progress value
|
|
@@ -880,20 +897,22 @@ declare const eulerToAxisAngle: (x: number, y: number, z: number) => [number, nu
|
|
|
880
897
|
*/
|
|
881
898
|
declare const interpolateTransform: InterpolatorFunction<TransformStep[]>;
|
|
882
899
|
/**
|
|
883
|
-
* Check if
|
|
900
|
+
* Check if a value is potentially a `TransformArray`.
|
|
884
901
|
* @param target The incoming value `constructor()` `from()` / `to()`
|
|
885
902
|
* @returns `true` when array is potentially a PathArray
|
|
886
903
|
*/
|
|
887
904
|
declare const isTransformLike: (value: unknown) => value is TransformLike;
|
|
888
905
|
/**
|
|
889
|
-
* Check if
|
|
906
|
+
* Check if a value is a valid `TransformArray` for interpolation.
|
|
890
907
|
* @param target The incoming value `from()` / `to()`
|
|
891
|
-
* @returns
|
|
908
|
+
* @returns a tuple with validation result as a `boolean` and,
|
|
909
|
+
* if not valid, a reason why value isn't
|
|
892
910
|
*/
|
|
893
911
|
declare const isValidTransformArray: (value: unknown) => value is TransformArray;
|
|
894
912
|
/**
|
|
895
|
-
* Validator for TransformArray
|
|
896
|
-
*
|
|
913
|
+
* Validator for `TransformArray` that checks
|
|
914
|
+
* structure + parameter counts, and if provided,
|
|
915
|
+
* the compatibility with a reference value.
|
|
897
916
|
*/
|
|
898
917
|
declare const validateTransform: (propName: string, target: unknown, ref?: TransformArray) => ValidationResultEntry;
|
|
899
918
|
/**
|
|
@@ -913,7 +932,7 @@ declare function setNow(nowFunction: typeof _nowFunc): void;
|
|
|
913
932
|
/**
|
|
914
933
|
* The runtime queue
|
|
915
934
|
*/
|
|
916
|
-
declare const Queue:
|
|
935
|
+
declare const Queue: AnimationItem[];
|
|
917
936
|
/**
|
|
918
937
|
* The hot update loop updates all items in the queue,
|
|
919
938
|
* and stops automatically when there are no items left.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":["Tween","Timeline","AnimationItem","T","TweenProps","TimelineCallback","state","progress","TweenUpdateCallback","obj","elapsed","TweenCallback","EasingFunction","amount","EasingFunctionGroup","In","Out","InOut","Position","InterpolatorFunction","I","target","start","end","t","ValidationResultEntry","ValidationFunction","Record","propName","ref","PropConfig","validate","interpolate","TimelineEntryConfig","duration","easing","TimelineEntry","Partial","DeepPartial","to","from","startTime","isActive","runtime","propValue","property","interpolator","startVal","endVal","TweenRuntime","targetObject","DeepObject","P","ArrayVal","BaseTweenProps","CubicValues","LineValues","QuadValues","Vec3","MorphPathSegment","PC","MorphPathArray","PathLike","RotateAxisAngle","originX","originY","originZ","angle","RotateZ","rotateZ","Rotate","rotateX","rotateY","Translate","translateX","translateY","translateZ","Scale","scaleX","scaleY","scaleZ","TransformStepInternal","TransformStep","length","TransformArray","TransformLike","name","version","description","homepage","author","license","type","sideEffects","browser","types","files","exports","bugs","url","publishConfig","access","registry","scripts","test","format","lint","build_","build","prepublishOnly","clean","repository","type_1","url_1","keywords","devDependencies_","tsdown","typescript","vitest","devDependencies","dependencies","preact","react","svelte","vue","packageManager","engines","node","pnpm","__json_default_export","default"],"sources":["../../src/Tween.ts","../../src/Timeline.ts","../../src/types.d.ts","../../src/Easing.ts","../../src/Util.ts","../../src/extend/array.ts","../../src/extend/path.ts","../../src/extend/object.ts","../../src/extend/transform.ts","../../src/Now.ts","../../src/Runtime.ts","../../package.json.d.ts"],"mappings":";;;;;;;;AAwCA;;;;;;;;;;;;;;;;;;AAAA,cAAa,KAAA,WAAgB,UAAA,GAAa,UAAA;EACxC,KAAA,EAAO,CAAA;EAAA,QACC,MAAA;EAAA,QACA,WAAA;EAAA,QACA,OAAA;EAAA,QACA,KAAA;EAAA,QACA,SAAA;EAAA,QACA,cAAA;EAAA,QACA,WAAA;EAAA,QACA,WAAA;EAAA,QACA,SAAA;EAAA,QACA,UAAA;EAAA,QACA,SAAA;EAAA,QACA,MAAA;EAAA,QACA,WAAA;EAAA,QACA,YAAA;EAAA,QACA,UAAA;EAAA,QACA,OAAA;EAAA,QACA,cAAA;EAAA,QACA,WAAA;EAAA,QACA,OAAA;EAAA,QACA,SAAA;EAAA,QACA,WAAA;EAAA,QACA,QAAA;EAAA,QACA,OAAA;EAAA,QACA,QAAA;EAAA,QACA,SAAA;EAAA,QACA,SAAA;EAAA,QACA,QAAA;EArBA;;;;cA0BI,aAAA,EAAe,CAAA;EArBnB;;;EAAA,IAyCJ,SAAA,CAAA;EArCI;;;EAAA,IA4CJ,QAAA,CAAA;EAxCI;;;EAAA,IA+CJ,YAAA,CAAA;EA3CI;;;EAAA,IAkDJ,OAAA,CAAA;EA9CI;;;EAqDR,WAAA,CAAA;EA5BI;;;;;EAAA,IAqCA,aAAA,CAAA;EAYJ;;;EAAA,YAAA,CAAa,QAAA,WAAgB,kBAAA;EAOpB;;;EAAT,SAAA,CAAA,GAAS,GAAA;EA6CT;;;;;;;EAlCA,KAAA,CAAM,IAAA,WAAc,aAAA;EAiHpB;;;;;EA/EA,aAAA,CAAc,IAAA;EAgGd;;;;;EAvFA,IAAA,CAAA;EA0GA;;;;EA3FA,OAAA,CAAA;EAkHO;;;;;EA5FP,KAAA,CAAM,IAAA;EAiIS;;;;;EAlHf,MAAA,CAAO,IAAA;EAsIP;;;;;EApHA,IAAA,CAAK,WAAA,EAAa,OAAA,CAAQ,CAAA,IAAK,WAAA,CAAY,CAAA;EA8HR;;;;;EA7GnC,EAAA,CAAG,SAAA,EAAW,OAAA,CAAQ,CAAA,IAAK,WAAA,CAAY,CAAA;EA+HvC;;;;;;;EA5GA,QAAA,CAAS,OAAA;EAiIT;;;;;;;EArHA,KAAA,CAAM,OAAA;EA2NkB;;;;;;EAhNxB,MAAA,CAAO,KAAA;EAsPC;;;;;;;EAzOR,WAAA,CAAY,MAAA;EClTD;;;;;;;;ED+TX,IAAA,CAAK,IAAA;EC1D0B;;;;;;EDqE/B,MAAA,CAAO,MAAA,GAAQ,cAAA;ECrDsB;;;;;ED+DrC,OAAA,CAAQ,QAAA,EAAU,aAAA,CAAc,CAAA;ECfF;;;;;EDyB9B,QAAA,CAAS,QAAA,GAAW,mBAAA,CAAoB,CAAA;ECDR;;;;;EDWhC,UAAA,CAAW,QAAA,EAAU,aAAA,CAAc,CAAA;ECkBc;;;;;EDRjD,MAAA,CAAO,QAAA,EAAU,aAAA,CAAc,CAAA;ECjXxB;;;EDyXP,OAAA,CAAQ,EAAA,EAAI,aAAA,CAAc,CAAA;ECtXlB;;;ED8XR,QAAA,CAAS,EAAA,EAAI,aAAA,CAAc,CAAA;EC1XnB;;;;;;;;EDuYR,QAAA,CAAS,EAAA,GAAK,aAAA,CAAc,CAAA;EC9XpB;;;;;;;ED0YR,MAAA,CAAO,IAAA;EClYC;;;;;;;;;;;;;;;;ED4dR,GAAA,CAAI,QAAA;IAAoB,WAAA;IAAa;EAAA,GAAY,UAAA;EC3XjD;;;;EAAA,QD2YQ,WAAA;ECtWD;;;ED6WP,KAAA,CAAA;EC7TA;;;;EAAA,QD4UQ,SAAA;ECjSR;;;;EAAA,QDmVQ,SAAA;ECxUY;;;;EAAA,QD6VZ,OAAA;AAAA;;;AAjmBV;;;;;;;;;;;;;;;;;AAAA,cCDa,QAAA,WAAmB,UAAA,GAAa,UAAA;EACpC,KAAA,EAAO,CAAA;EAAA,QACN,MAAA;EAAA,QACA,QAAA;EAAA,QACA,OAAA;EAAA,QACA,SAAA;EAAA,QACA,SAAA;EAAA,QACA,KAAA;EAAA,QACA,SAAA;EAAA,QACA,KAAA;EAAA,QACA,UAAA;EAAA,QACA,SAAA;EAAA,QACA,UAAA;EAAA,QACA,OAAA;EAAA,QACA,YAAA;EAAA,QACA,iBAAA;EAAA,QACA,cAAA;EAAA,QACA,OAAA;EAAA,QACA,cAAA;EAAA,QACA,WAAA;EAAA,QACA,QAAA;EAAA,QACA,OAAA;EAAA,QACA,QAAA;EAAA,QACA,SAAA;EAAA,QACA,SAAA;EAAA,QACA,WAAA;EAAA,QACA,SAAA;EDrBA;;;;cC2BI,aAAA,EAAe,CAAA;EDtBnB;;;EAAA,ICyCJ,QAAA,CAAA;EDrCI;;;EAAA,IC4CJ,QAAA,CAAA;EDxCI;;;;EAAA,ICgDJ,aAAA,CAAA;ED3CI;;;EAAA,ICsDJ,SAAA,CAAA;EDlDI;;;EAAA,ICyDJ,QAAA,CAAA;EDlDuB;;;EAAA,ICyDvB,YAAA,CAAA;EDvBA;;;EAAA,IC8BA,OAAA,CAAA;EDKJ;;;ECEA,YAAA,CAAa,QAAA,WAAgB,kBAAA;EDKpB;;;ECET,SAAA,CAAA,GAAS,GAAA;ED2CT;;;;;;ECjCA,IAAA,CAAK,IAAA;ED8FE;;;;;ECxEP,KAAA,CAAM,IAAA;ED0FD;;;;;;EC3EL,MAAA,CAAO,IAAA;ED+GE;;;;EC/FT,OAAA,CAAA;EDmIA;;;;;;EC/GA,IAAA,CAAK,OAAA;EDiJL;;;;;ECrIA,IAAA,CAAA;ED+IwC;;;;;EC9HxC,MAAA,CAAO,KAAA;EDkJP;;;;;;;ECrIA,WAAA,CAAY,MAAA;EDqJZ;;;;;;;;ECxIA,IAAA,CAAK,IAAA;EDiKE;;;;;;ECtJP,KAAA,CAAM,IAAA,UAAc,QAAA,GAAW,QAAA;EDgPkB;;;;;;ECrOjD,EAAA,CAAA;IAEI,QAAA;IACA,MAAA;IAAA,GACG;EAAA,IACD,OAAA,CAAQ,CAAA,IAAK,WAAA,CAAY,CAAA,KAAM,mBAAA,EACnC,QAAA,GAAU,QAAA;ED4UG;;;EC7Sf,OAAA,CAAQ,EAAA,EAAI,gBAAA,CAAiB,CAAA;EArTlB;;;EA6TX,OAAA,CAAQ,EAAA,EAAI,gBAAA,CAAiB,CAAA;EA7Tc;;;EAqU3C,QAAA,CAAS,EAAA,EAAI,gBAAA,CAAiB,CAAA;EArNrB;;;EA6NT,MAAA,CAAO,EAAA,EAAI,gBAAA,CAAiB,CAAA;EAxDd;;;EAgEd,QAAA,CAAS,EAAA,EAAI,gBAAA,CAAiB,CAAA;EAhEO;;;EAwErC,UAAA,CAAW,EAAA,EAAI,gBAAA,CAAiB,CAAA;EAhCH;;;EAwC7B,QAAA,CAAS,EAAA,GAAK,gBAAA,CAAiB,CAAA;EAxBH;;;;;;;;;;;;;;;;EA6C5B,GAAA,CAAI,QAAA;IAAoB,WAAA;IAAa;EAAA,GAAY,UAAA;EAzXnC;;;;;;;EA4Yd,MAAA,CAAO,IAAA;EApYC;;;;EA6fR,KAAA,CAAA;EAxfQ;;;;;EAAA,QA4gBA,SAAA;EAtgBA;;;;EAAA,QA4iBA,WAAA;EAviBA;;;;;EAAA,QAwjBA,gBAAA;EAvhBJ;;;;EAAA,QAsjBI,SAAA;EA9gBJ;;;;EAAA,QAmiBI,OAAA;AAAA;;;KCxqBEE,aAAAA,WAAwBE,UAAAA,YAChCJ,KAAAA,CAAMG,CAAAA,IACNF,QAAAA,CAASE,CAAAA;AAAAA,KAEDE,gBAAAA,WAA2BD,UAAAA,KACrCE,KAAAA,EAAOH,CAAAA,EACPI,QAAAA;AAAAA,KAGUC,mBAAAA,WAA8BJ,UAAAA,KACxCK,GAAAA,EAAKN,CAAAA,EACLO,OAAAA;AAAAA,KAEUC,aAAAA,WAAwBP,UAAAA,KAAeK,GAAAA,EAAKN,CAAAA;AAAAA,KAE5CS,cAAAA,IAAkBC,MAAAA;AAAAA,KAElBC,mBAAAA;EACVC,EAAAA,EAAIH,cAAAA;EACJI,GAAAA,EAAKJ,cAAAA;EACLK,KAAAA,EAAOL,cAAAA;AAAAA;AAAAA,KAGGM,QAAAA;;;;KAKAC,oBAAAA,WACAf,UAAAA,8BACGgB,CAAAA,EAAGC,MAAAA,EAAQlB,CAAAA,EAAGmB,KAAAA,EAAOnB,CAAAA,EAAGoB,GAAAA,EAAKpB,CAAAA,EAAGqB,CAAAA,aAAcrB,CAAAA;AAAAA,KAEjDsB,qBAAAA,aFwfiD,uBApfhC;AAAA,KEGjBC,kBAAAA,WAA6BC,MAAAA,wCAC7BP,CAAAA,OAAQA,CAAAA,GAClBQ,QAAAA,UAAkBP,MAAAA,EAAQlB,CAAAA,EAAG0B,GAAAA,GAAM1B,CAAAA,KAAMsB,qBAAAA;AAAAA,KAE/BK,UAAAA;EACVC,QAAAA,EAAUL,kBAAAA;EACVM,WAAAA,EAAab,oBAAAA;AAAAA;;;;UAMEc,mBAAAA;EACfC,QAAAA;EACAC,MAAAA,GAASvB,cAAAA;AAAAA;AAAAA,UAGMwB,aAAAA,WAAwBhC,UAAAA;EACvCmC,EAAAA,EAAIF,OAAAA,CAAQlC,CAAAA,IAAKmC,WAAAA,CAAYnC,CAAAA;EAC7BqC,IAAAA,EAAMH,OAAAA,CAAQlC,CAAAA,IAAKmC,WAAAA,CAAYnC,CAAAA;EAC/BsC,SAAAA;EACAP,QAAAA;EACAC,MAAAA,EAAQvB,cAAAA;EACR8B,QAAAA;EACAC,OAAAA,GACEC,SAAAA,EAAWzC,CAAAA,OAAQA,CAAAA,GACnB0C,QAAAA,iBAAyB1C,CAAAA,EACzB2C,YAAAA,EAAc3B,oBAAAA,YACd4B,QAAAA,EAAU5C,CAAAA,OAAQA,CAAAA,GAClB6C,MAAAA,EAAQ7C,CAAAA,OAAQA,CAAAA;AAAAA;AAAAA,KAIR8C,YAAAA,WAAuB7C,UAAAA,KACjC8C,YAAAA,EAAc/C,CAAAA,OAAQA,CAAAA,GACtB0C,QAAAA,iBAAyB1C,CAAAA,EACzB2C,YAAAA,EAAc3B,oBAAAA,EF+Dd,UE9DA4B,QAAAA,EAAU5C,CAAAA,OAAQA,CAAAA,GAClB6C,MAAAA,EAAQ7C,CAAAA,OAAQA,CAAAA;;;;KAMNgD,UAAAA,GAAaxB,MAAAA,SAEvBA,MAAAA;AAAAA,KAEUW,WAAAA,MAAiBnC,CAAAA,SAAUwB,MAAAA,SAAexB,CAAAA,OAAQA,CAAAA,KACxDkC,OAAAA,CAAQlC,CAAAA,kBAEIA,CAAAA,IAAKmC,WAAAA,CAAYnC,CAAAA,CAAEiD,CAAAA,OAEjCjD,CAAAA;;;;KAKQkD,QAAAA;AAAAA,KAEAC,cAAAA,GAAiB3B,MAAAA;AAAAA,KAEjBvB,UAAAA,GAAauB,MAAAA,kBAEd0B,QAAAA,GAAWC,cAAAA,gBAEdC,WAAAA,GAAcC,UAAAA,GAAaC,UAAAA,GAAaC,IAAAA;;;;KAOpCF,UAAAA;AAAAA,KACAD,WAAAA;AAAAA,KACAE,UAAAA;AAAAA,KAEAE,gBAAAA,kBACOH,UAAAA,aACND,WAAAA;AAAAA,KAGRK,EAAAA;AAAAA,KACOC,cAAAA,GAAiBF,gBAAAA;AAAAA,KACjBG,QAAAA,IAAYF,EAAAA;;;;KAKZG,eAAAA,IACVC,OAAAA,UACAC,OAAAA,UACAC,OAAAA,UACAC,KAAAA;AAAAA,KAEUT,IAAAA;AAAAA,KACAU,OAAAA,IAAWC,OAAAA;AAAAA,KACXC,MAAAA,IAAUC,OAAAA,UAAiBC,OAAAA,UAAiBH,OAAAA;AAAAA,KAC5CI,SAAAA,IACVC,UAAAA,UACAC,UAAAA,WACAC,UAAAA;AAAAA,KAEUC,KAAAA,IAASC,MAAAA,UAAgBC,MAAAA,WAAiBC,MAAAA;AAAAA,KAE1CC,qBAAAA,0BACexB,UAAAA,qBACNC,IAAAA,kBACHA,IAAAA,iBACDA,IAAAA;AAAAA,KAKLwB,aAAAA,0BACenB,eAAAA,qBACNU,SAAAA,mBACFH,MAAAA,GAASF,OAAAA,kBACXS,KAAAA,cACHV,KAAAA,sBACAA,KAAAA,4BACMgB,MAAAA;AAAAA,KAERC,cAAAA,GAAiBF,aAAAA;AAAAA,KACjBG,aAAAA,IAAiBH,aAAAA;;;AF/H7B;;;AAAA,cGjCa,MAAA,EAAM,QAAA;;UACmC,cAAA;EAAA;;;;;;;;;;;uBAuPpC,mBAAA;AAAA;;;cC1PL,QAAA,GAAY,KAAA,cAAiB,KAAA;AAAA,cAG7B,QAAA,GAAY,KAAA,cAAiB,KAAA;AAAA,cAG7B,OAAA,GAAW,KAAA,cAAiB,KAAA,IAAS,KAAA;AAAA,cAGrC,UAAA,GAAc,KAAA,cAAiB,KAAA;AAAA,cAG/B,QAAA,GACX,KAAA,cACC,KAAA,IAAS,MAAA;AAAA,cAIC,aAAA,GACX,KAAA,cACC,KAAA,IAAS,MAAA;AAAA,cAEC,YAAA,GAAgB,KAAA,cAAiB,KAAA,IAAS,UAAA;AAAA,cAG1C,QAAA;;;;;;;;;cAmCP,aAAA,EAAe,MAAA,gBAAsB,WAAA;AAAA,cAErC,WAAA,QAAW,MAAA,eAAA,MAAA,SJwTG;;;;;;;cI1SP,OAAA,GAAW,CAAA,UAAW,KAAA;AAAA,cAKtB,aAAA,qBAAmC,GAAA,EAAK,CAAA,EAAG,IAAA,QAAY,CAAA;;;;;;;;;;iBAYpD,UAAA,WAAqB,UAAA,CAAA,CACnC,MAAA,EAAQ,CAAA,EACR,MAAA,EAAQ,CAAA;;;;;;;;;cAiEG,OAAA,MAAc,KAAA,EAAO,CAAA,KAAI,CAAA;;;;;;;;;;iBA4BtB,cAAA,WAAyB,UAAA,CAAA,CACvC,IAAA,EAAM,QAAA,GAAW,KAAA,EACjB,MAAA,EAAQ,OAAA,CAAQ,CAAA,IAAK,WAAA,CAAY,CAAA,GACjC,SAAA,GAAY,CAAA;;;AJ5Jd;;;;;;;;;;AAAA,cK1Ba,gBAAA,EAAkB,oBAAA;;;;;;cAwBlB,YAAA,uBACX,MAAA,cACC,MAAA,IAAU,CAAA;;;;;;;cAQA,aAAA,uBACX,QAAA,UACA,MAAA,WACA,GAAA,GAAM,CAAA,KACL,qBAAA;;;;cA4BU,WAAA;;iCAhCmC,QAAA,UAC9B,MAAA,WACD,GAAA,GACT,CAAA,KACL,qBAAA;AAAA;;;ALZH;;;;;;;AAAA,iBMpBgB,YAAA,CAAa,IAAA,EAAM,cAAA,EAAgB,KAAA;;;;;;;;;;cAgCtC,eAAA,EAAiB,oBAAA,CAAqB,gBAAA;;;;;;cA2CtC,UAAA,GACX,KAAA,cACC,KAAA,IAAS,QAAA;;;;;;cAWC,WAAA,GAAe,KAAA,cAAiB,KAAA,IAAS,cAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgDzC,YAAA,aAA0B,cAAA,EACrC,QAAA,UACA,MAAA,WACA,GAAA,GAAM,CAAA,KACL,qBAAA;;;;cA2CU,eAAA;;uBA/C0B,cAAA,EAAc,QAAA,UACnC,MAAA,WACD,GAAA,GACT,CAAA,KACL,qBAAA;AAAA;;;ANxHH;;;;;;;;;;;;AAAA,cOpBa,iBAAA,EAAmB,oBAAA,CAAqB,cAAA;;;;;;;;cA8BxC,cAAA,GACX,QAAA,UACA,MAAA,WACA,GAAA,GAAM,cAAA,KACL,qBAAA;;;;cAmDU,YAAA;;+BAtDK,MAAA,WACD,GAAA,GACT,cAAA,KACL,qBAAA;AAAA;;;APdH;;;;;;;;;AAAA,cQnBa,iBAAA,GAAqB,KAAA,EAAO,aAAA,IAAiB,QAAA;;;;;;;;;cAgH7C,gBAAA,GACX,CAAA,UACA,CAAA,UACA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0FW,oBAAA,EAAsB,oBAAA,CAAqB,aAAA;;;;;;cA6D3C,eAAA,GAAmB,KAAA,cAAiB,KAAA,IAAS,aAAA;;;;;;cAW7C,qBAAA,GACX,KAAA,cACC,KAAA,IAAS,cAAA;;;;;cAqBC,iBAAA,GACX,QAAA,UACA,MAAA,WACA,GAAA,GAAM,cAAA,KACL,qBAAA;;;;cA2CU,eAAA;;+BA9CK,MAAA,WACD,GAAA,GACT,cAAA,KACL,qBAAA;AAAA;;;YCrUC,QAAA;AAAA,cAES,GAAA;AAAA,iBAIG,MAAA,CAAO,WAAA,SAAoB,QAAA;;;ATkC3C;;;AAAA,cUjCa,KAAA,GAAQ,aAAA;;;;;;iBAUL,OAAA,CAAQ,CAAA;;;;;;iBA0BR,UAAA,WAAqB,UAAA,CAAA,CACnC,OAAA,EAAS,aAAA,CAAc,CAAA;;;;;iBAYT,eAAA,WAA0B,UAAA,CAAA,CACxC,WAAA,EAAa,aAAA,CAAc,CAAA;;;YCxDlBK,OAAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":["Tween","Timeline","AnimationItem","T","TweenProps","TimelineCallback","state","progress","TweenUpdateCallback","obj","elapsed","TweenCallback","EasingFunction","amount","EasingFunctionGroup","In","Out","InOut","Position","InterpolatorFunction","I","target","start","end","t","ValidationResultEntry","ValidationFunction","Record","propName","ref","PropConfig","validate","interpolate","TimelineEntryConfig","duration","easing","TimelineEntry","Partial","DeepPartial","to","from","startTime","isActive","runtime","propValue","property","interpolator","startVal","endVal","TweenRuntime","targetObject","DeepObject","P","ArrayVal","BaseTweenProps","CubicValues","LineValues","QuadValues","Vec3","MorphPathSegment","PC","MorphPathArray","PathLike","RotateAxisAngle","originX","originY","originZ","angle","RotateZ","rotateZ","Rotate","rotateX","rotateY","Translate","translateX","translateY","translateZ","Scale","scaleX","scaleY","scaleZ","TransformStepInternal","TransformStep","length","TransformArray","TransformLike","name","version","description","homepage","author","license","type","sideEffects","browser","types","files","exports","bugs","url","publishConfig","access","registry","scripts","test","format","lint","build_","build","prepublishOnly","clean","repository","type_1","url_1","keywords","devDependencies","tsdown","typescript","vitest","dependencies","preact","react","svelte","vue","packageManager","engines","node","pnpm","__json_default_export","default"],"sources":["../../src/Tween.ts","../../src/Timeline.ts","../../src/types.d.ts","../../src/Easing.ts","../../src/Util.ts","../../src/extend/array.ts","../../src/extend/path.ts","../../src/extend/object.ts","../../src/extend/transform.ts","../../src/Now.ts","../../src/Runtime.ts","../../package.json.d.ts"],"mappings":"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"}
|
package/dist/tween/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @thednp/tween v0.0.
|
|
2
|
+
* @thednp/tween v0.0.4 (https://github.com/thednp/tween)
|
|
3
3
|
* Copyright 2026 © thednp
|
|
4
4
|
* Licensed under MIT (https://github.com/thednp/tween/blob/master/LICENSE)
|
|
5
5
|
*/
|
|
@@ -219,7 +219,9 @@ const instanceMethods = [
|
|
|
219
219
|
* - allow free-form configuration for signal based frameworks
|
|
220
220
|
*/
|
|
221
221
|
const dummyInstance = {};
|
|
222
|
-
|
|
222
|
+
function dummyMethod() {
|
|
223
|
+
return this;
|
|
224
|
+
}
|
|
223
225
|
for (let i = 0; i < instanceMethods.length; i++) dummyInstance[instanceMethods[i]] = dummyMethod;
|
|
224
226
|
/**
|
|
225
227
|
* Utility to round numbers to a specified number of decimals.
|
|
@@ -232,12 +234,13 @@ const roundTo = (n, round) => {
|
|
|
232
234
|
return round > 0 ? Math.round(n * pow) / pow : Math.round(n);
|
|
233
235
|
};
|
|
234
236
|
const objectHasProp = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);
|
|
237
|
+
const isUnsafeKey = (key) => key === "__proto__" || key === "constructor" || key === "prototype";
|
|
235
238
|
/**
|
|
236
239
|
* A small utility to deep assign up to one level deep nested objects.
|
|
237
240
|
* This is to prevent breaking reactivity of miniStore.
|
|
238
241
|
*
|
|
239
|
-
* **NOTE** - This doesn't perform ANY check and expects objects
|
|
240
|
-
* be validated beforehand.
|
|
242
|
+
* **NOTE** - This doesn't perform ANY check and expects objects values
|
|
243
|
+
* to be validated beforehand.
|
|
241
244
|
* @param target The target to assign values to
|
|
242
245
|
* @param source The source object to assign values from
|
|
243
246
|
*/
|
|
@@ -247,7 +250,7 @@ function deepAssign(target, source) {
|
|
|
247
250
|
const len = keys.length;
|
|
248
251
|
while (i < len) {
|
|
249
252
|
const key = keys[i++];
|
|
250
|
-
if (key
|
|
253
|
+
if (isUnsafeKey(key) || !objectHasProp(source, key)) continue;
|
|
251
254
|
const targetVal = target[key];
|
|
252
255
|
const sourceVal = source[key];
|
|
253
256
|
if (isArray(sourceVal)) {
|
|
@@ -272,10 +275,11 @@ function deepAssign(target, source) {
|
|
|
272
275
|
}
|
|
273
276
|
}
|
|
274
277
|
/**
|
|
275
|
-
* Creates a
|
|
276
|
-
* proxy elements / properties, only their values.
|
|
278
|
+
* Creates a new object with the same structure of a target object / array
|
|
279
|
+
* without its proxy elements / properties, only their values.
|
|
277
280
|
*
|
|
278
281
|
* **NOTE** - The utility is useful to create deep clones as well.
|
|
282
|
+
*
|
|
279
283
|
* @param value An object / array with proxy elements
|
|
280
284
|
* @returns the object / array value without proxy elements
|
|
281
285
|
*/
|
|
@@ -283,7 +287,7 @@ const deproxy = (value) => {
|
|
|
283
287
|
if (isArray(value)) return value.map(deproxy);
|
|
284
288
|
if (isPlainObject(value)) {
|
|
285
289
|
const result = {};
|
|
286
|
-
for (const key in value) if (
|
|
290
|
+
for (const key in value) if (objectHasProp(value, key)) result[key] = deproxy(value[key]);
|
|
287
291
|
return result;
|
|
288
292
|
}
|
|
289
293
|
return value;
|
|
@@ -341,7 +345,8 @@ function validateValues(target, reference) {
|
|
|
341
345
|
* Interpolates two `Array<number>` values.
|
|
342
346
|
*
|
|
343
347
|
* **NOTE**: Values my be validated first!
|
|
344
|
-
*
|
|
348
|
+
*
|
|
349
|
+
* @param target The target `Array<number>` value of the state object
|
|
345
350
|
* @param start The start `Array<number>` value
|
|
346
351
|
* @param end The end `Array<number>` value
|
|
347
352
|
* @param t The progress value
|
|
@@ -357,16 +362,18 @@ const interpolateArray = (target, start, end, t) => {
|
|
|
357
362
|
return target;
|
|
358
363
|
};
|
|
359
364
|
/**
|
|
360
|
-
* Check if a value is a valid
|
|
365
|
+
* Check if a value is a valid `Array<number>` for interpolation.
|
|
361
366
|
* @param target The array to check
|
|
362
367
|
* @returns `true` is value is array and all elements are numbers
|
|
363
368
|
*/
|
|
364
369
|
const isValidArray = (target) => isArray(target) && target.every(isNumber);
|
|
365
370
|
/**
|
|
366
|
-
* Check if an
|
|
371
|
+
* Check if an `Array<number>` is valid and compatible with a reference.
|
|
372
|
+
*
|
|
367
373
|
* @param target The incoming value `from()` / `to()`
|
|
368
374
|
* @param ref The state reference value
|
|
369
|
-
* @returns [boolean, reason] tuple
|
|
375
|
+
* @returns [boolean, reason] tuple with validation state as boolean and,
|
|
376
|
+
* if not valid, a reason why it's not valid
|
|
370
377
|
*/
|
|
371
378
|
const validateArray = (propName, target, ref) => {
|
|
372
379
|
if (!isArray(target)) return [false, `Property "${String(propName)}" is not Array.`];
|
|
@@ -385,11 +392,12 @@ const arrayConfig = {
|
|
|
385
392
|
//#endregion
|
|
386
393
|
//#region src/extend/path.ts
|
|
387
394
|
/**
|
|
388
|
-
* Iterates a `PathArray` and concatenates the values into a string to return it.
|
|
395
|
+
* Iterates a `PathArray` value and concatenates the values into a string to return it.
|
|
396
|
+
*
|
|
389
397
|
* **NOTE**: Segment values are rounded to 4 decimals by default.
|
|
390
398
|
* @param path A source PathArray
|
|
391
399
|
* @param round An optional parameter to round segment values to a number of decimals
|
|
392
|
-
* @returns A path string
|
|
400
|
+
* @returns A valid HTML `description` (d) path string value
|
|
393
401
|
*/
|
|
394
402
|
function pathToString(path, round = 4) {
|
|
395
403
|
const pathLen = path.length;
|
|
@@ -410,8 +418,9 @@ function pathToString(path, round = 4) {
|
|
|
410
418
|
return result;
|
|
411
419
|
}
|
|
412
420
|
/**
|
|
413
|
-
* Interpolate PathArray values.
|
|
414
|
-
*
|
|
421
|
+
* Interpolate `PathArray` values.
|
|
422
|
+
*
|
|
423
|
+
* **NOTE**: these values must be validated first!
|
|
415
424
|
* @param target - The target PathArray value
|
|
416
425
|
* @param start - A starting PathArray value
|
|
417
426
|
* @param end - An ending PathArray value
|
|
@@ -462,10 +471,10 @@ const isPathLike = (value) => isArray(value) && value.some((seg) => isArray(seg)
|
|
|
462
471
|
*/
|
|
463
472
|
const isValidPath = (value) => isPathLike(value) && value.length > 1 && value.every(isArray) && value.every(([cmd, ...values]) => supportedPathCommands.includes(cmd) && (["M", "L"].includes(cmd) && values.length === 2 && values.every(isNumber) || "C" === cmd && values.length === 6 && values.every(isNumber) || "Z" === cmd && values.length === 0));
|
|
464
473
|
/**
|
|
465
|
-
* Validate a PathArray and check if it's compatible with a reference.
|
|
474
|
+
* Validate a `PathArray` and check if it's compatible with a reference.
|
|
466
475
|
*
|
|
467
476
|
* **NOTE**: Path interpolation only works when both paths have:
|
|
468
|
-
* - Identical segments structure (same number and order of M/L/C/Z)
|
|
477
|
+
* - Identical segments structure (same number and order of M/L/C/Z path commands)
|
|
469
478
|
* - Corresponding coordinates to interpolate
|
|
470
479
|
* Complex morphs require preprocessing (e.g. KUTE.js, Flubber)
|
|
471
480
|
*
|
|
@@ -494,7 +503,8 @@ const isValidPath = (value) => isPathLike(value) && value.length > 1 && value.ev
|
|
|
494
503
|
*
|
|
495
504
|
* @param target The incoming value `from()` / `to()`
|
|
496
505
|
* @param ref The state reference value
|
|
497
|
-
* @returns
|
|
506
|
+
* @returns a tuple with validation result as a `boolean` and,
|
|
507
|
+
* if not valid, a reason why value isn't
|
|
498
508
|
*/
|
|
499
509
|
const validatePath = (propName, target, ref) => {
|
|
500
510
|
if (!isValidPath(target)) return [false, `Property "${propName}" is not a valid PathArray.`];
|
|
@@ -526,12 +536,19 @@ const pathArrayConfig = {
|
|
|
526
536
|
//#endregion
|
|
527
537
|
//#region src/extend/object.ts
|
|
528
538
|
/**
|
|
529
|
-
* Single-level object
|
|
530
|
-
*
|
|
539
|
+
* Single-level `Record<string, number>` object interpolate function.
|
|
540
|
+
*
|
|
541
|
+
* **NOTE**: values must be validated first!
|
|
542
|
+
*
|
|
543
|
+
* Input: single-level nested object
|
|
531
544
|
*
|
|
532
|
-
* Input: { scale: { x: 1, y: 1 } }
|
|
533
545
|
* Output: interpolated flat object with same structure
|
|
534
|
-
*
|
|
546
|
+
*
|
|
547
|
+
* @example
|
|
548
|
+
* const initialValues = { translate : { x: 0, y: 0 } };
|
|
549
|
+
* // we will need to validate the value of `translate`
|
|
550
|
+
*
|
|
551
|
+
* @param target The target value of the state object
|
|
535
552
|
* @param start The start value of the object
|
|
536
553
|
* @param end The end value of the object
|
|
537
554
|
* @param t The progress value
|
|
@@ -549,7 +566,8 @@ const interpolateObject = (target, start, end, t) => {
|
|
|
549
566
|
return target;
|
|
550
567
|
};
|
|
551
568
|
/**
|
|
552
|
-
* Validate a
|
|
569
|
+
* Validate a plain `Record<string, number>` object and compare its compatibility
|
|
570
|
+
* with a reference object.
|
|
553
571
|
* @param propName The property name to which this object belongs to
|
|
554
572
|
* @param target The target object itself
|
|
555
573
|
* @param ref A reference object to compare our target to
|
|
@@ -721,8 +739,10 @@ const quaternionToAxisAngle = (q) => {
|
|
|
721
739
|
];
|
|
722
740
|
};
|
|
723
741
|
/**
|
|
724
|
-
*
|
|
725
|
-
*
|
|
742
|
+
* Interpolates arrays of `TransformStep`s → returns interpolated `TransformStep`s.
|
|
743
|
+
*
|
|
744
|
+
* **NOTE** - Like `PathArray`, these values are required to have same length,
|
|
745
|
+
* structure and must be validated beforehand.
|
|
726
746
|
* @example
|
|
727
747
|
* const a1: TransformArray = [
|
|
728
748
|
* ["translate", 0, 0], // [translateX, translateY]
|
|
@@ -743,7 +763,7 @@ const quaternionToAxisAngle = (q) => {
|
|
|
743
763
|
* ["perspective", 400],
|
|
744
764
|
* ];
|
|
745
765
|
*
|
|
746
|
-
* @param target The target `TransformArray`
|
|
766
|
+
* @param target The target `TransformArray` of the state object
|
|
747
767
|
* @param start The start `TransformArray`
|
|
748
768
|
* @param end The end `TransformArray`
|
|
749
769
|
* @param t The progress value
|
|
@@ -786,15 +806,16 @@ const supportedTransform = [
|
|
|
786
806
|
"skewY"
|
|
787
807
|
];
|
|
788
808
|
/**
|
|
789
|
-
* Check if
|
|
809
|
+
* Check if a value is potentially a `TransformArray`.
|
|
790
810
|
* @param target The incoming value `constructor()` `from()` / `to()`
|
|
791
811
|
* @returns `true` when array is potentially a PathArray
|
|
792
812
|
*/
|
|
793
813
|
const isTransformLike = (value) => isArray(value) && value.some((step) => isArray(step) && supportedTransform.includes(step[0]));
|
|
794
814
|
/**
|
|
795
|
-
* Check if
|
|
815
|
+
* Check if a value is a valid `TransformArray` for interpolation.
|
|
796
816
|
* @param target The incoming value `from()` / `to()`
|
|
797
|
-
* @returns
|
|
817
|
+
* @returns a tuple with validation result as a `boolean` and,
|
|
818
|
+
* if not valid, a reason why value isn't
|
|
798
819
|
*/
|
|
799
820
|
const isValidTransformArray = (value) => isTransformLike(value) && value.every(([fn, ...values]) => supportedTransform.includes(fn) && ([
|
|
800
821
|
"translate",
|
|
@@ -806,8 +827,9 @@ const isValidTransformArray = (value) => isTransformLike(value) && value.every((
|
|
|
806
827
|
"perspective"
|
|
807
828
|
].includes(fn) && values.length === 1 && isNumber(values[0])));
|
|
808
829
|
/**
|
|
809
|
-
* Validator for TransformArray
|
|
810
|
-
*
|
|
830
|
+
* Validator for `TransformArray` that checks
|
|
831
|
+
* structure + parameter counts, and if provided,
|
|
832
|
+
* the compatibility with a reference value.
|
|
811
833
|
*/
|
|
812
834
|
const validateTransform = (propName, target, ref) => {
|
|
813
835
|
if (!isValidTransformArray(target)) return [false, `Property "${propName}" must be an array of TransformStep.`];
|
|
@@ -851,7 +873,7 @@ function setNow(nowFunction) {
|
|
|
851
873
|
/**
|
|
852
874
|
* The runtime queue
|
|
853
875
|
*/
|
|
854
|
-
const Queue = new Array(
|
|
876
|
+
const Queue = new Array(0);
|
|
855
877
|
let rafID = 0;
|
|
856
878
|
let queueLength = 0;
|
|
857
879
|
/**
|
|
@@ -861,12 +883,11 @@ let queueLength = 0;
|
|
|
861
883
|
*/
|
|
862
884
|
function Runtime(t = now()) {
|
|
863
885
|
let i = 0;
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
886
|
+
while (i < queueLength) if (Queue[i]?.update(t)) i += 1;
|
|
887
|
+
else {
|
|
888
|
+
Queue.splice(i, 1);
|
|
889
|
+
queueLength--;
|
|
868
890
|
}
|
|
869
|
-
queueLength = writeIdx;
|
|
870
891
|
if (queueLength === 0) {
|
|
871
892
|
cancelAnimationFrame(rafID);
|
|
872
893
|
rafID = 0;
|
|
@@ -878,8 +899,8 @@ function Runtime(t = now()) {
|
|
|
878
899
|
* @param newItem Tween / Timeline
|
|
879
900
|
*/
|
|
880
901
|
function addToQueue(newItem) {
|
|
881
|
-
|
|
882
|
-
Queue[queueLength++] =
|
|
902
|
+
if (Queue.includes(newItem)) return;
|
|
903
|
+
Queue[queueLength++] = newItem;
|
|
883
904
|
if (!rafID) Runtime();
|
|
884
905
|
}
|
|
885
906
|
/**
|
|
@@ -888,7 +909,7 @@ function addToQueue(newItem) {
|
|
|
888
909
|
*/
|
|
889
910
|
function removeFromQueue(removedItem) {
|
|
890
911
|
const idx = Queue.indexOf(removedItem);
|
|
891
|
-
if (idx
|
|
912
|
+
if (idx > -1) Queue.splice(idx, 1);
|
|
892
913
|
}
|
|
893
914
|
|
|
894
915
|
//#endregion
|
|
@@ -1155,12 +1176,12 @@ var Tween = class {
|
|
|
1155
1176
|
/**
|
|
1156
1177
|
* Sets a number of seconds to delay the animation
|
|
1157
1178
|
* after each repeat.
|
|
1158
|
-
* @param
|
|
1179
|
+
* @param seconds - How many seconds to delay
|
|
1159
1180
|
* @default 0 seconds
|
|
1160
1181
|
* @returns this
|
|
1161
1182
|
*/
|
|
1162
|
-
repeatDelay(
|
|
1163
|
-
this._repeatDelay =
|
|
1183
|
+
repeatDelay(seconds = 0) {
|
|
1184
|
+
this._repeatDelay = seconds * 1e3;
|
|
1164
1185
|
return this;
|
|
1165
1186
|
}
|
|
1166
1187
|
/**
|
|
@@ -1922,7 +1943,7 @@ var Timeline = class {
|
|
|
1922
1943
|
|
|
1923
1944
|
//#endregion
|
|
1924
1945
|
//#region package.json
|
|
1925
|
-
var version = "0.0.
|
|
1946
|
+
var version = "0.0.4";
|
|
1926
1947
|
|
|
1927
1948
|
//#endregion
|
|
1928
1949
|
export { Easing, Queue, Runtime, Timeline, Tween, addToQueue, arrayConfig, deepAssign, deproxy, dummyInstance, eulerToAxisAngle, interpolateArray, interpolateObject, interpolatePath, interpolateTransform, isArray, isDeepObject, isFunction, isNumber, isObject, isPathLike, isPlainObject, isServer, isString, isTransformLike, isValidArray, isValidPath, isValidTransformArray, now, objectConfig, objectHasProp, pathArrayConfig, pathToString, removeFromQueue, roundTo, setNow, transformConfig, transformToString, validateArray, validateObject, validatePath, validateTransform, validateValues, version };
|