@prototyp/skeletor 1.2.1 → 1.3.0-beta1

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 (95) hide show
  1. package/lib/commonjs/components/Block/Block.js +19 -36
  2. package/lib/commonjs/components/Block/Block.js.map +1 -1
  3. package/lib/commonjs/components/InputFocusScrollView/InputFocusScrollView.js +10 -10
  4. package/lib/commonjs/components/InputFocusScrollView/InputFocusScrollView.js.map +1 -1
  5. package/lib/commonjs/components/SkeletorProvider/SkeletorProvider.js +6 -4
  6. package/lib/commonjs/components/SkeletorProvider/SkeletorProvider.js.map +1 -1
  7. package/lib/commonjs/components/Text/Text.js +5 -17
  8. package/lib/commonjs/components/Text/Text.js.map +1 -1
  9. package/lib/commonjs/hooks/skeleform/src/index.js +3 -5
  10. package/lib/commonjs/hooks/skeleform/src/index.js.map +1 -1
  11. package/lib/commonjs/utils/animations.js +10 -10
  12. package/lib/commonjs/utils/animations.js.map +1 -1
  13. package/lib/commonjs/utils/extract-animation-properties.js +63 -42
  14. package/lib/commonjs/utils/extract-animation-properties.js.map +1 -1
  15. package/lib/commonjs/utils/extract-skeletor-style-properties.js +38 -0
  16. package/lib/commonjs/utils/extract-skeletor-style-properties.js.map +1 -0
  17. package/lib/commonjs/utils/index.js +22 -0
  18. package/lib/commonjs/utils/index.js.map +1 -1
  19. package/lib/commonjs/utils/memoize-styles.js +72 -0
  20. package/lib/commonjs/utils/memoize-styles.js.map +1 -0
  21. package/lib/module/components/Block/Block.js +21 -37
  22. package/lib/module/components/Block/Block.js.map +1 -1
  23. package/lib/module/components/InputFocusScrollView/InputFocusScrollView.js +13 -13
  24. package/lib/module/components/InputFocusScrollView/InputFocusScrollView.js.map +1 -1
  25. package/lib/module/components/SkeletorProvider/SkeletorProvider.js +6 -4
  26. package/lib/module/components/SkeletorProvider/SkeletorProvider.js.map +1 -1
  27. package/lib/module/components/Text/Text.js +7 -18
  28. package/lib/module/components/Text/Text.js.map +1 -1
  29. package/lib/module/hooks/skeleform/src/index.js +3 -5
  30. package/lib/module/hooks/skeleform/src/index.js.map +1 -1
  31. package/lib/module/utils/animations.js +10 -10
  32. package/lib/module/utils/animations.js.map +1 -1
  33. package/lib/module/utils/extract-animation-properties.js +63 -42
  34. package/lib/module/utils/extract-animation-properties.js.map +1 -1
  35. package/lib/module/utils/extract-skeletor-style-properties.js +34 -0
  36. package/lib/module/utils/extract-skeletor-style-properties.js.map +1 -0
  37. package/lib/module/utils/index.js +2 -0
  38. package/lib/module/utils/index.js.map +1 -1
  39. package/lib/module/utils/memoize-styles.js +68 -0
  40. package/lib/module/utils/memoize-styles.js.map +1 -0
  41. package/lib/typescript/commonjs/components/Block/Block.d.ts +2 -1
  42. package/lib/typescript/commonjs/components/Block/Block.d.ts.map +1 -1
  43. package/lib/typescript/commonjs/components/InputFocusScrollView/InputFocusScrollView.d.ts.map +1 -1
  44. package/lib/typescript/commonjs/components/SkeletorProvider/SkeletorProvider.d.ts.map +1 -1
  45. package/lib/typescript/commonjs/components/Text/Text.d.ts +2 -1
  46. package/lib/typescript/commonjs/components/Text/Text.d.ts.map +1 -1
  47. package/lib/typescript/commonjs/hooks/skeleform/src/index.d.ts.map +1 -1
  48. package/lib/typescript/commonjs/hooks/useAnimateParallel.d.ts +2 -2
  49. package/lib/typescript/commonjs/hooks/useAnimateParallel.d.ts.map +1 -1
  50. package/lib/typescript/commonjs/hooks/useAnimateSequence.d.ts +2 -2
  51. package/lib/typescript/commonjs/hooks/useAnimateSequence.d.ts.map +1 -1
  52. package/lib/typescript/commonjs/hooks/useAnimateStagger.d.ts +2 -2
  53. package/lib/typescript/commonjs/hooks/useAnimateStagger.d.ts.map +1 -1
  54. package/lib/typescript/commonjs/hooks/useLoopAnimation.d.ts +3 -3
  55. package/lib/typescript/commonjs/hooks/useLoopAnimation.d.ts.map +1 -1
  56. package/lib/typescript/commonjs/models/Animation.d.ts +23 -21
  57. package/lib/typescript/commonjs/models/Animation.d.ts.map +1 -1
  58. package/lib/typescript/commonjs/utils/animations.d.ts +6 -6
  59. package/lib/typescript/commonjs/utils/animations.d.ts.map +1 -1
  60. package/lib/typescript/commonjs/utils/extract-animation-properties.d.ts +5 -5
  61. package/lib/typescript/commonjs/utils/extract-animation-properties.d.ts.map +1 -1
  62. package/lib/typescript/commonjs/utils/extract-skeletor-style-properties.d.ts +6 -0
  63. package/lib/typescript/commonjs/utils/extract-skeletor-style-properties.d.ts.map +1 -0
  64. package/lib/typescript/commonjs/utils/index.d.ts +2 -0
  65. package/lib/typescript/commonjs/utils/index.d.ts.map +1 -1
  66. package/lib/typescript/commonjs/utils/memoize-styles.d.ts +7 -0
  67. package/lib/typescript/commonjs/utils/memoize-styles.d.ts.map +1 -0
  68. package/lib/typescript/module/components/Block/Block.d.ts +2 -1
  69. package/lib/typescript/module/components/Block/Block.d.ts.map +1 -1
  70. package/lib/typescript/module/components/InputFocusScrollView/InputFocusScrollView.d.ts.map +1 -1
  71. package/lib/typescript/module/components/SkeletorProvider/SkeletorProvider.d.ts.map +1 -1
  72. package/lib/typescript/module/components/Text/Text.d.ts +2 -1
  73. package/lib/typescript/module/components/Text/Text.d.ts.map +1 -1
  74. package/lib/typescript/module/hooks/skeleform/src/index.d.ts.map +1 -1
  75. package/lib/typescript/module/hooks/useAnimateParallel.d.ts +2 -2
  76. package/lib/typescript/module/hooks/useAnimateParallel.d.ts.map +1 -1
  77. package/lib/typescript/module/hooks/useAnimateSequence.d.ts +2 -2
  78. package/lib/typescript/module/hooks/useAnimateSequence.d.ts.map +1 -1
  79. package/lib/typescript/module/hooks/useAnimateStagger.d.ts +2 -2
  80. package/lib/typescript/module/hooks/useAnimateStagger.d.ts.map +1 -1
  81. package/lib/typescript/module/hooks/useLoopAnimation.d.ts +3 -3
  82. package/lib/typescript/module/hooks/useLoopAnimation.d.ts.map +1 -1
  83. package/lib/typescript/module/models/Animation.d.ts +23 -21
  84. package/lib/typescript/module/models/Animation.d.ts.map +1 -1
  85. package/lib/typescript/module/utils/animations.d.ts +6 -6
  86. package/lib/typescript/module/utils/animations.d.ts.map +1 -1
  87. package/lib/typescript/module/utils/extract-animation-properties.d.ts +5 -5
  88. package/lib/typescript/module/utils/extract-animation-properties.d.ts.map +1 -1
  89. package/lib/typescript/module/utils/extract-skeletor-style-properties.d.ts +6 -0
  90. package/lib/typescript/module/utils/extract-skeletor-style-properties.d.ts.map +1 -0
  91. package/lib/typescript/module/utils/index.d.ts +2 -0
  92. package/lib/typescript/module/utils/index.d.ts.map +1 -1
  93. package/lib/typescript/module/utils/memoize-styles.d.ts +7 -0
  94. package/lib/typescript/module/utils/memoize-styles.d.ts.map +1 -0
  95. package/package.json +2 -2
@@ -1,49 +1,70 @@
1
1
  "use strict";
2
2
 
