@prototyp/skeletor 1.3.0-beta0 → 1.3.0-beta2

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 (59) hide show
  1. package/lib/commonjs/components/Block/Block.js +10 -8
  2. package/lib/commonjs/components/Block/Block.js.map +1 -1
  3. package/lib/commonjs/components/InputFocusScrollView/InputFocusScrollView.js +4 -6
  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 +1 -3
  8. package/lib/commonjs/components/Text/Text.js.map +1 -1
  9. package/lib/commonjs/hooks/skeleform/package.json +1 -1
  10. package/lib/commonjs/hooks/skeleform/src/index.js +43 -25
  11. package/lib/commonjs/hooks/skeleform/src/index.js.map +1 -1
  12. package/lib/commonjs/utils/extract-skeletor-style-properties.js +9 -9
  13. package/lib/commonjs/utils/extract-skeletor-style-properties.js.map +1 -1
  14. package/lib/commonjs/utils/memoize-styles.js +36 -12
  15. package/lib/commonjs/utils/memoize-styles.js.map +1 -1
  16. package/lib/module/components/Block/Block.js +10 -8
  17. package/lib/module/components/Block/Block.js.map +1 -1
  18. package/lib/module/components/InputFocusScrollView/InputFocusScrollView.js +5 -7
  19. package/lib/module/components/InputFocusScrollView/InputFocusScrollView.js.map +1 -1
  20. package/lib/module/components/SkeletorProvider/SkeletorProvider.js +6 -4
  21. package/lib/module/components/SkeletorProvider/SkeletorProvider.js.map +1 -1
  22. package/lib/module/components/Text/Text.js +1 -2
  23. package/lib/module/components/Text/Text.js.map +1 -1
  24. package/lib/module/hooks/skeleform/package.json +1 -1
  25. package/lib/module/hooks/skeleform/src/index.js +43 -25
  26. package/lib/module/hooks/skeleform/src/index.js.map +1 -1
  27. package/lib/module/utils/extract-skeletor-style-properties.js +9 -9
  28. package/lib/module/utils/extract-skeletor-style-properties.js.map +1 -1
  29. package/lib/module/utils/memoize-styles.js +36 -12
  30. package/lib/module/utils/memoize-styles.js.map +1 -1
  31. package/lib/typescript/commonjs/components/Block/Block.d.ts.map +1 -1
  32. package/lib/typescript/commonjs/components/InputFocusScrollView/InputFocusScrollView.d.ts.map +1 -1
  33. package/lib/typescript/commonjs/components/SkeletorProvider/SkeletorProvider.d.ts.map +1 -1
  34. package/lib/typescript/commonjs/components/Text/Text.d.ts +2 -1
  35. package/lib/typescript/commonjs/components/Text/Text.d.ts.map +1 -1
  36. package/lib/typescript/commonjs/hooks/skeleform/src/index.d.ts +3 -1
  37. package/lib/typescript/commonjs/hooks/skeleform/src/index.d.ts.map +1 -1
  38. package/lib/typescript/commonjs/utils/extract-skeletor-style-properties.d.ts.map +1 -1
  39. package/lib/typescript/commonjs/utils/memoize-styles.d.ts +2 -1
  40. package/lib/typescript/commonjs/utils/memoize-styles.d.ts.map +1 -1
  41. package/lib/typescript/module/components/Block/Block.d.ts.map +1 -1
  42. package/lib/typescript/module/components/InputFocusScrollView/InputFocusScrollView.d.ts.map +1 -1
  43. package/lib/typescript/module/components/SkeletorProvider/SkeletorProvider.d.ts.map +1 -1
  44. package/lib/typescript/module/components/Text/Text.d.ts +2 -1
  45. package/lib/typescript/module/components/Text/Text.d.ts.map +1 -1
  46. package/lib/typescript/module/hooks/skeleform/src/index.d.ts +3 -1
  47. package/lib/typescript/module/hooks/skeleform/src/index.d.ts.map +1 -1
  48. package/lib/typescript/module/utils/extract-skeletor-style-properties.d.ts.map +1 -1
  49. package/lib/typescript/module/utils/memoize-styles.d.ts +2 -1
  50. package/lib/typescript/module/utils/memoize-styles.d.ts.map +1 -1
  51. package/package.json +1 -1
  52. package/lib/commonjs/testing/TestingPlayground.js +0 -16
  53. package/lib/commonjs/testing/TestingPlayground.js.map +0 -1
  54. package/lib/module/testing/TestingPlayground.js +0 -16
  55. package/lib/module/testing/TestingPlayground.js.map +0 -1
  56. package/lib/typescript/commonjs/testing/TestingPlayground.d.ts +0 -2
  57. package/lib/typescript/commonjs/testing/TestingPlayground.d.ts.map +0 -1
  58. package/lib/typescript/module/testing/TestingPlayground.d.ts +0 -2
  59. package/lib/typescript/module/testing/TestingPlayground.d.ts.map +0 -1
@@ -7,6 +7,12 @@ exports.Block = void 0;
7
7
  var _reactNative = require("react-native");
8
8
  var _index = require("../../utils/index.js");
9
9
  var _jsxRuntime = require("react/jsx-runtime");
