@pipelinesolucoes/form 1.2.0-beta.2 → 1.2.0-beta.21

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 (56) hide show
  1. package/dist/components/ChipList.d.ts +9 -0
  2. package/dist/components/ChipList.js +60 -0
  3. package/dist/components/ChipList.js.map +1 -0
  4. package/dist/components/SelectField.d.ts +73 -0
  5. package/dist/components/SelectField.js +142 -0
  6. package/dist/components/SelectField.js.map +1 -0
  7. package/dist/components/TextFieldPassword.d.ts +141 -43
  8. package/dist/components/TextFieldPassword.js +160 -98
  9. package/dist/components/TextFieldPassword.js.map +1 -1
  10. package/dist/components/TextFieldValidate.d.ts +85 -38
  11. package/dist/components/TextFieldValidate.js +102 -94
  12. package/dist/components/TextFieldValidate.js.map +1 -1
  13. package/dist/components/login/ClickResult.d.ts +11 -0
  14. package/dist/components/login/ClickResult.js +2 -0
  15. package/dist/components/login/ClickResult.js.map +1 -0
  16. package/dist/components/login/FormLogin.d.ts +113 -94
  17. package/dist/components/login/FormLogin.js +136 -141
  18. package/dist/components/login/FormLogin.js.map +1 -1
  19. package/dist/components/login/FormPasswordRecovery.d.ts +97 -89
  20. package/dist/components/login/FormPasswordRecovery.js +131 -124
  21. package/dist/components/login/FormPasswordRecovery.js.map +1 -1
  22. package/dist/components/login/FormSignUp.d.ts +114 -100
  23. package/dist/components/login/FormSignUp.js +138 -153
  24. package/dist/components/login/FormSignUp.js.map +1 -1
  25. package/dist/components/login/StyleLogin.d.ts +14 -0
  26. package/dist/components/login/StyleLogin.js +57 -0
  27. package/dist/components/login/StyleLogin.js.map +1 -0
  28. package/dist/components/recaptcha/RecaptchaForm.d.ts +7 -13
  29. package/dist/components/recaptcha/RecaptchaForm.js +26 -25
  30. package/dist/components/recaptcha/RecaptchaForm.js.map +1 -1
  31. package/dist/constant.d.ts +11 -0
  32. package/dist/constant.js +12 -0
  33. package/dist/constant.js.map +1 -0
  34. package/dist/index.d.ts +2 -0
  35. package/dist/index.js +2 -0
  36. package/dist/index.js.map +1 -1
  37. package/dist/{components/style → style}/ButtonFormStyled.d.ts +1 -1
  38. package/dist/{components/style → style}/ButtonFormStyled.js +6 -5
  39. package/dist/style/ButtonFormStyled.js.map +1 -0
  40. package/dist/{components/style → style}/LinkFormStyled.d.ts +3 -3
  41. package/dist/style/LinkFormStyled.js +16 -0
  42. package/dist/style/LinkFormStyled.js.map +1 -0
  43. package/dist/style/TextFieldStyle.d.ts +18 -0
  44. package/dist/style/TextFieldStyle.js +60 -0
  45. package/dist/style/TextFieldStyle.js.map +1 -0
  46. package/dist/theme.js +46 -18
  47. package/dist/theme.js.map +1 -1
  48. package/dist/tsconfig.tsbuildinfo +1 -1
  49. package/dist/types/FieldProps.d.ts +1 -0
  50. package/package.json +2 -2
  51. package/dist/components/recaptcha/FormStyled.d.ts +0 -30
  52. package/dist/components/recaptcha/FormStyled.js +0 -67
  53. package/dist/components/recaptcha/FormStyled.js.map +0 -1
  54. package/dist/components/style/ButtonFormStyled.js.map +0 -1
  55. package/dist/components/style/LinkFormStyled.js +0 -15
  56. package/dist/components/style/LinkFormStyled.js.map +0 -1
@@ -1,113 +1,160 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import React from 'react';
4
- import TextField from '@mui/material/TextField';
5
4
  import InputAdornment from '@mui/material/InputAdornment';
6
5
  import IconButton from '@mui/material/IconButton';
7
6
  import VisibilityIcon from '@mui/icons-material/Visibility';
8
7
  import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
