@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.
- package/lib/commonjs/components/Block/Block.js +10 -8
- package/lib/commonjs/components/Block/Block.js.map +1 -1
- package/lib/commonjs/components/InputFocusScrollView/InputFocusScrollView.js +4 -6
- package/lib/commonjs/components/InputFocusScrollView/InputFocusScrollView.js.map +1 -1
- package/lib/commonjs/components/SkeletorProvider/SkeletorProvider.js +6 -4
- package/lib/commonjs/components/SkeletorProvider/SkeletorProvider.js.map +1 -1
- package/lib/commonjs/components/Text/Text.js +1 -3
- package/lib/commonjs/components/Text/Text.js.map +1 -1
- package/lib/commonjs/hooks/skeleform/package.json +1 -1
- package/lib/commonjs/hooks/skeleform/src/index.js +43 -25
- package/lib/commonjs/hooks/skeleform/src/index.js.map +1 -1
- package/lib/commonjs/utils/extract-skeletor-style-properties.js +9 -9
- package/lib/commonjs/utils/extract-skeletor-style-properties.js.map +1 -1
- package/lib/commonjs/utils/memoize-styles.js +36 -12
- package/lib/commonjs/utils/memoize-styles.js.map +1 -1
- package/lib/module/components/Block/Block.js +10 -8
- package/lib/module/components/Block/Block.js.map +1 -1
- package/lib/module/components/InputFocusScrollView/InputFocusScrollView.js +5 -7
- package/lib/module/components/InputFocusScrollView/InputFocusScrollView.js.map +1 -1
- package/lib/module/components/SkeletorProvider/SkeletorProvider.js +6 -4
- package/lib/module/components/SkeletorProvider/SkeletorProvider.js.map +1 -1
- package/lib/module/components/Text/Text.js +1 -2
- package/lib/module/components/Text/Text.js.map +1 -1
- package/lib/module/hooks/skeleform/package.json +1 -1
- package/lib/module/hooks/skeleform/src/index.js +43 -25
- package/lib/module/hooks/skeleform/src/index.js.map +1 -1
- package/lib/module/utils/extract-skeletor-style-properties.js +9 -9
- package/lib/module/utils/extract-skeletor-style-properties.js.map +1 -1
- package/lib/module/utils/memoize-styles.js +36 -12
- package/lib/module/utils/memoize-styles.js.map +1 -1
- package/lib/typescript/commonjs/components/Block/Block.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/InputFocusScrollView/InputFocusScrollView.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/SkeletorProvider/SkeletorProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/Text/Text.d.ts +2 -1
- package/lib/typescript/commonjs/components/Text/Text.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/skeleform/src/index.d.ts +3 -1
- package/lib/typescript/commonjs/hooks/skeleform/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/extract-skeletor-style-properties.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/memoize-styles.d.ts +2 -1
- package/lib/typescript/commonjs/utils/memoize-styles.d.ts.map +1 -1
- package/lib/typescript/module/components/Block/Block.d.ts.map +1 -1
- package/lib/typescript/module/components/InputFocusScrollView/InputFocusScrollView.d.ts.map +1 -1
- package/lib/typescript/module/components/SkeletorProvider/SkeletorProvider.d.ts.map +1 -1
- package/lib/typescript/module/components/Text/Text.d.ts +2 -1
- package/lib/typescript/module/components/Text/Text.d.ts.map +1 -1
- package/lib/typescript/module/hooks/skeleform/src/index.d.ts +3 -1
- package/lib/typescript/module/hooks/skeleform/src/index.d.ts.map +1 -1
- package/lib/typescript/module/utils/extract-skeletor-style-properties.d.ts.map +1 -1
- package/lib/typescript/module/utils/memoize-styles.d.ts +2 -1
- package/lib/typescript/module/utils/memoize-styles.d.ts.map +1 -1
- package/package.json +1 -1
- package/lib/commonjs/testing/TestingPlayground.js +0 -16
- package/lib/commonjs/testing/TestingPlayground.js.map +0 -1
- package/lib/module/testing/TestingPlayground.js +0 -16
- package/lib/module/testing/TestingPlayground.js.map +0 -1
- package/lib/typescript/commonjs/testing/TestingPlayground.d.ts +0 -2
- package/lib/typescript/commonjs/testing/TestingPlayground.d.ts.map +0 -1
- package/lib/typescript/module/testing/TestingPlayground.d.ts +0 -2
- package/lib/typescript/module/testing/TestingPlayground.d.ts.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useEffect, useRef, useState } from "react";
|
|
4
|
-
import { Dimensions, Keyboard, Platform, ScrollView
|
|
4
|
+
import { Dimensions, Keyboard, Platform, ScrollView } from "react-native";
|
|
5
5
|
import { extractSkeletorStyleProperties } from "../../utils/index.js";
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
7
|
const ScreenHeight = Dimensions.get("screen").height;
|
|
@@ -88,8 +88,6 @@ export const InputFocusScrollView = ({
|
|
|
88
88
|
paddings,
|
|
89
89
|
gap
|
|
90
90
|
});
|
|
91
|
-
const containerStyles = StyleSheet.flatten([styles[height], containerSkeletorStyle, style]);
|
|
92
|
-
const contentStyles = StyleSheet.flatten([styles.content, contentSkeletorStyle, contentContainerStyle]);
|
|
93
91
|
return /*#__PURE__*/_jsx(ScrollView, {
|
|
94
92
|
ref: ref,
|
|
95
93
|
scrollToOverflowEnabled: true,
|
|
@@ -108,13 +106,13 @@ export const InputFocusScrollView = ({
|
|
|
108
106
|
showsVerticalScrollIndicator: showsVerticalScrollIndicator,
|
|
109
107
|
showsHorizontalScrollIndicator: showsHorizontalScrollIndicator,
|
|
110
108
|
bounces: bounces,
|
|
111
|
-
style:
|
|
112
|
-
contentContainerStyle:
|
|
109
|
+
style: [styles[height], containerSkeletorStyle, style],
|
|
110
|
+
contentContainerStyle: [styles.content, contentSkeletorStyle, contentContainerStyle],
|
|
113
111
|
...rest,
|
|
114
112
|
children: children(onInputFocus)
|
|
115
113
|
});
|
|
116
114
|
};
|
|
117
|
-
const styles =
|
|
115
|
+
const styles = {
|
|
118
116
|
full: {
|
|
119
117
|
height: "100%"
|
|
120
118
|
},
|
|
@@ -124,5 +122,5 @@ const styles = StyleSheet.create({
|
|
|
124
122
|
content: {
|
|
125
123
|
flexGrow: 1
|
|
126
124
|
}
|
|
127
|
-
}
|
|
125
|
+
};
|
|
128
126
|
//# sourceMappingURL=InputFocusScrollView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useRef","useState","Dimensions","Keyboard","Platform","ScrollView","
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","useState","Dimensions","Keyboard","Platform","ScrollView","extractSkeletorStyleProperties","jsx","_jsx","ScreenHeight","get","height","InputFocusScrollView","children","style","contentContainerStyle","focusPositionOffset","margins","paddings","gap","showsVerticalScrollIndicator","showsHorizontalScrollIndicator","bounces","rest","ref","anchoredToTop","setAnchoredToTop","scrollTarget","elementOffset","contentHeight","containerHeight","scrollPosition","focusOffset","onInputFocus","e","OS","current","currentTarget","measureLayout","_nope","top","_nuuh","elementHeight","undefined","scrollY","scrollTo","y","console","warn","listener","addListener","remainingSpace","scrollToEnd","remove","__DEV__","containerSkeletorStyle","contentSkeletorStyle","scrollToOverflowEnabled","scrollEventThrottle","onLayout","nativeEvent","layout","onContentSizeChange","_","styles","content","full","auto","flexGrow"],"sourceRoot":"../../../../src","sources":["components/InputFocusScrollView/InputFocusScrollView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { useMemo } from "react";
|
|
3
4
|
import { SkeletorContext, SkeletorDefaults } from "./SkeletorContext.js";
|
|
4
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
6
|
/** Create a Font.d.ts type in your typescript types directory and define fonts as follows:
|
|
@@ -8,11 +9,12 @@ export const SkeletorProvider = ({
|
|
|
8
9
|
children,
|
|
9
10
|
...config
|
|
10
11
|
}) => {
|
|
12
|
+
const value = useMemo(() => ({
|
|
13
|
+
...SkeletorDefaults,
|
|
14
|
+
...config
|
|
15
|
+
}), [config]);
|
|
11
16
|
return /*#__PURE__*/_jsx(SkeletorContext.Provider, {
|
|
12
|
-
value:
|
|
13
|
-
...SkeletorDefaults,
|
|
14
|
-
...config
|
|
15
|
-
},
|
|
17
|
+
value: value,
|
|
16
18
|
children: children
|
|
17
19
|
});
|
|
18
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SkeletorContext","SkeletorDefaults","jsx","_jsx","SkeletorProvider","children","config","
|
|
1
|
+
{"version":3,"names":["useMemo","SkeletorContext","SkeletorDefaults","jsx","_jsx","SkeletorProvider","children","config","value","Provider"],"sourceRoot":"../../../../src","sources":["components/SkeletorProvider/SkeletorProvider.tsx"],"mappings":";;AACA,SAASA,OAAO,QAAQ,OAAO;AAE/B,SAASC,eAAe,EAAEC,gBAAgB,QAAQ,sBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAItE;AACA;AACA,OAAO,MAAMC,gBAAoD,GAAGA,CAAC;EACpEC,QAAQ;EACR,GAAGC;AACJ,CAAC,KAAK;EACL,MAAMC,KAAK,GAAGR,OAAO,CAAC,OAAO;IAAE,GAAGE,gBAAgB;IAAE,GAAGK;EAAO,CAAC,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAE3E,oBACCH,IAAA,CAACH,eAAe,CAACQ,QAAQ;IAACD,KAAK,EAAEA,KAAM;IAAAF,QAAA,EACrCA;EAAQ,CACgB,CAAC;AAE7B,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { useMemo } from "react";
|
|
4
3
|
import { Animated } from "react-native";
|
|
5
4
|
import { useSkeletor } from "../../hooks/index.js";
|
|
6
5
|
import { extractAnimationProperties, extractSkeletorStyleProperties, memoizeStyle } from "../../utils/index.js";
|
|
@@ -23,7 +22,7 @@ export const Text = ({
|
|
|
23
22
|
...props
|
|
24
23
|
}) => {
|
|
25
24
|
const skeletor = useSkeletor();
|
|
26
|
-
const animationStyle =
|
|
25
|
+
const animationStyle = extractAnimationProperties(animations);
|
|
27
26
|
const textSize = size ?? skeletor.defaultFontSize;
|
|
28
27
|
const {
|
|
29
28
|
fontSize,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["Animated","useSkeletor","extractAnimationProperties","extractSkeletorStyleProperties","memoizeStyle","jsx","_jsx","Text","font","size","textTransform","letterSpacing","color","style","children","textAlign","opacity","animations","allowFontScaling","maxFontSizeMultiplier","props","skeletor","animationStyle","textSize","defaultFontSize","fontSize","lineHeight","Array","isArray","skeletorStyle","elementStyle","defaultTextColor","fontFamily","defaultFont","defaultMaxFontSizeMultiplier"],"sourceRoot":"../../../../src","sources":["components/Text/Text.tsx"],"mappings":";;AAEA,SACCA,QAAQ,QAGF,cAAc;AACrB,SAASC,WAAW,QAAQ,sBAAa;AAEzC,SACCC,0BAA0B,EAC1BC,8BAA8B,EAC9BC,YAAY,QACN,sBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAsBrB;AACA;AACA,OAAO,MAAMC,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,GAAGpB,WAAW,CAAC,CAAC;EAC9B,MAAMqB,cAAc,GAAGpB,0BAA0B,CAACe,UAAU,CAAC;EAE7D,MAAMM,QAAQ,GAAGd,IAAI,IAAIY,QAAQ,CAACG,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,GAAG1B,8BAA8B,CAACiB,KAAK,CAAC;EAC3D,MAAMU,YAAY,GAAG1B,YAAY,CAAC;IACjCQ,KAAK,EAAEA,KAAK,IAAIS,QAAQ,CAACU,gBAAgB;IACzCC,UAAU,EAAExB,IAAI,IAAIa,QAAQ,CAACY,WAAW;IACxCR,QAAQ;IACRC,UAAU;IACVV,OAAO;IACPD,SAAS;IACTL,aAAa;IACbC;EACD,CAAC,CAAC;EAEF,oBACCL,IAAA,CAACN,QAAQ,CAACO,IAAI;IACbM,KAAK,EAAE,CAACgB,aAAa,EAAEC,YAAY,EAAER,cAAc,CAAE;IACrDJ,gBAAgB,EAAEA,gBAAgB,IAAIG,QAAQ,CAACH,gBAAiB;IAChEC,qBAAqB,EACpBA,qBAAqB,IAAIE,QAAQ,CAACa,4BAClC;IAAA,GACGd,KAAK;IAAAN,QAAA,EAERA;EAAQ,CACK,CAAC;AAElB,CAAC","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.
|
|
5
|
+
"version": "1.0.3-beta0",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://github.com/prototypdigital/skeleform",
|
|
8
8
|
"repository": {
|
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
4
|
+
function deepEqual(a, b) {
|
|
5
|
+
if (a === b) return true;
|
|
6
|
+
if (a instanceof Date && b instanceof Date) return +a === +b;
|
|
7
|
+
if (a === null || b === null) return false;
|
|
8
|
+
if (typeof a !== "object" || typeof b !== "object") return false;
|
|
9
|
+
if (Array.isArray(a) !== Array.isArray(b)) return false;
|
|
10
|
+
if (Array.isArray(a) && Array.isArray(b)) {
|
|
11
|
+
if (a.length !== b.length) return false;
|
|
12
|
+
return a.every((item, i) => deepEqual(item, b[i]));
|
|
13
|
+
}
|
|
14
|
+
const keysA = Object.keys(a);
|
|
15
|
+
if (keysA.length !== Object.keys(b).length) return false;
|
|
16
|
+
return keysA.every(key => deepEqual(a[key], b[key]));
|
|
17
|
+
}
|
|
18
|
+
|
|
4
19
|
/** One-fits-all solution to manage state changes, field validation and optional entries within a form.
|
|
5
20
|
* @example <caption>Simple use case:</caption>
|
|
6
21
|
* const { state, validation, update } = useForm({ email: '', password: '', });
|
|
@@ -50,9 +65,12 @@ export function useForm(values, config) {
|
|
|
50
65
|
...s,
|
|
51
66
|
[key]: value
|
|
52
67
|
}));
|
|
53
|
-
setValidation(
|
|
54
|
-
...
|
|
55
|
-
[key]: shouldValidate ? fieldValidation(key, value,
|
|
68
|
+
setValidation(validation => ({
|
|
69
|
+
...validation,
|
|
70
|
+
[key]: shouldValidate ? fieldValidation(key, value, {
|
|
71
|
+
...state,
|
|
72
|
+
[key]: value
|
|
73
|
+
}) : undefined
|
|
56
74
|
}));
|
|
57
75
|
}
|
|
58
76
|
function validate(key) {
|
|
@@ -69,7 +87,7 @@ export function useForm(values, config) {
|
|
|
69
87
|
const formValidationState = stateValidation(state);
|
|
70
88
|
setValidation(formValidationState.validation);
|
|
71
89
|
return formValidationState.valid;
|
|
72
|
-
}, [state]);
|
|
90
|
+
}, [stateValidation, state]);
|
|
73
91
|
|
|
74
92
|
/** Boolean value of whether the form is valid (ie can be submitted). Use this to disable/enable form submission.
|
|
75
93
|
* Only use when validating fields separately, has no value when valiating on form submit. */
|
|
@@ -110,9 +128,9 @@ export function useForm(values, config) {
|
|
|
110
128
|
return initialValue instanceof Date ? +value !== +initialValue : true;
|
|
111
129
|
}
|
|
112
130
|
|
|
113
|
-
/**
|
|
131
|
+
/** Deep equality check for objects and arrays. */
|
|
114
132
|
if (state[key] instanceof Object) {
|
|
115
|
-
return
|
|
133
|
+
return !deepEqual(state[key], initialState[key]);
|
|
116
134
|
}
|
|
117
135
|
|
|
118
136
|
/** Primitive value check. */
|
|
@@ -133,24 +151,24 @@ export function useForm(values, config) {
|
|
|
133
151
|
resetInitialValues
|
|
134
152
|
};
|
|
135
153
|
}
|
|
154
|
+
function doesValueExist(value) {
|
|
155
|
+
if (value === undefined || value === null) {
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
if (typeof value === "string") {
|
|
159
|
+
return value !== "";
|
|
160
|
+
}
|
|
161
|
+
if (typeof value === "number") {
|
|
162
|
+
return value >= 0 || value < 0 || !Number.isNaN(value);
|
|
163
|
+
}
|
|
164
|
+
if (value instanceof Date) {
|
|
165
|
+
return !Number.isNaN(value.valueOf());
|
|
166
|
+
}
|
|
167
|
+
return true;
|
|
168
|
+
}
|
|
136
169
|
|
|
137
170
|
/** Helper hook to validate form state outside of the scope of useForm. */
|
|
138
171
|
export function useFormUtils(config) {
|
|
139
|
-
function doesValueExist(value) {
|
|
140
|
-
if (value === undefined || value === null) {
|
|
141
|
-
return false;
|
|
142
|
-
}
|
|
143
|
-
if (typeof value === "string") {
|
|
144
|
-
return value !== "";
|
|
145
|
-
}
|
|
146
|
-
if (typeof value === "number") {
|
|
147
|
-
return value >= 0 || value < 0 || !Number.isNaN(value);
|
|
148
|
-
}
|
|
149
|
-
if (value instanceof Date) {
|
|
150
|
-
return !Number.isNaN(value.valueOf());
|
|
151
|
-
}
|
|
152
|
-
return true;
|
|
153
|
-
}
|
|
154
172
|
const isOptional = useCallback(key => config?.optional?.includes(key) || false, [config]);
|
|
155
173
|
|
|
156
174
|
/** Validate by custom validation rule. If the rule does not exist, returns undefined. */
|
|
@@ -163,7 +181,7 @@ export function useFormUtils(config) {
|
|
|
163
181
|
* 1. If there is a custom validation rule, always use that to preserve all possible type values
|
|
164
182
|
* 2. If there is no value (is a falsy value), check if the field is optional
|
|
165
183
|
* 3. Fallback to simple truthy value check if all other checks are not triggered. */
|
|
166
|
-
|
|
184
|
+
const fieldValidation = useCallback((key, value, state) => {
|
|
167
185
|
const hasValue = doesValueExist(value);
|
|
168
186
|
const optional = isOptional(key);
|
|
169
187
|
|
|
@@ -177,8 +195,8 @@ export function useFormUtils(config) {
|
|
|
177
195
|
}
|
|
178
196
|
// Fallback, simple check if value exists
|
|
179
197
|
return hasValue;
|
|
180
|
-
}
|
|
181
|
-
|
|
198
|
+
}, [isOptional, validateByRule, config]);
|
|
199
|
+
const stateValidation = useCallback(state => {
|
|
182
200
|
const keys = Object.keys(state).map(key => key);
|
|
183
201
|
const validation = {};
|
|
184
202
|
keys.forEach(key => {
|
|
@@ -190,7 +208,7 @@ export function useFormUtils(config) {
|
|
|
190
208
|
valid: !keys.some(key => !validation[key]),
|
|
191
209
|
validation
|
|
192
210
|
};
|
|
193
|
-
}
|
|
211
|
+
}, [fieldValidation]);
|
|
194
212
|
return {
|
|
195
213
|
doesValueExist,
|
|
196
214
|
validateByRule,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useMemo","useState","
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useState","deepEqual","a","b","Date","Array","isArray","length","every","item","i","keysA","Object","keys","key","useForm","values","config","validation","setValidation","initialState","setInitialState","state","setState","fieldValidation","stateValidation","isOptional","useFormUtils","changed","filter","updatedState","forEach","update","value","shouldValidate","s","undefined","validate","validateForm","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":[]}
|
|
@@ -9,17 +9,17 @@ import { memoizeStyle } from "./memoize-styles.js";
|
|
|
9
9
|
import { normalizeMarginValues, normalizePaddingValues } from "./normalize-spacing-values.js";
|
|
10
10
|
export function extractSkeletorStyleProperties(props) {
|
|
11
11
|
const border = props.border || {};
|
|
12
|
-
const margins =
|
|
13
|
-
const paddings =
|
|
14
|
-
const size =
|
|
15
|
-
const alignment =
|
|
16
|
-
const position =
|
|
17
|
-
const flex =
|
|
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
18
|
flex: props.flex
|
|
19
|
-
}) : {}
|
|
20
|
-
const gap =
|
|
19
|
+
}) : {};
|
|
20
|
+
const gap = props.gap ? extractGapProperties({
|
|
21
21
|
gap: props.gap
|
|
22
|
-
}) : {}
|
|
22
|
+
}) : {};
|
|
23
23
|
return memoizeStyle({
|
|
24
24
|
...border,
|
|
25
25
|
...margins,
|
|
@@ -1 +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,
|
|
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":[]}
|
|
@@ -4,11 +4,24 @@
|
|
|
4
4
|
|
|
5
5
|
// biome-ignore lint/suspicious/noExplicitAny: Catchall
|
|
6
6
|
|
|
7
|
-
// Global cache:
|
|
7
|
+
// Global cache: hash → { key, style }
|
|
8
8
|
const styleCache = new Map();
|
|
9
9
|
let GlobalObjectId = 0; // For assigning stable IDs to nested objects
|
|
10
10
|
const ObjectIds = new WeakMap();
|
|
11
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
|
+
|
|
12
25
|
/**
|
|
13
26
|
* Generate a stable, fast key for a value:
|
|
14
27
|
* - primitives → string
|
|
@@ -17,8 +30,9 @@ const ObjectIds = new WeakMap();
|
|
|
17
30
|
function valueKey(value) {
|
|
18
31
|
if (value && typeof value === "object") {
|
|
19
32
|
if (!ObjectIds.has(value)) {
|
|
20
|
-
GlobalObjectId
|
|
33
|
+
GlobalObjectId = (GlobalObjectId + 1) % Number.MAX_SAFE_INTEGER;
|
|
21
34
|
ObjectIds.set(value, GlobalObjectId);
|
|
35
|
+
return `ref#${GlobalObjectId}`;
|
|
22
36
|
}
|
|
23
37
|
return `ref#${ObjectIds.get(value)}`;
|
|
24
38
|
}
|
|
@@ -26,20 +40,30 @@ function valueKey(value) {
|
|
|
26
40
|
}
|
|
27
41
|
|
|
28
42
|
/**
|
|
29
|
-
* High-performance memoizeStyle
|
|
43
|
+
* High-performance memoizeStyle with hash-based lookup and collision detection
|
|
44
|
+
* Uses a fast hash for primary lookup, but verifies the key to catch collisions
|
|
30
45
|
*/
|
|
31
46
|
export function memoizeStyle(obj) {
|
|
32
|
-
// Build key by joining prop:value pairs
|
|
47
|
+
// Build deterministic key by sorting and joining prop:value pairs
|
|
33
48
|
const key = Object.entries(obj).map(([k, v]) => `${k}:${valueKey(v)}`).join(";");
|
|
34
49
|
|
|
35
|
-
//
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
50
|
+
// Fast hash-based lookup
|
|
51
|
+
const hash = hashString(key);
|
|
52
|
+
const cached = styleCache.get(hash);
|
|
53
|
+
|
|
54
|
+
// Verify cache hit (collision detection)
|
|
55
|
+
if (cached && cached.key === key) {
|
|
56
|
+
return cached.style;
|
|
42
57
|
}
|
|
43
|
-
|
|
58
|
+
|
|
59
|
+
// Cache miss or collision: create and store new style
|
|
60
|
+
const style = Object.freeze({
|
|
61
|
+
...obj
|
|
62
|
+
});
|
|
63
|
+
styleCache.set(hash, {
|
|
64
|
+
key,
|
|
65
|
+
style
|
|
66
|
+
});
|
|
67
|
+
return style;
|
|
44
68
|
}
|
|
45
69
|
//# 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;;
|
|
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;AACA,OAAO,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":[]}
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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"}
|
package/lib/typescript/commonjs/components/InputFocusScrollView/InputFocusScrollView.d.ts.map
CHANGED
|
@@ -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,
|
|
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;
|
|
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
|
|
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,
|
|
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"}
|
|
@@ -36,9 +36,10 @@ export declare function useForm<T>(values: Values<T>, config?: FormConfig<T>): {
|
|
|
36
36
|
resetValidation: () => void;
|
|
37
37
|
resetInitialValues: () => void;
|
|
38
38
|
};
|
|
39
|
+
declare function doesValueExist<T>(value: T): value is Exclude<T, null | undefined>;
|
|
39
40
|
/** Helper hook to validate form state outside of the scope of useForm. */
|
|
40
41
|
export declare function useFormUtils<T>(config?: FormConfig<T>): {
|
|
41
|
-
doesValueExist:
|
|
42
|
+
doesValueExist: typeof doesValueExist;
|
|
42
43
|
validateByRule: <K extends keyof T>(key: K, value: T[K], state: Values<T>) => boolean | undefined;
|
|
43
44
|
isOptional: (key: keyof T) => boolean;
|
|
44
45
|
fieldValidation: (key: keyof T, value: T[keyof T], state: Values<T>) => boolean | undefined;
|
|
@@ -47,4 +48,5 @@ export declare function useFormUtils<T>(config?: FormConfig<T>): {
|
|
|
47
48
|
validation: Validation<T>;
|
|
48
49
|
};
|
|
49
50
|
};
|
|
51
|
+
export {};
|
|
50
52
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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;
|
|
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;AAsBF;;;;;;;;;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;eAWP,CAAC,SAAS,MAAM,CAAC,OAAO,CAAC;;;;;;;;EAgF3C;AAED,iBAAS,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,CAkB1E;AAED,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;;qBAQnD,CAAC,SAAS,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC;sBANnD,MAAM,CAAC;2BAkBP,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC;6BAmB1C,MAAM,CAAC,CAAC,CAAC;;;;EAyBlB"}
|
|
@@ -1 +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,
|
|
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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ViewStyle } from "react-native";
|
|
2
2
|
/**
|
|
3
|
-
* High-performance memoizeStyle
|
|
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
|
|
4
5
|
*/
|
|
5
6
|
export declare function memoizeStyle<T extends ViewStyle>(obj: T): T;
|
|
6
7
|
//# sourceMappingURL=memoize-styles.d.ts.map
|
|
@@ -1 +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;
|
|
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;AA8C9C;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAoB3D"}
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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,
|
|
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;
|
|
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
|
|
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,
|
|
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"}
|
|
@@ -36,9 +36,10 @@ export declare function useForm<T>(values: Values<T>, config?: FormConfig<T>): {
|
|
|
36
36
|
resetValidation: () => void;
|
|
37
37
|
resetInitialValues: () => void;
|
|
38
38
|
};
|
|
39
|
+
declare function doesValueExist<T>(value: T): value is Exclude<T, null | undefined>;
|
|
39
40
|
/** Helper hook to validate form state outside of the scope of useForm. */
|
|
40
41
|
export declare function useFormUtils<T>(config?: FormConfig<T>): {
|
|
41
|
-
doesValueExist:
|
|
42
|
+
doesValueExist: typeof doesValueExist;
|
|
42
43
|
validateByRule: <K extends keyof T>(key: K, value: T[K], state: Values<T>) => boolean | undefined;
|
|
43
44
|
isOptional: (key: keyof T) => boolean;
|
|
44
45
|
fieldValidation: (key: keyof T, value: T[keyof T], state: Values<T>) => boolean | undefined;
|
|
@@ -47,4 +48,5 @@ export declare function useFormUtils<T>(config?: FormConfig<T>): {
|
|
|
47
48
|
validation: Validation<T>;
|
|
48
49
|
};
|
|
49
50
|
};
|
|
51
|
+
export {};
|
|
50
52
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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;
|
|
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;AAsBF;;;;;;;;;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;eAWP,CAAC,SAAS,MAAM,CAAC,OAAO,CAAC;;;;;;;;EAgF3C;AAED,iBAAS,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,CAkB1E;AAED,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;;qBAQnD,CAAC,SAAS,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC;sBANnD,MAAM,CAAC;2BAkBP,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC;6BAmB1C,MAAM,CAAC,CAAC,CAAC;;;;EAyBlB"}
|
|
@@ -1 +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,
|
|
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"}
|