rn-inputforge 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +224 -19
- package/lib/commonjs/components/FieldFlowCheckbox/FieldFlowCheckbox.js +131 -0
- package/lib/commonjs/components/FieldFlowCheckbox/FieldFlowCheckbox.js.map +1 -0
- package/lib/commonjs/components/FieldFlowCheckbox/index.js +13 -0
- package/lib/commonjs/components/FieldFlowCheckbox/index.js.map +1 -0
- package/lib/commonjs/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.js +536 -0
- package/lib/commonjs/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.js.map +1 -0
- package/lib/commonjs/components/FieldFlowDateTimePicker/index.js +13 -0
- package/lib/commonjs/components/FieldFlowDateTimePicker/index.js.map +1 -0
- package/lib/commonjs/components/FieldFlowDateTimePicker/types.js +6 -0
- package/lib/commonjs/components/FieldFlowDateTimePicker/types.js.map +1 -0
- package/lib/commonjs/components/FieldFlowDropdown/FieldFlowDropdown.js +24 -9
- package/lib/commonjs/components/FieldFlowDropdown/FieldFlowDropdown.js.map +1 -1
- package/lib/commonjs/components/FieldFlowInput/FieldFlowInput.js +55 -24
- package/lib/commonjs/components/FieldFlowInput/FieldFlowInput.js.map +1 -1
- package/lib/commonjs/components/FieldFlowInput/styles.js +32 -11
- package/lib/commonjs/components/FieldFlowInput/styles.js.map +1 -1
- package/lib/commonjs/components/FieldFlowMaskedInput/FieldFlowMaskedInput.js +66 -0
- package/lib/commonjs/components/FieldFlowMaskedInput/FieldFlowMaskedInput.js.map +1 -0
- package/lib/commonjs/components/FieldFlowMaskedInput/index.js +13 -0
- package/lib/commonjs/components/FieldFlowMaskedInput/index.js.map +1 -0
- package/lib/commonjs/components/FieldFlowMaskedInput/types.js +6 -0
- package/lib/commonjs/components/FieldFlowMaskedInput/types.js.map +1 -0
- package/lib/commonjs/components/FieldFlowOTP/FieldFlowOTP.js +255 -0
- package/lib/commonjs/components/FieldFlowOTP/FieldFlowOTP.js.map +1 -0
- package/lib/commonjs/components/FieldFlowOTP/index.js +13 -0
- package/lib/commonjs/components/FieldFlowOTP/index.js.map +1 -0
- package/lib/commonjs/components/FieldFlowOTP/types.js +6 -0
- package/lib/commonjs/components/FieldFlowOTP/types.js.map +1 -0
- package/lib/commonjs/components/FieldFlowRadio/FieldFlowRadio.js +164 -0
- package/lib/commonjs/components/FieldFlowRadio/FieldFlowRadio.js.map +1 -0
- package/lib/commonjs/components/FieldFlowRadio/index.js +13 -0
- package/lib/commonjs/components/FieldFlowRadio/index.js.map +1 -0
- package/lib/commonjs/components/FieldFlowSwitch/FieldFlowSwitch.js +152 -0
- package/lib/commonjs/components/FieldFlowSwitch/FieldFlowSwitch.js.map +1 -0
- package/lib/commonjs/components/FieldFlowSwitch/index.js +13 -0
- package/lib/commonjs/components/FieldFlowSwitch/index.js.map +1 -0
- package/lib/commonjs/hooks/index.js.map +1 -1
- package/lib/commonjs/hooks/useFieldFlowForm.js +146 -31
- package/lib/commonjs/hooks/useFieldFlowForm.js.map +1 -1
- package/lib/commonjs/icons/Icon.js +719 -30
- package/lib/commonjs/icons/Icon.js.map +1 -1
- package/lib/commonjs/icons/index.js +7 -0
- package/lib/commonjs/icons/index.js.map +1 -1
- package/lib/commonjs/icons/renderIcon.js +24 -0
- package/lib/commonjs/icons/renderIcon.js.map +1 -0
- package/lib/commonjs/index.js +127 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils/masks.js +130 -0
- package/lib/commonjs/utils/masks.js.map +1 -0
- package/lib/commonjs/validation/index.js +25 -0
- package/lib/commonjs/validation/index.js.map +1 -1
- package/lib/commonjs/validation/zodAdapter.js +91 -0
- package/lib/commonjs/validation/zodAdapter.js.map +1 -0
- package/lib/module/components/FieldFlowCheckbox/FieldFlowCheckbox.js +126 -0
- package/lib/module/components/FieldFlowCheckbox/FieldFlowCheckbox.js.map +1 -0
- package/lib/module/components/FieldFlowCheckbox/index.js +4 -0
- package/lib/module/components/FieldFlowCheckbox/index.js.map +1 -0
- package/lib/module/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.js +531 -0
- package/lib/module/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.js.map +1 -0
- package/lib/module/components/FieldFlowDateTimePicker/index.js +4 -0
- package/lib/module/components/FieldFlowDateTimePicker/index.js.map +1 -0
- package/lib/module/components/FieldFlowDateTimePicker/types.js +4 -0
- package/lib/module/components/FieldFlowDateTimePicker/types.js.map +1 -0
- package/lib/module/components/FieldFlowDropdown/FieldFlowDropdown.js +24 -9
- package/lib/module/components/FieldFlowDropdown/FieldFlowDropdown.js.map +1 -1
- package/lib/module/components/FieldFlowInput/FieldFlowInput.js +59 -28
- package/lib/module/components/FieldFlowInput/FieldFlowInput.js.map +1 -1
- package/lib/module/components/FieldFlowInput/styles.js +32 -11
- package/lib/module/components/FieldFlowInput/styles.js.map +1 -1
- package/lib/module/components/FieldFlowMaskedInput/FieldFlowMaskedInput.js +61 -0
- package/lib/module/components/FieldFlowMaskedInput/FieldFlowMaskedInput.js.map +1 -0
- package/lib/module/components/FieldFlowMaskedInput/index.js +4 -0
- package/lib/module/components/FieldFlowMaskedInput/index.js.map +1 -0
- package/lib/module/components/FieldFlowMaskedInput/types.js +4 -0
- package/lib/module/components/FieldFlowMaskedInput/types.js.map +1 -0
- package/lib/module/components/FieldFlowOTP/FieldFlowOTP.js +250 -0
- package/lib/module/components/FieldFlowOTP/FieldFlowOTP.js.map +1 -0
- package/lib/module/components/FieldFlowOTP/index.js +4 -0
- package/lib/module/components/FieldFlowOTP/index.js.map +1 -0
- package/lib/module/components/FieldFlowOTP/types.js +4 -0
- package/lib/module/components/FieldFlowOTP/types.js.map +1 -0
- package/lib/module/components/FieldFlowRadio/FieldFlowRadio.js +159 -0
- package/lib/module/components/FieldFlowRadio/FieldFlowRadio.js.map +1 -0
- package/lib/module/components/FieldFlowRadio/index.js +4 -0
- package/lib/module/components/FieldFlowRadio/index.js.map +1 -0
- package/lib/module/components/FieldFlowSwitch/FieldFlowSwitch.js +147 -0
- package/lib/module/components/FieldFlowSwitch/FieldFlowSwitch.js.map +1 -0
- package/lib/module/components/FieldFlowSwitch/index.js +4 -0
- package/lib/module/components/FieldFlowSwitch/index.js.map +1 -0
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/module/hooks/useFieldFlowForm.js +147 -32
- package/lib/module/hooks/useFieldFlowForm.js.map +1 -1
- package/lib/module/icons/Icon.js +720 -31
- package/lib/module/icons/Icon.js.map +1 -1
- package/lib/module/icons/index.js +1 -0
- package/lib/module/icons/index.js.map +1 -1
- package/lib/module/icons/renderIcon.js +19 -0
- package/lib/module/icons/renderIcon.js.map +1 -0
- package/lib/module/index.js +11 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/masks.js +118 -0
- package/lib/module/utils/masks.js.map +1 -0
- package/lib/module/validation/index.js +1 -0
- package/lib/module/validation/index.js.map +1 -1
- package/lib/module/validation/zodAdapter.js +84 -0
- package/lib/module/validation/zodAdapter.js.map +1 -0
- package/lib/typescript/components/FieldFlowCheckbox/FieldFlowCheckbox.d.ts +36 -0
- package/lib/typescript/components/FieldFlowCheckbox/FieldFlowCheckbox.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowCheckbox/index.d.ts +3 -0
- package/lib/typescript/components/FieldFlowCheckbox/index.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.d.ts +4 -0
- package/lib/typescript/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowDateTimePicker/index.d.ts +3 -0
- package/lib/typescript/components/FieldFlowDateTimePicker/index.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowDateTimePicker/types.d.ts +55 -0
- package/lib/typescript/components/FieldFlowDateTimePicker/types.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowDropdown/FieldFlowDropdown.d.ts.map +1 -1
- package/lib/typescript/components/FieldFlowDropdown/types.d.ts +7 -1
- package/lib/typescript/components/FieldFlowDropdown/types.d.ts.map +1 -1
- package/lib/typescript/components/FieldFlowInput/FieldFlowInput.d.ts.map +1 -1
- package/lib/typescript/components/FieldFlowInput/styles.d.ts +19 -2
- package/lib/typescript/components/FieldFlowInput/styles.d.ts.map +1 -1
- package/lib/typescript/components/FieldFlowInput/types.d.ts +24 -5
- package/lib/typescript/components/FieldFlowInput/types.d.ts.map +1 -1
- package/lib/typescript/components/FieldFlowMaskedInput/FieldFlowMaskedInput.d.ts +5 -0
- package/lib/typescript/components/FieldFlowMaskedInput/FieldFlowMaskedInput.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowMaskedInput/index.d.ts +3 -0
- package/lib/typescript/components/FieldFlowMaskedInput/index.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowMaskedInput/types.d.ts +20 -0
- package/lib/typescript/components/FieldFlowMaskedInput/types.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowOTP/FieldFlowOTP.d.ts +4 -0
- package/lib/typescript/components/FieldFlowOTP/FieldFlowOTP.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowOTP/index.d.ts +3 -0
- package/lib/typescript/components/FieldFlowOTP/index.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowOTP/types.d.ts +52 -0
- package/lib/typescript/components/FieldFlowOTP/types.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowRadio/FieldFlowRadio.d.ts +39 -0
- package/lib/typescript/components/FieldFlowRadio/FieldFlowRadio.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowRadio/index.d.ts +3 -0
- package/lib/typescript/components/FieldFlowRadio/index.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowSwitch/FieldFlowSwitch.d.ts +31 -0
- package/lib/typescript/components/FieldFlowSwitch/FieldFlowSwitch.d.ts.map +1 -0
- package/lib/typescript/components/FieldFlowSwitch/index.d.ts +3 -0
- package/lib/typescript/components/FieldFlowSwitch/index.d.ts.map +1 -0
- package/lib/typescript/hooks/index.d.ts +1 -1
- package/lib/typescript/hooks/index.d.ts.map +1 -1
- package/lib/typescript/hooks/useFieldFlowForm.d.ts +46 -7
- package/lib/typescript/hooks/useFieldFlowForm.d.ts.map +1 -1
- package/lib/typescript/icons/Icon.d.ts +2 -2
- package/lib/typescript/icons/Icon.d.ts.map +1 -1
- package/lib/typescript/icons/index.d.ts +2 -0
- package/lib/typescript/icons/index.d.ts.map +1 -1
- package/lib/typescript/icons/renderIcon.d.ts +6 -0
- package/lib/typescript/icons/renderIcon.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +20 -6
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/types/index.d.ts +4 -0
- package/lib/typescript/types/index.d.ts.map +1 -1
- package/lib/typescript/utils/masks.d.ts +37 -0
- package/lib/typescript/utils/masks.d.ts.map +1 -0
- package/lib/typescript/validation/index.d.ts +2 -0
- package/lib/typescript/validation/index.d.ts.map +1 -1
- package/lib/typescript/validation/zodAdapter.d.ts +53 -0
- package/lib/typescript/validation/zodAdapter.d.ts.map +1 -0
- package/package.json +17 -3
- package/src/components/FieldFlowCheckbox/FieldFlowCheckbox.tsx +174 -0
- package/src/components/FieldFlowCheckbox/index.ts +2 -0
- package/src/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.tsx +585 -0
- package/src/components/FieldFlowDateTimePicker/index.ts +2 -0
- package/src/components/FieldFlowDateTimePicker/types.ts +57 -0
- package/src/components/FieldFlowDropdown/FieldFlowDropdown.tsx +17 -7
- package/src/components/FieldFlowDropdown/types.ts +8 -1
- package/src/components/FieldFlowInput/FieldFlowInput.tsx +69 -26
- package/src/components/FieldFlowInput/styles.ts +41 -6
- package/src/components/FieldFlowInput/types.ts +24 -5
- package/src/components/FieldFlowMaskedInput/FieldFlowMaskedInput.tsx +76 -0
- package/src/components/FieldFlowMaskedInput/index.ts +2 -0
- package/src/components/FieldFlowMaskedInput/types.ts +22 -0
- package/src/components/FieldFlowOTP/FieldFlowOTP.tsx +305 -0
- package/src/components/FieldFlowOTP/index.ts +2 -0
- package/src/components/FieldFlowOTP/types.ts +57 -0
- package/src/components/FieldFlowRadio/FieldFlowRadio.tsx +215 -0
- package/src/components/FieldFlowRadio/index.ts +2 -0
- package/src/components/FieldFlowSwitch/FieldFlowSwitch.tsx +172 -0
- package/src/components/FieldFlowSwitch/index.ts +2 -0
- package/src/hooks/index.ts +3 -0
- package/src/hooks/useFieldFlowForm.ts +209 -33
- package/src/icons/Icon.tsx +451 -5
- package/src/icons/index.ts +2 -0
- package/src/icons/renderIcon.tsx +17 -0
- package/src/index.ts +47 -4
- package/src/types/index.ts +5 -0
- package/src/utils/masks.ts +137 -0
- package/src/validation/index.ts +7 -0
- package/src/validation/zodAdapter.ts +103 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","useMemo","useRef","Animated","Pressable","StyleSheet","Text","View","useFieldFlowTheme","mergeDeep","defaultTheme","renderFieldFlowIcon","jsx","_jsx","jsxs","_jsxs","FieldFlowSwitch","value","onChange","label","helperText","errorText","disabled","required","switchPosition","leftIcon","iconSize","onTrackColor","offTrackColor","thumbColor","trackStyle","thumbStyle","containerStyle","labelStyle","helperStyle","errorStyle","theme","themeOverride","testID","contextTheme","styles","createStyles","Boolean","anim","Value","current","timing","toValue","duration","animation","useNativeDriver","start","trackColor","interpolate","inputRange","outputRange","colors","border","borderFocused","thumbTranslate","switchNode","style","track","backgroundColor","children","thumb","transform","translateX","labelNode","wrapper","onPress","row","accessibilityRole","accessibilityState","checked","accessibilityLabel","hitSlop","icon","create","marginBottom","spacing","gap","opacity","flexDirection","alignItems","justifyContent","marginRight","flex","fontSize","typography","color","text","fontFamily","width","height","borderRadius","shadowColor","shadowOpacity","shadowRadius","shadowOffset","elevation","marginTop","helperFontSize","error"],"sourceRoot":"../../../../src","sources":["components/FieldFlowSwitch/FieldFlowSwitch.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FieldFlowSwitch"],"sourceRoot":"../../../../src","sources":["components/FieldFlowSwitch/index.ts"],"mappings":";;AAAA,SAASA,eAAe,QAAQ,mBAAmB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useKeyboardManager","useFieldFlowForm","useFieldState"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,sBAAsB;AAGzD,SAASC,gBAAgB,QAAQ,oBAAoB;
|
|
1
|
+
{"version":3,"names":["useKeyboardManager","useFieldFlowForm","useFieldState"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,sBAAsB;AAGzD,SAASC,gBAAgB,QAAQ,oBAAoB;AAUrD,SAASC,aAAa,QAAQ,iBAAiB","ignoreList":[]}
|
|
@@ -1,97 +1,212 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useCallback, useMemo, useState } from 'react';
|
|
3
|
+
import { useCallback, useMemo, useRef, useState } from 'react';
|
|
4
4
|
import { runRules } from '../validation/validators';
|
|
5
5
|
/**
|
|
6
6
|
* Drop-in form state manager for a set of FieldFlow inputs. Handles values,
|
|
7
|
-
* per-field +
|
|
8
|
-
* the input components), touched-state, and submission.
|
|
7
|
+
* per-field + cross-field + async validation, touched-state, and submission.
|
|
9
8
|
*/
|
|
10
9
|
export function useFieldFlowForm({
|
|
11
10
|
initialValues,
|
|
12
11
|
rules,
|
|
12
|
+
crossFieldRules,
|
|
13
|
+
formValidate,
|
|
14
|
+
asyncValidators,
|
|
15
|
+
asyncDebounceMs = 400,
|
|
13
16
|
onSubmit
|
|
14
17
|
}) {
|
|
15
18
|
const [values, setValues] = useState(initialValues);
|
|
16
19
|
const [errors, setErrors] = useState({});
|
|
17
20
|
const [touched, setTouched] = useState({});
|
|
21
|
+
const [validating, setValidating] = useState({});
|
|
18
22
|
const [isSubmitting, setIsSubmitting] = useState(false);
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
const valuesRef = useRef(values);
|
|
24
|
+
valuesRef.current = values;
|
|
25
|
+
const debounceTimers = useRef({});
|
|
26
|
+
const asyncGen = useRef(0);
|
|
27
|
+
const syncErrorFor = useCallback((field, fieldValue, allValues) => {
|
|
28
|
+
const result = runRules(fieldValue, rules?.[field]);
|
|
29
|
+
if (!result.valid) return result.message;
|
|
30
|
+
if (crossFieldRules) {
|
|
31
|
+
for (const rule of crossFieldRules) {
|
|
32
|
+
if (rule.target !== field) continue;
|
|
33
|
+
const cross = rule.validate(allValues);
|
|
34
|
+
if (!cross.valid) return cross.message ?? 'Invalid';
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return undefined;
|
|
38
|
+
}, [rules, crossFieldRules]);
|
|
39
|
+
const runAsyncForField = useCallback(async (field, fieldValue, allValues) => {
|
|
40
|
+
const validator = asyncValidators?.[field];
|
|
41
|
+
if (!validator) return undefined;
|
|
42
|
+
setValidating(prev => ({
|
|
43
|
+
...prev,
|
|
44
|
+
[field]: true
|
|
45
|
+
}));
|
|
46
|
+
try {
|
|
47
|
+
const result = await validator(fieldValue, allValues);
|
|
48
|
+
return result.valid ? undefined : result.message;
|
|
49
|
+
} finally {
|
|
50
|
+
setValidating(prev => ({
|
|
51
|
+
...prev,
|
|
52
|
+
[field]: false
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
}, [asyncValidators]);
|
|
56
|
+
const scheduleAsync = useCallback((field, fieldValue, allValues) => {
|
|
57
|
+
if (!asyncValidators?.[field]) return;
|
|
58
|
+
const existing = debounceTimers.current[field];
|
|
59
|
+
if (existing) clearTimeout(existing);
|
|
60
|
+
debounceTimers.current[field] = setTimeout(async () => {
|
|
61
|
+
const gen = ++asyncGen.current;
|
|
62
|
+
const message = await runAsyncForField(field, fieldValue, allValues);
|
|
63
|
+
if (gen !== asyncGen.current) return;
|
|
64
|
+
setErrors(prev => {
|
|
65
|
+
const syncMsg = syncErrorFor(field, fieldValue, allValues);
|
|
66
|
+
if (syncMsg) return {
|
|
67
|
+
...prev,
|
|
68
|
+
[field]: syncMsg
|
|
69
|
+
};
|
|
70
|
+
return {
|
|
71
|
+
...prev,
|
|
72
|
+
[field]: message
|
|
73
|
+
};
|
|
74
|
+
});
|
|
75
|
+
}, asyncDebounceMs);
|
|
76
|
+
}, [asyncDebounceMs, asyncValidators, runAsyncForField, syncErrorFor]);
|
|
77
|
+
const validateField = useCallback(async field => {
|
|
78
|
+
const allValues = valuesRef.current;
|
|
79
|
+
const fieldValue = allValues[field] ?? '';
|
|
80
|
+
const syncError = syncErrorFor(field, fieldValue, allValues);
|
|
81
|
+
if (syncError) {
|
|
82
|
+
setErrors(prev => ({
|
|
83
|
+
...prev,
|
|
84
|
+
[field]: syncError
|
|
85
|
+
}));
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
const asyncError = await runAsyncForField(field, fieldValue, allValues);
|
|
22
89
|
setErrors(prev => ({
|
|
23
90
|
...prev,
|
|
24
|
-
[field]:
|
|
91
|
+
[field]: asyncError
|
|
25
92
|
}));
|
|
26
|
-
return
|
|
27
|
-
}, [
|
|
28
|
-
const validateAll = useCallback(() => {
|
|
29
|
-
|
|
30
|
-
let allValid = true;
|
|
93
|
+
return !asyncError;
|
|
94
|
+
}, [runAsyncForField, syncErrorFor]);
|
|
95
|
+
const validateAll = useCallback(async () => {
|
|
96
|
+
const allValues = valuesRef.current;
|
|
31
97
|
const nextErrors = {};
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
98
|
+
const keys = new Set([...Object.keys(allValues), ...(rules ? Object.keys(rules) : []), ...(crossFieldRules?.map(r => r.target) ?? []), ...(asyncValidators ? Object.keys(asyncValidators) : [])]);
|
|
99
|
+
for (const key of keys) {
|
|
100
|
+
const syncError = syncErrorFor(key, allValues[key] ?? '', allValues);
|
|
101
|
+
if (syncError) nextErrors[key] = syncError;
|
|
102
|
+
}
|
|
103
|
+
if (crossFieldRules) {
|
|
104
|
+
for (const rule of crossFieldRules) {
|
|
105
|
+
if (nextErrors[rule.target]) continue;
|
|
106
|
+
const result = rule.validate(allValues);
|
|
107
|
+
if (!result.valid) nextErrors[rule.target] = result.message ?? 'Invalid';
|
|
37
108
|
}
|
|
38
109
|
}
|
|
110
|
+
if (formValidate) {
|
|
111
|
+
const formErrors = await formValidate(allValues);
|
|
112
|
+
for (const key of Object.keys(formErrors)) {
|
|
113
|
+
const msg = formErrors[key];
|
|
114
|
+
if (msg && !nextErrors[key]) nextErrors[key] = msg;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
if (asyncValidators) {
|
|
118
|
+
await Promise.all(Object.keys(asyncValidators).map(async key => {
|
|
119
|
+
if (nextErrors[key]) return;
|
|
120
|
+
const asyncError = await runAsyncForField(key, allValues[key] ?? '', allValues);
|
|
121
|
+
if (asyncError) nextErrors[key] = asyncError;
|
|
122
|
+
}));
|
|
123
|
+
}
|
|
39
124
|
setErrors(nextErrors);
|
|
40
125
|
setTouched(prev => {
|
|
41
126
|
const next = {
|
|
42
127
|
...prev
|
|
43
128
|
};
|
|
44
|
-
for (const key of
|
|
129
|
+
for (const key of keys) next[key] = true;
|
|
45
130
|
return next;
|
|
46
131
|
});
|
|
47
|
-
return
|
|
48
|
-
}, [rules,
|
|
132
|
+
return Object.values(nextErrors).every(e => !e);
|
|
133
|
+
}, [rules, crossFieldRules, formValidate, asyncValidators, syncErrorFor, runAsyncForField]);
|
|
49
134
|
const setValue = useCallback((field, value) => {
|
|
50
|
-
setValues(prev =>
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
135
|
+
setValues(prev => {
|
|
136
|
+
const next = {
|
|
137
|
+
...prev,
|
|
138
|
+
[field]: value
|
|
139
|
+
};
|
|
140
|
+
valuesRef.current = next;
|
|
141
|
+
return next;
|
|
142
|
+
});
|
|
54
143
|
}, []);
|
|
55
144
|
const handleChange = useCallback(field => value => {
|
|
56
145
|
setValue(field, value);
|
|
146
|
+
const allValues = {
|
|
147
|
+
...valuesRef.current,
|
|
148
|
+
[field]: value
|
|
149
|
+
};
|
|
57
150
|
if (touched[field]) {
|
|
58
|
-
|
|
59
|
-
const result = runRules(value, rules?.[field]);
|
|
151
|
+
const syncError = syncErrorFor(field, value, allValues);
|
|
60
152
|
setErrors(prev => ({
|
|
61
153
|
...prev,
|
|
62
|
-
[field]:
|
|
154
|
+
[field]: syncError
|
|
63
155
|
}));
|
|
156
|
+
if (!syncError) scheduleAsync(field, value, allValues);
|
|
64
157
|
}
|
|
65
|
-
|
|
158
|
+
if (crossFieldRules) {
|
|
159
|
+
for (const rule of crossFieldRules) {
|
|
160
|
+
if (rule.target === field) continue;
|
|
161
|
+
if (rule.deps && !rule.deps.includes(field)) continue;
|
|
162
|
+
if (!touched[rule.target] && !touched[field]) continue;
|
|
163
|
+
const result = rule.validate(allValues);
|
|
164
|
+
setErrors(prev => ({
|
|
165
|
+
...prev,
|
|
166
|
+
[rule.target]: result.valid ? syncErrorFor(rule.target, allValues[rule.target] ?? '', allValues) : result.message ?? 'Invalid'
|
|
167
|
+
}));
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}, [setValue, touched, syncErrorFor, scheduleAsync, crossFieldRules]);
|
|
66
171
|
const handleBlur = useCallback(field => () => {
|
|
67
172
|
setTouched(prev => ({
|
|
68
173
|
...prev,
|
|
69
174
|
[field]: true
|
|
70
175
|
}));
|
|
71
|
-
validateField(field);
|
|
176
|
+
void validateField(field);
|
|
72
177
|
}, [validateField]);
|
|
73
178
|
const submit = useCallback(async () => {
|
|
74
|
-
const valid = validateAll();
|
|
179
|
+
const valid = await validateAll();
|
|
75
180
|
if (!valid) return;
|
|
76
181
|
setIsSubmitting(true);
|
|
77
182
|
try {
|
|
78
|
-
await onSubmit?.(
|
|
183
|
+
await onSubmit?.(valuesRef.current);
|
|
79
184
|
} finally {
|
|
80
185
|
setIsSubmitting(false);
|
|
81
186
|
}
|
|
82
|
-
}, [onSubmit, validateAll
|
|
187
|
+
}, [onSubmit, validateAll]);
|
|
83
188
|
const reset = useCallback(() => {
|
|
189
|
+
asyncGen.current += 1;
|
|
190
|
+
for (const key of Object.keys(debounceTimers.current)) {
|
|
191
|
+
const t = debounceTimers.current[key];
|
|
192
|
+
if (t) clearTimeout(t);
|
|
193
|
+
}
|
|
84
194
|
setValues(initialValues);
|
|
195
|
+
valuesRef.current = initialValues;
|
|
85
196
|
setErrors({});
|
|
86
197
|
setTouched({});
|
|
198
|
+
setValidating({});
|
|
87
199
|
}, [initialValues]);
|
|
88
200
|
const isValid = useMemo(() => Object.values(errors).every(e => !e), [errors]);
|
|
201
|
+
const isValidating = useMemo(() => Object.values(validating).some(Boolean), [validating]);
|
|
89
202
|
return {
|
|
90
203
|
values,
|
|
91
204
|
errors,
|
|
92
205
|
touched,
|
|
206
|
+
validating,
|
|
93
207
|
isSubmitting,
|
|
94
208
|
isValid,
|
|
209
|
+
isValidating,
|
|
95
210
|
setValue,
|
|
96
211
|
handleChange,
|
|
97
212
|
handleBlur,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useMemo","useState","runRules","useFieldFlowForm","initialValues","rules","onSubmit","values","setValues","errors","setErrors","touched","setTouched","isSubmitting","setIsSubmitting","
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","useRef","useState","runRules","useFieldFlowForm","initialValues","rules","crossFieldRules","formValidate","asyncValidators","asyncDebounceMs","onSubmit","values","setValues","errors","setErrors","touched","setTouched","validating","setValidating","isSubmitting","setIsSubmitting","valuesRef","current","debounceTimers","asyncGen","syncErrorFor","field","fieldValue","allValues","result","valid","message","rule","target","cross","validate","undefined","runAsyncForField","validator","prev","scheduleAsync","existing","clearTimeout","setTimeout","gen","syncMsg","validateField","syncError","asyncError","validateAll","nextErrors","keys","Set","Object","map","r","key","formErrors","msg","Promise","all","next","every","e","setValue","value","handleChange","deps","includes","handleBlur","submit","reset","t","isValid","isValidating","some","Boolean"],"sourceRoot":"../../../src","sources":["hooks/useFieldFlowForm.ts"],"mappings":"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","ignoreList":[]}
|