@ttoss/forms 0.22.7 → 0.23.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.mts +24 -0
- package/dist/Brazil/index.d.ts +24 -0
- package/dist/Brazil/index.js +828 -0
- package/dist/FormFieldPatternFormat-DF8nU9tn.d.mts +10 -0
- package/dist/FormFieldPatternFormat-DF8nU9tn.d.ts +10 -0
- package/dist/MultistepForm/index.d.mts +1 -0
- package/dist/MultistepForm/index.d.ts +1 -0
- package/dist/MultistepForm/index.js +177 -124
- package/dist/esm/Brazil/index.js +51 -0
- package/dist/esm/MultistepForm/index.js +1 -1
- package/dist/esm/{chunk-5SH4STWG.js → chunk-J6VGD2RH.js} +141 -60
- package/dist/esm/index.js +1 -1
- package/dist/index.d.mts +5 -8
- package/dist/index.d.ts +5 -8
- package/dist/index.js +130 -77
- package/dist/typings.d-KteERiXO.d.mts +12 -0
- package/dist/typings.d-KteERiXO.d.ts +12 -0
- package/package.json +14 -9
- package/src/Brazil/FormFieldCEP.tsx +25 -0
- package/src/Brazil/FormFieldCNPJ.tsx +93 -0
- package/src/Brazil/FormFieldPhone.tsx +41 -0
- package/src/Brazil/index.ts +4 -0
- package/src/index.ts +1 -3
- package/src/yup/schema.ts +12 -0
- package/src/yup/typings.d.ts +14 -0
- package/src/yup/yup.ts +4 -0
- /package/src/{i18n.ts → yup/i18n.ts} +0 -0
package/dist/index.js
CHANGED
|
@@ -61,12 +61,13 @@ __export(src_exports, {
|
|
|
61
61
|
useFormGroup: () => useFormGroup,
|
|
62
62
|
useFormState: () => import_react_hook_form6.useFormState,
|
|
63
63
|
useWatch: () => import_react_hook_form6.useWatch,
|
|
64
|
-
yup: () =>
|
|
64
|
+
yup: () => yup2,
|
|
65
65
|
yupResolver: () => import_yup2.yupResolver
|
|
66
66
|
});
|
|
67
67
|
module.exports = __toCommonJS(src_exports);
|
|
68
|
+
var import_yup2 = require("@hookform/resolvers/yup");
|
|
68
69
|
|
|
69
|
-
// src/i18n.ts
|
|
70
|
+
// src/yup/i18n.ts
|
|
70
71
|
var import_react_i18n = require("@ttoss/react-i18n");
|
|
71
72
|
var import_yup = require("yup");
|
|
72
73
|
(0, import_yup.setLocale)({
|
|
@@ -106,23 +107,75 @@ var import_yup = require("yup");
|
|
|
106
107
|
}
|
|
107
108
|
});
|
|
108
109
|
|
|
109
|
-
// src/
|
|
110
|
-
var import_yup2 = require("@hookform/resolvers/yup");
|
|
110
|
+
// src/yup/schema.ts
|
|
111
111
|
var yup = __toESM(require("yup"));
|
|
112
112
|
|
|
113
|
-
// src/
|
|
113
|
+
// src/Brazil/FormFieldCNPJ.tsx
|
|
114
114
|
var import_ui = require("@ttoss/ui");
|
|
115
|
-
var
|
|
115
|
+
var import_react_number_format = require("react-number-format");
|
|
116
116
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
117
|
+
var isCnpjValid = cnpj => {
|
|
118
|
+
if (cnpj?.length != 14) {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
if (cnpj == "00000000000000" || cnpj == "11111111111111" || cnpj == "22222222222222" || cnpj == "33333333333333" || cnpj == "44444444444444" || cnpj == "55555555555555" || cnpj == "66666666666666" || cnpj == "77777777777777" || cnpj == "88888888888888" || cnpj == "99999999999999") {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
let size = cnpj.length - 2;
|
|
125
|
+
let numbers = cnpj.substring(0, size);
|
|
126
|
+
const digits = cnpj.substring(size);
|
|
127
|
+
let soma = 0;
|
|
128
|
+
let pos = size - 7;
|
|
129
|
+
for (let i = size; i >= 1; i--) {
|
|
130
|
+
soma += numbers.charAt(size - i) * pos--;
|
|
131
|
+
if (pos < 2) {
|
|
132
|
+
pos = 9;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
let result = soma % 11 < 2 ? 0 : 11 - soma % 11;
|
|
136
|
+
if (result != digits.charAt(0)) {
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
size = size + 1;
|
|
140
|
+
numbers = cnpj.substring(0, size);
|
|
141
|
+
soma = 0;
|
|
142
|
+
pos = size - 7;
|
|
143
|
+
for (let i = size; i >= 1; i--) {
|
|
144
|
+
soma += numbers.charAt(size - i) * pos--;
|
|
145
|
+
if (pos < 2) {
|
|
146
|
+
pos = 9;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
result = soma % 11 < 2 ? 0 : 11 - soma % 11;
|
|
150
|
+
if (result != digits.charAt(1)) {
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
return true;
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
// src/yup/schema.ts
|
|
157
|
+
yup.addMethod(yup.string, "cnpj", function () {
|
|
158
|
+
return this.test("valid-cnpj", "Invalid CNPJ", value => {
|
|
159
|
+
return isCnpjValid(value);
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
// src/yup/yup.ts
|
|
164
|
+
var yup2 = __toESM(require("yup"));
|
|
165
|
+
|
|
166
|
+
// src/Form.tsx
|
|
167
|
+
var import_ui2 = require("@ttoss/ui");
|
|
168
|
+
var import_react_hook_form = require("react-hook-form");
|
|
169
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
117
170
|
var Form = ({
|
|
118
171
|
children,
|
|
119
172
|
onSubmit,
|
|
120
173
|
sx,
|
|
121
174
|
...formMethods
|
|
122
175
|
}) => {
|
|
123
|
-
return /* @__PURE__ */(0,
|
|
176
|
+
return /* @__PURE__ */(0, import_jsx_runtime2.jsx)(import_react_hook_form.FormProvider, {
|
|
124
177
|
...formMethods,
|
|
125
|
-
children: /* @__PURE__ */(0,
|
|
178
|
+
children: /* @__PURE__ */(0, import_jsx_runtime2.jsx)(import_ui2.Box, {
|
|
126
179
|
as: "form",
|
|
127
180
|
variant: "forms.form",
|
|
128
181
|
onSubmit: formMethods.handleSubmit(data => {
|
|
@@ -140,9 +193,9 @@ var React = __toESM(require("react"));
|
|
|
140
193
|
// src/ErrorMessage.tsx
|
|
141
194
|
var import_react_hook_form2 = require("react-hook-form");
|
|
142
195
|
var import_react_i18n2 = require("@ttoss/react-i18n");
|
|
143
|
-
var
|
|
196
|
+
var import_ui3 = require("@ttoss/ui");
|
|
144
197
|
var import_error_message = require("@hookform/error-message");
|
|
145
|
-
var
|
|
198
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
146
199
|
var isMessageDescriptor = possibleMessageDescriptor => {
|
|
147
200
|
return possibleMessageDescriptor !== void 0 && possibleMessageDescriptor.defaultMessage !== void 0;
|
|
148
201
|
};
|
|
@@ -155,13 +208,13 @@ var ErrorMessage = ({
|
|
|
155
208
|
errors
|
|
156
209
|
}
|
|
157
210
|
} = (0, import_react_hook_form2.useFormContext)();
|
|
158
|
-
return /* @__PURE__ */(0,
|
|
211
|
+
return /* @__PURE__ */(0, import_jsx_runtime3.jsx)(import_error_message.ErrorMessage, {
|
|
159
212
|
name,
|
|
160
213
|
errors,
|
|
161
214
|
render: ({
|
|
162
215
|
message
|
|
163
216
|
}) => {
|
|
164
|
-
return /* @__PURE__ */(0,
|
|
217
|
+
return /* @__PURE__ */(0, import_jsx_runtime3.jsx)(import_ui3.HelpText, {
|
|
165
218
|
negative: true,
|
|
166
219
|
disabled,
|
|
167
220
|
children: (() => {
|
|
@@ -169,7 +222,7 @@ var ErrorMessage = ({
|
|
|
169
222
|
return message;
|
|
170
223
|
}
|
|
171
224
|
if (isMessageDescriptor(message)) {
|
|
172
|
-
return /* @__PURE__ */(0,
|
|
225
|
+
return /* @__PURE__ */(0, import_jsx_runtime3.jsx)(import_react_i18n2.FormattedMessage, {
|
|
173
226
|
...message
|
|
174
227
|
});
|
|
175
228
|
}
|
|
@@ -182,8 +235,8 @@ var ErrorMessage = ({
|
|
|
182
235
|
|
|
183
236
|
// src/FormField.tsx
|
|
184
237
|
var import_react_hook_form3 = require("react-hook-form");
|
|
185
|
-
var
|
|
186
|
-
var
|
|
238
|
+
var import_ui4 = require("@ttoss/ui");
|
|
239
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
187
240
|
var FormField = ({
|
|
188
241
|
label,
|
|
189
242
|
id: idProp,
|
|
@@ -203,8 +256,8 @@ var FormField = ({
|
|
|
203
256
|
const id = idProp || `form-field-${name}`;
|
|
204
257
|
const memoizedRender = React.useMemo(() => {
|
|
205
258
|
return React.Children.map(render(controllerReturn), child => {
|
|
206
|
-
return /* @__PURE__ */(0,
|
|
207
|
-
children: [label && /* @__PURE__ */(0,
|
|
259
|
+
return /* @__PURE__ */(0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, {
|
|
260
|
+
children: [label && /* @__PURE__ */(0, import_jsx_runtime4.jsx)(import_ui4.Label, {
|
|
208
261
|
"aria-disabled": disabled,
|
|
209
262
|
htmlFor: id,
|
|
210
263
|
tooltip,
|
|
@@ -217,7 +270,7 @@ var FormField = ({
|
|
|
217
270
|
});
|
|
218
271
|
});
|
|
219
272
|
}, [controllerReturn, disabled, onTooltipClick, tooltip, id, label, render]);
|
|
220
|
-
return /* @__PURE__ */(0,
|
|
273
|
+
return /* @__PURE__ */(0, import_jsx_runtime4.jsxs)(import_ui4.Flex, {
|
|
221
274
|
sx: {
|
|
222
275
|
flexDirection: "column",
|
|
223
276
|
width: "100%",
|
|
@@ -225,16 +278,16 @@ var FormField = ({
|
|
|
225
278
|
...sx
|
|
226
279
|
},
|
|
227
280
|
css,
|
|
228
|
-
children: [memoizedRender, /* @__PURE__ */(0,
|
|
281
|
+
children: [memoizedRender, /* @__PURE__ */(0, import_jsx_runtime4.jsx)(ErrorMessage, {
|
|
229
282
|
name
|
|
230
283
|
})]
|
|
231
284
|
});
|
|
232
285
|
};
|
|
233
286
|
|
|
234
287
|
// src/FormFieldCheckbox.tsx
|
|
235
|
-
var
|
|
288
|
+
var import_ui5 = require("@ttoss/ui");
|
|
236
289
|
var import_react_hook_form4 = require("react-hook-form");
|
|
237
|
-
var
|
|
290
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
238
291
|
var FormFieldCheckbox = ({
|
|
239
292
|
label,
|
|
240
293
|
name,
|
|
@@ -257,20 +310,20 @@ var FormFieldCheckbox = ({
|
|
|
257
310
|
});
|
|
258
311
|
const id = `form-field-checkbox-${name}`;
|
|
259
312
|
const error = !!errors[name]?.message;
|
|
260
|
-
return /* @__PURE__ */(0,
|
|
313
|
+
return /* @__PURE__ */(0, import_jsx_runtime5.jsxs)(import_ui5.Flex, {
|
|
261
314
|
sx: {
|
|
262
315
|
flexDirection: "column",
|
|
263
316
|
width: "100%",
|
|
264
317
|
...sx
|
|
265
318
|
},
|
|
266
|
-
children: [/* @__PURE__ */(0,
|
|
319
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime5.jsx)(import_ui5.Flex, {
|
|
267
320
|
sx: {
|
|
268
321
|
alignItems: "center"
|
|
269
322
|
},
|
|
270
|
-
children: /* @__PURE__ */(0,
|
|
323
|
+
children: /* @__PURE__ */(0, import_jsx_runtime5.jsxs)(import_ui5.Label, {
|
|
271
324
|
"aria-disabled": checkboxProps.disabled,
|
|
272
325
|
htmlFor: id,
|
|
273
|
-
children: [/* @__PURE__ */(0,
|
|
326
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime5.jsx)(import_ui5.Checkbox, {
|
|
274
327
|
id,
|
|
275
328
|
ref,
|
|
276
329
|
checked: value,
|
|
@@ -281,36 +334,36 @@ var FormFieldCheckbox = ({
|
|
|
281
334
|
...checkboxProps
|
|
282
335
|
}), label]
|
|
283
336
|
})
|
|
284
|
-
}), /* @__PURE__ */(0,
|
|
337
|
+
}), /* @__PURE__ */(0, import_jsx_runtime5.jsx)(ErrorMessage, {
|
|
285
338
|
name
|
|
286
339
|
})]
|
|
287
340
|
});
|
|
288
341
|
};
|
|
289
342
|
|
|
290
343
|
// src/FormFieldPatternFormat.tsx
|
|
291
|
-
var
|
|
292
|
-
var
|
|
293
|
-
var
|
|
344
|
+
var import_ui6 = require("@ttoss/ui");
|
|
345
|
+
var import_react_number_format2 = require("react-number-format");
|
|
346
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
294
347
|
var FormFieldPatternFormat = ({
|
|
295
348
|
label,
|
|
296
349
|
name,
|
|
297
350
|
...patternFormatProps
|
|
298
351
|
}) => {
|
|
299
|
-
return /* @__PURE__ */(0,
|
|
352
|
+
return /* @__PURE__ */(0, import_jsx_runtime6.jsx)(FormField, {
|
|
300
353
|
name,
|
|
301
354
|
label,
|
|
302
355
|
render: ({
|
|
303
356
|
field,
|
|
304
357
|
fieldState
|
|
305
358
|
}) => {
|
|
306
|
-
return /* @__PURE__ */(0,
|
|
359
|
+
return /* @__PURE__ */(0, import_jsx_runtime6.jsx)(import_react_number_format2.PatternFormat, {
|
|
307
360
|
name: field.name,
|
|
308
361
|
value: field.value,
|
|
309
362
|
onBlur: field.onBlur,
|
|
310
363
|
onValueChange: values => {
|
|
311
364
|
field.onChange(values.value);
|
|
312
365
|
},
|
|
313
|
-
customInput:
|
|
366
|
+
customInput: import_ui6.Input,
|
|
314
367
|
"aria-invalid": Boolean(fieldState.error).valueOf(),
|
|
315
368
|
...patternFormatProps
|
|
316
369
|
});
|
|
@@ -319,13 +372,13 @@ var FormFieldPatternFormat = ({
|
|
|
319
372
|
};
|
|
320
373
|
|
|
321
374
|
// src/FormFieldCreditCardNumber.tsx
|
|
322
|
-
var
|
|
375
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
323
376
|
var FormFieldCreditCardNumber = ({
|
|
324
377
|
label,
|
|
325
378
|
name,
|
|
326
379
|
...formFieldPatternFormatProps
|
|
327
380
|
}) => {
|
|
328
|
-
return /* @__PURE__ */(0,
|
|
381
|
+
return /* @__PURE__ */(0, import_jsx_runtime7.jsx)(FormFieldPatternFormat, {
|
|
329
382
|
name,
|
|
330
383
|
label,
|
|
331
384
|
format: "#### #### #### ####",
|
|
@@ -335,28 +388,28 @@ var FormFieldCreditCardNumber = ({
|
|
|
335
388
|
};
|
|
336
389
|
|
|
337
390
|
// src/FormFieldNumericFormat.tsx
|
|
338
|
-
var
|
|
339
|
-
var
|
|
340
|
-
var
|
|
391
|
+
var import_ui7 = require("@ttoss/ui");
|
|
392
|
+
var import_react_number_format3 = require("react-number-format");
|
|
393
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
341
394
|
var FormFieldNumericFormat = ({
|
|
342
395
|
label,
|
|
343
396
|
name,
|
|
344
397
|
...numericFormatProps
|
|
345
398
|
}) => {
|
|
346
|
-
return /* @__PURE__ */(0,
|
|
399
|
+
return /* @__PURE__ */(0, import_jsx_runtime8.jsx)(FormField, {
|
|
347
400
|
label,
|
|
348
401
|
name,
|
|
349
402
|
render: ({
|
|
350
403
|
field
|
|
351
404
|
}) => {
|
|
352
|
-
return /* @__PURE__ */(0,
|
|
405
|
+
return /* @__PURE__ */(0, import_jsx_runtime8.jsx)(import_react_number_format3.NumericFormat, {
|
|
353
406
|
name: field.name,
|
|
354
407
|
value: field.value,
|
|
355
408
|
onBlur: field.onBlur,
|
|
356
409
|
onValueChange: values => {
|
|
357
410
|
field.onChange(values.floatValue);
|
|
358
411
|
},
|
|
359
|
-
customInput:
|
|
412
|
+
customInput: import_ui7.Input,
|
|
360
413
|
...numericFormatProps
|
|
361
414
|
});
|
|
362
415
|
}
|
|
@@ -364,7 +417,7 @@ var FormFieldNumericFormat = ({
|
|
|
364
417
|
};
|
|
365
418
|
|
|
366
419
|
// src/FormFieldCurrencyInput.tsx
|
|
367
|
-
var
|
|
420
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
368
421
|
var FormFieldCurrencyInput = ({
|
|
369
422
|
label,
|
|
370
423
|
name,
|
|
@@ -373,7 +426,7 @@ var FormFieldCurrencyInput = ({
|
|
|
373
426
|
thousandSeparator,
|
|
374
427
|
...formFieldNumericFormatProps
|
|
375
428
|
}) => {
|
|
376
|
-
return /* @__PURE__ */(0,
|
|
429
|
+
return /* @__PURE__ */(0, import_jsx_runtime9.jsx)(FormFieldNumericFormat, {
|
|
377
430
|
name,
|
|
378
431
|
label,
|
|
379
432
|
fixedDecimalScale: true,
|
|
@@ -388,8 +441,8 @@ var FormFieldCurrencyInput = ({
|
|
|
388
441
|
};
|
|
389
442
|
|
|
390
443
|
// src/FormFieldInput.tsx
|
|
391
|
-
var
|
|
392
|
-
var
|
|
444
|
+
var import_ui8 = require("@ttoss/ui");
|
|
445
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
393
446
|
var FormFieldInput = ({
|
|
394
447
|
label,
|
|
395
448
|
name,
|
|
@@ -399,7 +452,7 @@ var FormFieldInput = ({
|
|
|
399
452
|
defaultValue = "",
|
|
400
453
|
...inputProps
|
|
401
454
|
}) => {
|
|
402
|
-
return /* @__PURE__ */(0,
|
|
455
|
+
return /* @__PURE__ */(0, import_jsx_runtime10.jsx)(FormField, {
|
|
403
456
|
name,
|
|
404
457
|
label,
|
|
405
458
|
disabled: inputProps.disabled,
|
|
@@ -411,7 +464,7 @@ var FormFieldInput = ({
|
|
|
411
464
|
field,
|
|
412
465
|
fieldState
|
|
413
466
|
}) => {
|
|
414
|
-
return /* @__PURE__ */(0,
|
|
467
|
+
return /* @__PURE__ */(0, import_jsx_runtime10.jsx)(import_ui8.Input, {
|
|
415
468
|
...inputProps,
|
|
416
469
|
...field,
|
|
417
470
|
"aria-invalid": fieldState.error ? "true" : void 0
|
|
@@ -421,8 +474,8 @@ var FormFieldInput = ({
|
|
|
421
474
|
};
|
|
422
475
|
|
|
423
476
|
// src/FormFieldPassword.tsx
|
|
424
|
-
var
|
|
425
|
-
var
|
|
477
|
+
var import_ui9 = require("@ttoss/ui");
|
|
478
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
426
479
|
var FormFieldPassword = ({
|
|
427
480
|
label,
|
|
428
481
|
name,
|
|
@@ -432,7 +485,7 @@ var FormFieldPassword = ({
|
|
|
432
485
|
defaultValue = "",
|
|
433
486
|
...inputProps
|
|
434
487
|
}) => {
|
|
435
|
-
return /* @__PURE__ */(0,
|
|
488
|
+
return /* @__PURE__ */(0, import_jsx_runtime11.jsx)(FormField, {
|
|
436
489
|
name,
|
|
437
490
|
label,
|
|
438
491
|
disabled: inputProps.disabled,
|
|
@@ -444,7 +497,7 @@ var FormFieldPassword = ({
|
|
|
444
497
|
field,
|
|
445
498
|
fieldState
|
|
446
499
|
}) => {
|
|
447
|
-
return /* @__PURE__ */(0,
|
|
500
|
+
return /* @__PURE__ */(0, import_jsx_runtime11.jsx)(import_ui9.InputPassword, {
|
|
448
501
|
...inputProps,
|
|
449
502
|
...field,
|
|
450
503
|
"aria-invalid": fieldState.error ? "true" : void 0
|
|
@@ -454,9 +507,9 @@ var FormFieldPassword = ({
|
|
|
454
507
|
};
|
|
455
508
|
|
|
456
509
|
// src/FormFieldRadio.tsx
|
|
457
|
-
var
|
|
510
|
+
var import_ui10 = require("@ttoss/ui");
|
|
458
511
|
var import_react_hook_form5 = require("react-hook-form");
|
|
459
|
-
var
|
|
512
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
460
513
|
var FormFieldRadio = ({
|
|
461
514
|
label,
|
|
462
515
|
name,
|
|
@@ -475,23 +528,23 @@ var FormFieldRadio = ({
|
|
|
475
528
|
name,
|
|
476
529
|
defaultValue: ""
|
|
477
530
|
});
|
|
478
|
-
return /* @__PURE__ */(0,
|
|
531
|
+
return /* @__PURE__ */(0, import_jsx_runtime12.jsxs)(import_ui10.Flex, {
|
|
479
532
|
sx: {
|
|
480
533
|
flexDirection: "column",
|
|
481
534
|
width: "100%",
|
|
482
535
|
...sx
|
|
483
536
|
},
|
|
484
|
-
children: [label && /* @__PURE__ */(0,
|
|
537
|
+
children: [label && /* @__PURE__ */(0, import_jsx_runtime12.jsx)(import_ui10.Label, {
|
|
485
538
|
sx: {
|
|
486
539
|
marginBottom: "md"
|
|
487
540
|
},
|
|
488
541
|
children: label
|
|
489
|
-
}), /* @__PURE__ */(0,
|
|
542
|
+
}), /* @__PURE__ */(0, import_jsx_runtime12.jsx)(import_ui10.Box, {
|
|
490
543
|
children: options.map(option => {
|
|
491
544
|
const id = `form-field-radio-${name}-${option.value}`;
|
|
492
|
-
return /* @__PURE__ */(0,
|
|
545
|
+
return /* @__PURE__ */(0, import_jsx_runtime12.jsxs)(import_ui10.Label, {
|
|
493
546
|
htmlFor: id,
|
|
494
|
-
children: [/* @__PURE__ */(0,
|
|
547
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime12.jsx)(import_ui10.Radio, {
|
|
495
548
|
ref,
|
|
496
549
|
onChange,
|
|
497
550
|
onBlur,
|
|
@@ -503,15 +556,15 @@ var FormFieldRadio = ({
|
|
|
503
556
|
}), option.label]
|
|
504
557
|
}, id);
|
|
505
558
|
})
|
|
506
|
-
}), /* @__PURE__ */(0,
|
|
559
|
+
}), /* @__PURE__ */(0, import_jsx_runtime12.jsx)(ErrorMessage, {
|
|
507
560
|
name
|
|
508
561
|
})]
|
|
509
562
|
});
|
|
510
563
|
};
|
|
511
564
|
|
|
512
565
|
// src/FormFieldSelect.tsx
|
|
513
|
-
var
|
|
514
|
-
var
|
|
566
|
+
var import_ui11 = require("@ttoss/ui");
|
|
567
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
515
568
|
var FormFieldSelect = ({
|
|
516
569
|
label,
|
|
517
570
|
name,
|
|
@@ -524,7 +577,7 @@ var FormFieldSelect = ({
|
|
|
524
577
|
onTooltipClick,
|
|
525
578
|
...selectProps
|
|
526
579
|
}) => {
|
|
527
|
-
return /* @__PURE__ */(0,
|
|
580
|
+
return /* @__PURE__ */(0, import_jsx_runtime13.jsx)(FormField, {
|
|
528
581
|
name,
|
|
529
582
|
label,
|
|
530
583
|
id,
|
|
@@ -538,7 +591,7 @@ var FormFieldSelect = ({
|
|
|
538
591
|
field,
|
|
539
592
|
fieldState
|
|
540
593
|
}) => {
|
|
541
|
-
return /* @__PURE__ */(0,
|
|
594
|
+
return /* @__PURE__ */(0, import_jsx_runtime13.jsx)(import_ui11.Select, {
|
|
542
595
|
...selectProps,
|
|
543
596
|
...field,
|
|
544
597
|
isDisabled: disabled,
|
|
@@ -549,8 +602,8 @@ var FormFieldSelect = ({
|
|
|
549
602
|
};
|
|
550
603
|
|
|
551
604
|
// src/FormFieldTextarea.tsx
|
|
552
|
-
var
|
|
553
|
-
var
|
|
605
|
+
var import_ui12 = require("@ttoss/ui");
|
|
606
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
554
607
|
var FormFieldTextarea = ({
|
|
555
608
|
label,
|
|
556
609
|
name,
|
|
@@ -558,7 +611,7 @@ var FormFieldTextarea = ({
|
|
|
558
611
|
...textareaProps
|
|
559
612
|
}) => {
|
|
560
613
|
const id = `form-field-textarea-${name}`;
|
|
561
|
-
return /* @__PURE__ */(0,
|
|
614
|
+
return /* @__PURE__ */(0, import_jsx_runtime14.jsx)(FormField, {
|
|
562
615
|
label,
|
|
563
616
|
name,
|
|
564
617
|
id,
|
|
@@ -567,7 +620,7 @@ var FormFieldTextarea = ({
|
|
|
567
620
|
field,
|
|
568
621
|
fieldState
|
|
569
622
|
}) => {
|
|
570
|
-
return /* @__PURE__ */(0,
|
|
623
|
+
return /* @__PURE__ */(0, import_jsx_runtime14.jsx)(import_ui12.Textarea, {
|
|
571
624
|
...field,
|
|
572
625
|
...textareaProps,
|
|
573
626
|
"aria-invalid": fieldState.error ? "true" : void 0
|
|
@@ -578,8 +631,8 @@ var FormFieldTextarea = ({
|
|
|
578
631
|
|
|
579
632
|
// src/FormGroup.tsx
|
|
580
633
|
var React2 = __toESM(require("react"));
|
|
581
|
-
var
|
|
582
|
-
var
|
|
634
|
+
var import_ui13 = require("@ttoss/ui");
|
|
635
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
583
636
|
var FormGroupLevelsManagerContext = React2.createContext({
|
|
584
637
|
levelsLength: 1,
|
|
585
638
|
registerChild: () => {
|
|
@@ -595,7 +648,7 @@ var FormGroupLevelsManager = ({
|
|
|
595
648
|
setLevelsLength(level + 1);
|
|
596
649
|
}
|
|
597
650
|
}, [levelsLength]);
|
|
598
|
-
return /* @__PURE__ */(0,
|
|
651
|
+
return /* @__PURE__ */(0, import_jsx_runtime15.jsx)(FormGroupLevelsManagerContext.Provider, {
|
|
599
652
|
value: {
|
|
600
653
|
levelsLength,
|
|
601
654
|
registerChild
|
|
@@ -638,7 +691,7 @@ var FormGroupWrapper = ({
|
|
|
638
691
|
gap: "md",
|
|
639
692
|
width: "100%"
|
|
640
693
|
};
|
|
641
|
-
return /* @__PURE__ */(0,
|
|
694
|
+
return /* @__PURE__ */(0, import_jsx_runtime15.jsxs)(import_ui13.Box, {
|
|
642
695
|
"aria-level": level,
|
|
643
696
|
...boxProps,
|
|
644
697
|
sx: {
|
|
@@ -646,18 +699,18 @@ var FormGroupWrapper = ({
|
|
|
646
699
|
marginBottom: "lg",
|
|
647
700
|
...boxProps.sx
|
|
648
701
|
},
|
|
649
|
-
children: [title && /* @__PURE__ */(0,
|
|
702
|
+
children: [title && /* @__PURE__ */(0, import_jsx_runtime15.jsx)(import_ui13.Box, {
|
|
650
703
|
sx: {
|
|
651
704
|
marginBottom: "md"
|
|
652
705
|
},
|
|
653
|
-
children: /* @__PURE__ */(0,
|
|
706
|
+
children: /* @__PURE__ */(0, import_jsx_runtime15.jsx)(import_ui13.Text, {
|
|
654
707
|
sx: {
|
|
655
708
|
fontSize: "2xl",
|
|
656
709
|
fontWeight: "bold"
|
|
657
710
|
},
|
|
658
711
|
children: title
|
|
659
712
|
})
|
|
660
|
-
}), /* @__PURE__ */(0,
|
|
713
|
+
}), /* @__PURE__ */(0, import_jsx_runtime15.jsx)(import_ui13.Flex, {
|
|
661
714
|
sx: childrenContainerSx,
|
|
662
715
|
children
|
|
663
716
|
})]
|
|
@@ -668,15 +721,15 @@ var FormGroup = props => {
|
|
|
668
721
|
level
|
|
669
722
|
} = useFormGroup();
|
|
670
723
|
const currentLevel = level === void 0 ? 0 : level + 1;
|
|
671
|
-
return /* @__PURE__ */(0,
|
|
724
|
+
return /* @__PURE__ */(0, import_jsx_runtime15.jsx)(FormGroupContext.Provider, {
|
|
672
725
|
value: {
|
|
673
726
|
parentLevel: currentLevel
|
|
674
727
|
},
|
|
675
|
-
children: currentLevel === 0 ? /* @__PURE__ */(0,
|
|
676
|
-
children: /* @__PURE__ */(0,
|
|
728
|
+
children: currentLevel === 0 ? /* @__PURE__ */(0, import_jsx_runtime15.jsx)(FormGroupLevelsManager, {
|
|
729
|
+
children: /* @__PURE__ */(0, import_jsx_runtime15.jsx)(FormGroupWrapper, {
|
|
677
730
|
...props
|
|
678
731
|
})
|
|
679
|
-
}) : /* @__PURE__ */(0,
|
|
732
|
+
}) : /* @__PURE__ */(0, import_jsx_runtime15.jsx)(FormGroupWrapper, {
|
|
680
733
|
...props
|
|
681
734
|
})
|
|
682
735
|
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Maybe, AnyObject, Flags, Schema } from 'yup';
|
|
2
|
+
|
|
3
|
+
declare module 'yup' {
|
|
4
|
+
interface StringSchema<
|
|
5
|
+
TType extends Maybe<string> = string | undefined,
|
|
6
|
+
TContext extends AnyObject = AnyObject,
|
|
7
|
+
TDefault = undefined,
|
|
8
|
+
TFlags extends Flags = '',
|
|
9
|
+
> extends Schema<TType, TContext, TDefault, TFlags> {
|
|
10
|
+
cnpj(): this;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Maybe, AnyObject, Flags, Schema } from 'yup';
|
|
2
|
+
|
|
3
|
+
declare module 'yup' {
|
|
4
|
+
interface StringSchema<
|
|
5
|
+
TType extends Maybe<string> = string | undefined,
|
|
6
|
+
TContext extends AnyObject = AnyObject,
|
|
7
|
+
TDefault = undefined,
|
|
8
|
+
TFlags extends Flags = '',
|
|
9
|
+
> extends Schema<TType, TContext, TDefault, TFlags> {
|
|
10
|
+
cnpj(): this;
|
|
11
|
+
}
|
|
12
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ttoss/forms",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.1",
|
|
4
4
|
"author": "ttoss",
|
|
5
5
|
"contributors": [
|
|
6
6
|
"Pedro Arantes <pedro@arantespp.com> (https://arantespp.com/contact)"
|
|
@@ -20,6 +20,11 @@
|
|
|
20
20
|
"import": "./dist/esm/MultistepForm/index.js",
|
|
21
21
|
"require": "./dist/MultistepForm/index.js",
|
|
22
22
|
"types": "./dist/MultistepForm/index.d.ts"
|
|
23
|
+
},
|
|
24
|
+
"./brazil": {
|
|
25
|
+
"import": "./dist/esm/Brazil/index.js",
|
|
26
|
+
"require": "./dist/Brazil/index.js",
|
|
27
|
+
"types": "./dist/Brazil/index.d.ts"
|
|
23
28
|
}
|
|
24
29
|
},
|
|
25
30
|
"files": [
|
|
@@ -30,14 +35,14 @@
|
|
|
30
35
|
"dependencies": {
|
|
31
36
|
"@hookform/error-message": "^2.0.1",
|
|
32
37
|
"@hookform/resolvers": "^3.3.4",
|
|
33
|
-
"react-hook-form": "^7.51.
|
|
34
|
-
"react-number-format": "^5.3.
|
|
35
|
-
"yup": "^1.
|
|
38
|
+
"react-hook-form": "^7.51.2",
|
|
39
|
+
"react-number-format": "^5.3.4",
|
|
40
|
+
"yup": "^1.4.0"
|
|
36
41
|
},
|
|
37
42
|
"peerDependencies": {
|
|
38
43
|
"react": ">=16.8.0",
|
|
39
|
-
"@ttoss/
|
|
40
|
-
"@ttoss/
|
|
44
|
+
"@ttoss/react-i18n": "^1.26.1",
|
|
45
|
+
"@ttoss/ui": "^4.1.4"
|
|
41
46
|
},
|
|
42
47
|
"devDependencies": {
|
|
43
48
|
"@types/jest": "^29.5.12",
|
|
@@ -47,13 +52,13 @@
|
|
|
47
52
|
"react-error-boundary": "^4.0.13",
|
|
48
53
|
"theme-ui": "^0.16.2",
|
|
49
54
|
"tsup": "^8.0.2",
|
|
50
|
-
"yup": "^1.
|
|
55
|
+
"yup": "^1.4.0",
|
|
51
56
|
"@ttoss/config": "^1.31.5",
|
|
52
57
|
"@ttoss/react-i18n": "^1.26.1",
|
|
53
58
|
"@ttoss/i18n-cli": "^0.7.6",
|
|
54
59
|
"@ttoss/react-icons": "^0.3.1",
|
|
55
|
-
"@ttoss/
|
|
56
|
-
"@ttoss/
|
|
60
|
+
"@ttoss/test-utils": "^2.1.1",
|
|
61
|
+
"@ttoss/ui": "^4.1.4"
|
|
57
62
|
},
|
|
58
63
|
"publishConfig": {
|
|
59
64
|
"access": "public",
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import {
|
|
2
|
+
FormFieldPatternFormat,
|
|
3
|
+
FormFieldPatternFormatProps,
|
|
4
|
+
} from '../FormFieldPatternFormat';
|
|
5
|
+
|
|
6
|
+
export type FormFieldCEPProps = {
|
|
7
|
+
label: string;
|
|
8
|
+
name: string;
|
|
9
|
+
} & Partial<FormFieldPatternFormatProps>;
|
|
10
|
+
|
|
11
|
+
export const FormFieldCEP = ({
|
|
12
|
+
label,
|
|
13
|
+
name,
|
|
14
|
+
...formFieldPatternFormatProps
|
|
15
|
+
}: FormFieldCEPProps) => {
|
|
16
|
+
return (
|
|
17
|
+
<FormFieldPatternFormat
|
|
18
|
+
name={name}
|
|
19
|
+
label={label}
|
|
20
|
+
format="#####-###"
|
|
21
|
+
placeholder="12345-678"
|
|
22
|
+
{...formFieldPatternFormatProps}
|
|
23
|
+
/>
|
|
24
|
+
);
|
|
25
|
+
};
|