10
+ const BACKGROUND_OFFSETS = {
11
+ top: 0,
12
+ bottom: 0,
13
+ left: 0,
14
+ right: 0
15
+ };
10
16
  const BlockElement = ({
11
17
  children,
12
18
  background,
@@ -21,7 +27,7 @@ const BlockElement = ({
21
27
  const animationProps = (0, _index.extractAnimationProperties)(animations);
22
28
  const skeletorStyle = (0, _index.extractSkeletorStyleProperties)(rest);
23
29
  const elementStyle = (0, _index.memoizeStyle)({
24
- backgroundColor: typeof background === "string" ? background : undefined,
30
+ backgroundColor: (0, _index.isColorValue)(background) ? background : undefined,
25
31
  opacity
26
32
  });
27
33
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
@@ -30,6 +36,7 @@ const BlockElement = ({
30
36
  children: children
31
37
  });
32
38
  };
39
+ BlockElement.displayName = "BlockElement";
33
40
  function isScrollable(props) {
34
41
  return !!props.scrollable;
35
42
  }
@@ -50,12 +57,7 @@ const Block = ({
50
57
  children: [!(0, _index.isColorValue)(props.background) && /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockElement, {
51
58
  absolute: true,
52
59
  zIndex: -1,
53
- offsets: {
54
- top: 0,
55
- bottom: 0,
56
- left: 0,
57
- right: 0
58
- },
60
+ offsets: BACKGROUND_OFFSETS,
59
61
  children: props.background
60
62
  }), children]
61
63
  });
@@ -89,7 +91,7 @@ const Block = ({
89
91
  children: [background && !(0, _index.isColorValue)(background) && /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockElement, {
90
92
  absolute: true,
91
93
  zIndex: -1,
92
- offsets: [0, 0, 0, 0],
94
+ offsets: BACKGROUND_OFFSETS,
93
95
  children: background
94
96
  }), children]
95
97
  })
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_index","_jsxRuntime","BlockElement","children","background","opacity","props","style","animations","rest","animationProps","extractAnimationProperties","skeletorStyle","extractSkeletorStyleProperties","elementStyle","memoizeStyle","backgroundColor","undefined","jsx","Animated","View","isScrollable","scrollable","Block","jsxs","isColorValue","absolute","zIndex","offsets","top","bottom","left","right","scrollProps","horizontal","keyboardShouldPersistTaps","showsVerticalScrollIndicator","showsHorizontalScrollIndicator","bounces","contentContainerStyle","ScrollView","flexGrow","exports"],"sourceRoot":"../../../../src","sources":["components/Block/Block.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_index","_jsxRuntime","BACKGROUND_OFFSETS","top","bottom","left","right","BlockElement","children","background","opacity","props","style","animations","rest","animationProps","extractAnimationProperties","skeletorStyle","extractSkeletorStyleProperties","elementStyle","memoizeStyle","backgroundColor","isColorValue","undefined","jsx","Animated","View","displayName","isScrollable","scrollable","Block","jsxs","absolute","zIndex","offsets","scrollProps","horizontal","keyboardShouldPersistTaps","showsVerticalScrollIndicator","showsHorizontalScrollIndicator","bounces","contentContainerStyle","ScrollView","flexGrow","exports"],"sourceRoot":"../../../../src","sources":["components/Block/Block.tsx"],"mappings":"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","ignoreList":[]}
@@ -92,8 +92,6 @@ const InputFocusScrollView = ({
92
92
  paddings,
93
93
  gap
94
94
  });
95
- const containerStyles = _reactNative.StyleSheet.flatten([styles[height], containerSkeletorStyle, style]);
96
- const contentStyles = _reactNative.StyleSheet.flatten([styles.content, contentSkeletorStyle, contentContainerStyle]);
97
95
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
98
96
  ref: ref,
99
97
  scrollToOverflowEnabled: true,
@@ -112,14 +110,14 @@ const InputFocusScrollView = ({
112
110
  showsVerticalScrollIndicator: showsVerticalScrollIndicator,
113
111
  showsHorizontalScrollIndicator: showsHorizontalScrollIndicator,
114
112
  bounces: bounces,
115
- style: containerStyles,
116
- contentContainerStyle: contentStyles,
113
+ style: [styles[height], containerSkeletorStyle, style],
114
+ contentContainerStyle: [styles.content, contentSkeletorStyle, contentContainerStyle],
117
115
  ...rest,
118
116
  children: children(onInputFocus)
119
117
  });
120
118
  };
121
119
  exports.InputFocusScrollView = InputFocusScrollView;
