react-native-mantine 0.7.0 → 0.9.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.
Files changed (81) hide show
  1. package/README.md +37 -5
  2. package/lib/commonjs/components/Group/index.js.map +1 -1
  3. package/lib/commonjs/components/Radio/index.js +62 -6
  4. package/lib/commonjs/components/Radio/index.js.map +1 -1
  5. package/lib/commonjs/components/Switch/index.js +6 -2
  6. package/lib/commonjs/components/Switch/index.js.map +1 -1
  7. package/lib/commonjs/hooks/index.js +28 -0
  8. package/lib/commonjs/hooks/index.js.map +1 -0
  9. package/lib/commonjs/hooks/use-form/index.js +40 -0
  10. package/lib/commonjs/hooks/use-form/index.js.map +1 -0
  11. package/lib/commonjs/hooks/use-form/types.js +2 -0
  12. package/lib/commonjs/hooks/use-form/types.js.map +1 -0
  13. package/lib/commonjs/hooks/use-form/useForm.js +418 -0
  14. package/lib/commonjs/hooks/use-form/useForm.js.map +1 -0
  15. package/lib/commonjs/hooks/use-form/validators.js +135 -0
  16. package/lib/commonjs/hooks/use-form/validators.js.map +1 -0
  17. package/lib/commonjs/index.js +11 -0
  18. package/lib/commonjs/index.js.map +1 -1
  19. package/lib/module/components/Group/index.js.map +1 -1
  20. package/lib/module/components/Radio/index.js +64 -8
  21. package/lib/module/components/Radio/index.js.map +1 -1
  22. package/lib/module/components/Switch/index.js +6 -2
  23. package/lib/module/components/Switch/index.js.map +1 -1
  24. package/lib/module/hooks/index.js +5 -0
  25. package/lib/module/hooks/index.js.map +1 -0
  26. package/lib/module/hooks/use-form/index.js +6 -0
  27. package/lib/module/hooks/use-form/index.js.map +1 -0
  28. package/lib/module/hooks/use-form/types.js +2 -0
  29. package/lib/module/hooks/use-form/types.js.map +1 -0
  30. package/lib/module/hooks/use-form/useForm.js +414 -0
  31. package/lib/module/hooks/use-form/useForm.js.map +1 -0
  32. package/lib/module/hooks/use-form/validators.js +122 -0
  33. package/lib/module/hooks/use-form/validators.js.map +1 -0
  34. package/lib/module/index.js +1 -0
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/typescript/commonjs/src/components/Group/index.d.ts +1 -0
  37. package/lib/typescript/commonjs/src/components/Group/index.d.ts.map +1 -1
  38. package/lib/typescript/commonjs/src/components/Radio/index.d.ts +22 -1
  39. package/lib/typescript/commonjs/src/components/Radio/index.d.ts.map +1 -1
  40. package/lib/typescript/commonjs/src/components/Switch/index.d.ts +3 -3
  41. package/lib/typescript/commonjs/src/components/Switch/index.d.ts.map +1 -1
  42. package/lib/typescript/commonjs/src/hooks/index.d.ts +3 -0
  43. package/lib/typescript/commonjs/src/hooks/index.d.ts.map +1 -0
  44. package/lib/typescript/commonjs/src/hooks/use-form/index.d.ts +4 -0
  45. package/lib/typescript/commonjs/src/hooks/use-form/index.d.ts.map +1 -0
  46. package/lib/typescript/commonjs/src/hooks/use-form/types.d.ts +119 -0
  47. package/lib/typescript/commonjs/src/hooks/use-form/types.d.ts.map +1 -0
  48. package/lib/typescript/commonjs/src/hooks/use-form/useForm.d.ts +30 -0
  49. package/lib/typescript/commonjs/src/hooks/use-form/useForm.d.ts.map +1 -0
  50. package/lib/typescript/commonjs/src/hooks/use-form/validators.d.ts +41 -0
  51. package/lib/typescript/commonjs/src/hooks/use-form/validators.d.ts.map +1 -0
  52. package/lib/typescript/commonjs/src/index.d.ts +1 -0
  53. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  54. package/lib/typescript/module/src/components/Group/index.d.ts +1 -0
  55. package/lib/typescript/module/src/components/Group/index.d.ts.map +1 -1
  56. package/lib/typescript/module/src/components/Radio/index.d.ts +22 -1
  57. package/lib/typescript/module/src/components/Radio/index.d.ts.map +1 -1
  58. package/lib/typescript/module/src/components/Switch/index.d.ts +3 -3
  59. package/lib/typescript/module/src/components/Switch/index.d.ts.map +1 -1
  60. package/lib/typescript/module/src/hooks/index.d.ts +3 -0
  61. package/lib/typescript/module/src/hooks/index.d.ts.map +1 -0
  62. package/lib/typescript/module/src/hooks/use-form/index.d.ts +4 -0
  63. package/lib/typescript/module/src/hooks/use-form/index.d.ts.map +1 -0
  64. package/lib/typescript/module/src/hooks/use-form/types.d.ts +119 -0
  65. package/lib/typescript/module/src/hooks/use-form/types.d.ts.map +1 -0
  66. package/lib/typescript/module/src/hooks/use-form/useForm.d.ts +30 -0
  67. package/lib/typescript/module/src/hooks/use-form/useForm.d.ts.map +1 -0
  68. package/lib/typescript/module/src/hooks/use-form/validators.d.ts +41 -0
  69. package/lib/typescript/module/src/hooks/use-form/validators.d.ts.map +1 -0
  70. package/lib/typescript/module/src/index.d.ts +1 -0
  71. package/lib/typescript/module/src/index.d.ts.map +1 -1
  72. package/package.json +1 -1
  73. package/src/components/Group/index.tsx +1 -0
  74. package/src/components/Radio/index.tsx +99 -8
  75. package/src/components/Switch/index.tsx +10 -6
  76. package/src/hooks/index.ts +2 -0
  77. package/src/hooks/use-form/index.ts +3 -0
  78. package/src/hooks/use-form/types.ts +169 -0
  79. package/src/hooks/use-form/useForm.ts +436 -0
  80. package/src/hooks/use-form/validators.ts +143 -0
  81. package/src/index.tsx +1 -0
