@ttoss/forms 0.34.0 → 0.35.1
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/dist/Brazil/index.d.ts +13 -6
- package/dist/MultistepForm/index.d.ts +1 -1
- package/dist/esm/Brazil/index.js +74 -16
- package/dist/esm/MultistepForm/index.js +2 -2
- package/dist/esm/{chunk-YGXPWMYB.js → chunk-O7FR42EI.js} +94 -7
- package/dist/esm/{chunk-UYZ5HGD3.js → chunk-QJQFXN4B.js} +91 -3
- package/dist/esm/index.js +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/{typings.d-HZBqJJjn.d.ts → typings.d-BZ6kUiQ4.d.ts} +1 -0
- package/package.json +4 -4
package/dist/Brazil/index.d.ts
CHANGED
|
@@ -1,18 +1,25 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import { FieldValues, FieldPath } from 'react-hook-form';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { a as FormFieldPatternFormatProps, F as FormFieldProps } from '../FormFieldPatternFormat-D5CI6eUA.js';
|
|
4
|
+
import { PatternFormatProps, NumberFormatBaseProps } from 'react-number-format';
|
|
5
5
|
import '@ttoss/ui';
|
|
6
6
|
import 'react';
|
|
7
7
|
|
|
8
|
+
type FormFieldCEPProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = Omit<FormFieldPatternFormatProps<TFieldValues, TName>, 'format'>;
|
|
9
|
+
declare const FormFieldCEP: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ placeholder, ...formFieldPatternFormatProps }: FormFieldCEPProps<TFieldValues, TName>) => react_jsx_runtime.JSX.Element;
|
|
10
|
+
|
|
8
11
|
type FormFieldCNPJProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = FormFieldProps<TFieldValues, TName> & Omit<PatternFormatProps, 'name' | 'format'>;
|
|
9
12
|
declare const isCnpjValid: (cnpj: any) => boolean;
|
|
10
13
|
declare const FormFieldCNPJ: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ disabled, ...props }: FormFieldCNPJProps<TFieldValues, TName>) => react_jsx_runtime.JSX.Element;
|
|
11
14
|
|
|
15
|
+
type FormFieldCPFProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = FormFieldProps<TFieldValues, TName> & Omit<PatternFormatProps, 'name' | 'format'>;
|
|
16
|
+
declare const isCpfValid: (cpf: any) => boolean;
|
|
17
|
+
declare const FormFieldCPF: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ disabled, ...props }: FormFieldCPFProps<TFieldValues, TName>) => react_jsx_runtime.JSX.Element;
|
|
18
|
+
|
|
19
|
+
type FormFieldCPFOrCNPJProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = FormFieldProps<TFieldValues, TName> & Omit<NumberFormatBaseProps, 'name' | 'format'>;
|
|
20
|
+
declare const FormFieldCPFOrCNPJ: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ disabled, ...props }: FormFieldCPFOrCNPJProps<TFieldValues, TName>) => react_jsx_runtime.JSX.Element;
|
|
21
|
+
|
|
12
22
|
type FormFieldPhoneProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = FormFieldProps<TFieldValues, TName> & Omit<PatternFormatProps, 'name' | 'format'>;
|
|
13
23
|
declare const FormFieldPhone: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ disabled, ...props }: FormFieldPhoneProps<TFieldValues, TName>) => react_jsx_runtime.JSX.Element;
|
|
14
24
|
|
|
15
|
-
|
|
16
|
-
declare const FormFieldCEP: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ placeholder, ...formFieldPatternFormatProps }: FormFieldCEPProps<TFieldValues, TName>) => react_jsx_runtime.JSX.Element;
|
|
17
|
-
|
|
18
|
-
export { FormFieldCEP, FormFieldCNPJ, FormFieldPhone, isCnpjValid };
|
|
25
|
+
export { FormFieldCEP, FormFieldCNPJ, FormFieldCPF, FormFieldCPFOrCNPJ, FormFieldPhone, isCnpjValid, isCpfValid };
|
package/dist/esm/Brazil/index.js
CHANGED
|
@@ -1,9 +1,79 @@
|
|
|
1
1
|
/** Powered by @ttoss/config. https://ttoss.dev/docs/modules/packages/config/ */
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { FormField, FormFieldCNPJ, FormFieldPatternFormat, __name, isCnpjValid } from "../chunk-
|
|
3
|
+
import { FormField, FormFieldCNPJ, FormFieldCPF, FormFieldPatternFormat, __name, isCnpjValid, isCpfValid } from "../chunk-QJQFXN4B.js";
|
|
4
4
|
|
|
5
|
-
// src/Brazil/
|
|
5
|
+
// src/Brazil/FormFieldCEP.tsx
|
|
6
|
+
var FormFieldCEP = /* @__PURE__ */__name(({
|
|
7
|
+
placeholder = "12345-678",
|
|
8
|
+
...formFieldPatternFormatProps
|
|
9
|
+
}) => {
|
|
10
|
+
return /* @__PURE__ */React.createElement(FormFieldPatternFormat, {
|
|
11
|
+
format: "#####-###",
|
|
12
|
+
placeholder,
|
|
13
|
+
...formFieldPatternFormatProps
|
|
14
|
+
});
|
|
15
|
+
}, "FormFieldCEP");
|
|
16
|
+
|
|
17
|
+
// src/Brazil/FormFieldCPFOrCNPJ.tsx
|
|
6
18
|
import { Input } from "@ttoss/ui";
|
|
19
|
+
import { NumberFormatBase } from "react-number-format";
|
|
20
|
+
var formatCPFOrCNPJ = /* @__PURE__ */__name(value => {
|
|
21
|
+
const numericValue = value.replace(/\D/g, "");
|
|
22
|
+
if (numericValue.length <= 11) {
|
|
23
|
+
return numericValue.replace(/(\d{3})(\d)/, "$1.$2").replace(/(\d{3})(\d)/, "$1.$2").replace(/(\d{3})(\d{1,2})$/, "$1-$2");
|
|
24
|
+
} else {
|
|
25
|
+
return numericValue.substring(0, 14).replace(/(\d{2})(\d)/, "$1.$2").replace(/(\d{3})(\d)/, "$1.$2").replace(/(\d{3})(\d)/, "$1/$2").replace(/(\d{4})(\d{1,2})$/, "$1-$2");
|
|
26
|
+
}
|
|
27
|
+
}, "formatCPFOrCNPJ");
|
|
28
|
+
var FormFieldCPFOrCNPJ = /* @__PURE__ */__name(({
|
|
29
|
+
disabled,
|
|
30
|
+
...props
|
|
31
|
+
}) => {
|
|
32
|
+
const {
|
|
33
|
+
label,
|
|
34
|
+
name,
|
|
35
|
+
labelTooltip,
|
|
36
|
+
warning,
|
|
37
|
+
sx,
|
|
38
|
+
css,
|
|
39
|
+
rules,
|
|
40
|
+
id,
|
|
41
|
+
defaultValue,
|
|
42
|
+
placeholder = "123.456.789-00 or 12.345.678/0000-00",
|
|
43
|
+
...formatProps
|
|
44
|
+
} = props;
|
|
45
|
+
return /* @__PURE__ */React.createElement(FormField, {
|
|
46
|
+
id,
|
|
47
|
+
label,
|
|
48
|
+
name,
|
|
49
|
+
labelTooltip,
|
|
50
|
+
warning,
|
|
51
|
+
sx,
|
|
52
|
+
css,
|
|
53
|
+
defaultValue,
|
|
54
|
+
rules,
|
|
55
|
+
disabled,
|
|
56
|
+
render: /* @__PURE__ */__name(({
|
|
57
|
+
field
|
|
58
|
+
}) => {
|
|
59
|
+
return /* @__PURE__ */React.createElement(NumberFormatBase, {
|
|
60
|
+
...formatProps,
|
|
61
|
+
value: field.value,
|
|
62
|
+
onBlur: field.onBlur,
|
|
63
|
+
onValueChange: /* @__PURE__ */__name(values => {
|
|
64
|
+
field.onChange(values.value);
|
|
65
|
+
}, "onValueChange"),
|
|
66
|
+
format: formatCPFOrCNPJ,
|
|
67
|
+
customInput: Input,
|
|
68
|
+
placeholder,
|
|
69
|
+
disabled: disabled ?? field.disabled
|
|
70
|
+
});
|
|
71
|
+
}, "render")
|
|
72
|
+
});
|
|
73
|
+
}, "FormFieldCPFOrCNPJ");
|
|
74
|
+
|
|
75
|
+
// src/Brazil/FormFieldPhone.tsx
|
|
76
|
+
import { Input as Input2 } from "@ttoss/ui";
|
|
7
77
|
import { PatternFormat } from "react-number-format";
|
|
8
78
|
var FormFieldPhone = /* @__PURE__ */__name(({
|
|
9
79
|
disabled,
|
|
@@ -48,23 +118,11 @@ var FormFieldPhone = /* @__PURE__ */__name(({
|
|
|
48
118
|
field.onChange(values.value);
|
|
49
119
|
}, "onValueChange"),
|
|
50
120
|
format,
|
|
51
|
-
customInput:
|
|
121
|
+
customInput: Input2,
|
|
52
122
|
placeholder,
|
|
53
123
|
disabled: disabled ?? field.disabled
|
|
54
124
|
});
|
|
55
125
|
}, "render")
|
|
56
126
|
});
|
|
57
127
|
}, "FormFieldPhone");
|
|
58
|
-
|
|
59
|
-
// src/Brazil/FormFieldCEP.tsx
|
|
60
|
-
var FormFieldCEP = /* @__PURE__ */__name(({
|
|
61
|
-
placeholder = "12345-678",
|
|
62
|
-
...formFieldPatternFormatProps
|
|
63
|
-
}) => {
|
|
64
|
-
return /* @__PURE__ */React.createElement(FormFieldPatternFormat, {
|
|
65
|
-
format: "#####-###",
|
|
66
|
-
placeholder,
|
|
67
|
-
...formFieldPatternFormatProps
|
|
68
|
-
});
|
|
69
|
-
}, "FormFieldCEP");
|
|
70
|
-
export { FormFieldCEP, FormFieldCNPJ, FormFieldPhone, isCnpjValid };
|
|
128
|
+
export { FormFieldCEP, FormFieldCNPJ, FormFieldCPF, FormFieldCPFOrCNPJ, FormFieldPhone, isCnpjValid, isCpfValid };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** Powered by @ttoss/config. https://ttoss.dev/docs/modules/packages/config/ */
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { Form, useForm, yupResolver } from "../chunk-
|
|
4
|
-
import { __name } from "../chunk-
|
|
3
|
+
import { Form, useForm, yupResolver } from "../chunk-O7FR42EI.js";
|
|
4
|
+
import { __name } from "../chunk-QJQFXN4B.js";
|
|
5
5
|
|
|
6
6
|
// src/MultistepForm/MultistepForm.tsx
|
|
7
7
|
import { Flex as Flex6 } from "@ttoss/ui";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** Powered by @ttoss/config. https://ttoss.dev/docs/modules/packages/config/ */
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { FormErrorMessage, FormField, FormFieldPatternFormat, __name, isCnpjValid } from "./chunk-
|
|
3
|
+
import { FormErrorMessage, FormField, FormFieldPatternFormat, __name, isCnpjValid, isCpfValid } from "./chunk-QJQFXN4B.js";
|
|
4
4
|
|
|
5
5
|
// src/Form.tsx
|
|
6
6
|
import { Box } from "@ttoss/ui";
|
|
@@ -38,6 +38,8 @@ var FormFieldCheckbox = /* @__PURE__ */__name(({
|
|
|
38
38
|
css,
|
|
39
39
|
rules,
|
|
40
40
|
id,
|
|
41
|
+
onBlur,
|
|
42
|
+
onChange,
|
|
41
43
|
...checkboxProps
|
|
42
44
|
} = props;
|
|
43
45
|
return /* @__PURE__ */React.createElement(FormField, {
|
|
@@ -62,6 +64,14 @@ var FormFieldCheckbox = /* @__PURE__ */__name(({
|
|
|
62
64
|
return /* @__PURE__ */React.createElement(Checkbox, {
|
|
63
65
|
...checkboxProps,
|
|
64
66
|
...fieldWithoutValue,
|
|
67
|
+
onBlur: /* @__PURE__ */__name(e => {
|
|
68
|
+
field.onBlur();
|
|
69
|
+
onBlur?.(e);
|
|
70
|
+
}, "onBlur"),
|
|
71
|
+
onChange: /* @__PURE__ */__name(e => {
|
|
72
|
+
field.onChange(e);
|
|
73
|
+
onChange?.(e);
|
|
74
|
+
}, "onChange"),
|
|
65
75
|
checked: value,
|
|
66
76
|
disabled: disabled ?? field.disabled,
|
|
67
77
|
"aria-invalid": !!fieldState.error
|
|
@@ -106,6 +116,8 @@ var FormFieldNumericFormat = /* @__PURE__ */__name(({
|
|
|
106
116
|
leadingIcon,
|
|
107
117
|
trailingIcon,
|
|
108
118
|
auxiliaryCheckbox,
|
|
119
|
+
onBlur,
|
|
120
|
+
onValueChange,
|
|
109
121
|
...numericFormatProps
|
|
110
122
|
} = props;
|
|
111
123
|
return /* @__PURE__ */React.createElement(FormField, {
|
|
@@ -127,9 +139,13 @@ var FormFieldNumericFormat = /* @__PURE__ */__name(({
|
|
|
127
139
|
...numericFormatProps,
|
|
128
140
|
name: field.name,
|
|
129
141
|
value: field.value,
|
|
130
|
-
onBlur:
|
|
131
|
-
|
|
142
|
+
onBlur: /* @__PURE__ */__name(e => {
|
|
143
|
+
field.onBlur();
|
|
144
|
+
onBlur?.(e);
|
|
145
|
+
}, "onBlur"),
|
|
146
|
+
onValueChange: /* @__PURE__ */__name((values, sourceInfo) => {
|
|
132
147
|
field.onChange(values.floatValue);
|
|
148
|
+
onValueChange?.(values, sourceInfo);
|
|
133
149
|
}, "onValueChange"),
|
|
134
150
|
customInput: Input,
|
|
135
151
|
leadingIcon,
|
|
@@ -199,6 +215,8 @@ var FormFieldInput = /* @__PURE__ */__name(({
|
|
|
199
215
|
leadingIcon,
|
|
200
216
|
trailingIcon,
|
|
201
217
|
auxiliaryCheckbox,
|
|
218
|
+
onBlur,
|
|
219
|
+
onChange,
|
|
202
220
|
...inputProps
|
|
203
221
|
} = props;
|
|
204
222
|
return /* @__PURE__ */React.createElement(FormField, {
|
|
@@ -220,6 +238,14 @@ var FormFieldInput = /* @__PURE__ */__name(({
|
|
|
220
238
|
return /* @__PURE__ */React.createElement(Input2, {
|
|
221
239
|
...inputProps,
|
|
222
240
|
...field,
|
|
241
|
+
onBlur: /* @__PURE__ */__name(e => {
|
|
242
|
+
field.onBlur();
|
|
243
|
+
onBlur?.(e);
|
|
244
|
+
}, "onBlur"),
|
|
245
|
+
onChange: /* @__PURE__ */__name(e => {
|
|
246
|
+
field.onChange(e);
|
|
247
|
+
onChange?.(e);
|
|
248
|
+
}, "onChange"),
|
|
223
249
|
leadingIcon,
|
|
224
250
|
trailingIcon,
|
|
225
251
|
disabled: disabled ?? field.disabled,
|
|
@@ -247,6 +273,8 @@ var FormFieldPassword = /* @__PURE__ */__name(({
|
|
|
247
273
|
id,
|
|
248
274
|
leadingIcon,
|
|
249
275
|
auxiliaryCheckbox,
|
|
276
|
+
onBlur,
|
|
277
|
+
onChange,
|
|
250
278
|
...inputProps
|
|
251
279
|
} = props;
|
|
252
280
|
return /* @__PURE__ */React.createElement(FormField, {
|
|
@@ -268,6 +296,14 @@ var FormFieldPassword = /* @__PURE__ */__name(({
|
|
|
268
296
|
return /* @__PURE__ */React.createElement(InputPassword, {
|
|
269
297
|
...inputProps,
|
|
270
298
|
...field,
|
|
299
|
+
onBlur: /* @__PURE__ */__name(e => {
|
|
300
|
+
field.onBlur();
|
|
301
|
+
onBlur?.(e);
|
|
302
|
+
}, "onBlur"),
|
|
303
|
+
onChange: /* @__PURE__ */__name(e => {
|
|
304
|
+
field.onChange(e);
|
|
305
|
+
onChange?.(e);
|
|
306
|
+
}, "onChange"),
|
|
271
307
|
leadingIcon,
|
|
272
308
|
disabled: disabled ?? field.disabled,
|
|
273
309
|
"aria-invalid": fieldState.error ? "true" : void 0
|
|
@@ -293,6 +329,8 @@ var FormFieldRadio = /* @__PURE__ */__name(({
|
|
|
293
329
|
rules,
|
|
294
330
|
id,
|
|
295
331
|
defaultValue,
|
|
332
|
+
onBlur,
|
|
333
|
+
onChange,
|
|
296
334
|
...radioProps
|
|
297
335
|
} = props;
|
|
298
336
|
return /* @__PURE__ */React.createElement(FormField, {
|
|
@@ -323,8 +361,14 @@ var FormFieldRadio = /* @__PURE__ */__name(({
|
|
|
323
361
|
}
|
|
324
362
|
}, /* @__PURE__ */React.createElement(Radio, {
|
|
325
363
|
ref: field.ref,
|
|
326
|
-
onChange:
|
|
327
|
-
|
|
364
|
+
onChange: /* @__PURE__ */__name(e => {
|
|
365
|
+
field.onChange(e);
|
|
366
|
+
onChange?.(e);
|
|
367
|
+
}, "onChange"),
|
|
368
|
+
onBlur: /* @__PURE__ */__name(e => {
|
|
369
|
+
field.onBlur();
|
|
370
|
+
onBlur?.(e);
|
|
371
|
+
}, "onBlur"),
|
|
328
372
|
value: option.value,
|
|
329
373
|
checked: field.value === option.value,
|
|
330
374
|
name,
|
|
@@ -355,6 +399,8 @@ var FormFieldRadioCard = /* @__PURE__ */__name(({
|
|
|
355
399
|
options,
|
|
356
400
|
direction = "column",
|
|
357
401
|
width = "full",
|
|
402
|
+
onBlur,
|
|
403
|
+
onChange,
|
|
358
404
|
...radioProps
|
|
359
405
|
} = props;
|
|
360
406
|
return /* @__PURE__ */React.createElement(FormField, {
|
|
@@ -396,8 +442,14 @@ var FormFieldRadioCard = /* @__PURE__ */__name(({
|
|
|
396
442
|
}, /* @__PURE__ */React.createElement(Radio2, {
|
|
397
443
|
...radioProps,
|
|
398
444
|
ref: field.ref,
|
|
399
|
-
onChange:
|
|
400
|
-
|
|
445
|
+
onChange: /* @__PURE__ */__name(e => {
|
|
446
|
+
field.onChange(e);
|
|
447
|
+
onChange?.(e);
|
|
448
|
+
}, "onChange"),
|
|
449
|
+
onBlur: /* @__PURE__ */__name(e => {
|
|
450
|
+
field.onBlur();
|
|
451
|
+
onBlur?.(e);
|
|
452
|
+
}, "onBlur"),
|
|
401
453
|
value: option.value,
|
|
402
454
|
checked: field.value === option.value,
|
|
403
455
|
name,
|
|
@@ -543,6 +595,8 @@ var FormFieldSelect = /* @__PURE__ */__name(({
|
|
|
543
595
|
rules,
|
|
544
596
|
id,
|
|
545
597
|
defaultValue,
|
|
598
|
+
onBlur,
|
|
599
|
+
onChange,
|
|
546
600
|
...selectProps
|
|
547
601
|
} = props;
|
|
548
602
|
return /* @__PURE__ */React.createElement(FormField, {
|
|
@@ -563,6 +617,14 @@ var FormFieldSelect = /* @__PURE__ */__name(({
|
|
|
563
617
|
return /* @__PURE__ */React.createElement(Select, {
|
|
564
618
|
...selectProps,
|
|
565
619
|
...field,
|
|
620
|
+
onBlur: /* @__PURE__ */__name(e => {
|
|
621
|
+
field.onBlur();
|
|
622
|
+
onBlur?.(e);
|
|
623
|
+
}, "onBlur"),
|
|
624
|
+
onChange: /* @__PURE__ */__name(newValue => {
|
|
625
|
+
field.onChange(newValue);
|
|
626
|
+
onChange?.(newValue);
|
|
627
|
+
}, "onChange"),
|
|
566
628
|
isDisabled: disabled ?? field.disabled,
|
|
567
629
|
"aria-invalid": fieldState.error ? "true" : void 0
|
|
568
630
|
});
|
|
@@ -586,6 +648,8 @@ var FormFieldSwitch = /* @__PURE__ */__name(({
|
|
|
586
648
|
rules,
|
|
587
649
|
id,
|
|
588
650
|
defaultValue,
|
|
651
|
+
onBlur,
|
|
652
|
+
onChange,
|
|
589
653
|
...switchProps
|
|
590
654
|
} = props;
|
|
591
655
|
return /* @__PURE__ */React.createElement(FormField, {
|
|
@@ -606,6 +670,14 @@ var FormFieldSwitch = /* @__PURE__ */__name(({
|
|
|
606
670
|
return /* @__PURE__ */React.createElement(Switch, {
|
|
607
671
|
...switchProps,
|
|
608
672
|
...field,
|
|
673
|
+
onBlur: /* @__PURE__ */__name(e => {
|
|
674
|
+
field.onBlur();
|
|
675
|
+
onBlur?.(e);
|
|
676
|
+
}, "onBlur"),
|
|
677
|
+
onChange: /* @__PURE__ */__name(e => {
|
|
678
|
+
field.onChange(e);
|
|
679
|
+
onChange?.(e);
|
|
680
|
+
}, "onChange"),
|
|
609
681
|
disabled: disabled ?? field.disabled,
|
|
610
682
|
"aria-invalid": !!fieldState.error
|
|
611
683
|
});
|
|
@@ -630,6 +702,8 @@ var FormFieldTextarea = /* @__PURE__ */__name(({
|
|
|
630
702
|
rules,
|
|
631
703
|
id,
|
|
632
704
|
auxiliaryCheckbox,
|
|
705
|
+
onBlur,
|
|
706
|
+
onChange,
|
|
633
707
|
...textareaProps
|
|
634
708
|
} = props;
|
|
635
709
|
return /* @__PURE__ */React.createElement(FormField, {
|
|
@@ -651,6 +725,14 @@ var FormFieldTextarea = /* @__PURE__ */__name(({
|
|
|
651
725
|
return /* @__PURE__ */React.createElement(Textarea, {
|
|
652
726
|
...textareaProps,
|
|
653
727
|
...field,
|
|
728
|
+
onBlur: /* @__PURE__ */__name(e => {
|
|
729
|
+
field.onBlur();
|
|
730
|
+
onBlur?.(e);
|
|
731
|
+
}, "onBlur"),
|
|
732
|
+
onChange: /* @__PURE__ */__name(e => {
|
|
733
|
+
field.onChange(e);
|
|
734
|
+
onChange?.(e);
|
|
735
|
+
}, "onChange"),
|
|
654
736
|
disabled: disabled ?? field.disabled,
|
|
655
737
|
"aria-invalid": fieldState.error ? "true" : void 0
|
|
656
738
|
});
|
|
@@ -819,6 +901,11 @@ yup.addMethod(yup.string, "cnpj", function () {
|
|
|
819
901
|
return isCnpjValid(value);
|
|
820
902
|
});
|
|
821
903
|
});
|
|
904
|
+
yup.addMethod(yup.string, "cpf", function () {
|
|
905
|
+
return this.test("valid-cpf", "Invalid CPF", value => {
|
|
906
|
+
return isCpfValid(value);
|
|
907
|
+
});
|
|
908
|
+
});
|
|
822
909
|
yup.addMethod(yup.string, "password", function ({
|
|
823
910
|
required
|
|
824
911
|
} = {}) {
|
|
@@ -225,6 +225,8 @@ var FormFieldPatternFormat = /* @__PURE__ */__name(({
|
|
|
225
225
|
leadingIcon,
|
|
226
226
|
trailingIcon,
|
|
227
227
|
auxiliaryCheckbox,
|
|
228
|
+
onBlur,
|
|
229
|
+
onValueChange,
|
|
228
230
|
...patternFormatProps
|
|
229
231
|
} = props;
|
|
230
232
|
return /* @__PURE__ */React.createElement(FormField, {
|
|
@@ -247,9 +249,13 @@ var FormFieldPatternFormat = /* @__PURE__ */__name(({
|
|
|
247
249
|
...patternFormatProps,
|
|
248
250
|
name: field.name,
|
|
249
251
|
value: field.value,
|
|
250
|
-
onBlur:
|
|
251
|
-
|
|
252
|
+
onBlur: /* @__PURE__ */__name(e => {
|
|
253
|
+
field.onBlur();
|
|
254
|
+
onBlur?.(e);
|
|
255
|
+
}, "onBlur"),
|
|
256
|
+
onValueChange: /* @__PURE__ */__name((values, sourceInfo) => {
|
|
252
257
|
field.onChange(values.value);
|
|
258
|
+
onValueChange?.(values, sourceInfo);
|
|
253
259
|
}, "onValueChange"),
|
|
254
260
|
customInput: Input,
|
|
255
261
|
leadingIcon,
|
|
@@ -351,4 +357,86 @@ var FormFieldCNPJ = /* @__PURE__ */__name(({
|
|
|
351
357
|
}, "render")
|
|
352
358
|
});
|
|
353
359
|
}, "FormFieldCNPJ");
|
|
354
|
-
|
|
360
|
+
|
|
361
|
+
// src/Brazil/FormFieldCPF.tsx
|
|
362
|
+
import { Input as Input3 } from "@ttoss/ui";
|
|
363
|
+
import { PatternFormat as PatternFormat3 } from "react-number-format";
|
|
364
|
+
var isCpfValid = /* @__PURE__ */__name(cpf => {
|
|
365
|
+
if (cpf?.length != 11) {
|
|
366
|
+
return false;
|
|
367
|
+
}
|
|
368
|
+
if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999") {
|
|
369
|
+
return false;
|
|
370
|
+
}
|
|
371
|
+
let soma = 0;
|
|
372
|
+
for (let i = 0; i < 9; i++) {
|
|
373
|
+
soma += parseInt(cpf.charAt(i)) * (10 - i);
|
|
374
|
+
}
|
|
375
|
+
let resto = soma * 10 % 11;
|
|
376
|
+
if (resto === 10 || resto === 11) {
|
|
377
|
+
resto = 0;
|
|
378
|
+
}
|
|
379
|
+
if (resto != parseInt(cpf.charAt(9))) {
|
|
380
|
+
return false;
|
|
381
|
+
}
|
|
382
|
+
soma = 0;
|
|
383
|
+
for (let i = 0; i < 10; i++) {
|
|
384
|
+
soma += parseInt(cpf.charAt(i)) * (11 - i);
|
|
385
|
+
}
|
|
386
|
+
resto = soma * 10 % 11;
|
|
387
|
+
if (resto === 10 || resto === 11) {
|
|
388
|
+
resto = 0;
|
|
389
|
+
}
|
|
390
|
+
if (resto != parseInt(cpf.charAt(10))) {
|
|
391
|
+
return false;
|
|
392
|
+
}
|
|
393
|
+
return true;
|
|
394
|
+
}, "isCpfValid");
|
|
395
|
+
var FormFieldCPF = /* @__PURE__ */__name(({
|
|
396
|
+
disabled,
|
|
397
|
+
...props
|
|
398
|
+
}) => {
|
|
399
|
+
const {
|
|
400
|
+
label,
|
|
401
|
+
name,
|
|
402
|
+
labelTooltip,
|
|
403
|
+
warning,
|
|
404
|
+
sx,
|
|
405
|
+
css,
|
|
406
|
+
rules,
|
|
407
|
+
id,
|
|
408
|
+
defaultValue,
|
|
409
|
+
placeholder = "123.456.789-00",
|
|
410
|
+
...patternFormatProps
|
|
411
|
+
} = props;
|
|
412
|
+
return /* @__PURE__ */React.createElement(FormField, {
|
|
413
|
+
id,
|
|
414
|
+
label,
|
|
415
|
+
name,
|
|
416
|
+
labelTooltip,
|
|
417
|
+
warning,
|
|
418
|
+
sx,
|
|
419
|
+
css,
|
|
420
|
+
defaultValue,
|
|
421
|
+
rules,
|
|
422
|
+
disabled,
|
|
423
|
+
render: /* @__PURE__ */__name(({
|
|
424
|
+
field
|
|
425
|
+
}) => {
|
|
426
|
+
return /* @__PURE__ */React.createElement(PatternFormat3, {
|
|
427
|
+
...patternFormatProps,
|
|
428
|
+
name: field.name,
|
|
429
|
+
value: field.value,
|
|
430
|
+
onBlur: field.onBlur,
|
|
431
|
+
onValueChange: /* @__PURE__ */__name(values => {
|
|
432
|
+
field.onChange(values.value);
|
|
433
|
+
}, "onValueChange"),
|
|
434
|
+
format: "###.###.###-##",
|
|
435
|
+
customInput: Input3,
|
|
436
|
+
placeholder,
|
|
437
|
+
disabled: disabled ?? field.disabled
|
|
438
|
+
});
|
|
439
|
+
}, "render")
|
|
440
|
+
});
|
|
441
|
+
}, "FormFieldCPF");
|
|
442
|
+
export { __name, FormErrorMessage, FormField, FormFieldPatternFormat, isCnpjValid, FormFieldCNPJ, isCpfValid, FormFieldCPF };
|
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/** Powered by @ttoss/config. https://ttoss.dev/docs/modules/packages/config/ */
|
|
2
|
-
import { Controller, Form, FormFieldCheckbox, FormFieldCreditCardNumber, FormFieldCurrencyInput, FormFieldInput, FormFieldNumericFormat, FormFieldPassword, FormFieldRadio, FormFieldRadioCard, FormFieldRadioCardIcony, FormFieldSelect, FormFieldSwitch, FormFieldTextarea, FormGroup, FormProvider, useController, useFieldArray, useForm, useFormContext, useFormGroup, useFormState, useWatch, yup, yupResolver } from "./chunk-
|
|
3
|
-
import { FormErrorMessage, FormField, FormFieldPatternFormat } from "./chunk-
|
|
2
|
+
import { Controller, Form, FormFieldCheckbox, FormFieldCreditCardNumber, FormFieldCurrencyInput, FormFieldInput, FormFieldNumericFormat, FormFieldPassword, FormFieldRadio, FormFieldRadioCard, FormFieldRadioCardIcony, FormFieldSelect, FormFieldSwitch, FormFieldTextarea, FormGroup, FormProvider, useController, useFieldArray, useForm, useFormContext, useFormGroup, useFormState, useWatch, yup, yupResolver } from "./chunk-O7FR42EI.js";
|
|
3
|
+
import { FormErrorMessage, FormField, FormFieldPatternFormat } from "./chunk-QJQFXN4B.js";
|
|
4
4
|
export { Controller, Form, FormErrorMessage, FormField, FormFieldCheckbox, FormFieldCreditCardNumber, FormFieldCurrencyInput, FormFieldInput, FormFieldNumericFormat, FormFieldPassword, FormFieldPatternFormat, FormFieldRadio, FormFieldRadioCard, FormFieldRadioCardIcony, FormFieldSelect, FormFieldSwitch, FormFieldTextarea, FormGroup, FormProvider, useController, useFieldArray, useForm, useFormContext, useFormGroup, useFormState, useWatch, yup, yupResolver };
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export { Controller, FormProvider, useController, useFieldArray, useForm, useFor
|
|
|
7
7
|
import { F as FormFieldProps, a as FormFieldPatternFormatProps } from './FormFieldPatternFormat-D5CI6eUA.js';
|
|
8
8
|
export { b as FormField, c as FormFieldPatternFormat } from './FormFieldPatternFormat-D5CI6eUA.js';
|
|
9
9
|
import { NumericFormatProps } from 'react-number-format';
|
|
10
|
-
import './typings.d-
|
|
10
|
+
import './typings.d-BZ6kUiQ4.js';
|
|
11
11
|
import * as yup from 'yup';
|
|
12
12
|
export { yup };
|
|
13
13
|
export { yupResolver } from '@hookform/resolvers/yup';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ttoss/forms",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.35.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "ttoss",
|
|
6
6
|
"contributors": [
|
|
@@ -51,11 +51,11 @@
|
|
|
51
51
|
"tsup": "^8.5.1",
|
|
52
52
|
"yup": "^1.7.1",
|
|
53
53
|
"@ttoss/config": "^1.35.12",
|
|
54
|
-
"@ttoss/react-i18n": "^2.0.24",
|
|
55
54
|
"@ttoss/react-icons": "^0.5.5",
|
|
56
55
|
"@ttoss/test-utils": "^4.0.1",
|
|
57
|
-
"@ttoss/i18n
|
|
58
|
-
"@ttoss/ui": "^6.0.4"
|
|
56
|
+
"@ttoss/react-i18n": "^2.0.24",
|
|
57
|
+
"@ttoss/ui": "^6.0.4",
|
|
58
|
+
"@ttoss/i18n-cli": "^0.7.38"
|
|
59
59
|
},
|
|
60
60
|
"publishConfig": {
|
|
61
61
|
"access": "public",
|