@pipelinesolucoes/form 1.2.0-beta.25 → 1.2.0-beta.26
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
CHANGED
|
@@ -24,7 +24,8 @@ A biblioteca inclui os seguintes componentes:
|
|
|
24
24
|
Faz a validação do e-mail, dispara um `onSubmit` assíncrono (obrigatório) e exibe a mensagem retornada.
|
|
25
25
|
|
|
26
26
|
- **TextFieldPassword**
|
|
27
|
-
Componente de campo de senha baseado no TextField do Material UI, com botão para alternar entre mostrar/ocultar a senha.
|
|
27
|
+
Componente de campo de senha baseado no TextField do Material UI, com botão para alternar entre mostrar/ocultar a senha.
|
|
28
|
+
O componente:
|
|
28
29
|
- Retorna somente a senha digitada via `onPasswordChange`
|
|
29
30
|
- Valida obrigatório + formato (regex) e exibe mensagens de erro automaticamente
|
|
30
31
|
- Dispara um "evento" de validação via `onValidationChange`
|
|
@@ -37,6 +38,11 @@ A biblioteca inclui os seguintes componentes:
|
|
|
37
38
|
Campo de texto numérico com suporte a validações comuns e customizadas, construído sobre o TextField do Material UI e
|
|
38
39
|
estilizado via Design System da Pipeline.
|
|
39
40
|
|
|
41
|
+
- **TextFieldBirthDateWithAge**
|
|
42
|
+
Campo de data de nascimento com entrada somente numérica, máscara `dd/mm/yyyy`,
|
|
43
|
+
validações comuns (required, min/maxLength, pattern) + validação customizada,
|
|
44
|
+
e cálculo automático de idade exibido na label.
|
|
45
|
+
|
|
40
46
|
- **NotificationSnackbar**
|
|
41
47
|
Componente que exibe uma notificação no topo da tela utilizando o Snackbar e Alert do Material UI.
|
|
42
48
|
---
|
|
@@ -27,13 +27,13 @@ interface TextFieldBirthDateWithAgeProps extends Omit<ColorProps, 'backgroundHov
|
|
|
27
27
|
/**
|
|
28
28
|
* Campo de data de nascimento com entrada somente numérica, máscara `dd/mm/yyyy`,
|
|
29
29
|
* validações comuns (required, min/maxLength, pattern) + validação customizada,
|
|
30
|
-
* e cálculo automático de idade exibido
|
|
30
|
+
* e cálculo automático de idade exibido na label.
|
|
31
31
|
*
|
|
32
32
|
* Regras:
|
|
33
33
|
* - O usuário digita apenas números.
|
|
34
34
|
* - Ao digitar, o valor é formatado automaticamente como `dd/mm/yyyy`.
|
|
35
|
-
* - Quando a data estiver completa e for válida, a idade é calculada e exibida.
|
|
36
|
-
* - Erros sempre têm prioridade no helperText.
|
|
35
|
+
* - Quando a data estiver completa e for válida, a idade é calculada e exibida na label.
|
|
36
|
+
* - Erros sempre têm prioridade no helperText (a label não exibe idade quando há erro).
|
|
37
37
|
*
|
|
38
38
|
* Tokens de estilo (ordem de prioridade):
|
|
39
39
|
* - props do componente
|
|
@@ -64,7 +64,6 @@ interface TextFieldBirthDateWithAgeProps extends Omit<ColorProps, 'backgroundHov
|
|
|
64
64
|
* ```tsx
|
|
65
65
|
* const Example = () => {
|
|
66
66
|
* const [birthDate, setBirthDate] = React.useState('');
|
|
67
|
-
* const [age, setAge] = React.useState<number | null>(null);
|
|
68
67
|
*
|
|
69
68
|
* return (
|
|
70
69
|
* <TextFieldBirthDateWithAge
|
|
@@ -73,8 +72,7 @@ interface TextFieldBirthDateWithAgeProps extends Omit<ColorProps, 'backgroundHov
|
|
|
73
72
|
* required
|
|
74
73
|
* showErrorOn="blur"
|
|
75
74
|
* onChange={(e) => setBirthDate(e.target.value)}
|
|
76
|
-
* onAgeChange={(
|
|
77
|
-
* validate={(v) => (v.length === 10 && !/^\d{2}\/\d{2}\/\d{4}$/.test(v) ? 'Data inválida' : null)}
|
|
75
|
+
* onAgeChange={(age) => console.log('idade', age)}
|
|
78
76
|
* />
|
|
79
77
|
* );
|
|
80
78
|
* };
|
|
@@ -80,13 +80,13 @@ const computeError = (value, { required, requiredMessage, minLength, maxLength,
|
|
|
80
80
|
/**
|
|
81
81
|
* Campo de data de nascimento com entrada somente numérica, máscara `dd/mm/yyyy`,
|
|
82
82
|
* validações comuns (required, min/maxLength, pattern) + validação customizada,
|
|
83
|
-
* e cálculo automático de idade exibido
|
|
83
|
+
* e cálculo automático de idade exibido na label.
|
|
84
84
|
*
|
|
85
85
|
* Regras:
|
|
86
86
|
* - O usuário digita apenas números.
|
|
87
87
|
* - Ao digitar, o valor é formatado automaticamente como `dd/mm/yyyy`.
|
|
88
|
-
* - Quando a data estiver completa e for válida, a idade é calculada e exibida.
|
|
89
|
-
* - Erros sempre têm prioridade no helperText.
|
|
88
|
+
* - Quando a data estiver completa e for válida, a idade é calculada e exibida na label.
|
|
89
|
+
* - Erros sempre têm prioridade no helperText (a label não exibe idade quando há erro).
|
|
90
90
|
*
|
|
91
91
|
* Tokens de estilo (ordem de prioridade):
|
|
92
92
|
* - props do componente
|
|
@@ -117,7 +117,6 @@ const computeError = (value, { required, requiredMessage, minLength, maxLength,
|
|
|
117
117
|
* ```tsx
|
|
118
118
|
* const Example = () => {
|
|
119
119
|
* const [birthDate, setBirthDate] = React.useState('');
|
|
120
|
-
* const [age, setAge] = React.useState<number | null>(null);
|
|
121
120
|
*
|
|
122
121
|
* return (
|
|
123
122
|
* <TextFieldBirthDateWithAge
|
|
@@ -126,8 +125,7 @@ const computeError = (value, { required, requiredMessage, minLength, maxLength,
|
|
|
126
125
|
* required
|
|
127
126
|
* showErrorOn="blur"
|
|
128
127
|
* onChange={(e) => setBirthDate(e.target.value)}
|
|
129
|
-
* onAgeChange={(
|
|
130
|
-
* validate={(v) => (v.length === 10 && !/^\d{2}\/\d{2}\/\d{4}$/.test(v) ? 'Data inválida' : null)}
|
|
128
|
+
* onAgeChange={(age) => console.log('idade', age)}
|
|
131
129
|
* />
|
|
132
130
|
* );
|
|
133
131
|
* };
|
|
@@ -138,7 +136,6 @@ const TextFieldBirthDateWithAge = ({ id, label, placeholder = 'dd/mm/aaaa', valu
|
|
|
138
136
|
const [touched, setTouched] = React.useState(false);
|
|
139
137
|
const formattedValue = React.useMemo(() => formatBirthDate(value), [value]);
|
|
140
138
|
const computedAge = React.useMemo(() => {
|
|
141
|
-
// só calcula quando completo
|
|
142
139
|
if (formattedValue.length !== 10)
|
|
143
140
|
return null;
|
|
144
141
|
return calculateAgeFromFormatted(formattedValue);
|
|
@@ -155,7 +152,6 @@ const TextFieldBirthDateWithAge = ({ id, label, placeholder = 'dd/mm/aaaa', valu
|
|
|
155
152
|
: null;
|
|
156
153
|
if (baseError)
|
|
157
154
|
return baseError;
|
|
158
|
-
// Validação adicional: data completa mas inválida (ex.: 31/02/2020 ou data futura)
|
|
159
155
|
if (v.length === 10 && !isValidBirthDate(v))
|
|
160
156
|
return 'Data inválida';
|
|
161
157
|
if (v.length === 10 && isValidBirthDate(v) && computedAge === null)
|
|
@@ -174,6 +170,9 @@ const TextFieldBirthDateWithAge = ({ id, label, placeholder = 'dd/mm/aaaa', valu
|
|
|
174
170
|
touched,
|
|
175
171
|
computedAge,
|
|
176
172
|
]);
|
|
173
|
+
const computedLabel = computedAge !== null && !errorMessage
|
|
174
|
+
? `${label !== null && label !== void 0 ? label : ''} (${computedAge} anos)`.trim()
|
|
175
|
+
: label;
|
|
177
176
|
const handleBlur = (event) => {
|
|
178
177
|
if (!touched)
|
|
179
178
|
setTouched(true);
|
|
@@ -222,12 +221,8 @@ const TextFieldBirthDateWithAge = ({ id, label, placeholder = 'dd/mm/aaaa', valu
|
|
|
222
221
|
const pad = (_m = padding !== null && padding !== void 0 ? padding : field === null || field === void 0 ? void 0 : field.padding) !== null && _m !== void 0 ? _m : fbpadding;
|
|
223
222
|
const hg = (_o = height !== null && height !== void 0 ? height : field === null || field === void 0 ? void 0 : field.height) !== null && _o !== void 0 ? _o : fbheigth;
|
|
224
223
|
const typo = (_q = (_p = (textVariant && theme.typography[textVariant])) !== null && _p !== void 0 ? _p : field === null || field === void 0 ? void 0 : field.typography) !== null && _q !== void 0 ? _q : theme.typography.body1;
|
|
225
|
-
const helperText = errorMessage
|
|
226
|
-
|
|
227
|
-
: computedAge !== null
|
|
228
|
-
? `Idade: ${computedAge} anos`
|
|
229
|
-
: ' ';
|
|
230
|
-
return (_jsx(TextFieldStyled, { id: id, label: label, placeholder: placeholder, value: formattedValue, typo: typo, onChange: handleChange, onBlur: handleBlur, background: bg, backgroundFocused: bgFocused, backgroundDisabled: bgDisabled, colorText: txt, colorFocused: bdFocused, colorDisabled: txtDisabled, borderRadius: br, boxShadow: sh, borderColor: bd, padding: pad, disabled: disabled, required: required, fullWidth: true, height: hg, error: Boolean(errorMessage), helperText: helperText, onKeyDown: handleKeyDown, slotProps: {
|
|
224
|
+
const helperText = errorMessage ? errorMessage : '\u00A0';
|
|
225
|
+
return (_jsx(TextFieldStyled, { id: id, label: computedLabel, placeholder: placeholder, value: formattedValue, typo: typo, onChange: handleChange, onBlur: handleBlur, background: bg, backgroundFocused: bgFocused, backgroundDisabled: bgDisabled, colorText: txt, colorFocused: bdFocused, colorDisabled: txtDisabled, borderRadius: br, boxShadow: sh, borderColor: bd, padding: pad, disabled: disabled, required: required, fullWidth: true, height: hg, error: Boolean(errorMessage), helperText: helperText, onKeyDown: handleKeyDown, slotProps: {
|
|
231
226
|
input: {
|
|
232
227
|
inputProps: {
|
|
233
228
|
inputMode: 'numeric',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextFieldBirthDateWithAge.js","sourceRoot":"","sources":["../../src/components/TextFieldBirthDateWithAge.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TextFieldBirthDateWithAge.js","sourceRoot":"","sources":["../../src/components/TextFieldBirthDateWithAge.tsx"],"names":[],"mappings":"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"}
|