@@ -1,13 +1,15 @@
1
1
  "use strict";
2
2
 
3
- import React, { forwardRef, useEffect, useRef } from 'react';
4
- import { Pressable, Animated } from 'react-native';
3
+ import React, { forwardRef, useEffect, useRef, createContext, useContext } from 'react';
4
+ import { Pressable, Animated, View } from 'react-native';
5
5
  import { BoxView } from "../BoxView/index.js";
6
6
  import { Text } from "../Text/index.js";
7
7
  import { useComponentDefaultProps } from "../../theme/theme-provider.js";
8
8
  import { createStyles } from "../../theme/index.js";
9
9
  import { rem } from "../../theme/utils/rem.js";
10
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ const RadioGroupContext = /*#__PURE__*/createContext(undefined);
12
+ const useRadioGroupContext = () => useContext(RadioGroupContext);
11
13
  const sizes = {
12
14
  xs: rem(14),
13
15
  sm: rem(18),
@@ -62,19 +64,26 @@ const defaultProps = {
62
64
  checked: false,
63
65
  disabled: false
64
66
  };
65
- export const Radio = /*#__PURE__*/forwardRef((props, ref) => {
67
+ const RadioComponent = /*#__PURE__*/forwardRef((props, ref) => {
68
+ const groupContext = useRadioGroupContext();
66
69
  const {
67
70
  label,
68
- size,
69
- color,
71
+ size: propSize,
72
+ color: propColor,
70
73
  value,
71
- checked,
72
- onChange,
74
+ checked: propChecked,
75
+ onChange: propOnChange,
73
76
  disabled,
74
77
  style,
75
78
  wrapperStyle,
76
79
  ...others
77
80
  } = useComponentDefaultProps('Radio', defaultProps, props);
81
+
82
+ // Use group context if available, otherwise use props
83
+ const size = propSize || groupContext?.size || defaultProps.size;
84
+ const color = propColor || groupContext?.color || defaultProps.color;
85
+ const checked = groupContext ? groupContext.value === value : propChecked;
86
+ const onChange = groupContext?.onChange || propOnChange;
78
87
  const {
79
88
  styles,
80
89
  sx
@@ -119,6 +128,12 @@ export const Radio = /*#__PURE__*/forwardRef((props, ref) => {
119
128
  accessibilityState: {
120
129
  checked
121
130
  },
131
+ hitSlop: {
132
+ top: 8,
133
+ bottom: 8,
134
+ left: 8,
135
+ right: 8
136
+ },
122
137
  ...others,
123
138
  children: [radioContent, label && /*#__PURE__*/_jsx(Text, {
124
139
  style: styles.label,
@@ -126,5 +141,46 @@ export const Radio = /*#__PURE__*/forwardRef((props, ref) => {
126
141
  })]
127
142
  });
128
143
  });
129
- Radio.displayName = 'Radio';
144
+ RadioComponent.displayName = 'Radio';
145
+ const RadioGroup = /*#__PURE__*/forwardRef((props, ref) => {
146
+ const {
147
+ value,
148
+ onChange,
149
+ children,
150
+ name,
151
+ size,
152
+ color,
153
+ style,
154
+ spacing = 12
155
+ } = props;
156
+ const contextValue = {
157
+ value,
158
+ onChange,
159
+ size,
160
+ color,
161
+ name
162
+ };
163
+ return /*#__PURE__*/_jsx(RadioGroupContext.Provider, {
164
+ value: contextValue,
165
+ children: /*#__PURE__*/_jsx(View, {
166
+ ref: ref,
167
+ style: style,
168
+ children: React.Children.map(children, (child, index) => {
169
+ if (! /*#__PURE__*/React.isValidElement(child)) {
170
+ return child;
171
+ }
172
+ return /*#__PURE__*/_jsx(View, {
173
+ style: {
174
+ marginBottom: index < React.Children.count(children) - 1 ? spacing : 0
175
+ },
176
+ children: child
177
+ }, index);
178
+ })
179
+ })
180
+ });
181
+ });
182
+ RadioGroup.displayName = 'RadioGroup';
183
+ export const Radio = Object.assign(RadioComponent, {
184
+ Group: RadioGroup
185
+ });
130
186
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","forwardRef","useEffect","useRef","Pressable","Animated","BoxView","Text","useComponentDefaultProps","createStyles","rem","jsx","_jsx","jsxs","_jsxs","sizes","xs","sm","md","lg","xl","useStyles","theme","size","color","disabled","colors","primaryColor","radioSize","innerSize","root","flexDirection","alignItems","opacity","radio","width","height","borderRadius","borderWidth","borderColor","colorScheme","dark","gray","backgroundColor","justifyContent","checked","primaryBgColor","inner","label","fontSize","fontSizes","black","marginLeft","spacing","flex","defaultProps","Radio","props","ref","value","onChange","style","wrapperStyle","others","styles","sx","name","scaleAnim","Value","current","spring","toValue","useNativeDriver","tension","friction","start","handlePress","undefined","radioContent","children","View","transform","scale","onPress","accessibilityRole","accessibilityState","displayName"],"sourceRoot":"../../../../src","sources":["components/Radio/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","forwardRef","useEffect","useRef","createContext","useContext","Pressable","Animated","View","BoxView","Text","useComponentDefaultProps","createStyles","rem","jsx","_jsx","jsxs","_jsxs","RadioGroupContext","undefined","useRadioGroupContext","sizes","xs","sm","md","lg","xl","useStyles","theme","size","color","disabled","colors","primaryColor","radioSize","innerSize","root","flexDirection","alignItems","opacity","radio","width","height","borderRadius","borderWidth","borderColor","colorScheme","dark","gray","backgroundColor","justifyContent","checked","primaryBgColor","inner","label","fontSize","fontSizes","black","marginLeft","spacing","flex","defaultProps","RadioComponent","props","ref","groupContext","propSize","propColor","value","propChecked","onChange","propOnChange","style","wrapperStyle","others","styles","sx","name","scaleAnim","Value","current","spring","toValue","useNativeDriver","tension","friction","start","handlePress","radioContent","children","transform","scale","onPress","accessibilityRole","accessibilityState","hitSlop","top","bottom","left","right","displayName","RadioGroup","contextValue","Provider","Children","map","child","index","isValidElement","marginBottom","count","Radio","Object","assign","Group"],"sourceRoot":"../../../../src","sources":["components/Radio/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -51,7 +51,7 @@ const defaultProps = {
51
51
  size: 'md',
52
52
  color: 'blue',
53
53
  labelPosition: 'right',
54
- checked: false
54
+ disabled: false
55
55
  };
56
56
  export const Switch = /*#__PURE__*/forwardRef((props, ref) => {
57
57
  const {
@@ -61,6 +61,7 @@ export const Switch = /*#__PURE__*/forwardRef((props, ref) => {
61
61
  labelPosition,
62
62
  checked,
63
63
  onChange,
64
+ disabled,
64
65
  style,
65
66
  wrapperStyle
66
67
  } = useComponentDefaultProps('Switch', defaultProps, props);
@@ -75,7 +76,9 @@ export const Switch = /*#__PURE__*/forwardRef((props, ref) => {
75
76
  name: 'Switch'
76
77
  });
77
78
  const handleChange = value => {
78
- onChange?.(value);
79
+ if (!disabled) {
80
+ onChange?.(value);
81
+ }
79
82
  };
80
83
  const colorKey = color || theme.primaryColor;
81
84
  const colors = theme.colors[colorKey] || theme.colors[theme.primaryColor];
@@ -93,6 +96,7 @@ export const Switch = /*#__PURE__*/forwardRef((props, ref) => {
93
96
  trackColor: trackColor,
94
97
  thumbColor: thumbColor,
95
98
  ios_backgroundColor: trackColor.false,
99
+ disabled: disabled,
96
100
  style: sx(styles.switch, style)
97
101
  });
98
102
  if (!label) {
@@ -1 +1 @@
1
- {"version":3,"names":["React","forwardRef","Switch","RNSwitch","Platform","BoxView","Text","useComponentDefaultProps","useTheme","createStyles","jsx","_jsx","jsxs","_jsxs","sizes","xs","scale","sm","md","lg","xl","useStyles","theme","labelPosition","size","sizeStyles","root","flexDirection","alignItems","label","fontSize","fontSizes","color","colorScheme","colors","dark","black","marginLeft","spacing","marginRight","switch","transform","defaultProps","checked","props","ref","onChange","style","wrapperStyle","styles","sx","name","handleChange","value","colorKey","primaryColor","falseColor","gray","trueColor","primaryBgColor","trackColor","false","true","thumbColor","OS","white","switchComponent","onValueChange","ios_backgroundColor","children","displayName"],"sourceRoot":"../../../../src","sources":["components/Switch/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","forwardRef","Switch","RNSwitch","Platform","BoxView","Text","useComponentDefaultProps","useTheme","createStyles","jsx","_jsx","jsxs","_jsxs","sizes","xs","scale","sm","md","lg","xl","useStyles","theme","labelPosition","size","sizeStyles","root","flexDirection","alignItems","label","fontSize","fontSizes","color","colorScheme","colors","dark","black","marginLeft","spacing","marginRight","switch","transform","defaultProps","disabled","props","ref","checked","onChange","style","wrapperStyle","styles","sx","name","handleChange","value","colorKey","primaryColor","falseColor","gray","trueColor","primaryBgColor","trackColor","false","true","thumbColor","OS","white","switchComponent","onValueChange","ios_backgroundColor","children","displayName"],"sourceRoot":"../../../../src","sources":["components/Switch/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ export * from "./useCachedResources.js";
4
+ export * from "./use-form/index.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;AAAA,cAAc,yBAAsB;AACpC,cAAc,qBAAY","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ export { useForm } from "./useForm.js";
4
+ export * from "./types.js";
5
+ export * from "./validators.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useForm"],"sourceRoot":"../../../../src","sources":["hooks/use-form/index.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,cAAW;AACnC,cAAc,YAAS;AACvB,cAAc,iBAAc","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["hooks/use-form/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,414 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useRef, useState } from 'react';
4
+ /**
5
+ * Validates a single field value against validation rules
6
+ */
7
+ function validateFieldValue(field, value, rules) {
8
+ if (!rules || !rules[field]) {
9
+ return null;
10
+ }
11
+ const validators = rules[field];
12
+ if (!validators) {
13
+ return null;
14
+ }
15
+
16
+ // Handle single validator
17
+ if (typeof validators === 'function') {
18
+ return validators(value);
19
+ }
20
+
21
+ // Handle array of validators
22
+ if (Array.isArray(validators)) {
23
+ for (const validator of validators) {
24
+ const error = validator(value);
25
+ if (error) {
26
+ return error;
27
+ }
28
+ }
29
+ }
30
+ return null;
31
+ }
32
+
33
+ /**
34
+ * Validates all form values
35
+ */
36
+ function validateAllValues(values, rules) {
37
+ if (!rules) {
38
+ return {};
39
+ }
40
+ const errors = {};
41
+ for (const field in rules) {
42
+ const error = validateFieldValue(field, values[field], rules);
43
+ if (error) {
44
+ errors[field] = error;
45
+ }
46
+ }
47
+ return errors;
48
+ }
49
+
50
+ /**
51
+ * Form state management hook for React Native
52
+ *
53
+ * @example
54
+ * ```tsx
55
+ * const form = useForm({
56
+ * initialValues: {
57
+ * email: '',
58
+ * password: '',
59
+ * },
60
+ * validate: {
61
+ * email: isEmail('Invalid email'),
62
+ * password: minLength(6, 'Password must be at least 6 characters'),
63
+ * },
64
+ * });
65
+ *
66
+ * return (
67
+ * <View>
68
+ * <TextInput {...form.getInputProps('email')} />
69
+ * <TextInput {...form.getInputProps('password')} />
70
+ * <Button onPress={form.onSubmit((values) => console.log(values))}>
71
+ * Submit
72
+ * </Button>
73
+ * </View>
74
+ * );
75
+ * ```
76
+ */
77
+ export function useForm({
78
+ initialValues = {},
79
+ initialErrors = {},
80
+ initialTouched = {},
81
+ initialDirty = {},
82
+ validate: validationRules,
83
+ clearInputErrorOnChange = true,
84
+ validateInputOnChange = false,
85
+ validateInputOnBlur = false,
86
+ transformValues = values => values
87
+ } = {}) {
88
+ // Form state
89
+ const [values, setValuesState] = useState(initialValues);
90
+ const [errors, setErrorsState] = useState(initialErrors);
91
+ const [touched, setTouchedState] = useState(initialTouched);
92
+ const [dirty, setDirtyState] = useState(initialDirty);
93
+
94
+ // Keep track of initial values for reset
95
+ const initialValuesRef = useRef(initialValues);
96
+
97
+ /**
98
+ * Set a single field value
99
+ */
100
+ const setFieldValue = useCallback((field, value) => {
101
+ setValuesState(prev => ({
102
+ ...prev,
103
+ [field]: value
104
+ }));
105
+ setDirtyState(prev => ({
106
+ ...prev,
107
+ [field]: true
108
+ }));
109
+
110
+ // Validate on change if enabled
111
+ if (validateInputOnChange && validationRules) {
112
+ const error = validateFieldValue(field, value, validationRules);
113
+ if (error) {
114
+ setErrorsState(prev => ({
115
+ ...prev,
116
+ [field]: error
117
+ }));
118
+ } else {
119
+ setErrorsState(prev => {
120
+ const newErrors = {
121
+ ...prev
122
+ };
123
+ delete newErrors[field];
124
+ return newErrors;
125
+ });
126
+ }
127
+ } else if (clearInputErrorOnChange) {
128
+ // Clear error on change if enabled
129
+ setErrorsState(prev => {
130
+ const newErrors = {
131
+ ...prev
132
+ };
133
+ delete newErrors[field];
134
+ return newErrors;
135
+ });
136
+ }
137
+ }, [validateInputOnChange, clearInputErrorOnChange, validationRules]);
138
+
139
+ /**
140
+ * Set multiple field values
141
+ */
142
+ const setValues = useCallback(newValues => {
143
+ setValuesState(prev => ({
144
+ ...prev,
145
+ ...newValues
146
+ }));
147
+
148
+ // Mark all updated fields as dirty
149
+ const dirtyFields = {};
150
+ for (const key in newValues) {
151
+ dirtyFields[key] = true;
152
+ }
153
+ setDirtyState(prev => ({
154
+ ...prev,
155
+ ...dirtyFields
156
+ }));
157
+ if (clearInputErrorOnChange) {
158
+ setErrorsState(prev => {
159
+ const newErrors = {
160
+ ...prev
161
+ };
162
+ for (const key in newValues) {
163
+ delete newErrors[key];
164
+ }
165
+ return newErrors;
166
+ });
167
+ }
168
+ }, [clearInputErrorOnChange]);
169
+
170
+ /**
171
+ * Set a single field error
172
+ */
173
+ const setFieldError = useCallback((field, error) => {
174
+ if (error === null) {
175
+ setErrorsState(prev => {
176
+ const newErrors = {
177
+ ...prev
178
+ };
179
+ delete newErrors[field];
180
+ return newErrors;
181
+ });
182
+ } else {
183
+ setErrorsState(prev => ({
184
+ ...prev,
185
+ [field]: error
186
+ }));
187
+ }
188
+ }, []);
189
+
190
+ /**
191
+ * Set multiple errors
192
+ */
193
+ const setErrors = useCallback(newErrors => {
194
+ setErrorsState(newErrors);
195
+ }, []);
196
+
197
+ /**
198
+ * Clear a specific field error
199
+ */
200
+ const clearFieldError = useCallback(field => {
201
+ setErrorsState(prev => {
202
+ const newErrors = {
203
+ ...prev
204
+ };
205
+ delete newErrors[field];
206
+ return newErrors;
207
+ });
208
+ }, []);
209
+
210
+ /**
211
+ * Clear all errors
212
+ */
213
+ const clearErrors = useCallback(() => {
214
+ setErrorsState({});
215
+ }, []);
216
+
217
+ /**
218
+ * Reset form to initial values
219
+ */
220
+ const reset = useCallback(() => {
221
+ setValuesState(initialValuesRef.current);
222
+ setErrorsState({});
223
+ setTouchedState({});
224
+ setDirtyState({});
225
+ }, []);
226
+
227
+ /**
228
+ * Validate a specific field
229
+ */
230
+ const validateField = useCallback(field => {
231
+ if (!validationRules) {
232
+ return true;
233
+ }
234
+ const error = validateFieldValue(field, values[field], validationRules);
235
+ if (error) {
236
+ setFieldError(field, error);
237
+ return false;
238
+ }
239
+ clearFieldError(field);
240
+ return true;
241
+ }, [values, validationRules, setFieldError, clearFieldError]);
242
+
243
+ /**
244
+ * Validate entire form
245
+ */
246
+ const validate = useCallback(() => {
247
+ if (!validationRules) {
248
+ return true;
249
+ }
250
+ const newErrors = validateAllValues(values, validationRules);
251
+ setErrorsState(newErrors);
252
+ return Object.keys(newErrors).length === 0;
253
+ }, [values, validationRules]);
254
+
255
+ /**
256
+ * Check if form is valid
257
+ */
258
+ const isValid = useCallback(() => {
259
+ if (!validationRules) {
260
+ return true;
261
+ }
262
+ const validationErrors = validateAllValues(values, validationRules);
263
+ return Object.keys(validationErrors).length === 0;
264
+ }, [values, validationRules]);
265
+
266
+ /**
267
+ * Check if form is dirty
268
+ */
269
+ const isDirty = useCallback(() => {
270
+ return Object.values(dirty).some(isDirty => isDirty === true);
271
+ }, [dirty]);
272
+
273
+ /**
274
+ * Get field status
275
+ */
276
+ const getFieldStatus = useCallback(field => {
277
+ return {
278
+ hasError: !!errors[field],
279
+ isTouched: !!touched[field],
280
+ isDirty: !!dirty[field]
281
+ };
282
+ }, [errors, touched, dirty]);
283
+
284
+ /**
285
+ * Mark field as touched
286
+ */
287
+ const setFieldTouched = useCallback((field, isTouched = true) => {
288
+ setTouchedState(prev => ({
289
+ ...prev,
290
+ [field]: isTouched
291
+ }));
292
+
293
+ // Validate on blur if enabled
294
+ if (isTouched && validateInputOnBlur && validationRules) {
295
+ const error = validateFieldValue(field, values[field], validationRules);
296
+ if (error) {
297
+ setFieldError(field, error);
298
+ } else {
299
+ clearFieldError(field);
300
+ }
301
+ }
302
+ }, [validateInputOnBlur, validationRules, values, setFieldError, clearFieldError]);
303
+
304
+ /**
305
+ * Reset touched state
306
+ */
307
+ const resetTouched = useCallback(() => {
308
+ setTouchedState({});
309
+ }, []);
310
+
311
+ /**
312
+ * Reset dirty state
313
+ */
314
+ const resetDirty = useCallback(() => {
315
+ setDirtyState({});
316
+ }, []);
317
+
318
+ /**
319
+ * Get props to spread on input component
320
+ */
321
+ const getInputProps = useCallback((field, options = {}) => {
322
+ const {
323
+ type = 'input',
324
+ withError = true,
325
+ withFocus = true
326
+ } = options;
327
+ const baseProps = {
328
+ value: values[field]
329
+ };
330
+
331
+ // Add error if needed
332
+ if (withError && errors[field]) {
333
+ baseProps.error = errors[field];
334
+ }
335
+
336
+ // Add blur handler if focus tracking is enabled
337
+ if (withFocus) {
338
+ baseProps.onBlur = () => {
339
+ setFieldTouched(field, true);
340
+ };
341
+ }
342
+
343
+ // Handle different input types
344
+ if (type === 'checkbox') {
345
+ return {
346
+ ...baseProps,
347
+ onChange: value => {
348
+ setFieldValue(field, value);
349
+ }
350
+ };
351
+ }
352
+ if (type === 'radio' || type === 'select') {
353
+ return {
354
+ ...baseProps,
355
+ onChange: value => {
356
+ setFieldValue(field, value);
357
+ }
358
+ };
359
+ }
360
+
361
+ // Default text input
362
+ return {
363
+ ...baseProps,
364
+ onChangeText: text => {
365
+ setFieldValue(field, text);
366
+ }
367
+ };
368
+ }, [values, errors, setFieldValue, setFieldTouched]);
369
+
370
+ /**
371
+ * Handle form submit
372
+ */
373
+ const onSubmit = useCallback(handleSubmit => {
374
+ return async event => {
375
+ event?.preventDefault?.();
376
+
377
+ // Validate form
378
+ const isFormValid = validate();
379
+ if (!isFormValid) {
380
+ return;
381
+ }
382
+
383
+ // Transform values if needed
384
+ const transformedValues = transformValues(values);
385
+
386
+ // Call submit handler
387
+ await handleSubmit(transformedValues, event);
388
+ };
389
+ }, [validate, values, transformValues]);
390
+ return {
391
+ values,
392
+ errors,
393
+ touched,
394
+ dirty,
395
+ setFieldValue,
396
+ setValues,
397
+ setFieldError,
398
+ setErrors,
399
+ clearFieldError,
400
+ clearErrors,
401
+ reset,
402
+ validateField,
403
+ validate,
404
+ isValid,
405
+ isDirty,
406
+ getFieldStatus,
407
+ getInputProps,
408
+ onSubmit,
409
+ resetTouched,
410
+ resetDirty,
411
+ setFieldTouched
412
+ };
413
+ }
414
+ //# sourceMappingURL=useForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useRef","useState","validateFieldValue","field","value","rules","validators","Array","isArray","validator","error","validateAllValues","values","errors","useForm","initialValues","initialErrors","initialTouched","initialDirty","validate","validationRules","clearInputErrorOnChange","validateInputOnChange","validateInputOnBlur","transformValues","setValuesState","setErrorsState","touched","setTouchedState","dirty","setDirtyState","initialValuesRef","setFieldValue","prev","newErrors","setValues","newValues","dirtyFields","key","setFieldError","setErrors","clearFieldError","clearErrors","reset","current","validateField","Object","keys","length","isValid","validationErrors","isDirty","some","getFieldStatus","hasError","isTouched","setFieldTouched","resetTouched","resetDirty","getInputProps","options","type","withError","withFocus","baseProps","onBlur","onChange","onChangeText","text","onSubmit","handleSubmit","event","preventDefault","isFormValid","transformedValues"],"sourceRoot":"../../../../src","sources":["hooks/use-form/useForm.ts"],"mappings":"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","ignoreList":[]}