122
- const styles = _reactNative.StyleSheet.create({
120
+ const styles = {
123
121
  full: {
124
122
  height: "100%"
125
123
  },
@@ -129,5 +127,5 @@ const styles = _reactNative.StyleSheet.create({
129
127
  content: {
130
128
  flexGrow: 1
131
129
  }
132
- });
130
+ };
133
131
  //# sourceMappingURL=InputFocusScrollView.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_index","_jsxRuntime","ScreenHeight","Dimensions","get","height","InputFocusScrollView","children","style","contentContainerStyle","focusPositionOffset","margins","paddings","gap","showsVerticalScrollIndicator","showsHorizontalScrollIndicator","bounces","rest","ref","useRef","anchoredToTop","setAnchoredToTop","useState","scrollTarget","elementOffset","contentHeight","containerHeight","scrollPosition","focusOffset","onInputFocus","e","Platform","OS","current","currentTarget","measureLayout","_nope","top","_nuuh","elementHeight","undefined","scrollY","scrollTo","y","console","warn","useEffect","listener","Keyboard","addListener","remainingSpace","scrollToEnd","remove","__DEV__","containerSkeletorStyle","extractSkeletorStyleProperties","contentSkeletorStyle","containerStyles","StyleSheet","flatten","styles","contentStyles","content","jsx","ScrollView","scrollToOverflowEnabled","scrollEventThrottle","onLayout","nativeEvent","layout","onContentSizeChange","_","exports","create","full","auto","flexGrow"],"sourceRoot":"../../../../src","sources":["components/InputFocusScrollView/InputFocusScrollView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_index","_jsxRuntime","ScreenHeight","Dimensions","get","height","InputFocusScrollView","children","style","contentContainerStyle","focusPositionOffset","margins","paddings","gap","showsVerticalScrollIndicator","showsHorizontalScrollIndicator","bounces","rest","ref","useRef","anchoredToTop","setAnchoredToTop","useState","scrollTarget","elementOffset","contentHeight","containerHeight","scrollPosition","focusOffset","onInputFocus","e","Platform","OS","current","currentTarget","measureLayout","_nope","top","_nuuh","elementHeight","undefined","scrollY","scrollTo","y","console","warn","useEffect","listener","Keyboard","addListener","remainingSpace","scrollToEnd","remove","__DEV__","containerSkeletorStyle","extractSkeletorStyleProperties","contentSkeletorStyle","jsx","ScrollView","scrollToOverflowEnabled","scrollEventThrottle","onLayout","nativeEvent","layout","onContentSizeChange","_","styles","content","exports","full","auto","flexGrow"],"sourceRoot":"../../../../src","sources":["components/InputFocusScrollView/InputFocusScrollView.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.SkeletorProvider = void 0;
7
+ var _react = require("react");
7
8
  var _SkeletorContext = require("./SkeletorContext.js");
8
9
  var _jsxRuntime = require("react/jsx-runtime");
9
10
  /** Create a Font.d.ts type in your typescript types directory and define fonts as follows:
@@ -12,11 +13,12 @@ const SkeletorProvider = ({
12
13
  children,
13
14
  ...config
14
15
  }) => {
16
+ const value = (0, _react.useMemo)(() => ({
17
+ ..._SkeletorContext.SkeletorDefaults,
18
+ ...config
19
+ }), [config]);
15
20
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SkeletorContext.SkeletorContext.Provider, {
16
- value: {
17
- ..._SkeletorContext.SkeletorDefaults,
18
- ...config
19
- },
21
+ value: value,
20
22
  children: children
21
23
  });
22
24
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_SkeletorContext","require","_jsxRuntime","SkeletorProvider","children","config","jsx","SkeletorContext","Provider","value","SkeletorDefaults","exports"],"sourceRoot":"../../../../src","sources":["components/SkeletorProvider/SkeletorProvider.tsx"],"mappings":";;;;;;AAEA,IAAAA,gBAAA,GAAAC,OAAA;AAAsE,IAAAC,WAAA,GAAAD,OAAA;AAItE;AACA;AACO,MAAME,gBAAoD,GAAGA,CAAC;EACpEC,QAAQ;EACR,GAAGC;AACJ,CAAC,KAAK;EACL,oBACC,IAAAH,WAAA,CAAAI,GAAA,EAACN,gBAAA,CAAAO,eAAe,CAACC,QAAQ;IAACC,KAAK,EAAE;MAAE,GAAGC,iCAAgB;MAAE,GAAGL;IAAO,CAAE;IAAAD,QAAA,EAClEA;EAAQ,CACgB,CAAC;AAE7B,CAAC;AAACO,OAAA,CAAAR,gBAAA,GAAAA,gBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_SkeletorContext","_jsxRuntime","SkeletorProvider","children","config","value","useMemo","SkeletorDefaults","jsx","SkeletorContext","Provider","exports"],"sourceRoot":"../../../../src","sources":["components/SkeletorProvider/SkeletorProvider.tsx"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,gBAAA,GAAAD,OAAA;AAAsE,IAAAE,WAAA,GAAAF,OAAA;AAItE;AACA;AACO,MAAMG,gBAAoD,GAAGA,CAAC;EACpEC,QAAQ;EACR,GAAGC;AACJ,CAAC,KAAK;EACL,MAAMC,KAAK,GAAG,IAAAC,cAAO,EAAC,OAAO;IAAE,GAAGC,iCAAgB;IAAE,GAAGH;EAAO,CAAC,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAE3E,oBACC,IAAAH,WAAA,CAAAO,GAAA,EAACR,gBAAA,CAAAS,eAAe,CAACC,QAAQ;IAACL,KAAK,EAAEA,KAAM;IAAAF,QAAA,EACrCA;EAAQ,CACgB,CAAC;AAE7B,CAAC;AAACQ,OAAA,CAAAT,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -4,12 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Text = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
7
  var _reactNative = require("react-native");
9
8
  var _index = require("../../hooks/index.js");
10
9
  var _index2 = require("../../utils/index.js");
11
10
  var _jsxRuntime = require("react/jsx-runtime");
12
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
11
  /** Create a Font.d.ts type in your typescript types directory and define fonts as follows:
14
12
  * @example type Font = "Helvetica" | "Montserrat" ... */
15
13
  const Text = ({
@@ -28,7 +26,7 @@ const Text = ({
28
26
  ...props
29
27
  }) => {
30
28
  const skeletor = (0, _index.useSkeletor)();
31
- const animationStyle = (0, _react.useMemo)(() => (0, _index2.extractAnimationProperties)(animations), [animations]);
29
+ const animationStyle = (0, _index2.extractAnimationProperties)(animations);
32
30
  const textSize = size ?? skeletor.defaultFontSize;
33
31
  const {
34
32
  fontSize,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_index","_index2","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Text","font","size","textTransform","letterSpacing","color","style","children","textAlign","opacity","animations","allowFontScaling","maxFontSizeMultiplier","props","skeletor","useSkeletor","animationStyle","useMemo","extractAnimationProperties","textSize","defaultFontSize","fontSize","lineHeight","Array","isArray","skeletorStyle","extractSkeletorStyleProperties","elementStyle","memoizeStyle","defaultTextColor","fontFamily","defaultFont","jsx","Animated","defaultMaxFontSizeMultiplier","exports"],"sourceRoot":"../../../../src","sources":["components/Text/Text.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_index","_index2","_jsxRuntime","Text","font","size","textTransform","letterSpacing","color","style","children","textAlign","opacity","animations","allowFontScaling","maxFontSizeMultiplier","props","skeletor","useSkeletor","animationStyle","extractAnimationProperties","textSize","defaultFontSize","fontSize","lineHeight","Array","isArray","skeletorStyle","extractSkeletorStyleProperties","elementStyle","memoizeStyle","defaultTextColor","fontFamily","defaultFont","jsx","Animated","defaultMaxFontSizeMultiplier","exports"],"sourceRoot":"../../../../src","sources":["components/Text/Text.tsx"],"mappings":";;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAIqB,IAAAG,WAAA,GAAAH,OAAA;AAsBrB;AACA;AACO,MAAMI,IAA4C,GAAGA,CAAC;EAC5DC,IAAI;EACJC,IAAI;EACJC,aAAa;EACbC,aAAa;EACbC,KAAK;EACLC,KAAK;EACLC,QAAQ;EACRC,SAAS;EACTC,OAAO;EACPC,UAAU;EACVC,gBAAgB;EAChBC,qBAAqB;EACrB,GAAGC;AACJ,CAAC,KAAK;EACL,MAAMC,QAAQ,GAAG,IAAAC,kBAAW,EAAC,CAAC;EAC9B,MAAMC,cAAc,GAAG,IAAAC,kCAA0B,EAACP,UAAU,CAAC;EAE7D,MAAMQ,QAAQ,GAAGhB,IAAI,IAAIY,QAAQ,CAACK,eAAe;EACjD,MAAM;IAAEC,QAAQ;IAAEC;EAAW,CAAC,GAAGC,KAAK,CAACC,OAAO,CAACL,QAAQ,CAAC,GACrD;IAAEE,QAAQ,EAAEF,QAAQ,CAAC,CAAC,CAAC;IAAEG,UAAU,EAAEH,QAAQ,CAAC,CAAC;EAAE,CAAC,GAClD;IAAEE,QAAQ,EAAEF,QAAQ;IAAEG,UAAU,EAAEH;EAAS,CAAC;EAE/C,MAAMM,aAAa,GAAG,IAAAC,sCAA8B,EAACZ,KAAK,CAAC;EAC3D,MAAMa,YAAY,GAAG,IAAAC,oBAAY,EAAC;IACjCtB,KAAK,EAAEA,KAAK,IAAIS,QAAQ,CAACc,gBAAgB;IACzCC,UAAU,EAAE5B,IAAI,IAAIa,QAAQ,CAACgB,WAAW;IACxCV,QAAQ;IACRC,UAAU;IACVZ,OAAO;IACPD,SAAS;IACTL,aAAa;IACbC;EACD,CAAC,CAAC;EAEF,oBACC,IAAAL,WAAA,CAAAgC,GAAA,EAACpC,YAAA,CAAAqC,QAAQ,CAAChC,IAAI;IACbM,KAAK,EAAE,CAACkB,aAAa,EAAEE,YAAY,EAAEV,cAAc,CAAE;IACrDL,gBAAgB,EAAEA,gBAAgB,IAAIG,QAAQ,CAACH,gBAAiB;IAChEC,qBAAqB,EACpBA,qBAAqB,IAAIE,QAAQ,CAACmB,4BAClC;IAAA,GACGpB,KAAK;IAAAN,QAAA,EAERA;EAAQ,CACK,CAAC;AAElB,CAAC;AAAC2B,OAAA,CAAAlC,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
  "name": "@prototyp/skeleform",
3
3
  "description": "React/React-Native form management utility",
4
4
  "author": "Luka Buljan <luka@prototyp.digital>",
5
- "version": "1.0.2",
5
+ "version": "1.0.3-beta0",
6
6
  "license": "MIT",
7
7
  "homepage": "https://github.com/prototypdigital/skeleform",
8
8
  "repository": {
@@ -6,6 +6,21 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useForm = useForm;
7
7
  exports.useFormUtils = useFormUtils;
8
8
  var _react = require("react");
9
+ function deepEqual(a, b) {
10
+ if (a === b) return true;
11
+ if (a instanceof Date && b instanceof Date) return +a === +b;
12
+ if (a === null || b === null) return false;
13
+ if (typeof a !== "object" || typeof b !== "object") return false;
14
+ if (Array.isArray(a) !== Array.isArray(b)) return false;
15
+ if (Array.isArray(a) && Array.isArray(b)) {
16
+ if (a.length !== b.length) return false;
17
+ return a.every((item, i) => deepEqual(item, b[i]));
18
+ }
19
+ const keysA = Object.keys(a);
20
+ if (keysA.length !== Object.keys(b).length) return false;
21
+ return keysA.every(key => deepEqual(a[key], b[key]));
22
+ }
23
+
9
24
  /** One-fits-all solution to manage state changes, field validation and optional entries within a form.
10
25
  * @example <caption>Simple use case:</caption>
11
26
  * const { state, validation, update } = useForm({ email: '', password: '', });
@@ -55,9 +70,12 @@ function useForm(values, config) {
55
70
  ...s,
56
71
  [key]: value
57
72
  }));
58
- setValidation(s => ({
59
- ...s,
60
- [key]: shouldValidate ? fieldValidation(key, value, state) : undefined
73
+ setValidation(validation => ({
74
+ ...validation,
75
+ [key]: shouldValidate ? fieldValidation(key, value, {
76
+ ...state,
77
+ [key]: value
78
+ }) : undefined
61
79
  }));
62
80
  }
63
81
  function validate(key) {
@@ -74,7 +92,7 @@ function useForm(values, config) {
74
92
  const formValidationState = stateValidation(state);
75
93
  setValidation(formValidationState.validation);
76
94
  return formValidationState.valid;
77
- }, [state]);
95
+ }, [stateValidation, state]);
78
96
 
79
97
  /** Boolean value of whether the form is valid (ie can be submitted). Use this to disable/enable form submission.
80
98
  * Only use when validating fields separately, has no value when valiating on form submit. */
@@ -115,9 +133,9 @@ function useForm(values, config) {
115
133
  return initialValue instanceof Date ? +value !== +initialValue : true;
116
134
  }
117
135
 
118
- /** Check object values in a crude manner. Deep compares are expensive, this works but is sensitive to prop order. Could potentially provide a false positive if objects are the same, but values are ordered differently (ie two arrays, same values but at different indexes == different arrays.) */
136
+ /** Deep equality check for objects and arrays. */
119
137
  if (state[key] instanceof Object) {
120
- return JSON.stringify(state[key]) !== JSON.stringify(initialState[key]);
138
+ return !deepEqual(state[key], initialState[key]);
121
139
  }
122
140
 
123
141
  /** Primitive value check. */
@@ -138,24 +156,24 @@ function useForm(values, config) {
138
156
  resetInitialValues
139
157
  };
140
158
  }
159
+ function doesValueExist(value) {
160
+ if (value === undefined || value === null) {
161
+ return false;
162
+ }
163
+ if (typeof value === "string") {
164
+ return value !== "";
165
+ }
166
+ if (typeof value === "number") {
167
+ return value >= 0 || value < 0 || !Number.isNaN(value);
168
+ }
169
+ if (value instanceof Date) {
170
+ return !Number.isNaN(value.valueOf());
171
+ }
172
+ return true;
173
+ }
141
174
 
142
175
  /** Helper hook to validate form state outside of the scope of useForm. */
143
176
  function useFormUtils(config) {
144
- function doesValueExist(value) {
145
- if (value === undefined || value === null) {
146
- return false;
147
- }
148
- if (typeof value === "string") {
149
- return value !== "";
150
- }
151
- if (typeof value === "number") {
152
- return value >= 0 || value < 0 || !Number.isNaN(value);
153
- }
154
- if (value instanceof Date) {
155
- return !Number.isNaN(value.valueOf());
156
- }
157
- return true;
158
- }
159
177
  const isOptional = (0, _react.useCallback)(key => config?.optional?.includes(key) || false, [config]);
160
178
 
161
179
  /** Validate by custom validation rule. If the rule does not exist, returns undefined. */
@@ -168,7 +186,7 @@ function useFormUtils(config) {
168
186
  * 1. If there is a custom validation rule, always use that to preserve all possible type values
169
187
  * 2. If there is no value (is a falsy value), check if the field is optional
170
188
  * 3. Fallback to simple truthy value check if all other checks are not triggered. */
171
- function fieldValidation(key, value, state) {
189
+ const fieldValidation = (0, _react.useCallback)((key, value, state) => {
172
190
  const hasValue = doesValueExist(value);
173
191
  const optional = isOptional(key);
174
192
 
@@ -182,8 +200,8 @@ function useFormUtils(config) {
182
200
  }
183
201
  // Fallback, simple check if value exists
184
202
  return hasValue;
185
- }
186
- function stateValidation(state) {
203
+ }, [isOptional, validateByRule, config]);
204
+ const stateValidation = (0, _react.useCallback)(state => {
187
205
  const keys = Object.keys(state).map(key => key);
188
206
  const validation = {};
189
207
  keys.forEach(key => {
@@ -195,7 +213,7 @@ function useFormUtils(config) {
195
213
  valid: !keys.some(key => !validation[key]),
196
214
  validation
197
215
  };
198
- }
216
+ }, [fieldValidation]);
199
217
  return {
200
218
  doesValueExist,
201
219
  validateByRule,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","useForm","values","config","keys","useMemo","Object","validation","setValidation","useState","initialState","setInitialState","state","setState","fieldValidation","stateValidation","isOptional","useFormUtils","useEffect","changed","filter","key","length","updatedState","forEach","update","value","shouldValidate","s","undefined","validate","validateForm","useCallback","formValidationState","valid","isFormValid","some","resetState","resetInitialValues","resetValidation","clearForm","hasStateChanged","initialValue","Date","JSON","stringify","doesValueExist","Number","isNaN","valueOf","optional","includes","validateByRule","rules","hasValue","map"],"sourceRoot":"../../../../../src","sources":["hooks/skeleform/src/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","deepEqual","a","b","Date","Array","isArray","length","every","item","i","keysA","Object","keys","key","useForm","values","config","useMemo","validation","setValidation","useState","initialState","setInitialState","state","setState","fieldValidation","stateValidation","isOptional","useFormUtils","useEffect","changed","filter","updatedState","forEach","update","value","shouldValidate","s","undefined","validate","validateForm","useCallback","formValidationState","valid","isFormValid","some","resetState","resetInitialValues","resetValidation","clearForm","hasStateChanged","initialValue","doesValueExist","Number","isNaN","valueOf","optional","includes","validateByRule","rules","hasValue","map"],"sourceRoot":"../../../../../src","sources":["hooks/skeleform/src/index.ts"],"mappings":"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","ignoreList":[]}
@@ -13,17 +13,17 @@ var _memoizeStyles = require("./memoize-styles.js");
13
13
  var _normalizeSpacingValues = require("./normalize-spacing-values.js");
14
14
  function extractSkeletorStyleProperties(props) {
15
15
  const border = props.border || {};
16
- const margins = (0, _memoizeStyles.memoizeStyle)((0, _normalizeSpacingValues.normalizeMarginValues)(props.margins) || {});
17
- const paddings = (0, _memoizeStyles.memoizeStyle)((0, _normalizeSpacingValues.normalizePaddingValues)(props.paddings) || {});
18
- const size = (0, _memoizeStyles.memoizeStyle)((0, _extractSizeProperties.extractSizeProperties)(props));
19
- const alignment = (0, _memoizeStyles.memoizeStyle)((0, _extractAlignmentProperties.extractAlignmentProperties)(props));
20
- const position = (0, _memoizeStyles.memoizeStyle)((0, _extractPositionProperties.extractPositionProperties)(props));
21
- const flex = (0, _memoizeStyles.memoizeStyle)(props.flex ? (0, _extractFlexProperties.extractFlexProperties)({
16
+ const margins = (0, _normalizeSpacingValues.normalizeMarginValues)(props.margins) || {};
17
+ const paddings = (0, _normalizeSpacingValues.normalizePaddingValues)(props.paddings) || {};
18
+ const size = (0, _extractSizeProperties.extractSizeProperties)(props);
19
+ const alignment = (0, _extractAlignmentProperties.extractAlignmentProperties)(props);
20
+ const position = (0, _extractPositionProperties.extractPositionProperties)(props);
21
+ const flex = props.flex ? (0, _extractFlexProperties.extractFlexProperties)({
22
22
  flex: props.flex
23
- }) : {});
24
- const gap = (0, _memoizeStyles.memoizeStyle)(props.gap ? (0, _extractGapProperties.extractGapProperties)({
23
+ }) : {};
24
+ const gap = props.gap ? (0, _extractGapProperties.extractGapProperties)({
25
25
  gap: props.gap
26
- }) : {});
26
+ }) : {};
27
27
  return (0, _memoizeStyles.memoizeStyle)({
28
28
  ...border,
29
29
  ...margins,
@@ -1 +1 @@
1
- {"version":3,"names":["_extractAlignmentProperties","require","_extractFlexProperties","_extractGapProperties","_extractPositionProperties","_extractSizeProperties","_memoizeStyles","_normalizeSpacingValues","extractSkeletorStyleProperties","props","border","margins","memoizeStyle","normalizeMarginValues","paddings","normalizePaddingValues","size","extractSizeProperties","alignment","extractAlignmentProperties","position","extractPositionProperties","flex","extractFlexProperties","gap","extractGapProperties"],"sourceRoot":"../../../src","sources":["utils/extract-skeletor-style-properties.ts"],"mappings":";;;;;;AASA,IAAAA,2BAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,qBAAA,GAAAF,OAAA;AACA,IAAAG,0BAAA,GAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,uBAAA,GAAAN,OAAA;AAYO,SAASO,8BAA8BA,CAE5CC,KAAQ,EAAsB;EAC/B,MAAMC,MAAM,GAAGD,KAAK,CAACC,MAAM,IAAI,CAAC,CAAC;EACjC,MAAMC,OAAO,GAAG,IAAAC,2BAAY,EAAC,IAAAC,6CAAqB,EAACJ,KAAK,CAACE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;EACxE,MAAMG,QAAQ,GAAG,IAAAF,2BAAY,EAAC,IAAAG,8CAAsB,EAACN,KAAK,CAACK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;EAC3E,MAAME,IAAI,GAAG,IAAAJ,2BAAY,EAAC,IAAAK,4CAAqB,EAACR,KAAK,CAAC,CAAC;EACvD,MAAMS,SAAS,GAAG,IAAAN,2BAAY,EAAC,IAAAO,sDAA0B,EAACV,KAAK,CAAC,CAAC;EACjE,MAAMW,QAAQ,GAAG,IAAAR,2BAAY,EAAC,IAAAS,oDAAyB,EAACZ,KAAK,CAAC,CAAC;EAC/D,MAAMa,IAAI,GAAG,IAAAV,2BAAY,EACxBH,KAAK,CAACa,IAAI,GAAG,IAAAC,4CAAqB,EAAC;IAAED,IAAI,EAAEb,KAAK,CAACa;EAAK,CAAC,CAAC,GAAG,CAAC,CAC7D,CAAC;EACD,MAAME,GAAG,GAAG,IAAAZ,2BAAY,EACvBH,KAAK,CAACe,GAAG,GAAG,IAAAC,0CAAoB,EAAC;IAAED,GAAG,EAAEf,KAAK,CAACe;EAAI,CAAC,CAAC,GAAG,CAAC,CACzD,CAAC;EAED,OAAO,IAAAZ,2BAAY,EAAC;IACnB,GAAGF,MAAM;IACT,GAAGC,OAAO;IACV,GAAGG,QAAQ;IACX,GAAGQ,IAAI;IACP,GAAGE,GAAG;IACN,GAAGR,IAAI;IACP,GAAGE,SAAS;IACZ,GAAGE;EACJ,CAAC,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["_extractAlignmentProperties","require","_extractFlexProperties","_extractGapProperties","_extractPositionProperties","_extractSizeProperties","_memoizeStyles","_normalizeSpacingValues","extractSkeletorStyleProperties","props","border","margins","normalizeMarginValues","paddings","normalizePaddingValues","size","extractSizeProperties","alignment","extractAlignmentProperties","position","extractPositionProperties","flex","extractFlexProperties","gap","extractGapProperties","memoizeStyle"],"sourceRoot":"../../../src","sources":["utils/extract-skeletor-style-properties.ts"],"mappings":";;;;;;AASA,IAAAA,2BAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,qBAAA,GAAAF,OAAA;AACA,IAAAG,0BAAA,GAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,uBAAA,GAAAN,OAAA;AAYO,SAASO,8BAA8BA,CAE5CC,KAAQ,EAAsB;EAC/B,MAAMC,MAAM,GAAGD,KAAK,CAACC,MAAM,IAAI,CAAC,CAAC;EACjC,MAAMC,OAAO,GAAG,IAAAC,6CAAqB,EAACH,KAAK,CAACE,OAAO,CAAC,IAAI,CAAC,CAAC;EAC1D,MAAME,QAAQ,GAAG,IAAAC,8CAAsB,EAACL,KAAK,CAACI,QAAQ,CAAC,IAAI,CAAC,CAAC;EAC7D,MAAME,IAAI,GAAG,IAAAC,4CAAqB,EAACP,KAAK,CAAC;EACzC,MAAMQ,SAAS,GAAG,IAAAC,sDAA0B,EAACT,KAAK,CAAC;EACnD,MAAMU,QAAQ,GAAG,IAAAC,oDAAyB,EAACX,KAAK,CAAC;EACjD,MAAMY,IAAI,GAAGZ,KAAK,CAACY,IAAI,GAAG,IAAAC,4CAAqB,EAAC;IAAED,IAAI,EAAEZ,KAAK,CAACY;EAAK,CAAC,CAAC,GAAG,CAAC,CAAC;EAC1E,MAAME,GAAG,GAAGd,KAAK,CAACc,GAAG,GAAG,IAAAC,0CAAoB,EAAC;IAAED,GAAG,EAAEd,KAAK,CAACc;EAAI,CAAC,CAAC,GAAG,CAAC,CAAC;EAErE,OAAO,IAAAE,2BAAY,EAAC;IACnB,GAAGf,MAAM;IACT,GAAGC,OAAO;IACV,GAAGE,QAAQ;IACX,GAAGQ,IAAI;IACP,GAAGE,GAAG;IACN,GAAGR,IAAI;IACP,GAAGE,SAAS;IACZ,GAAGE;EACJ,CAAC,CAAC;AACH","ignoreList":[]}
@@ -8,11 +8,24 @@ exports.memoizeStyle = memoizeStyle;
8
8
 
9
9
  // biome-ignore lint/suspicious/noExplicitAny: Catchall
10
10
 
11
- // Global cache: keycanonical style object
11
+ // Global cache: hash{ key, style }
12
12
  const styleCache = new Map();
13
13
  let GlobalObjectId = 0; // For assigning stable IDs to nested objects
14
14
  const ObjectIds = new WeakMap();
15
15
 
16
+ /**
17
+ * Simple, fast hash function for 32-bit integer
18
+ */
19
+ function hashString(str) {
20
+ let hash = 0;
21
+ for (let i = 0; i < str.length; i++) {
22
+ const char = str.charCodeAt(i);
23
+ hash = (hash << 5) - hash + char;
24
+ hash = hash & hash; // Convert to 32-bit integer
25
+ }
26
+ return hash >>> 0; // Ensure positive
27
+ }
28
+
16
29
  /**
17
30
  * Generate a stable, fast key for a value:
18
31
  * - primitives → string
@@ -21,8 +34,9 @@ const ObjectIds = new WeakMap();
21
34
  function valueKey(value) {
22
35
  if (value && typeof value === "object") {
23
36
  if (!ObjectIds.has(value)) {
24
- GlobalObjectId += 1;
37
+ GlobalObjectId = (GlobalObjectId + 1) % Number.MAX_SAFE_INTEGER;
25
38
  ObjectIds.set(value, GlobalObjectId);
39
+ return `ref#${GlobalObjectId}`;
26
40
  }
27
41
  return `ref#${ObjectIds.get(value)}`;
28
42
  }
@@ -30,20 +44,30 @@ function valueKey(value) {
30
44
  }
31
45
 
32
46
  /**
33
- * High-performance memoizeStyle function
47
+ * High-performance memoizeStyle with hash-based lookup and collision detection
48
+ * Uses a fast hash for primary lookup, but verifies the key to catch collisions
34
49
  */
35
50
  function memoizeStyle(obj) {
36
- // Build key by joining prop:value pairs
51
+ // Build deterministic key by sorting and joining prop:value pairs
37
52
  const key = Object.entries(obj).map(([k, v]) => `${k}:${valueKey(v)}`).join(";");
38
53
 
39
- // Return cached style if it exists
40
- let cached = styleCache.get(key);
41
- if (!cached) {
42
- cached = Object.freeze({
43
- ...obj
44
- });
45
- styleCache.set(key, cached);
54
+ // Fast hash-based lookup
55
+ const hash = hashString(key);
56
+ const cached = styleCache.get(hash);
57
+
58
+ // Verify cache hit (collision detection)
59
+ if (cached && cached.key === key) {
60
+ return cached.style;
46
61
  }
47
- return cached;
62
+
63
+ // Cache miss or collision: create and store new style
64
+ const style = Object.freeze({
65
+ ...obj
66
+ });
67
+ styleCache.set(hash, {
68
+ key,
69
+ style
70
+ });
71
+ return style;
48
72
  }
49
73
  //# sourceMappingURL=memoize-styles.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["styleCache","Map","GlobalObjectId","ObjectIds","WeakMap","valueKey","value","has","set","get","String","memoizeStyle","obj","key","Object","entries","map","k","v","join","cached","freeze"],"sourceRoot":"../../../src","sources":["utils/memoize-styles.ts"],"mappings":";;;;;;AAAA;;AAGA;;AAGA;AACA,MAAMA,UAAU,GAAG,IAAIC,GAAG,CAAoB,CAAC;AAE/C,IAAIC,cAAc,GAAG,CAAC,CAAC,CAAC;AACxB,MAAMC,SAAS,GAAG,IAAIC,OAAO,CAAiB,CAAC;;AAE/C;AACA;AACA;AACA;AACA;AACA,SAASC,QAAQA,CAACC,KAAc,EAAU;EACzC,IAAIA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACvC,IAAI,CAACH,SAAS,CAACI,GAAG,CAACD,KAAe,CAAC,EAAE;MACpCJ,cAAc,IAAI,CAAC;MACnBC,SAAS,CAACK,GAAG,CAACF,KAAK,EAAYJ,cAAc,CAAC;IAC/C;IACA,OAAO,OAAOC,SAAS,CAACM,GAAG,CAACH,KAAe,CAAC,EAAE;EAC/C;EACA,OAAOI,MAAM,CAACJ,KAAK,CAAC;AACrB;;AAEA;AACA;AACA;AACO,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,IAAIC,MAAM,GAAGpB,UAAU,CAACS,GAAG,CAACI,GAAG,CAAM;EACrC,IAAI,CAACO,MAAM,EAAE;IACZA,MAAM,GAAGN,MAAM,CAACO,MAAM,CAAC;MAAE,GAAGT;IAAI,CAAC,CAAC;IAClCZ,UAAU,CAACQ,GAAG,CAACK,GAAG,EAAEO,MAAM,CAAC;EAC5B;EAEA,OAAOA,MAAM;AACd","ignoreList":[]}
1
+ {"version":3,"names":["styleCache","Map","GlobalObjectId","ObjectIds","WeakMap","hashString","str","hash","i","length","char","charCodeAt","valueKey","value","has","Number","MAX_SAFE_INTEGER","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,GAAG,CAACA,cAAc,GAAG,CAAC,IAAIa,MAAM,CAACC,gBAAgB;MAC/Db,SAAS,CAACc,GAAG,CAACJ,KAAK,EAAYX,cAAc,CAAC;MAC9C,OAAO,OAAOA,cAAc,EAAE;IAC/B;IACA,OAAO,OAAOC,SAAS,CAACe,GAAG,CAACL,KAAe,CAAC,EAAE;EAC/C;EACA,OAAOM,MAAM,CAACN,KAAK,CAAC;AACrB;;AAEA;AACA;AACA;AACA;AACO,SAASO,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,IAAId,QAAQ,CAACe,CAAC,CAAC,EAAE,CAAC,CACtCC,IAAI,CAAC,GAAG,CAAC;;EAEX;EACA,MAAMrB,IAAI,GAAGF,UAAU,CAACiB,GAAG,CAAC;EAC5B,MAAMO,MAAM,GAAG7B,UAAU,CAACkB,GAAG,CAACX,IAAI,CAAC;;EAEnC;EACA,IAAIsB,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;EAC5CrB,UAAU,CAACiB,GAAG,CAACV,IAAI,EAAE;IAAEe,GAAG;IAAEQ;EAAM,CAAC,CAAC;EAEpC,OAAOA,KAAK;AACb","ignoreList":[]}
@@ -3,6 +3,12 @@
3
3
  import { Animated, ScrollView } from "react-native";
4
4
  import { extractAnimationProperties, extractSkeletorStyleProperties, isColorValue, memoizeStyle } from "../../utils/index.js";
5
5
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
+ const BACKGROUND_OFFSETS = {
7
+ top: 0,
8
+ bottom: 0,
9
+ left: 0,
10
+ right: 0
11
+ };
6
12
  const BlockElement = ({
7
13
  children,
8
14
  background,
@@ -17,7 +23,7 @@ const BlockElement = ({
17
23
  const animationProps = extractAnimationProperties(animations);
18
24
  const skeletorStyle = extractSkeletorStyleProperties(rest);
19
25
  const elementStyle = memoizeStyle({
20
- backgroundColor: typeof background === "string" ? background : undefined,
26
+ backgroundColor: isColorValue(background) ? background : undefined,
21
27
  opacity
22
28
  });
23
29
  return /*#__PURE__*/_jsx(Animated.View, {
@@ -26,6 +32,7 @@ const BlockElement = ({
26
32
  children: children
27
33
  });
28
34
  };
35
+ BlockElement.displayName = "BlockElement";
29
36
  function isScrollable(props) {
30
37
  return !!props.scrollable;
31
38
  }
@@ -46,12 +53,7 @@ export const Block = ({
46
53
  children: [!isColorValue(props.background) && /*#__PURE__*/_jsx(BlockElement, {
47
54
  absolute: true,
48
55
  zIndex: -1,
49
- offsets: {
50
- top: 0,
51
- bottom: 0,
52
- left: 0,
53
- right: 0
54
- },
56
+ offsets: BACKGROUND_OFFSETS,
55
57
  children: props.background
56
58
  }), children]
57
59
  });
@@ -85,7 +87,7 @@ export const Block = ({
85
87
  children: [background && !isColorValue(background) && /*#__PURE__*/_jsx(BlockElement, {
86
88
  absolute: true,
87
89
  zIndex: -1,
88
- offsets: [0, 0, 0, 0],
90
+ offsets: BACKGROUND_OFFSETS,
89
91
  children: background
90
92
  }), children]
91
93
  })
@@ -1 +1 @@
1
- {"version":3,"names":["Animated","ScrollView","extractAnimationProperties","extractSkeletorStyleProperties","isColorValue","memoizeStyle","jsx","_jsx","jsxs","_jsxs","BlockElement","children","background","opacity","props","style","animations","rest","animationProps","skeletorStyle","elementStyle","backgroundColor","undefined","View","isScrollable","scrollable","Block","absolute","zIndex","offsets","top","bottom","left","right","scrollProps","horizontal","keyboardShouldPersistTaps","showsVerticalScrollIndicator","showsHorizontalScrollIndicator","bounces","contentContainerStyle","flexGrow"],"sourceRoot":"../../../../src","sources":["components/Block/Block.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Animated","ScrollView","extractAnimationProperties","extractSkeletorStyleProperties","isColorValue","memoizeStyle","jsx","_jsx","jsxs","_jsxs","BACKGROUND_OFFSETS","top","bottom","left","right","BlockElement","children","background","opacity","props","style","animations","rest","animationProps","skeletorStyle","elementStyle","backgroundColor","undefined","View","displayName","isScrollable","scrollable","Block","absolute","zIndex","offsets","scrollProps","horizontal","keyboardShouldPersistTaps","showsVerticalScrollIndicator","showsHorizontalScrollIndicator","bounces","contentContainerStyle","flexGrow"],"sourceRoot":"../../../../src","sources":["components/Block/Block.tsx"],"mappings":"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","ignoreList":[]}