3
- function hasTransformProperties(props) {
4
- return props.translateX || props.translateY || props.scaleX || props.scaleY || props.scaleY || props.rotation;
5
- }
6
3
  export function extractAnimationProperties(props) {
7
4
  if (!props) return undefined;
8
- const mapped = {
9
- ...props,
10
- transform: []
5
+ const {
6
+ translateX,
7
+ translateY,
8
+ scaleX,
9
+ scaleY,
10
+ scale,
11
+ skewX,
12
+ skewY,
13
+ skew,
14
+ rotation,
15
+ ...rest
16
+ } = props;
17
+ const transform = [];
18
+ if (translateX) {
19
+ transform.push({
20
+ translateX: translateX
21
+ });
22
+ }
23
+ if (translateY) {
24
+ transform.push({
25
+ translateY: translateY
26
+ });
27
+ }
28
+ if (scaleX) {
29
+ transform.push({
30
+ scaleX: scaleX
31
+ });
32
+ }
33
+ if (scaleY) {
34
+ transform.push({
35
+ scaleY: scaleY
36
+ });
37
+ }
38
+ if (scale) {
39
+ transform.push({
40
+ scaleY: scale,
41
+ scaleX: scale
42
+ });
43
+ }
44
+ if (skewX) {
45
+ transform.push({
46
+ skewX: skewX
47
+ });
48
+ }
49
+ if (skewY) {
50
+ transform.push({
51
+ skewY: skewY
52
+ });
53
+ }
54
+ if (skew) {
55
+ transform.push({
56
+ skewX: skew,
57
+ skewY: skewY
58
+ });
59
+ }
60
+ if (rotation) {
61
+ transform.push({
62
+ rotate: rotation
63
+ });
64
+ }
65
+ return {
66
+ ...rest,
67
+ transform
11
68
  };
12
-
13
- // Map translate
14
- if (hasTransformProperties(props)) {
15
- mapped.transform = [];
16
- if (props.translateX) {
17
- mapped.transform.push({
18
- translateX: props.translateX
19
- });
20
- delete mapped.translateX;
21
- }
22
- if (props.translateY) {
23
- mapped.transform.push({
24
- translateY: props.translateY
25
- });
26
- delete mapped.translateY;
27
- }
28
- if (props.scaleX) {
29
- mapped.transform.push({
30
- scaleX: props.scaleX
31
- });
32
- delete mapped.scaleX;
33
- }
34
- if (props.scaleY) {
35
- mapped.transform.push({
36
- scaleY: props.scaleY
37
- });
38
- delete mapped.scaleY;
39
- }
40
- if (props.rotation) {
41
- mapped.transform.push({
42
- rotate: props.rotation
43
- });
44
- delete mapped.rotation;
45
- }
46
- }
47
- return mapped;
48
69
  }
49
70
  //# sourceMappingURL=extract-animation-properties.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["hasTransformProperties","props","translateX","translateY","scaleX","scaleY","rotation","extractAnimationProperties","undefined","mapped","transform","push","rotate"],"sourceRoot":"../../../src","sources":["utils/extract-animation-properties.ts"],"mappings":";;AA8BA,SAASA,sBAAsBA,CAC9BC,KAA0B,EACzB;EACD,OACCA,KAAK,CAACC,UAAU,IAChBD,KAAK,CAACE,UAAU,IAChBF,KAAK,CAACG,MAAM,IACZH,KAAK,CAACI,MAAM,IACZJ,KAAK,CAACI,MAAM,IACZJ,KAAK,CAACK,QAAQ;AAEhB;AAEA,OAAO,SAASC,0BAA0BA,CAExCN,KAAsC,EAAE;EACzC,IAAI,CAACA,KAAK,EAAE,OAAOO,SAAS;EAE5B,MAAMC,MAEL,GAAG;IACH,GAAGR,KAAK;IACRS,SAAS,EAAE;EACZ,CAAC;;EAED;EACA,IAAIV,sBAAsB,CAACC,KAAK,CAAC,EAAE;IAClCQ,MAAM,CAACC,SAAS,GAAG,EAAE;IACrB,IAAIT,KAAK,CAACC,UAAU,EAAE;MACrBO,MAAM,CAACC,SAAS,CAACC,IAAI,CAAC;QAAET,UAAU,EAAED,KAAK,CAACC;MAAW,CAAC,CAAC;MACvD,OAAOO,MAAM,CAACP,UAAU;IACzB;IAEA,IAAID,KAAK,CAACE,UAAU,EAAE;MACrBM,MAAM,CAACC,SAAS,CAACC,IAAI,CAAC;QAAER,UAAU,EAAEF,KAAK,CAACE;MAAW,CAAC,CAAC;MACvD,OAAOM,MAAM,CAACN,UAAU;IACzB;IAEA,IAAIF,KAAK,CAACG,MAAM,EAAE;MACjBK,MAAM,CAACC,SAAS,CAACC,IAAI,CAAC;QAAEP,MAAM,EAAEH,KAAK,CAACG;MAAO,CAAC,CAAC;MAC/C,OAAOK,MAAM,CAACL,MAAM;IACrB;IAEA,IAAIH,KAAK,CAACI,MAAM,EAAE;MACjBI,MAAM,CAACC,SAAS,CAACC,IAAI,CAAC;QAAEN,MAAM,EAAEJ,KAAK,CAACI;MAAO,CAAC,CAAC;MAC/C,OAAOI,MAAM,CAACJ,MAAM;IACrB;IAEA,IAAIJ,KAAK,CAACK,QAAQ,EAAE;MACnBG,MAAM,CAACC,SAAS,CAACC,IAAI,CAAC;QAAEC,MAAM,EAAEX,KAAK,CAACK;MAAS,CAAC,CAAC;MACjD,OAAOG,MAAM,CAACH,QAAQ;IACvB;EACD;EAEA,OAAOG,MAAM;AACd","ignoreList":[]}
1
+ {"version":3,"names":["extractAnimationProperties","props","undefined","translateX","translateY","scaleX","scaleY","scale","skewX","skewY","skew","rotation","rest","transform","push","rotate"],"sourceRoot":"../../../src","sources":["utils/extract-animation-properties.ts"],"mappings":";;AAiCA,OAAO,SAASA,0BAA0BA,CACzCC,KAEY,EACX;EACD,IAAI,CAACA,KAAK,EAAE,OAAOC,SAAS;EAE5B,MAAM;IACLC,UAAU;IACVC,UAAU;IACVC,MAAM;IACNC,MAAM;IACNC,KAAK;IACLC,KAAK;IACLC,KAAK;IACLC,IAAI;IACJC,QAAQ;IACR,GAAGC;EACJ,CAAC,GAAGX,KAAK;EACT,MAAMY,SAA+B,GAAG,EAAE;EAE1C,IAAIV,UAAU,EAAE;IACfU,SAAS,CAACC,IAAI,CAAC;MAAEX,UAAU,EAAEA;IAAW,CAAC,CAAC;EAC3C;EAEA,IAAIC,UAAU,EAAE;IACfS,SAAS,CAACC,IAAI,CAAC;MAAEV,UAAU,EAAEA;IAAW,CAAC,CAAC;EAC3C;EAEA,IAAIC,MAAM,EAAE;IACXQ,SAAS,CAACC,IAAI,CAAC;MAAET,MAAM,EAAEA;IAAO,CAAC,CAAC;EACnC;EAEA,IAAIC,MAAM,EAAE;IACXO,SAAS,CAACC,IAAI,CAAC;MAAER,MAAM,EAAEA;IAAO,CAAC,CAAC;EACnC;EAEA,IAAIC,KAAK,EAAE;IACVM,SAAS,CAACC,IAAI,CAAC;MAAER,MAAM,EAAEC,KAAK;MAAEF,MAAM,EAAEE;IAAM,CAAC,CAAC;EACjD;EAEA,IAAIC,KAAK,EAAE;IACVK,SAAS,CAACC,IAAI,CAAC;MAAEN,KAAK,EAAEA;IAAM,CAAC,CAAC;EACjC;EAEA,IAAIC,KAAK,EAAE;IACVI,SAAS,CAACC,IAAI,CAAC;MAAEL,KAAK,EAAEA;IAAM,CAAC,CAAC;EACjC;EAEA,IAAIC,IAAI,EAAE;IACTG,SAAS,CAACC,IAAI,CAAC;MAAEN,KAAK,EAAEE,IAAI;MAAED,KAAK,EAAEA;IAAM,CAAC,CAAC;EAC9C;EAEA,IAAIE,QAAQ,EAAE;IACbE,SAAS,CAACC,IAAI,CAAC;MAAEC,MAAM,EAAEJ;IAAS,CAAC,CAAC;EACrC;EAEA,OAAO;IAAE,GAAGC,IAAI;IAAEC;EAAU,CAAC;AAC9B","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ import { extractAlignmentProperties } from "./extract-alignment-properties.js";
4
+ import { extractFlexProperties } from "./extract-flex-properties.js";
5
+ import { extractGapProperties } from "./extract-gap-properties.js";
6
+ import { extractPositionProperties } from "./extract-position-properties.js";
7
+ import { extractSizeProperties } from "./extract-size-properties.js";
8
+ import { memoizeStyle } from "./memoize-styles.js";
9
+ import { normalizeMarginValues, normalizePaddingValues } from "./normalize-spacing-values.js";
10
+ export function extractSkeletorStyleProperties(props) {
11
+ const border = props.border || {};
12
+ const margins = normalizeMarginValues(props.margins) || {};
13
+ const paddings = normalizePaddingValues(props.paddings) || {};
14
+ const size = extractSizeProperties(props);
15
+ const alignment = extractAlignmentProperties(props);
16
+ const position = extractPositionProperties(props);
17
+ const flex = props.flex ? extractFlexProperties({
18
+ flex: props.flex
19
+ }) : {};
20
+ const gap = props.gap ? extractGapProperties({
21
+ gap: props.gap
22
+ }) : {};
23
+ return memoizeStyle({
24
+ ...border,
25
+ ...margins,
26
+ ...paddings,
27
+ ...flex,
28
+ ...gap,
29
+ ...size,
30
+ ...alignment,
31
+ ...position
32
+ });
33
+ }
34
+ //# sourceMappingURL=extract-skeletor-style-properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["extractAlignmentProperties","extractFlexProperties","extractGapProperties","extractPositionProperties","extractSizeProperties","memoizeStyle","normalizeMarginValues","normalizePaddingValues","extractSkeletorStyleProperties","props","border","margins","paddings","size","alignment","position","flex","gap"],"sourceRoot":"../../../src","sources":["utils/extract-skeletor-style-properties.ts"],"mappings":";;AASA,SAASA,0BAA0B,QAAQ,mCAAgC;AAC3E,SAASC,qBAAqB,QAAQ,8BAA2B;AACjE,SAASC,oBAAoB,QAAQ,6BAA0B;AAC/D,SAASC,yBAAyB,QAAQ,kCAA+B;AACzE,SAASC,qBAAqB,QAAQ,8BAA2B;AACjE,SAASC,YAAY,QAAQ,qBAAkB;AAC/C,SACCC,qBAAqB,EACrBC,sBAAsB,QAChB,+BAA4B;AASnC,OAAO,SAASC,8BAA8BA,CAE5CC,KAAQ,EAAsB;EAC/B,MAAMC,MAAM,GAAGD,KAAK,CAACC,MAAM,IAAI,CAAC,CAAC;EACjC,MAAMC,OAAO,GAAGL,qBAAqB,CAACG,KAAK,CAACE,OAAO,CAAC,IAAI,CAAC,CAAC;EAC1D,MAAMC,QAAQ,GAAGL,sBAAsB,CAACE,KAAK,CAACG,QAAQ,CAAC,IAAI,CAAC,CAAC;EAC7D,MAAMC,IAAI,GAAGT,qBAAqB,CAACK,KAAK,CAAC;EACzC,MAAMK,SAAS,GAAGd,0BAA0B,CAACS,KAAK,CAAC;EACnD,MAAMM,QAAQ,GAAGZ,yBAAyB,CAACM,KAAK,CAAC;EACjD,MAAMO,IAAI,GAAGP,KAAK,CAACO,IAAI,GAAGf,qBAAqB,CAAC;IAAEe,IAAI,EAAEP,KAAK,CAACO;EAAK,CAAC,CAAC,GAAG,CAAC,CAAC;EAC1E,MAAMC,GAAG,GAAGR,KAAK,CAACQ,GAAG,GAAGf,oBAAoB,CAAC;IAAEe,GAAG,EAAER,KAAK,CAACQ;EAAI,CAAC,CAAC,GAAG,CAAC,CAAC;EAErE,OAAOZ,YAAY,CAAC;IACnB,GAAGK,MAAM;IACT,GAAGC,OAAO;IACV,GAAGC,QAAQ;IACX,GAAGI,IAAI;IACP,GAAGC,GAAG;IACN,GAAGJ,IAAI;IACP,GAAGC,SAAS;IACZ,GAAGC;EACJ,CAAC,CAAC;AACH","ignoreList":[]}
@@ -7,6 +7,8 @@ export * from "./extract-flex-properties.js";
7
7
  export * from "./extract-gap-properties.js";
8
8
  export * from "./extract-position-properties.js";
9
9
  export * from "./extract-size-properties.js";
10
+ export * from "./extract-skeletor-style-properties.js";
10
11
  export * from "./is-color-value.js";
12
+ export * from "./memoize-styles.js";
11
13
  export * from "./normalize-spacing-values.js";
12
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;AAAA,cAAc,iBAAc;AAC5B,cAAc,mCAAgC;AAC9C,cAAc,mCAAgC;AAC9C,cAAc,8BAA2B;AACzC,cAAc,6BAA0B;AACxC,cAAc,kCAA+B;AAC7C,cAAc,8BAA2B;AACzC,cAAc,qBAAkB;AAChC,cAAc,+BAA4B","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;AAAA,cAAc,iBAAc;AAC5B,cAAc,mCAAgC;AAC9C,cAAc,mCAAgC;AAC9C,cAAc,8BAA2B;AACzC,cAAc,6BAA0B;AACxC,cAAc,kCAA+B;AAC7C,cAAc,8BAA2B;AACzC,cAAc,wCAAqC;AACnD,cAAc,qBAAkB;AAChC,cAAc,qBAAkB;AAChC,cAAc,+BAA4B","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ // utils/memoize-styles.ts
4
+
5
+ // biome-ignore lint/suspicious/noExplicitAny: Catchall
6
+
7
+ // Global cache: hash → { key, style }
8
+ const styleCache = new Map();
9
+ let GlobalObjectId = 0; // For assigning stable IDs to nested objects
10
+ const ObjectIds = new WeakMap();
11
+
12
+ /**
13
+ * Simple, fast hash function for 32-bit integer
14
+ */
15
+ function hashString(str) {
16
+ let hash = 0;
17
+ for (let i = 0; i < str.length; i++) {
18
+ const char = str.charCodeAt(i);
19
+ hash = (hash << 5) - hash + char;
20
+ hash = hash & hash; // Convert to 32-bit integer
21
+ }
22
+ return hash >>> 0; // Ensure positive
23
+ }
24
+
25
+ /**
26
+ * Generate a stable, fast key for a value:
27
+ * - primitives → string
28
+ * - objects → unique ID (memoized)
29
+ */
30
+ function valueKey(value) {
31
+ if (value && typeof value === "object") {
32
+ if (!ObjectIds.has(value)) {
33
+ GlobalObjectId += 1;
34
+ ObjectIds.set(value, GlobalObjectId);
35
+ }
36
+ return `ref#${ObjectIds.get(value)}`;
37
+ }
38
+ return String(value);
39
+ }
40
+
41
+ /**
42
+ * High-performance memoizeStyle with hash-based lookup and collision detection
43
+ * Uses a fast hash for primary lookup, but verifies the key to catch collisions
44
+ */
45
+ export function memoizeStyle(obj) {
46
+ // Build deterministic key by sorting and joining prop:value pairs
47
+ const key = Object.entries(obj).map(([k, v]) => `${k}:${valueKey(v)}`).join(";");
48
+
49
+ // Fast hash-based lookup
50
+ const hash = hashString(key);
51
+ const cached = styleCache.get(hash);
52
+
53
+ // Verify cache hit (collision detection)
54
+ if (cached && cached.key === key) {
55
+ return cached.style;
56
+ }
57
+
58
+ // Cache miss or collision: create and store new style
59
+ const style = Object.freeze({
60
+ ...obj
61
+ });
62
+ styleCache.set(hash, {
63
+ key,
64
+ style
65
+ });
66
+ return style;
67
+ }
68
+ //# sourceMappingURL=memoize-styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["styleCache","Map","GlobalObjectId","ObjectIds","WeakMap","hashString","str","hash","i","length","char","charCodeAt","valueKey","value","has","set","get","String","memoizeStyle","obj","key","Object","entries","map","k","v","join","cached","style","freeze"],"sourceRoot":"../../../src","sources":["utils/memoize-styles.ts"],"mappings":";;AAAA;;AAGA;;AAQA;AACA,MAAMA,UAAU,GAAG,IAAIC,GAAG,CAAqB,CAAC;AAEhD,IAAIC,cAAc,GAAG,CAAC,CAAC,CAAC;AACxB,MAAMC,SAAS,GAAG,IAAIC,OAAO,CAAiB,CAAC;;AAE/C;AACA;AACA;AACA,SAASC,UAAUA,CAACC,GAAW,EAAU;EACxC,IAAIC,IAAI,GAAG,CAAC;EACZ,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,GAAG,CAACG,MAAM,EAAED,CAAC,EAAE,EAAE;IACpC,MAAME,IAAI,GAAGJ,GAAG,CAACK,UAAU,CAACH,CAAC,CAAC;IAC9BD,IAAI,GAAG,CAACA,IAAI,IAAI,CAAC,IAAIA,IAAI,GAAGG,IAAI;IAChCH,IAAI,GAAGA,IAAI,GAAGA,IAAI,CAAC,CAAC;EACrB;EACA,OAAOA,IAAI,KAAK,CAAC,CAAC,CAAC;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASK,QAAQA,CAACC,KAAc,EAAU;EACzC,IAAIA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACvC,IAAI,CAACV,SAAS,CAACW,GAAG,CAACD,KAAe,CAAC,EAAE;MACpCX,cAAc,IAAI,CAAC;MACnBC,SAAS,CAACY,GAAG,CAACF,KAAK,EAAYX,cAAc,CAAC;IAC/C;IACA,OAAO,OAAOC,SAAS,CAACa,GAAG,CAACH,KAAe,CAAC,EAAE;EAC/C;EACA,OAAOI,MAAM,CAACJ,KAAK,CAAC;AACrB;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASK,YAAYA,CAAsBC,GAAM,EAAK;EAC5D;EACA,MAAMC,GAAG,GAAGC,MAAM,CAACC,OAAO,CAACH,GAAG,CAAC,CAC7BI,GAAG,CAAC,CAAC,CAACC,CAAC,EAAEC,CAAC,CAAC,KAAK,GAAGD,CAAC,IAAIZ,QAAQ,CAACa,CAAC,CAAC,EAAE,CAAC,CACtCC,IAAI,CAAC,GAAG,CAAC;;EAEX;EACA,MAAMnB,IAAI,GAAGF,UAAU,CAACe,GAAG,CAAC;EAC5B,MAAMO,MAAM,GAAG3B,UAAU,CAACgB,GAAG,CAACT,IAAI,CAAC;;EAEnC;EACA,IAAIoB,MAAM,IAAIA,MAAM,CAACP,GAAG,KAAKA,GAAG,EAAE;IACjC,OAAOO,MAAM,CAACC,KAAK;EACpB;;EAEA;EACA,MAAMA,KAAK,GAAGP,MAAM,CAACQ,MAAM,CAAC;IAAE,GAAGV;EAAI,CAAC,CAAM;EAC5CnB,UAAU,CAACe,GAAG,CAACR,IAAI,EAAE;IAAEa,GAAG;IAAEQ;EAAM,CAAC,CAAC;EAEpC,OAAOA,KAAK;AACb","ignoreList":[]}
@@ -1,4 +1,5 @@
1
- import React, { type PropsWithChildren } from "react";
1
+ import type React from "react";
2
+ import type { PropsWithChildren } from "react";
2
3
  import { type ColorValue, type ScrollViewProps, type ViewProps, type ViewStyle } from "react-native";
3
4
  import type { Alignment, Animations, Border, Flex, Position, Size, Spacing } from "../../models";
4
5
  type SkeletorProps = Alignment & Spacing & Size & Border & Flex & Position & Animations;
@@ -1 +1 @@
1
- {"version":3,"file":"Block.d.ts","sourceRoot":"","sources":["../../../../../src/components/Block/Block.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAW,MAAM,OAAO,CAAC;AAC/D,OAAO,EAEN,KAAK,UAAU,EAEf,KAAK,eAAe,EAEpB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACX,SAAS,EACT,UAAU,EACV,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,MAAM,cAAc,CAAC;AAatB,KAAK,aAAa,GAAG,SAAS,GAC7B,OAAO,GACP,IAAI,GACJ,MAAM,GACN,IAAI,GACJ,QAAQ,GACR,UAAU,CAAC;AAEZ,KAAK,WAAW,GAAG,aAAa,GAAG;IAClC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC;IAC1C,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAC7C,SAAS,GAAG;IACX,UAAU,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,eAAe,CAAC;CAC9B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,WAAW,GACvC,SAAS,GAAG;IACX,UAAU,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,oBAAoB,GAAG,cAAc,CAAC;AAoE/D;;;;;sFAKsF;AACtF,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CA0DzD,CAAC"}
1
+ {"version":3,"file":"Block.d.ts","sourceRoot":"","sources":["../../../../../src/components/Block/Block.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAEN,KAAK,UAAU,EAEf,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACX,SAAS,EACT,UAAU,EACV,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,MAAM,cAAc,CAAC;AAQtB,KAAK,aAAa,GAAG,SAAS,GAC7B,OAAO,GACP,IAAI,GACJ,MAAM,GACN,IAAI,GACJ,QAAQ,GACR,UAAU,CAAC;AAEZ,KAAK,WAAW,GAAG,aAAa,GAAG;IAClC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC;IAC1C,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAC7C,SAAS,GAAG;IACX,UAAU,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,eAAe,CAAC;CAC9B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,WAAW,GACvC,SAAS,GAAG;IACX,UAAU,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,oBAAoB,GAAG,cAAc,CAAC;AAoC/D;;;;;sFAKsF;AACtF,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAsDzD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputFocusScrollView.d.ts","sourceRoot":"","sources":["../../../../../src/components/InputFocusScrollView/InputFocusScrollView.tsx"],"names":[],"mappings":"AACA,OAAO,EAIN,KAAK,oBAAoB,EAGzB,KAAK,eAAe,EAEpB,KAAK,aAAa,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAO5C,MAAM,WAAW,yBAChB,SAAQ,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,EACxC,OAAO;IACR,4LAA4L;IAC5L,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,CACT,YAAY,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,KAAK,IAAI,KAC1D,KAAK,CAAC,SAAS,CAAC;CACrB;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAsHpE,CAAC"}
1
+ {"version":3,"file":"InputFocusScrollView.d.ts","sourceRoot":"","sources":["../../../../../src/components/InputFocusScrollView/InputFocusScrollView.tsx"],"names":[],"mappings":"AACA,OAAO,EAIN,KAAK,oBAAoB,EAGzB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,WAAW,yBAChB,SAAQ,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,EACxC,OAAO;IACR,4LAA4L;IAC5L,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,CACT,YAAY,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,KAAK,IAAI,KAC1D,KAAK,CAAC,SAAS,CAAC;CACrB;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA0GpE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SkeletorProvider.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkeletorProvider/SkeletorProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,KAAK,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAErC;0DAC0D;AAC1D,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAS/D,CAAC"}
1
+ {"version":3,"file":"SkeletorProvider.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkeletorProvider/SkeletorProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,KAAK,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAErC;0DAC0D;AAC1D,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAW/D,CAAC"}
@@ -1,4 +1,5 @@
1
- import React, { type PropsWithChildren } from "react";
1
+ import type React from "react";
2
+ import type { PropsWithChildren } from "react";
2
3
  import { type TextProps as RNTextProps, type TextStyle } from "react-native";
3
4
  import type { Animations, Flex, Position, Size, Spacing } from "../../models";
4
5
  interface OwnProps extends RNTextProps {
@@ -1 +1 @@
1
- {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../../src/components/Text/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAW,MAAM,OAAO,CAAC;AAC/D,OAAO,EAEN,KAAK,SAAS,IAAI,WAAW,EAE7B,KAAK,SAAS,EACd,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAW9E,UAAU,QAAS,SAAQ,WAAW;IACrC;8DAC0D;IAC1D,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,oGAAoG;IACpG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;IACjC,aAAa,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,SAAS,GAAG,QAAQ,GAC/B,OAAO,GACP,IAAI,GACJ,IAAI,GACJ,QAAQ,GACR,UAAU,CAAC;AAEZ;0DAC0D;AAC1D,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CA4EvD,CAAC"}
1
+ {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../../src/components/Text/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAEN,KAAK,SAAS,IAAI,WAAW,EAC7B,KAAK,SAAS,EACd,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAO9E,UAAU,QAAS,SAAQ,WAAW;IACrC;8DAC0D;IAC1D,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,oGAAoG;IACpG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;IACjC,aAAa,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,SAAS,GAAG,QAAQ,GAC/B,OAAO,GACP,IAAI,GACJ,IAAI,GACJ,QAAQ,GACR,UAAU,CAAC;AAEZ;0DAC0D;AAC1D,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CA+CvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/skeleform/src/index.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO;CAAE,CAAC;AAClE,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAChB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EACX,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,OAAO,KACb,OAAO,GAAG,SAAS;CACxB,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI;KACtB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC3B,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1B,2UAA2U;IAC3U,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;CACjB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;;;aA2BnD,CAAC,SAAS,MAAM,CAAC,OAC3B,CAAC,SACC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBACF,OAAO;eASP,CAAC,SAAS,MAAM,CAAC,OAAO,CAAC;;;;;;;;EAgF3C;AAED,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;4BAE7C,CAAC,CAAC,MAAM,CAAC,CAAC,KACf,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;qBA2B/C,CAAC,SAAS,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC;sBANnD,MAAM,CAAC;2BAiBgB,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC;6BAgB1C,MAAM,CAAC,CAAC,CAAC;;;;EAwBzC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/skeleform/src/index.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO;CAAE,CAAC;AAClE,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAChB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EACX,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,OAAO,KACb,OAAO,GAAG,SAAS;CACxB,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI;KACtB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC3B,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1B,2UAA2U;IAC3U,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;CACjB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;;;aA2BnD,CAAC,SAAS,MAAM,CAAC,OAC3B,CAAC,SACC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBACF,OAAO;eASP,CAAC,SAAS,MAAM,CAAC,OAAO,CAAC;;;;;;;;EAgF3C;AAED,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;4BAE7C,CAAC,CAAC,MAAM,CAAC,CAAC,KACf,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;qBA2B/C,CAAC,SAAS,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC;sBANnD,MAAM,CAAC;2BAiBgB,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC;6BAgB1C,MAAM,CAAC,CAAC,CAAC;;;;EAuBzC"}
@@ -1,3 +1,3 @@
1
- import type { AnimationConfiguration, AnimationStyle, CleanViewStyle, ElementAnimation } from "../models";
2
- export declare const useAnimateParallel: <Styles extends keyof CleanViewStyle>(styles: AnimationStyle<Styles>, config?: AnimationConfiguration) => ElementAnimation<Styles>;
1
+ import type { AnimatableStyleKeys, AnimationConfiguration, AnimationStyle, ElementAnimation } from "../models";
2
+ export declare const useAnimateParallel: <Styles extends AnimatableStyleKeys>(styles: AnimationStyle<Styles>, config?: AnimationConfiguration) => ElementAnimation<Styles>;
3
3
  //# sourceMappingURL=useAnimateParallel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAnimateParallel.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useAnimateParallel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,MAAM,WAAW,CAAC;AAGnB,eAAO,MAAM,kBAAkB,GAAI,MAAM,SAAS,MAAM,cAAc,EACrE,QAAQ,cAAc,CAAC,MAAM,CAAC,EAC9B,SAAS,sBAAsB,KAC7B,gBAAgB,CAAC,MAAM,CAEzB,CAAC"}
1
+ {"version":3,"file":"useAnimateParallel.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useAnimateParallel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,MAAM,WAAW,CAAC;AAGnB,eAAO,MAAM,kBAAkB,GAAI,MAAM,SAAS,mBAAmB,EACpE,QAAQ,cAAc,CAAC,MAAM,CAAC,EAC9B,SAAS,sBAAsB,KAC7B,gBAAgB,CAAC,MAAM,CAEzB,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { AnimationConfiguration, AnimationStyle, CleanViewStyle, ElementAnimation } from "../models";
2
- export declare const useAnimateSequence: <Styles extends keyof CleanViewStyle>(styles: AnimationStyle<Styles>, config?: AnimationConfiguration) => ElementAnimation<Styles>;
1
+ import type { AnimatableStyleKeys, AnimationConfiguration, AnimationStyle, ElementAnimation } from "../models";
2
+ export declare const useAnimateSequence: <Styles extends AnimatableStyleKeys>(styles: AnimationStyle<Styles>, config?: AnimationConfiguration) => ElementAnimation<Styles>;
3
3
  //# sourceMappingURL=useAnimateSequence.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAnimateSequence.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useAnimateSequence.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,MAAM,WAAW,CAAC;AAGnB,eAAO,MAAM,kBAAkB,GAAI,MAAM,SAAS,MAAM,cAAc,EACrE,QAAQ,cAAc,CAAC,MAAM,CAAC,EAC9B,SAAS,sBAAsB,KAC7B,gBAAgB,CAAC,MAAM,CAEzB,CAAC"}
1
+ {"version":3,"file":"useAnimateSequence.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useAnimateSequence.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,MAAM,WAAW,CAAC;AAGnB,eAAO,MAAM,kBAAkB,GAAI,MAAM,SAAS,mBAAmB,EACpE,QAAQ,cAAc,CAAC,MAAM,CAAC,EAC9B,SAAS,sBAAsB,KAC7B,gBAAgB,CAAC,MAAM,CAEzB,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { AnimationStyle, CleanViewStyle, ElementAnimation, StaggerAnimationConfiguration } from "../models";
2
- export declare const useAnimateStagger: <Styles extends keyof CleanViewStyle>(styles: AnimationStyle<Styles>, config: StaggerAnimationConfiguration) => ElementAnimation<Styles>;
1
+ import type { AnimatableStyleKeys, AnimationStyle, ElementAnimation, StaggerAnimationConfiguration } from "../models";
2
+ export declare const useAnimateStagger: <Styles extends AnimatableStyleKeys>(styles: AnimationStyle<Styles>, config: StaggerAnimationConfiguration) => ElementAnimation<Styles>;
3
3
  //# sourceMappingURL=useAnimateStagger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAnimateStagger.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useAnimateStagger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,6BAA6B,EAC7B,MAAM,WAAW,CAAC;AAGnB,eAAO,MAAM,iBAAiB,GAAI,MAAM,SAAS,MAAM,cAAc,EACpE,QAAQ,cAAc,CAAC,MAAM,CAAC,EAC9B,QAAQ,6BAA6B,KACnC,gBAAgB,CAAC,MAAM,CAEzB,CAAC"}
1
+ {"version":3,"file":"useAnimateStagger.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useAnimateStagger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,6BAA6B,EAC7B,MAAM,WAAW,CAAC;AAGnB,eAAO,MAAM,iBAAiB,GAAI,MAAM,SAAS,mBAAmB,EACnE,QAAQ,cAAc,CAAC,MAAM,CAAC,EAC9B,QAAQ,6BAA6B,KACnC,gBAAgB,CAAC,MAAM,CAEzB,CAAC"}
@@ -1,7 +1,7 @@
1
- import type { CleanViewStyle, ElementAnimation } from "../models";
2
- export declare const useLoopAnimation: <Styles extends keyof CleanViewStyle>(animation: ElementAnimation<Styles>) => {
1
+ import type { AnimatableStyleKeys, ElementAnimation } from "../models";
2
+ export declare const useLoopAnimation: <Styles extends AnimatableStyleKeys>(animation: ElementAnimation<Styles>) => {
3
3
  start: () => void;
4
- animations: import("models/Animation").Animation<Styles>;
4
+ animations: Required<Partial<Record<Styles, import("react-native").Animated.AnimatedInterpolation<string | number>>>>;
5
5
  forward: import("react-native").Animated.CompositeAnimation;
6
6
  backward: import("react-native").Animated.CompositeAnimation;
7
7
  reverse: (onFinished?: () => void) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useLoopAnimation.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useLoopAnimation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGlE,eAAO,MAAM,gBAAgB,GAAI,MAAM,SAAS,MAAM,cAAc,EACnE,WAAW,gBAAgB,CAAC,MAAM,CAAC;;;;;wBAIg3D,CAAC;;CADp5D,CAAC"}
1
+ {"version":3,"file":"useLoopAnimation.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useLoopAnimation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGvE,eAAO,MAAM,gBAAgB,GAAI,MAAM,SAAS,mBAAmB,EAClE,WAAW,gBAAgB,CAAC,MAAM,CAAC;;;;;wBAI61E,CAAC;;CADj4E,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Animated, EasingFunction, ViewStyle } from "react-native";
1
+ import type { Animated, EasingFunction, ScaleTransform, ScaleXTransform, ScaleYTransform, SkewXTransform, SkewYTransform, TranslateXTransform, TranslateYTransform, ViewStyle } from "react-native";
2
2
  export type AnimationConfiguration = {
3
3
  duration?: number;
4
4
  /** Enables or disables native driver. Defaults to true. Unexpected lifecycle behavior might be experience when false. If animations behave weirdly, try changing this. */
@@ -14,21 +14,26 @@ export type StaggerAnimationConfiguration = AnimationConfiguration & {
14
14
  export type AnimationTimelineConfiguration = {
15
15
  [ms: number]: Array<ElementAnimation<any>>;
16
16
  };
17
- type NonAnimatableKeys = "rotation" | "alignItems" | "alignContent" | "alignSelf" | "justifyContent" | "display" | "flexDirection" | "flexWrap" | "overflow" | "position" | "zIndex" | "elevation" | "direction" | "backfaceVisibility" | "borderCurve" | "borderStyle" | "pointerEvents" | "overflow" | "transform";
18
- export type CleanViewStyle = Omit<ViewStyle, NonAnimatableKeys> & {
19
- rotation?: `${number}deg` | `${number}rad`;
20
- };
21
- export type AnimationViewStyle = {
22
- [K in keyof CleanViewStyle]: Exclude<CleanViewStyle[K], Animated.AnimatedNode>;
23
- };
24
- export type AnimationStyle<Keys extends keyof AnimationViewStyle> = {
25
- [K in Keys | keyof AnimationViewStyle]?: AnimationViewStyle[K][];
26
- };
27
- export type Animation<Keys extends keyof AnimationViewStyle = keyof AnimationViewStyle> = {
28
- [K in Keys]: Animated.AnimatedInterpolation<string | number>;
29
- };
30
- export type ElementAnimation<Keys extends keyof AnimationViewStyle> = {
31
- animations: Animation<Keys>;
17
+ type AnimatableValueTypes = string | number;
18
+ export type CustomAnimatableProperties = {
19
+ translateX?: TranslateXTransform["translateX"][];
20
+ translateY?: TranslateYTransform["translateY"][];
21
+ scaleX?: ScaleXTransform["scaleX"][];
22
+ scaleY?: ScaleYTransform["scaleY"][];
23
+ scale?: ScaleTransform["scale"][];
24
+ skewX?: SkewXTransform["skewX"][];
25
+ skewY?: SkewYTransform["skewY"][];
26
+ skew?: SkewXTransform["skewX"][];
27
+ rotation?: Array<`${number}deg` | `${number}rad`>;
28
+ };
29
+ export type NonAnimatableKeys = "alignItems" | "alignContent" | "alignSelf" | "justifyContent" | "display" | "flexDirection" | "flexWrap" | "overflow" | "position" | "zIndex" | "elevation" | "direction" | "backfaceVisibility" | "borderStyle" | "borderCurve" | "pointerEvents" | "shadowOffset" | "textShadowOffset" | "transformMatrix" | "transform";
30
+ export type AnimatableStyleKeys = keyof Exclude<ViewStyle, NonAnimatableKeys> | keyof CustomAnimatableProperties;
31
+ export type AnimationStyle<Keys extends AnimatableStyleKeys> = {
32
+ [K in Keys]: AnimatableValueTypes[];
33
+ };
34
+ export type ComposedAnimationInterpolations<Keys extends AnimatableStyleKeys> = Partial<Record<Keys, Animated.AnimatedInterpolation<string | number>>>;
35
+ export type ElementAnimation<Keys extends AnimatableStyleKeys> = {
36
+ animations: Required<ComposedAnimationInterpolations<Keys>>;
32
37
  forward: Animated.CompositeAnimation;
33
38
  backward: Animated.CompositeAnimation;
34
39
  /** Start animation with onFinished callback. Using forward.start() */
@@ -38,11 +43,8 @@ export type ElementAnimation<Keys extends keyof AnimationViewStyle> = {
38
43
  /** Reset animations to initial value. Using forward.reset() */
39
44
  reset: Animated.CompositeAnimation["reset"];
40
45
  };
41
- export type ViewAnimation<Keys extends keyof AnimationViewStyle> = {
42
- [K in Keys | keyof AnimationViewStyle]?: AnimationViewStyle[K] | Animated.AnimatedInterpolation<string | number>;
46
+ export type Animations = {
47
+ animations?: ComposedAnimationInterpolations<AnimatableStyleKeys>;
43
48
  };
44
- export interface Animations {
45
- animations?: ViewAnimation<keyof AnimationViewStyle>;
46
- }
47
49
  export {};
48
50
  //# sourceMappingURL=Animation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Animation.d.ts","sourceRoot":"","sources":["../../../../src/models/Animation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAExE,MAAM,MAAM,sBAAsB,GAAG;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0KAA0K;IAC1K,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,sBAAsB,GAAG;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAE5C,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;CAC3C,CAAC;AAEF,KAAK,iBAAiB,GACnB,UAAU,GACV,YAAY,GACZ,cAAc,GACd,WAAW,GACX,gBAAgB,GAChB,SAAS,GACT,eAAe,GACf,UAAU,GACV,UAAU,GACV,UAAU,GACV,QAAQ,GACR,WAAW,GACX,WAAW,GACX,oBAAoB,GACpB,aAAa,GACb,aAAa,GACb,eAAe,GACf,UAAU,GACV,WAAW,CAAC;AAEf,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,GAAG;IACjE,QAAQ,CAAC,EAAE,GAAG,MAAM,KAAK,GAAG,GAAG,MAAM,KAAK,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;KAC/B,CAAC,IAAI,MAAM,cAAc,GAAG,OAAO,CACnC,cAAc,CAAC,CAAC,CAAC,EACjB,QAAQ,CAAC,YAAY,CACrB;CACD,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,IAAI,SAAS,MAAM,kBAAkB,IAAI;KAClE,CAAC,IAAI,IAAI,GAAG,MAAM,kBAAkB,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE;CAChE,CAAC;AAEF,MAAM,MAAM,SAAS,CACpB,IAAI,SAAS,MAAM,kBAAkB,GAAG,MAAM,kBAAkB,IAC7D;KACF,CAAC,IAAI,IAAI,GAAG,QAAQ,CAAC,qBAAqB,CAAC,MAAM,GAAG,MAAM,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,IAAI,SAAS,MAAM,kBAAkB,IAAI;IACrE,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IACrC,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IACtC,sEAAsE;IACtE,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACrC,mGAAmG;IACnG,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAC3C,+DAA+D;IAC/D,KAAK,EAAE,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,IAAI,SAAS,MAAM,kBAAkB,IAAI;KACjE,CAAC,IAAI,IAAI,GAAG,MAAM,kBAAkB,CAAC,CAAC,EACpC,kBAAkB,CAAC,CAAC,CAAC,GACrB,QAAQ,CAAC,qBAAqB,CAAC,MAAM,GAAG,MAAM,CAAC;CAClD,CAAC;AAEF,MAAM,WAAW,UAAU;IAC1B,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,kBAAkB,CAAC,CAAC;CACrD"}
1
+ {"version":3,"file":"Animation.d.ts","sourceRoot":"","sources":["../../../../src/models/Animation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,QAAQ,EACR,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,sBAAsB,GAAG;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0KAA0K;IAC1K,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,sBAAsB,GAAG;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAE5C,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;CAC3C,CAAC;AAEF,KAAK,oBAAoB,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5C,MAAM,MAAM,0BAA0B,GAAG;IACxC,UAAU,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC,EAAE,CAAC;IACjD,UAAU,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC,EAAE,CAAC;IACjD,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;IACrC,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,KAAK,GAAG,GAAG,MAAM,KAAK,CAAC,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAC1B,YAAY,GACZ,cAAc,GACd,WAAW,GACX,gBAAgB,GAChB,SAAS,GACT,eAAe,GACf,UAAU,GACV,UAAU,GACV,UAAU,GACV,QAAQ,GACR,WAAW,GACX,WAAW,GACX,oBAAoB,GACpB,aAAa,GACb,aAAa,GACb,eAAe,GACf,cAAc,GACd,kBAAkB,GAClB,iBAAiB,GACjB,WAAW,CAAC;AAEf,MAAM,MAAM,mBAAmB,GAC5B,MAAM,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,GAC3C,MAAM,0BAA0B,CAAC;AAEpC,MAAM,MAAM,cAAc,CAAC,IAAI,SAAS,mBAAmB,IAAI;KAC7D,CAAC,IAAI,IAAI,GAAG,oBAAoB,EAAE;CACnC,CAAC;AAEF,MAAM,MAAM,+BAA+B,CAAC,IAAI,SAAS,mBAAmB,IAC3E,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAExE,MAAM,MAAM,gBAAgB,CAAC,IAAI,SAAS,mBAAmB,IAAI;IAChE,UAAU,EAAE,QAAQ,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IACrC,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IACtC,sEAAsE;IACtE,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACrC,mGAAmG;IACnG,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAC3C,+DAA+D;IAC/D,KAAK,EAAE,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACxB,UAAU,CAAC,EAAE,+BAA+B,CAAC,mBAAmB,CAAC,CAAC;CAClE,CAAC"}
@@ -1,22 +1,22 @@
1
1
  import { Animated } from "react-native";
2
- import type { Animation, AnimationConfiguration, AnimationStyle, AnimationTimelineConfiguration, CleanViewStyle, ElementAnimation, StaggerAnimationConfiguration } from "../models";
2
+ import type { AnimatableStyleKeys, AnimationConfiguration, AnimationStyle, AnimationTimelineConfiguration, ElementAnimation, StaggerAnimationConfiguration } from "../models";
3
3
  /** Animate styles in parallel.
4
4
  * Example: if you define opacity and top styles, this will start the opacity animation and the top animation at the same time. */
5
- export declare function animateParallel<Styles extends keyof CleanViewStyle>(styles: AnimationStyle<Styles>, config?: AnimationConfiguration): ElementAnimation<Styles>;
5
+ export declare function animateParallel<Styles extends AnimatableStyleKeys>(styles: AnimationStyle<Styles>, config?: AnimationConfiguration): ElementAnimation<Styles>;
6
6
  /** Stagger defined styles animations.
7
7
  * Example: if you define opacity and top styles, this will start the opacity animation and stagger the top animation by stagger amount. */
8
- export declare function animateStagger<Styles extends keyof CleanViewStyle>(styles: AnimationStyle<Styles>, config: StaggerAnimationConfiguration): ElementAnimation<Styles>;
8
+ export declare function animateStagger<Styles extends AnimatableStyleKeys>(styles: AnimationStyle<Styles>, config: StaggerAnimationConfiguration): ElementAnimation<Styles>;
9
9
  /** This will animate the passed in styles in sequence.
10
10
  * Example: if you define opacity and top styles, this will start the opacity animation and then start the top animation when the opacity animation finishes. */
11
- export declare function animateSequence<Styles extends keyof CleanViewStyle>(styles: AnimationStyle<Styles>, config?: AnimationConfiguration): ElementAnimation<Styles>;
11
+ export declare function animateSequence<Styles extends AnimatableStyleKeys>(styles: AnimationStyle<Styles>, config?: AnimationConfiguration): ElementAnimation<Styles>;
12
12
  export declare function createAnimationTimeline(timeline: AnimationTimelineConfiguration): {
13
13
  start: (callback?: Animated.EndCallback) => void;
14
14
  reverse: (callback?: Animated.EndCallback) => void;
15
15
  reset: () => void;
16
16
  };
17
- export declare function loopAnimation<Type extends keyof CleanViewStyle = keyof CleanViewStyle>(animation: ElementAnimation<Type>): {
17
+ export declare function loopAnimation<Type extends AnimatableStyleKeys = AnimatableStyleKeys>(animation: ElementAnimation<Type>): {
18
18
  start: () => void;
19
- animations: Animation<Type>;
19
+ animations: Required<Partial<Record<Type, Animated.AnimatedInterpolation<string | number>>>>;
20
20
  forward: Animated.CompositeAnimation;
21
21
  backward: Animated.CompositeAnimation;
22
22
  reverse: (onFinished?: () => void) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"animations.d.ts","sourceRoot":"","sources":["../../../../src/utils/animations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAU,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EACX,SAAS,EACT,sBAAsB,EACtB,cAAc,EACd,8BAA8B,EAC9B,cAAc,EACd,gBAAgB,EAChB,6BAA6B,EAC7B,MAAM,WAAW,CAAC;AAyFnB;kIACkI;AAClI,wBAAgB,eAAe,CAAC,MAAM,SAAS,MAAM,cAAc,EAClE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,EAC9B,MAAM,CAAC,EAAE,sBAAsB,GAC7B,gBAAgB,CAAC,MAAM,CAAC,CAc1B;AAuBD;2IAC2I;AAC3I,wBAAgB,cAAc,CAAC,MAAM,SAAS,MAAM,cAAc,EACjE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,EAC9B,MAAM,EAAE,6BAA6B,GACnC,gBAAgB,CAAC,MAAM,CAAC,CAiB1B;AAgCD;gKACgK;AAChK,wBAAgB,eAAe,CAAC,MAAM,SAAS,MAAM,cAAc,EAClE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,EAC9B,MAAM,CAAC,EAAE,sBAAsB,GAC7B,gBAAgB,CAAC,MAAM,CAAC,CAc1B;AAED,wBAAgB,uBAAuB,CACtC,QAAQ,EAAE,8BAA8B;;;;EAoCxC;AAED,wBAAgB,aAAa,CAC5B,IAAI,SAAS,MAAM,cAAc,GAAG,MAAM,cAAc,EACvD,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC;;;;;wBAvKZ,CAAC;;EAkLvB"}
1
+ {"version":3,"file":"animations.d.ts","sourceRoot":"","sources":["../../../../src/utils/animations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAU,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EACX,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,8BAA8B,EAE9B,gBAAgB,EAChB,6BAA6B,EAC7B,MAAM,WAAW,CAAC;AA0FnB;kIACkI;AAClI,wBAAgB,eAAe,CAAC,MAAM,SAAS,mBAAmB,EACjE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,EAC9B,MAAM,CAAC,EAAE,sBAAsB,GAC7B,gBAAgB,CAAC,MAAM,CAAC,CAc1B;AAyBD;2IAC2I;AAC3I,wBAAgB,cAAc,CAAC,MAAM,SAAS,mBAAmB,EAChE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,EAC9B,MAAM,EAAE,6BAA6B,GACnC,gBAAgB,CAAC,MAAM,CAAC,CAiB1B;AAgCD;gKACgK;AAChK,wBAAgB,eAAe,CAAC,MAAM,SAAS,mBAAmB,EACjE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,EAC9B,MAAM,CAAC,EAAE,sBAAsB,GAC7B,gBAAgB,CAAC,MAAM,CAAC,CAc1B;AAED,wBAAgB,uBAAuB,CACtC,QAAQ,EAAE,8BAA8B;;;;EAoCxC;AAED,wBAAgB,aAAa,CAC5B,IAAI,SAAS,mBAAmB,GAAG,mBAAmB,EACrD,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC;;;;;wBArKrB,CAAC;;EA8Kd"}
@@ -1,8 +1,8 @@
1
1
  import type { MatrixTransform, RotateTransform, RotateXTransform, RotateYTransform, RotateZTransform, ScaleTransform, ScaleXTransform, ScaleYTransform, SkewXTransform, SkewYTransform, TranslateXTransform, TranslateYTransform } from "react-native";
2
- import type { AnimationViewStyle, ViewAnimation } from "../models";
3
- type BaseTransformStyles = RotateTransform | RotateXTransform | RotateYTransform | RotateZTransform | ScaleTransform | ScaleXTransform | ScaleYTransform | TranslateXTransform | TranslateYTransform | SkewXTransform | SkewYTransform | MatrixTransform;
4
- export declare function extractAnimationProperties<Keys extends keyof AnimationViewStyle>(props: ViewAnimation<Keys> | undefined): (ViewAnimation<Keys> & {
5
- transform: BaseTransformStyles[];
6
- }) | undefined;
2
+ import type { ComposedAnimationInterpolations, CustomAnimatableProperties } from "../models";
3
+ type BaseTransformProps = RotateTransform | RotateXTransform | RotateYTransform | RotateZTransform | ScaleTransform | ScaleXTransform | ScaleYTransform | TranslateXTransform | TranslateYTransform | SkewXTransform | SkewYTransform | MatrixTransform;
4
+ export declare function extractAnimationProperties(props: ComposedAnimationInterpolations<keyof CustomAnimatableProperties> | undefined): {
5
+ transform: BaseTransformProps[];
6
+ } | undefined;
7
7
  export {};
8
8
  //# sourceMappingURL=extract-animation-properties.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extract-animation-properties.d.ts","sourceRoot":"","sources":["../../../../src/utils/extract-animation-properties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAEnE,KAAK,mBAAmB,GACrB,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,cAAc,GACd,eAAe,GACf,eAAe,GACf,mBAAmB,GACnB,mBAAmB,GACnB,cAAc,GACd,cAAc,GACd,eAAe,CAAC;AAenB,wBAAgB,0BAA0B,CACzC,IAAI,SAAS,MAAM,kBAAkB,EACpC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,SAAS;eAI3B,mBAAmB,EAAE;eAoCjC"}
1
+ {"version":3,"file":"extract-animation-properties.d.ts","sourceRoot":"","sources":["../../../../src/utils/extract-animation-properties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACX,+BAA+B,EAC/B,0BAA0B,EAC1B,MAAM,WAAW,CAAC;AAEnB,KAAK,kBAAkB,GACpB,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,cAAc,GACd,eAAe,GACf,eAAe,GACf,mBAAmB,GACnB,mBAAmB,GACnB,cAAc,GACd,cAAc,GACd,eAAe,CAAC;AAEnB,wBAAgB,0BAA0B,CACzC,KAAK,EACF,+BAA+B,CAAC,MAAM,0BAA0B,CAAC,GACjE,SAAS;;cAuDZ"}
@@ -0,0 +1,6 @@
1
+ import type { ViewStyle } from "react-native";
2
+ import type { Alignment, Border, Flex, Position, Size, Spacing } from "../models";
3
+ type SkeletorStyleProperties = Alignment & Position & Size & Border & Flex & Spacing;
4
+ export declare function extractSkeletorStyleProperties<T extends SkeletorStyleProperties>(props: T): Partial<ViewStyle>;
5
+ export {};
6
+ //# sourceMappingURL=extract-skeletor-style-properties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-skeletor-style-properties.d.ts","sourceRoot":"","sources":["../../../../src/utils/extract-skeletor-style-properties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EACX,SAAS,EACT,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,MAAM,WAAW,CAAC;AAYnB,KAAK,uBAAuB,GAAG,SAAS,GACvC,QAAQ,GACR,IAAI,GACJ,MAAM,GACN,IAAI,GACJ,OAAO,CAAC;AAET,wBAAgB,8BAA8B,CAC7C,CAAC,SAAS,uBAAuB,EAChC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAoB9B"}
@@ -5,6 +5,8 @@ export * from "./extract-flex-properties";
5
5
  export * from "./extract-gap-properties";
6
6
  export * from "./extract-position-properties";
7
7
  export * from "./extract-size-properties";
8
+ export * from "./extract-skeletor-style-properties";
8
9
  export * from "./is-color-value";
10
+ export * from "./memoize-styles";
9
11
  export * from "./normalize-spacing-values";
10
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ViewStyle } from "react-native";
2
+ /**
3
+ * High-performance memoizeStyle with hash-based lookup and collision detection
4
+ * Uses a fast hash for primary lookup, but verifies the key to catch collisions
5
+ */
6
+ export declare function memoizeStyle<T extends ViewStyle>(obj: T): T;
7
+ //# sourceMappingURL=memoize-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memoize-styles.d.ts","sourceRoot":"","sources":["../../../../src/utils/memoize-styles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AA6C9C;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAoB3D"}
@@ -1,4 +1,5 @@
1
- import React, { type PropsWithChildren } from "react";
1
+ import type React from "react";
2
+ import type { PropsWithChildren } from "react";
2
3
  import { type ColorValue, type ScrollViewProps, type ViewProps, type ViewStyle } from "react-native";
3
4
  import type { Alignment, Animations, Border, Flex, Position, Size, Spacing } from "../../models";
4
5
  type SkeletorProps = Alignment & Spacing & Size & Border & Flex & Position & Animations;
@@ -1 +1 @@
1
- {"version":3,"file":"Block.d.ts","sourceRoot":"","sources":["../../../../../src/components/Block/Block.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAW,MAAM,OAAO,CAAC;AAC/D,OAAO,EAEN,KAAK,UAAU,EAEf,KAAK,eAAe,EAEpB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACX,SAAS,EACT,UAAU,EACV,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,MAAM,cAAc,CAAC;AAatB,KAAK,aAAa,GAAG,SAAS,GAC7B,OAAO,GACP,IAAI,GACJ,MAAM,GACN,IAAI,GACJ,QAAQ,GACR,UAAU,CAAC;AAEZ,KAAK,WAAW,GAAG,aAAa,GAAG;IAClC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC;IAC1C,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAC7C,SAAS,GAAG;IACX,UAAU,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,eAAe,CAAC;CAC9B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,WAAW,GACvC,SAAS,GAAG;IACX,UAAU,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,oBAAoB,GAAG,cAAc,CAAC;AAoE/D;;;;;sFAKsF;AACtF,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CA0DzD,CAAC"}
1
+ {"version":3,"file":"Block.d.ts","sourceRoot":"","sources":["../../../../../src/components/Block/Block.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAEN,KAAK,UAAU,EAEf,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACX,SAAS,EACT,UAAU,EACV,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,MAAM,cAAc,CAAC;AAQtB,KAAK,aAAa,GAAG,SAAS,GAC7B,OAAO,GACP,IAAI,GACJ,MAAM,GACN,IAAI,GACJ,QAAQ,GACR,UAAU,CAAC;AAEZ,KAAK,WAAW,GAAG,aAAa,GAAG;IAClC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC;IAC1C,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAC7C,SAAS,GAAG;IACX,UAAU,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,eAAe,CAAC;CAC9B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,WAAW,GACvC,SAAS,GAAG;IACX,UAAU,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,oBAAoB,GAAG,cAAc,CAAC;AAoC/D;;;;;sFAKsF;AACtF,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAsDzD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputFocusScrollView.d.ts","sourceRoot":"","sources":["../../../../../src/components/InputFocusScrollView/InputFocusScrollView.tsx"],"names":[],"mappings":"AACA,OAAO,EAIN,KAAK,oBAAoB,EAGzB,KAAK,eAAe,EAEpB,KAAK,aAAa,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAO5C,MAAM,WAAW,yBAChB,SAAQ,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,EACxC,OAAO;IACR,4LAA4L;IAC5L,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,CACT,YAAY,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,KAAK,IAAI,KAC1D,KAAK,CAAC,SAAS,CAAC;CACrB;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAsHpE,CAAC"}
1
+ {"version":3,"file":"InputFocusScrollView.d.ts","sourceRoot":"","sources":["../../../../../src/components/InputFocusScrollView/InputFocusScrollView.tsx"],"names":[],"mappings":"AACA,OAAO,EAIN,KAAK,oBAAoB,EAGzB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,WAAW,yBAChB,SAAQ,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,EACxC,OAAO;IACR,4LAA4L;IAC5L,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,CACT,YAAY,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,KAAK,IAAI,KAC1D,KAAK,CAAC,SAAS,CAAC;CACrB;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA0GpE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SkeletorProvider.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkeletorProvider/SkeletorProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,KAAK,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAErC;0DAC0D;AAC1D,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAS/D,CAAC"}
1
+ {"version":3,"file":"SkeletorProvider.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkeletorProvider/SkeletorProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,KAAK,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAErC;0DAC0D;AAC1D,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAW/D,CAAC"}
@@ -1,4 +1,5 @@
1
- import React, { type PropsWithChildren } from "react";
1
+ import type React from "react";
2
+ import type { PropsWithChildren } from "react";
2
3
  import { type TextProps as RNTextProps, type TextStyle } from "react-native";
3
4
  import type { Animations, Flex, Position, Size, Spacing } from "../../models";
4
5
  interface OwnProps extends RNTextProps {