9
- import { styled } from '@mui/material/styles';
10
- const StyledTextField = styled(TextField, {
11
- shouldForwardProp: (prop) => ![
12
- 'background',
13
- 'borderRadius',
14
- 'boxShadow',
15
- 'borderColor',
16
- 'colorFocused',
17
- 'backgroundDisabled',
18
- 'colorDisabled',
19
- 'padding',
20
- 'colorText',
21
- ].includes(prop),
22
- })(({ theme, background, backgroundDisabled, colorText, borderRadius, boxShadow, borderColor, colorFocused, colorDisabled, padding, }) => {
23
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
24
- const field = (_b = (_a = theme.pipelinesolucoes) === null || _a === void 0 ? void 0 : _a.forms) === null || _b === void 0 ? void 0 : _b.field;
25
- // props -> tokens -> fallback
26
- const bg = (_c = background !== null && background !== void 0 ? background : field === null || field === void 0 ? void 0 : field.background) !== null && _c !== void 0 ? _c : '#fff';
27
- const bgDisabled = (_d = backgroundDisabled !== null && backgroundDisabled !== void 0 ? backgroundDisabled : field === null || field === void 0 ? void 0 : field.backgroundDisabled) !== null && _d !== void 0 ? _d : "#E5E7EB";
28
- const txt = (_e = colorText !== null && colorText !== void 0 ? colorText : field === null || field === void 0 ? void 0 : field.color) !== null && _e !== void 0 ? _e : '#000';
29
- const txtDisabled = (_f = colorDisabled !== null && colorDisabled !== void 0 ? colorDisabled : field === null || field === void 0 ? void 0 : field.colorDisabled) !== null && _f !== void 0 ? _f : "#9CA3AF";
30
- const br = (_g = borderRadius !== null && borderRadius !== void 0 ? borderRadius : field === null || field === void 0 ? void 0 : field.borderRadius) !== null && _g !== void 0 ? _g : "0";
31
- const sh = (_h = boxShadow !== null && boxShadow !== void 0 ? boxShadow : field === null || field === void 0 ? void 0 : field.boxShadow) !== null && _h !== void 0 ? _h : "none";
32
- const bd = (_j = borderColor !== null && borderColor !== void 0 ? borderColor : field === null || field === void 0 ? void 0 : field.borderColor) !== null && _j !== void 0 ? _j : '#ccc';
33
- const bdFocused = (_k = colorFocused !== null && colorFocused !== void 0 ? colorFocused : field === null || field === void 0 ? void 0 : field.colorFocused) !== null && _k !== void 0 ? _k : '#1976d2';
34
- const pad = (_l = padding !== null && padding !== void 0 ? padding : field === null || field === void 0 ? void 0 : field.padding) !== null && _l !== void 0 ? _l : '4px 8px'; // pode deixar undefined se quiser respeitar o default do MUI
35
- return {
36
- background: bg,
37
- borderRadius: br,
38
- boxShadow: sh,
39
- paddingRight: '16px',
40
- '& .MuiInputBase-root': {
41
- color: txt,
42
- },
43
- '& .MuiOutlinedInput-root': Object.assign(Object.assign({ borderRadius: br, boxShadow: sh }, (pad ? { padding: pad } : {})), { '& .MuiOutlinedInput-notchedOutline': {
44
- borderColor: bd,
45
- }, '&:hover .MuiOutlinedInput-notchedOutline': {
46
- borderColor: bd,
47
- }, '&.Mui-focused .MuiOutlinedInput-notchedOutline': {
48
- borderColor: bdFocused,
49
- }, '&.Mui-disabled': {
50
- background: bgDisabled,
51
- color: txtDisabled,
52
- '& .MuiOutlinedInput-notchedOutline': {
53
- borderColor: bd,
54
- },
55
- }, '& input.Mui-disabled': {
56
- WebkitTextFillColor: txtDisabled,
57
- } }),
58
- '& .MuiInputLabel-root': {
59
- color: txt,
60
- },
61
- '& .MuiInputLabel-root.Mui-focused': {
62
- color: bdFocused,
63
- },
64
- '& .MuiInputLabel-root.Mui-disabled': {
65
- color: txtDisabled,
66
- },
67
- };
68
- });
8
+ import { useTheme } from '@mui/material/styles';
9
+ import { TextFieldStyled } from '../style/TextFieldStyle';
10
+ import { fbbackground, fbbackgroundDisabled, fbborderColor, fbborderRadius, fbboxShadow, fbcolor, fbcolorDisabled, fbcolorFocused, fbheigth, fbpadding } from '../constant';
69
11
  /**
70
12
  * Componente de campo de senha baseado no TextField do Material UI, com botão para alternar
71
- * entre mostrar/ocultar a senha. O componente:
72
- * - Retorna somente a senha digitada via `onPasswordChange`
73
- * - Valida obrigatório + formato (regex) e exibe mensagens de erro automaticamente
74
- * - Dispara um "evento" de validação via `onValidationChange`
75
- *
76
- * @param {string} [id] ID do input.
77
- * @param {string} [label] Label do campo.
78
- * @param {string} [placeholder] Placeholder do input.
79
- * @param {string} [value] Valor controlado do campo.
80
- * @param {boolean} [required=true] Se true, valida senha obrigatória.
81
- * @param {RegExp} [passwordPattern=/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9]).{8,}$/] Regex para validar formato.
82
- * @param {string} [requiredMessage='Senha obrigatória'] Mensagem para campo vazio.
83
- * @param {string} [invalidMessage='Senha inválida'] Mensagem para formato inválido.
84
- * @param {'blur' | 'change' | 'both'} [validateOn='blur'] Quando validar.
85
- * @param {(password: string) => void} [onPasswordChange] Retorna somente a senha digitada.
86
- * @param {(result: PasswordValidationResult) => void} [onValidationChange] Evento com resultado completo da validação.
87
- * @param {(event: React.ChangeEvent<HTMLInputElement>) => void} [onChange] onChange nativo (opcional).
88
- * @param {(event: React.FocusEvent<HTMLInputElement>) => void} [onBlur] onBlur nativo (opcional).
13
+ * entre mostrar e ocultar a senha.
14
+ *
15
+ * O componente oferece:
16
+ * - Retorno apenas do valor da senha digitada via `onPasswordChange`
17
+ * - Validação automática de obrigatoriedade e formato (Regex)
18
+ * - Exibição controlada de mensagens de erro
19
+ * - Evento de validação completo via `onValidationChange`
20
+ * - Estilização via props com fallback para tokens do theme da Pipeline
21
+ *
22
+ * ---
23
+ *
24
+ * ### Tokens de estilo (ordem de prioridade)
25
+ *
26
+ * Para propriedades visuais, o componente resolve os valores nesta ordem:
27
+ * 1. **Props do componente**
28
+ * 2. **Theme da Pipeline** (`theme.pipelinesolucoes.forms.field`)
29
+ * 3. **Fallback interno** (valores padrão do componente)
30
+ *
31
+ * ---
32
+ *
33
+ * ### Tipografia
34
+ *
35
+ * A tipografia do texto digitado e do placeholder pode ser definida de duas formas:
36
+ *
37
+ * 1. **Material UI**
38
+ * Ao informar `textVariant`, o componente utiliza `theme.typography[textVariant]`.
39
+ *
40
+ * 2. **Theme da Pipeline**
41
+ * Quando `textVariant` não é informado, utiliza `theme.pipelinesolucoes.forms.field.typography`.
42
+ *
43
+ * **Ordem de prioridade (tipografia):**
44
+ * 1. `textVariant` (prop do componente)
45
+ * 2. `theme.typography[textVariant]` (Material UI)
46
+ * 3. `theme.pipelinesolucoes.forms.field.typography` (Pipeline)
47
+ * 4. Fallback interno (`theme.typography.body1`)
48
+ *
49
+ * ---
50
+ *
51
+ * @param {string} [id]
52
+ * ID do input.
53
+ *
54
+ * @param {string} [label]
55
+ * Label exibido no campo.
56
+ *
57
+ * @param {string} [placeholder]
58
+ * Texto de placeholder do input.
59
+ *
60
+ * @param {string} [value]
61
+ * Valor controlado do campo.
62
+ *
63
+ * @param {import('@mui/material/styles').TypographyVariant} [textVariant]
64
+ * Variante de tipografia do Material UI aplicada ao texto digitado e ao placeholder.
65
+ * Quando omitida, utiliza a tipografia do theme da Pipeline (`theme.pipelinesolucoes.forms.field.typography`).
66
+ *
67
+ * ---
68
+ * ### Estilo / Aparência
69
+ *
70
+ * @param {string} [background]
71
+ * Cor de fundo do campo.
72
+ * Ordem: `background` → `theme.pipelinesolucoes.forms.field.background` → `#fff`.
73
+ *
74
+ * @param {string} [backgroundDisabled]
75
+ * Cor de fundo do campo quando desabilitado.
76
+ * Ordem: `backgroundDisabled` → `theme.pipelinesolucoes.forms.field.backgroundDisabled` → `#E5E7EB`.
77
+ *
78
+ * @param {string} [color]
79
+ * Cor do texto do campo (texto digitado e label).
80
+ * Ordem: `color` → `theme.pipelinesolucoes.forms.field.color` → `#000`.
81
+ *
82
+ * @param {string} [colorFocused]
83
+ * Cor aplicada ao estado focado (usada como cor de borda no focus).
84
+ * Ordem: `colorFocused` → `theme.pipelinesolucoes.forms.field.colorFocused` → `#1976d2`.
85
+ *
86
+ * @param {string} [colorDisabled]
87
+ * Cor do texto do campo quando desabilitado.
88
+ * Ordem: `colorDisabled` → `theme.pipelinesolucoes.forms.field.colorDisabled` → `#9CA3AF`.
89
+ *
90
+ * @param {string} [borderRadius]
91
+ * Raio da borda do campo.
92
+ * Ordem: `borderRadius` → `theme.pipelinesolucoes.forms.field.borderRadius` → `"0"`.
93
+ *
94
+ * @param {string} [boxShadow]
95
+ * Sombra do campo.
96
+ * Ordem: `boxShadow` → `theme.pipelinesolucoes.forms.field.boxShadow` → `"none"`.
97
+ *
98
+ * @param {string} [borderColor]
99
+ * Cor da borda do campo (estado padrão/hover).
100
+ * Ordem: `borderColor` → `theme.pipelinesolucoes.forms.field.borderColor` → `#ccc`.
101
+ *
102
+ * @param {string} [padding]
103
+ * Espaçamento interno do input (aplicado no texto e textarea).
104
+ * Ordem: `padding` → `theme.pipelinesolucoes.forms.field.padding` → `"4px 8px"`.
105
+ *
106
+ * ---
107
+ * ### Validação
108
+ *
109
+ * @param {boolean} [required=true]
110
+ * Define se o campo é obrigatório.
111
+ *
112
+ * @param {RegExp} [pattern=/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9]).{8,}$/]
113
+ * Expressão regular usada para validar o formato da senha.
114
+ *
115
+ * @param {string} [requiredMessage='Senha obrigatória']
116
+ * Mensagem exibida quando o campo obrigatório está vazio.
117
+ *
118
+ * @param {string} [patternMessage]
119
+ * Mensagem exibida quando a senha não atende ao formato definido.
120
+ *
121
+ * @param {'blur' | 'change' | 'both'} [showErrorOn='blur']
122
+ * Define quando a validação e exibição de erros deve ocorrer.
123
+ *
124
+ * @param {boolean} [disabled=false]
125
+ * Desabilita o campo.
126
+ *
127
+ * ---
128
+ * ### Eventos
129
+ *
130
+ * @param {(password: string) => void} [onPasswordChange]
131
+ * Callback que retorna apenas o valor da senha digitada.
132
+ *
133
+ * @param {(result: PasswordValidationResult) => void} [onValidationChange]
134
+ * Callback disparado sempre que a validação é executada, contendo o resultado completo.
135
+ *
136
+ * @param {(event: React.ChangeEvent<HTMLInputElement>) => void} [onChange]
137
+ * Evento `onChange` nativo do input (opcional).
138
+ *
139
+ * @param {(event: React.FocusEvent<HTMLInputElement>) => void} [onBlur]
140
+ * Evento `onBlur` nativo do input (opcional).
141
+ *
142
+ * ---
89
143
  *
90
144
  * @example
91
145
  * ```tsx
92
- * import React from 'react';
93
- * import { TextFieldPassword } from '@/components/TextFieldPassword';
94
- *
95
- * const Example = () => {
96
- * const [password, setPassword] = React.useState('');
97
- *
98
- * return (
99
- * <TextFieldPassword
100
- * label="Senha"
101
- * value={password}
102
- * onPasswordChange={(p) => setPassword(p)}
103
- * onValidationChange={(r) => console.log(r)}
104
- * validateOn="both"
105
- * />
106
- * );
107
- * };
146
+ * <TextFieldPassword
147
+ * label="Senha"
148
+ * background="#fff"
149
+ * borderRadius="10px"
150
+ * textVariant="body2"
151
+ * showErrorOn="both"
152
+ * onPasswordChange={(password) => console.log(password)}
153
+ * />
108
154
  * ```
109
155
  */
110
- const TextFieldPassword = ({ id, label, placeholder, value, onPasswordChange, onValidationChange, required = true, pattern = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9]).{8,}$/, requiredMessage = 'Senha obrigatória', patternMessage = 'Senha inválida', showErrorOn = 'blur', background, backgroundDisabled, color, colorFocused, colorDisabled, borderRadius, boxShadow, borderColor, disabled = false, padding, onChange, onBlur, }) => {
156
+ const TextFieldPassword = ({ id, label, placeholder, value, onPasswordChange, onValidationChange, disabled = false, required = true, pattern = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9]).{8,}$/, requiredMessage = 'Senha obrigatória', patternMessage = 'A senha deve ter no mínimo 8 caracteres, com ao menos uma letra maiúscula, uma letra minúscula, um número e um caractere especial.', showErrorOn = 'blur', background, backgroundFocused, backgroundDisabled, color, colorFocused, colorDisabled, borderRadius, boxShadow, borderColor, padding, height, textVariant, onChange, onBlur, }) => {
157
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
111
158
  const [showPassword, setShowPassword] = React.useState(false);
112
159
  const [touched, setTouched] = React.useState(false);
113
160
  // fallback interno caso o usuário não use `value`
@@ -168,9 +215,24 @@ const TextFieldPassword = ({ id, label, placeholder, value, onPasswordChange, on
168
215
  };
169
216
  const shouldShowError = touched && !validation.isValid && validation.status !== 'idle';
170
217
  const helperText = shouldShowError ? validation.message : ' ';
171
- return (_jsx(StyledTextField, { type: showPassword ? 'text' : 'password', id: id, label: label, placeholder: placeholder, value: currentValue, background: background, backgroundDisabled: backgroundDisabled, colorText: color, colorFocused: colorFocused, colorDisabled: colorDisabled, borderRadius: borderRadius, boxShadow: boxShadow, borderColor: borderColor, padding: padding, disabled: disabled, required: required, fullWidth: true, error: shouldShowError, helperText: helperText, slotProps: {
218
+ const theme = useTheme();
219
+ const field = (_b = (_a = theme.pipelinesolucoes) === null || _a === void 0 ? void 0 : _a.forms) === null || _b === void 0 ? void 0 : _b.field;
220
+ // props -> tokens -> fallback
221
+ const bg = (_c = background !== null && background !== void 0 ? background : field === null || field === void 0 ? void 0 : field.background) !== null && _c !== void 0 ? _c : fbbackground;
222
+ const bgFocused = (_d = backgroundFocused !== null && backgroundFocused !== void 0 ? backgroundFocused : field === null || field === void 0 ? void 0 : field.backgroundFocused) !== null && _d !== void 0 ? _d : bg;
223
+ const bgDisabled = (_e = backgroundDisabled !== null && backgroundDisabled !== void 0 ? backgroundDisabled : field === null || field === void 0 ? void 0 : field.backgroundDisabled) !== null && _e !== void 0 ? _e : fbbackgroundDisabled;
224
+ const txt = (_f = color !== null && color !== void 0 ? color : field === null || field === void 0 ? void 0 : field.color) !== null && _f !== void 0 ? _f : fbcolor;
225
+ const txtDisabled = (_g = colorDisabled !== null && colorDisabled !== void 0 ? colorDisabled : field === null || field === void 0 ? void 0 : field.colorDisabled) !== null && _g !== void 0 ? _g : fbcolorDisabled;
226
+ const br = (_h = borderRadius !== null && borderRadius !== void 0 ? borderRadius : field === null || field === void 0 ? void 0 : field.borderRadius) !== null && _h !== void 0 ? _h : fbborderRadius;
227
+ const sh = (_j = boxShadow !== null && boxShadow !== void 0 ? boxShadow : field === null || field === void 0 ? void 0 : field.boxShadow) !== null && _j !== void 0 ? _j : fbboxShadow;
228
+ const bd = (_k = borderColor !== null && borderColor !== void 0 ? borderColor : field === null || field === void 0 ? void 0 : field.borderColor) !== null && _k !== void 0 ? _k : fbborderColor;
229
+ const bdFocused = (_l = colorFocused !== null && colorFocused !== void 0 ? colorFocused : field === null || field === void 0 ? void 0 : field.colorFocused) !== null && _l !== void 0 ? _l : fbcolorFocused;
230
+ const pad = (_m = padding !== null && padding !== void 0 ? padding : field === null || field === void 0 ? void 0 : field.padding) !== null && _m !== void 0 ? _m : fbpadding;
231
+ const typo = (_p = (_o = (textVariant && theme.typography[textVariant])) !== null && _o !== void 0 ? _o : field === null || field === void 0 ? void 0 : field.typography) !== null && _p !== void 0 ? _p : theme.typography.body1;
232
+ const hg = (_q = height !== null && height !== void 0 ? height : field === null || field === void 0 ? void 0 : field.height) !== null && _q !== void 0 ? _q : fbheigth;
233
+ return (_jsx(TextFieldStyled, { type: showPassword ? 'text' : 'password', id: id, typo: typo, label: label, placeholder: placeholder, value: currentValue, background: bg, backgroundFocused: bgFocused, backgroundDisabled: bgDisabled, colorText: txt, colorFocused: bdFocused, colorDisabled: txtDisabled, borderRadius: br, boxShadow: sh, borderColor: bd, padding: pad, height: hg, disabled: disabled, required: required, fullWidth: true, error: shouldShowError, helperText: helperText, slotProps: {
172
234
  input: {
173
- endAdornment: (_jsx(InputAdornment, { position: "end", children: _jsx(IconButton, { onClick: () => setShowPassword((prev) => !prev), edge: "end", "aria-label": showPassword ? 'Ocultar senha' : 'Mostrar senha', children: showPassword ? _jsx(VisibilityOffIcon, {}) : _jsx(VisibilityIcon, {}) }) })),
235
+ endAdornment: (_jsx(InputAdornment, { position: "end", children: _jsx(IconButton, { onClick: () => setShowPassword((prev) => !prev), edge: "end", "aria-label": showPassword ? 'Ocultar senha' : 'Mostrar senha', sx: { margin: '0 16px 0 0' }, children: showPassword ? _jsx(VisibilityOffIcon, {}) : _jsx(VisibilityIcon, {}) }) })),
174
236
  },
175
237
  }, onChange: handleChange, onBlur: handleBlur }));
176
238
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TextFieldPassword.js","sourceRoot":"","sources":["../../src/components/TextFieldPassword.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TextFieldPassword.js","sourceRoot":"","sources":["../../src/components/TextFieldPassword.tsx"],"names":[],"mappings":"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"}
@@ -1,20 +1,13 @@
1
1
  import React from 'react';
2
+ import { TypographyVariant } from '@mui/material/styles';
2
3
  import { BorderProps, ColorProps, LayoutProps } from '@pipelinesolucoes/theme';
3
4
  interface TextFieldValidateProps extends BorderProps, ColorProps, LayoutProps {
4
5
  id?: string;
5
6
  label?: string;
6
7
  placeholder?: string;
7
8
  value?: string;
8
- background?: string;
9
- backgroundDisabled?: string;
10
- color?: string;
11
- colorFocused?: string;
12
- colorDisabled?: string;
13
- borderRadius?: string;
14
- boxShadow?: string;
15
- borderColor?: string;
16
- padding?: string;
17
- margin?: string;
9
+ textVariant?: TypographyVariant;
10
+ backgroundFocused?: string;
18
11
  disabled?: boolean;
19
12
  required?: boolean;
20
13
  requiredMessage?: string;
@@ -30,48 +23,101 @@ interface TextFieldValidateProps extends BorderProps, ColorProps, LayoutProps {
30
23
  onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;
31
24
  }
32
25
  /**
33
- * Componente de campo de texto com validação, baseado no TextField do Material UI.
34
- * Permite personalização visual via `styled` e suporte a validações comuns
35
- * (obrigatório, tamanho mínimo, regex) e validação customizada.
26
+ * Campo de texto com suporte a validações comuns e customizadas, construído
27
+ * sobre o TextField do Material UI e estilizado via Design System da Pipeline.
36
28
  *
37
- * O erro pode ser exibido durante a digitação ou apenas após o campo perder o foco.
29
+ * Funcionalidades principais:
30
+ * - Suporte a modo controlado (`value`)
31
+ * - Validações nativas (obrigatório, tamanho mínimo, regex)
32
+ * - Validação customizada via função
33
+ * - Controle de momento de exibição do erro (`change` ou `blur`)
34
+ * - Suporte a campo multilinha
35
+ * - Customização visual via props e tokens de theme
36
+ *
37
+ * Tokens de estilo (ordem de prioridade):
38
+ * - `prop` do componente
39
+ * - `theme.pipelinesolucoes.forms.field`
40
+ * - Fallback interno (constantes `fb*`)
41
+ *
42
+ * Tipografia:
43
+ * - Suporte à tipografia do Material UI via `textVariant`
44
+ * - Fallback para `theme.pipelinesolucoes.forms.field.typography`
45
+ * - Fallback final para `theme.typography.body1`
46
+ *
47
+ * @param {string} [id] Identificador do campo, repassado ao input do Material UI.
48
+ * @param {string} [label] Texto do rótulo exibido acima do campo.
49
+ * @param {string} [placeholder] Texto exibido quando o campo está vazio.
50
+ * @param {string} [value] Valor atual do campo (modo controlado).
38
51
  *
39
- * @param {string} [id] Id do campo (replicado no input do MUI).
40
- * @param {string} [label] Rótulo exibido acima do campo.
41
- * @param {string} [placeholder] Placeholder exibido quando o campo está vazio.
42
- * @param {string} [value=''] Valor atual do campo (modo controlado).
43
52
  * @param {boolean} [disabled=false] Define se o campo está desabilitado.
44
53
  *
45
- * @param {string} [background='#fff'] Cor de fundo do campo.
46
- * @param {string} [backgroundDisabled='#E5E7EB'] Cor de fundo do campo quando o campo está desabilitado.
47
- * @param {string} [color='#000'] Cor do texto e do label.
48
- * @param {string} [colorFocused='#1976d2'] Cor da borda quando o campo está focado.
49
- * @param {string} [colorDisabled='#9CA3AF'] Cor do texto e do label quando o campo está focado.
50
- * @param {string} [borderColor='#ccc'] Cor da borda no estado normal e hover.
51
- * @param {string} [borderRadius='0'] Raio da borda do campo.
52
- * @param {string} [boxShadow='none'] Sombra aplicada ao campo.
53
- * @param {string} [padding='4px 8px'] Espaçamento interno do input.
54
+ * @param {number} [minLength] Número mínimo de caracteres permitidos.
55
+ * @param {number} [maxLength] Número máximo de caracteres permitidos.
56
+ *
57
+ * @param {boolean} [multiline=false] Define se o campo aceita múltiplas linhas.
58
+ * @param {number} [rows=3] Quantidade de linhas visíveis quando `multiline` está ativo.
59
+ *
60
+ *
61
+ * ### Estilo / Aparência
62
+ *
63
+ * @param {import('@mui/material/styles').TypographyVariant} [textVariant] Variante tipográfica do Material UI aplicada ao texto e placeholder.
64
+ *
65
+ * @param {string} [background]
66
+ * Cor de fundo do campo.
67
+ * Ordem: `background` → `theme.pipelinesolucoes.forms.field.background` → `#fff`.
68
+ *
69
+ * @param {string} [backgroundDisabled]
70
+ * Cor de fundo do campo quando desabilitado.
71
+ * Ordem: `backgroundDisabled` → `theme.pipelinesolucoes.forms.field.backgroundDisabled` → `#E5E7EB`.
72
+ *
73
+ * @param {string} [color]
74
+ * Cor do texto do campo (texto digitado e label).
75
+ * Ordem: `color` → `theme.pipelinesolucoes.forms.field.color` → `#000`.
54
76
  *
55
- * @param {boolean} [multiline=false] Define se o campo é multilinha.
56
- * @param {number} [rows=3] Número de linhas quando `multiline` está ativo.
77
+ * @param {string} [colorFocused]
78
+ * Cor aplicada ao estado focado (usada como cor de borda no focus).
79
+ * Ordem: `colorFocused` → `theme.pipelinesolucoes.forms.field.colorFocused` → `#1976d2`.
80
+ *
81
+ * @param {string} [colorDisabled]
82
+ * Cor do texto do campo quando desabilitado.
83
+ * Ordem: `colorDisabled` → `theme.pipelinesolucoes.forms.field.colorDisabled` → `#9CA3AF`.
84
+ *
85
+ * @param {string} [borderRadius]
86
+ * Raio da borda do campo.
87
+ * Ordem: `borderRadius` → `theme.pipelinesolucoes.forms.field.borderRadius` → `"0"`.
88
+ *
89
+ * @param {string} [boxShadow]
90
+ * Sombra do campo.
91
+ * Ordem: `boxShadow` → `theme.pipelinesolucoes.forms.field.boxShadow` → `"none"`.
92
+ *
93
+ * @param {string} [borderColor]
94
+ * Cor da borda do campo (estado padrão/hover).
95
+ * Ordem: `borderColor` → `theme.pipelinesolucoes.forms.field.borderColor` → `#ccc`.
96
+ *
97
+ * @param {string} [padding]
98
+ * Espaçamento interno do input (aplicado no texto e textarea).
99
+ * Ordem: `padding` → `theme.pipelinesolucoes.forms.field.padding` → `"4px 8px"`.
100
+ *
101
+ * ---
102
+ * ### Validação
57
103
  *
58
104
  * @param {boolean} [required=false] Indica se o campo é obrigatório.
59
- * @param {string} [requiredMessage='Campo obrigatório'] Mensagem exibida quando o campo obrigatório está vazio.
60
- * @param {number} [minLength] Número mínimo de caracteres.
61
- * @param {RegExp | string} [pattern] Expressão regular para validação do valor.
62
- * @param {string} [patternMessage='Formato inválido'] Mensagem exibida quando o pattern não é atendido.
105
+ * @param {string} [requiredMessage] Mensagem exibida quando o campo obrigatório está vazio.
106
+ * @param {RegExp | string} [pattern] Expressão regular utilizada para validação do valor.
107
+ * @param {string} [patternMessage] Mensagem exibida quando o valor não atende ao pattern.
108
+ * @param {'change' | 'blur'} [showErrorOn='blur'] Define quando o erro será exibido.
63
109
  * @param {(value: string) => string | null | undefined} [validate] Função de validação customizada.
64
- * @param {'change' | 'blur'} [showErrorOn='blur'] Momento em que o erro deve ser exibido.
65
110
  *
66
- * @param {number} [maxLength] Limite máximo de caracteres permitido no input.
111
+ * ---
112
+ * ### Eventos
113
+ *
67
114
  * @param {(event: React.ChangeEvent<HTMLInputElement>) => void} [onChange] Callback disparado ao alterar o valor.
68
115
  * @param {(event: React.FocusEvent<HTMLInputElement>) => void} [onBlur] Callback disparado ao perder o foco.
69
116
  *
117
+ * ---
118
+ *
70
119
  * @example
71
120
  * ```tsx
72
- * import React from 'react';
73
- * import TextFieldValidate from '@/components/TextFieldValidate';
74
- *
75
121
  * const Example = () => {
76
122
  * const [email, setEmail] = React.useState('');
77
123
  *
@@ -87,6 +133,7 @@ interface TextFieldValidateProps extends BorderProps, ColorProps, LayoutProps {
87
133
  * showErrorOn="blur"
88
134
  * maxLength={120}
89
135
  * borderRadius="6px"
136
+ * textVariant="subtitle2"
90
137
  * />
91
138
  * );
92
139
  * };