@pipelinesolucoes/form 1.2.0-beta.1 → 1.2.0-beta.12

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 (69) hide show
  1. package/dist/components/NotificationSnackbar.d.ts +1 -2
  2. package/dist/components/NotificationSnackbar.js +1 -1
  3. package/dist/components/NotificationSnackbar.js.map +1 -1
  4. package/dist/components/SelectField.d.ts +73 -0
  5. package/dist/components/SelectField.js +141 -0
  6. package/dist/components/SelectField.js.map +1 -0
  7. package/dist/components/TextFieldPassword.d.ts +144 -76
  8. package/dist/components/TextFieldPassword.js +163 -102
  9. package/dist/components/TextFieldPassword.js.map +1 -1
  10. package/dist/components/TextFieldValidate.d.ts +88 -43
  11. package/dist/components/TextFieldValidate.js +100 -93
  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 -124
  17. package/dist/components/login/FormLogin.js +137 -124
  18. package/dist/components/login/FormLogin.js.map +1 -1
  19. package/dist/components/login/FormPasswordRecovery.d.ts +97 -110
  20. package/dist/components/login/FormPasswordRecovery.js +132 -105
  21. package/dist/components/login/FormPasswordRecovery.js.map +1 -1
  22. package/dist/components/login/FormSignUp.d.ts +114 -127
  23. package/dist/components/login/FormSignUp.js +138 -134
  24. package/dist/components/login/FormSignUp.js.map +1 -1
  25. package/dist/components/login/GoogleButton.d.ts +1 -4
  26. package/dist/components/login/GoogleButton.js.map +1 -1
  27. package/dist/components/login/StyleLogin.d.ts +14 -0
  28. package/dist/components/login/StyleLogin.js +57 -0
  29. package/dist/components/login/StyleLogin.js.map +1 -0
  30. package/dist/components/{FormStyled.d.ts → recaptcha/FormStyled.d.ts} +0 -7
  31. package/dist/components/{FormStyled.js → recaptcha/FormStyled.js} +0 -13
  32. package/dist/components/recaptcha/FormStyled.js.map +1 -0
  33. package/dist/components/recaptcha/RecaptchaForm.js +1 -1
  34. package/dist/components/recaptcha/RecaptchaForm.js.map +1 -1
  35. package/dist/constant.d.ts +9 -0
  36. package/dist/constant.js +10 -0
  37. package/dist/constant.js.map +1 -0
  38. package/dist/index.d.ts +1 -4
  39. package/dist/index.js +1 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/style/ButtonFormStyled.js +22 -0
  42. package/dist/style/ButtonFormStyled.js.map +1 -0
  43. package/dist/style/LinkFormStyled.d.ts +7 -0
  44. package/dist/style/LinkFormStyled.js +15 -0
  45. package/dist/style/LinkFormStyled.js.map +1 -0
  46. package/dist/style/TextFieldStyle.d.ts +16 -0
  47. package/dist/style/TextFieldStyle.js +57 -0
  48. package/dist/style/TextFieldStyle.js.map +1 -0
  49. package/dist/theme.js +46 -18
  50. package/dist/theme.js.map +1 -1
  51. package/dist/tsconfig.tsbuildinfo +1 -1
  52. package/dist/types/FieldProps.d.ts +4 -0
  53. package/package.json +5 -3
  54. package/dist/components/ButtonFormStyled.js +0 -22
  55. package/dist/components/ButtonFormStyled.js.map +0 -1
  56. package/dist/components/FormStyled.js.map +0 -1
  57. package/dist/types/BorderProps.d.ts +0 -6
  58. package/dist/types/BorderProps.js +0 -2
  59. package/dist/types/BorderProps.js.map +0 -1
  60. package/dist/types/ColorProps.d.ts +0 -9
  61. package/dist/types/ColorProps.js +0 -2
  62. package/dist/types/ColorProps.js.map +0 -1
  63. package/dist/types/LayoutProps.d.ts +0 -7
  64. package/dist/types/LayoutProps.js +0 -2
  65. package/dist/types/LayoutProps.js.map +0 -1
  66. package/dist/types/TextProps.d.ts +0 -5
  67. package/dist/types/TextProps.js +0 -2
  68. package/dist/types/TextProps.js.map +0 -1
  69. /package/dist/{components → style}/ButtonFormStyled.d.ts +0 -0
@@ -1,21 +1,14 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useState } from 'react';
4
- import { styled } from '@mui/material/styles';
5
- import { Box, Divider, Typography } from '@mui/material';
6
- import { LinkFormStyled } from '../FormStyled';
7
- import { ButtonFormStyled } from '../ButtonFormStyled';
4
+ import { styled, useTheme } from '@mui/material/styles';
5
+ import { Divider, Typography } from '@mui/material';
6
+ import { ButtonFormStyled } from '../../style/ButtonFormStyled';
8
7
  import { validateEmailMessage } from '../../utils/validateEmail';
9
8
  import TextFieldValidate from '../TextFieldValidate';
10
9
  import TextFieldPassword from '../TextFieldPassword';
11
- const FormContainer = styled('div')(() => ({
12
- display: 'flex',
13
- flexDirection: 'column',
14
- gap: '16px',
15
- width: '100%',
16
- margin: 'auto',
17
- padding: '0px',
18
- }));
10
+ import { LinkFormStyled } from '../../style/LinkFormStyled';
11
+ import { DivCampos, DivLink, DivTitulo, FormContainer, StyledRoot } from './StyleLogin';
19
12
  const DivPassword = styled('div')(() => ({
20
13
  display: 'flex',
21
14
  flexDirection: 'column',
@@ -24,134 +17,156 @@ const DivPassword = styled('div')(() => ({
24
17
  margin: '0',
25
18
  padding: '0',
26
19
  }));
27
- const DivTitulo = styled('div')(() => ({
28
- display: 'flex',
29
- flexDirection: 'column',
30
- gap: '8px',
31
- width: '100%',
32
- margin: '0',
33
- padding: '0',
34
- alignItems: 'center',
35
- justifyContent: 'center',
36
- }));
37
- const DivLink = styled('div', {
38
- shouldForwardProp: (prop) => !['text_color', 'align'].includes(prop),
39
- })(({ text_color, align }) => ({
40
- display: 'flex',
41
- flexDirection: 'row',
42
- alignItems: 'center',
43
- justifyContent: align,
44
- width: '100%',
45
- padding: '0',
46
- flex: '1',
47
- color: text_color,
48
- }));
49
- const DivCampos = styled('div')(() => ({
50
- display: 'flex',
51
- flexDirection: 'column',
52
- gap: '4px',
53
- width: '100%',
54
- margin: '0',
55
- padding: '0',
56
- alignItems: 'center',
57
- justifyContent: 'center',
58
- }));
59
20
  /**
60
- * Componente de formulário de login com suporte a autenticação via Google e login por email/senha.
61
- * Inclui validação básica de email, exibição de mensagens de erro/sucesso retornadas pelo handler `onClick`
62
- * e customização visual via props (container, campos, botão e links).
63
- *
64
- * @param {string} urlRecuperarConta URL para a página de recuperação de conta/senha. Obrigatório.
65
- * @param {string} urlCriarConta URL para a página de criação de conta. Obrigatório.
66
- * @param {React.ElementType<SvgIconProps>} [Icon] Ícone opcional (MUI SvgIcon) exibido no topo do formulário.
67
- * @param {() => React.ReactElement} [titulo] Função que retorna o conteúdo do título exibido no topo do formulário.
68
- * @param {() => React.ReactElement} googleButton Função que retorna o botão de login com Google. Obrigatório.
69
- *
70
- * @param {string} color Cor usada em alguns textos/containers auxiliares (ex.: wrapper dos links). Obrigatório.
71
- * @param {string} [background='transparent'] Cor de fundo do container principal.
72
- * @param {string} [borderRadius='0'] Raio da borda do container principal.
73
- * @param {string} [border='none'] Borda do container principal.
74
- * @param {string} [boxShadow='none'] Sombra do container principal.
75
- *
76
- * @param {string} [backgroundField='transparent'] Fundo dos campos (email/senha).
77
- * @param {string} [colorField='#000'] Cor do texto dos campos (email/senha).
78
- * @param {string} [colorFocusedField] Cor do estado focado do campo (se suportado pelos campos internos).
79
- * @param {string} [borderRadiusField='0px'] Raio da borda dos campos.
80
- * @param {string} [boxShadowField='none'] Sombra dos campos.
81
- * @param {string} [borderColorField='#ccc'] Cor da borda dos campos.
82
- * @param {string} [paddingField='4px 8px'] Espaçamento interno dos campos.
83
- *
84
- * @param {string} [textButton='Enviar'] Texto do botão principal.
85
- * @param {TypographyVariant} [variantButton='body1'] Variante do Typography usada no texto do botão.
86
- * @param {string} [backgroundButton='transparent'] Fundo do botão principal.
87
- * @param {string} [backgroundHoverButton='transparent'] Fundo do botão no hover.
88
- * @param {string} [colorButton='#000'] Cor do texto do botão.
89
- * @param {string} [colorHoverButton='#000'] Cor do texto do botão no hover.
90
- * @param {string} [borderRadiusButton='0'] Raio da borda do botão.
91
- * @param {string} [borderButton='none'] Borda do botão.
92
- * @param {string} [boxShadowButton='none'] Sombra do botão.
93
- * @param {string} [widthButton='auto'] Largura do botão.
94
- * @param {string} [heightButton='auto'] Altura do botão.
95
- * @param {string} [paddingButton='4px 24px'] Padding do botão.
96
- * @param {string} [marginButton='0'] Margem do botão.
21
+ * Componente de formulário de login completo, com suporte a:
22
+ * autenticação por email/senha, botão de login social (ex: Google),
23
+ * validação básica de campos, exibição de mensagens de sucesso/erro
24
+ * e customização visual via props ou tema.
25
+ *
26
+ * @param {string} urlRecuperarConta URL para a página de recuperação de senha.
27
+ *
28
+ * @param {string} urlCriarConta URL para a página de criação de conta.
29
+ *
30
+ * @param {React.ElementType<SvgIconProps>} [Icon] Ícone exibido no topo do formulário.
31
+ *
32
+ * @param {() => React.ReactElement} [titulo] Função que retorna o título do formulário.
33
+ *
34
+ * @param {() => React.ReactElement} googleButton Função que renderiza o botão de login social.
97
35
  *
98
- * @param {string} color_message_sucess Cor padrão para mensagem de sucesso (caso `onClick` não retorne `color`). Obrigatório.
99
- * @param {string} color_message_erro Cor padrão para mensagem de erro (caso `onClick` não retorne `color`). Obrigatório.
100
- * @param {string} color_link Cor aplicada nos links "Esqueceu sua senha?" e "Criar conta". Obrigatório.
101
- * @param {string} color_separador Cor da linha separadora (Divider). Obrigatório.
36
+ * @param {string} [textButton='Enviar'] Texto exibido no botão principal de submit.
37
+ * @param {TypographyVariant} [variantButton='body1'] Variante tipográfica usada nos textos do botão e links.
102
38
  *
103
39
  * @param {(data: { email: string; password: string }) => Promise<ClickResult> | ClickResult} [onClick]
104
- * Handler chamado ao submeter o formulário. Recebe `{ email, password }` e deve retornar um `ClickResult`.
105
- * - Se `success` for `true`, exibe `message` com `color_message_sucess` (ou `result.color` se fornecida)
106
- * - Se `success` for `false`, exibe `message` com `color_message_erro` (ou `result.color` se fornecida)
107
- * Se não for informado, o componente exibirá a mensagem: "Nenhuma ação foi configurada para o botão.".
40
+ * Callback executado ao submeter o formulário. Deve retornar um objeto com sucesso, mensagem e cor opcional.
41
+ *
42
+ * @param {React.ReactNode} [children] Conteúdo adicional renderizado abaixo do formulário.
43
+ *
44
+ * @param {string} [colorLink] Cor dos links de ação (criar conta / recuperar senha).
45
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
46
+ *
47
+ * @param {string} [divider] Cor do divisor visual entre login social e formulário.
48
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
49
+ *
50
+ * @param {string} [background] Cor de fundo do container principal do formulário.
51
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
52
+ *
53
+ * @param {string | number} [borderRadius] Raio da borda do container principal do formulário.
54
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
55
+ *
56
+ * @param {string} [border] Borda do container principal do formulário.
57
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
58
+ *
59
+ * @param {string} [boxShadow] Sombra do container principal do formulário.
60
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
61
+ *
62
+ * @param {string} [maxWidth] Largura Máxima do container principal do formulário.
63
+ *
64
+ * @param {string} [backgroundField] Cor de fundo dos campos de formulário.
65
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
66
+ *
67
+ * @param {string} [colorField] Cor do texto dos campos de formulário.
68
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
69
+ *
70
+ * @param {string | number} [borderRadiusField] Raio da borda dos campos de formulário.
71
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
72
+ *
73
+ * @param {string} [boxShadowField] Sombra aplicada aos campos de formulário.
74
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
75
+ *
76
+ * @param {string} [borderColorField] Cor da borda dos campos de formulário.
77
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
78
+ *
79
+ * @param {string | number} [paddingField] Espaçamento interno dos campos de formulário.
80
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
81
+ *
82
+ * @param {string | number} [marginField] Margem externa dos campos de formulário.
83
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
84
+ *
85
+ * @param {string} [textButton='Enviar'] Texto exibido no botão principal do formulário.
86
+ *
87
+ * @param {TypographyVariant} [variantButton='body1'] Variante tipográfica utilizada no texto do botão e links.
88
+ *
89
+ * @param {string} [backgroundButton] Cor de fundo do botão.
90
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
91
+ *
92
+ * @param {string} [backgroundHoverButton] Cor de fundo do botão ao passar o mouse.
93
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
94
+ *
95
+ * @param {string} [colorButton] Cor do texto do botão.
96
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
97
+ *
98
+ * @param {string} [colorHoverButton] Cor do texto do botão ao passar o mouse.
99
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
100
+ *
101
+ * @param {string | number} [borderRadiusButton] Raio da borda do botão.
102
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
103
+ *
104
+ * @param {string} [borderButton='none'] Borda do botão.
105
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
106
+ *
107
+ * @param {string} [boxShadowButton] Sombra aplicada ao botão.
108
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
109
+ *
110
+ * @param {string | number} [widthButton='auto'] Largura do botão.
111
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
112
+ *
113
+ * @param {string | number} [heightButton='auto'] Altura do botão.
114
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
108
115
  *
109
- * @param {React.ReactNode} [children] Conteúdo extra renderizado ao final do container (abaixo da mensagem).
116
+ * @param {string | number} [paddingButton] Espaçamento interno do botão.
117
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
110
118
  *
119
+ * @param {string | number} [marginButton='0'] Margem externa do botão.
120
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
121
+
122
+
111
123
  * @example
112
124
  * ```tsx
113
- * import FormLogin from '@/components/FormLogin';
114
- * import LockOutlinedIcon from '@mui/icons-material/LockOutlined';
115
- * import { Button } from '@mui/material';
125
+ * import { FormLogin } from '@/components/FormLogin';
126
+ * import GoogleIcon from '@mui/icons-material/Google';
116
127
  *
117
- * export default function Example() {
128
+ * const Example = () => {
118
129
  * return (
119
130
  * <FormLogin
120
- * urlRecuperarConta="/recuperar"
121
- * urlCriarConta="/cadastro"
122
- * Icon={LockOutlinedIcon}
123
- * titulo={() => <h2>Entrar</h2>}
124
- * googleButton={() => <Button variant="outlined">Continuar com Google</Button>}
125
- * color="#111"
126
- * background="#fff"
127
- * borderRadius="12px"
128
- * boxShadow="0 10px 30px rgba(0,0,0,0.08)"
129
- * backgroundField="#fafafa"
130
- * borderColorField="#e0e0e0"
131
- * paddingField="10px 12px"
132
- * textButton="Acessar"
133
- * backgroundButton="#111"
134
- * backgroundHoverButton="#000"
135
- * colorButton="#fff"
136
- * colorHoverButton="#fff"
137
- * borderRadiusButton="10px"
138
- * paddingButton="10px 16px"
139
- * color_message_sucess="#1b5e20"
140
- * color_message_erro="#b71c1c"
141
- * color_link="#1976d2"
142
- * color_separador="#e0e0e0"
131
+ * urlCriarConta="/criar-conta"
132
+ * urlRecuperarConta="/recuperar-senha"
133
+ * googleButton={() => <button>Entrar com Google</button>}
143
134
  * onClick={async ({ email, password }) => {
144
- * if (email === 'teste@exemplo.com' && password === '123') {
135
+ * if (email === 'teste@teste.com' && password === '123') {
145
136
  * return { success: true, message: 'Login realizado com sucesso!' };
146
137
  * }
147
- * return { success: false, message: 'Email ou senha inválidos.' };
138
+ * return { success: false, message: 'Credenciais inválidas.' };
148
139
  * }}
149
140
  * />
150
141
  * );
151
- * }
142
+ * };
152
143
  * ```
153
144
  */
154
- const FormLogin = ({ urlRecuperarConta, urlCriarConta, Icon, titulo, googleButton, color, background = 'transparent', borderRadius = '0', border = 'none', boxShadow = 'none', backgroundField = 'transparent', colorField = '#000', borderRadiusField = '0px', boxShadowField = 'none', borderColorField = '#ccc', paddingField = '4px 8px', textButton = 'Enviar', variantButton = 'body1', backgroundButton = 'transparent', backgroundHoverButton = 'transparent', colorButton = '#000', colorHoverButton = '#000', borderRadiusButton = '0', borderButton = 'none', boxShadowButton = 'none', widthButton = 'auto', heightButton = 'auto', paddingButton = '4px 24px', marginButton = '0', color_message_sucess, color_message_erro, color_link, color_separador, onClick, children, }) => {
145
+ const FormLogin = ({ urlCriarConta, urlRecuperarConta, Icon, titulo, googleButton, background, borderRadius, border, boxShadow, maxWidth, backgroundField, colorField, borderRadiusField, boxShadowField, borderColorField, paddingField, marginField, textButton = 'Enviar', variantButton = 'body1', backgroundButton, backgroundHoverButton, colorButton, colorHoverButton, borderRadiusButton, borderButton = 'none', boxShadowButton, widthButton = 'auto', heightButton = 'auto', paddingButton, marginButton = '0', colorLink, divider, onClick, children, }) => {
146
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70;
147
+ const theme = useTheme();
148
+ const color_message_sucess = theme.palette.success.main;
149
+ const color_message_erro = theme.palette.error.main;
150
+ const bContainer = (_d = background !== null && background !== void 0 ? background : (_c = (_b = (_a = theme === null || theme === void 0 ? void 0 : theme.pipelinesolucoes) === null || _a === void 0 ? void 0 : _a.forms) === null || _b === void 0 ? void 0 : _b.login) === null || _c === void 0 ? void 0 : _c.background) !== null && _d !== void 0 ? _d : 'transparent';
151
+ const brContainer = (_h = borderRadius !== null && borderRadius !== void 0 ? borderRadius : (_g = (_f = (_e = theme === null || theme === void 0 ? void 0 : theme.pipelinesolucoes) === null || _e === void 0 ? void 0 : _e.forms) === null || _f === void 0 ? void 0 : _f.login) === null || _g === void 0 ? void 0 : _g.borderRadius) !== null && _h !== void 0 ? _h : '0';
152
+ const bdContainer = (_m = border !== null && border !== void 0 ? border : (_l = (_k = (_j = theme === null || theme === void 0 ? void 0 : theme.pipelinesolucoes) === null || _j === void 0 ? void 0 : _j.forms) === null || _k === void 0 ? void 0 : _k.login) === null || _l === void 0 ? void 0 : _l.border) !== null && _m !== void 0 ? _m : '0';
153
+ const bsContainer = (_r = boxShadow !== null && boxShadow !== void 0 ? boxShadow : (_q = (_p = (_o = theme === null || theme === void 0 ? void 0 : theme.pipelinesolucoes) === null || _o === void 0 ? void 0 : _o.forms) === null || _p === void 0 ? void 0 : _p.login) === null || _q === void 0 ? void 0 : _q.boxShadow) !== null && _r !== void 0 ? _r : 'none';
154
+ const bField = (_w = backgroundField !== null && backgroundField !== void 0 ? backgroundField : (_v = (_u = (_t = (_s = theme === null || theme === void 0 ? void 0 : theme.pipelinesolucoes) === null || _s === void 0 ? void 0 : _s.forms) === null || _t === void 0 ? void 0 : _t.login) === null || _u === void 0 ? void 0 : _u.field) === null || _v === void 0 ? void 0 : _v.background) !== null && _w !== void 0 ? _w : undefined;
155
+ const cField = (_1 = colorField !== null && colorField !== void 0 ? colorField : (_0 = (_z = (_y = (_x = theme === null || theme === void 0 ? void 0 : theme.pipelinesolucoes) === null || _x === void 0 ? void 0 : _x.forms) === null || _y === void 0 ? void 0 : _y.login) === null || _z === void 0 ? void 0 : _z.field) === null || _0 === void 0 ? void 0 : _0.color) !== null && _1 !== void 0 ? _1 : undefined;
156
+ const brField = (_6 = borderRadiusField !== null && borderRadiusField !== void 0 ? borderRadiusField : (_5 = (_4 = (_3 = (_2 = theme === null || theme === void 0 ? void 0 : theme.pipelinesolucoes) === null || _2 === void 0 ? void 0 : _2.forms) === null || _3 === void 0 ? void 0 : _3.login) === null || _4 === void 0 ? void 0 : _4.field) === null || _5 === void 0 ? void 0 : _5.borderRadius) !== null && _6 !== void 0 ? _6 : undefined;
157
+ const bsField = (_11 = boxShadowField !== null && boxShadowField !== void 0 ? boxShadowField : (_10 = (_9 = (_8 = (_7 = theme === null || theme === void 0 ? void 0 : theme.pipelinesolucoes) === null || _7 === void 0 ? void 0 : _7.forms) === null || _8 === void 0 ? void 0 : _8.login) === null || _9 === void 0 ? void 0 : _9.field) === null || _10 === void 0 ? void 0 : _10.boxShadow) !== null && _11 !== void 0 ? _11 : undefined;
158
+ const bcField = (_16 = borderColorField !== null && borderColorField !== void 0 ? borderColorField : (_15 = (_14 = (_13 = (_12 = theme === null || theme === void 0 ? void 0 : theme.pipelinesolucoes) === null || _12 === void 0 ? void 0 : _12.forms) === null || _13 === void 0 ? void 0 : _13.login) === null || _14 === void 0 ? void 0 : _14.field) === null || _15 === void 0 ? void 0 : _15.borderColor) !== null && _16 !== void 0 ? _16 : undefined;
159
+ const pField = (_21 = paddingField !== null && paddingField !== void 0 ? paddingField : (_20 = (_19 = (_18 = (_17 = theme === null || theme === void 0 ? void 0 : theme.pipelinesolucoes) === null || _17 === void 0 ? void 0 : _17.forms) === null || _18 === void 0 ? void 0 : _18.login) === null || _19 === void 0 ? void 0 : _19.field) === null || _20 === void 0 ? void 0 : _20.padding) !== null && _21 !== void 0 ? _21 : undefined;
160
+ const mgField = (_26 = marginField !== null && marginField !== void 0 ? marginField : (_25 = (_24 = (_23 = (_22 = theme === null || theme === void 0 ? void 0 : theme.pipelinesolucoes) === null || _22 === void 0 ? void 0 : _22.forms) === null || _23 === void 0 ? void 0 : _23.login) === null || _24 === void 0 ? void 0 : _24.field) === null || _25 === void 0 ? void 0 : _25.margin) !== null && _26 !== void 0 ? _26 : undefined;
161
+ const bgButton = (_31 = backgroundButton !== null && backgroundButton !== void 0 ? backgroundButton : (_30 = (_29 = (_28 = (_27 = theme === null || theme === void 0 ? void 0 : theme.pipelinesolucoes) === null || _27 === void 0 ? void 0 : _27.forms) === null || _28 === void 0 ? void 0 : _28.login) === null || _29 === void 0 ? void 0 : _29.button) === null || _30 === void 0 ? void 0 : _30.background) !== null && _31 !== void 0 ? _31 : undefined;
162
+ const bgHoverButton = (_36 = backgroundHoverButton !== null && backgroundHoverButton !== void 0 ? backgroundHoverButton : (_35 = (_34 = (_33 = (_32 = theme === null || theme === void 0 ? void 0 : theme.pipelinesolucoes) === null || _32 === void 0 ? void 0 : _32.forms) === null || _33 === void 0 ? void 0 : _33.login) === null || _34 === void 0 ? void 0 : _34.button) === null || _35 === void 0 ? void 0 : _35.backgroundHover) !== null && _36 !== void 0 ? _36 : undefined;
163
+ const cButton = (_41 = colorButton !== null && colorButton !== void 0 ? colorButton : (_40 = (_39 = (_38 = (_37 = theme === null || theme === void 0 ? void 0 : theme.pipelinesolucoes) === null || _37 === void 0 ? void 0 : _37.forms) === null || _38 === void 0 ? void 0 : _38.login) === null || _39 === void 0 ? void 0 : _39.button) === null || _40 === void 0 ? void 0 : _40.color) !== null && _41 !== void 0 ? _41 : undefined;
164
+ const cHoverButton = (_46 = colorHoverButton !== null && colorHoverButton !== void 0 ? colorHoverButton : (_45 = (_44 = (_43 = (_42 = theme === null || theme === void 0 ? void 0 : theme.pipelinesolucoes) === null || _42 === void 0 ? void 0 : _42.forms) === null || _43 === void 0 ? void 0 : _43.login) === null || _44 === void 0 ? void 0 : _44.button) === null || _45 === void 0 ? void 0 : _45.colorHover) !== null && _46 !== void 0 ? _46 : undefined;
165
+ const brButton = (_51 = borderRadiusButton !== null && borderRadiusButton !== void 0 ? borderRadiusButton : (_50 = (_49 = (_48 = (_47 = theme === null || theme === void 0 ? void 0 : theme.pipelinesolucoes) === null || _47 === void 0 ? void 0 : _47.forms) === null || _48 === void 0 ? void 0 : _48.login) === null || _49 === void 0 ? void 0 : _49.button) === null || _50 === void 0 ? void 0 : _50.borderRadius) !== null && _51 !== void 0 ? _51 : undefined;
166
+ const bsButton = (_56 = boxShadowButton !== null && boxShadowButton !== void 0 ? boxShadowButton : (_55 = (_54 = (_53 = (_52 = theme === null || theme === void 0 ? void 0 : theme.pipelinesolucoes) === null || _52 === void 0 ? void 0 : _52.forms) === null || _53 === void 0 ? void 0 : _53.login) === null || _54 === void 0 ? void 0 : _54.button) === null || _55 === void 0 ? void 0 : _55.boxShadow) !== null && _56 !== void 0 ? _56 : undefined;
167
+ const pButton = (_61 = paddingButton !== null && paddingButton !== void 0 ? paddingButton : (_60 = (_59 = (_58 = (_57 = theme === null || theme === void 0 ? void 0 : theme.pipelinesolucoes) === null || _57 === void 0 ? void 0 : _57.forms) === null || _58 === void 0 ? void 0 : _58.login) === null || _59 === void 0 ? void 0 : _59.button) === null || _60 === void 0 ? void 0 : _60.padding) !== null && _61 !== void 0 ? _61 : undefined;
168
+ const cdivider = (_65 = divider !== null && divider !== void 0 ? divider : (_64 = (_63 = (_62 = theme === null || theme === void 0 ? void 0 : theme.pipelinesolucoes) === null || _62 === void 0 ? void 0 : _62.forms) === null || _63 === void 0 ? void 0 : _63.login) === null || _64 === void 0 ? void 0 : _64.divider) !== null && _65 !== void 0 ? _65 : undefined;
169
+ const cLink = (_70 = colorLink !== null && colorLink !== void 0 ? colorLink : (_69 = (_68 = (_67 = (_66 = theme === null || theme === void 0 ? void 0 : theme.pipelinesolucoes) === null || _66 === void 0 ? void 0 : _66.forms) === null || _67 === void 0 ? void 0 : _67.login) === null || _68 === void 0 ? void 0 : _68.link) === null || _69 === void 0 ? void 0 : _69.color) !== null && _70 !== void 0 ? _70 : undefined;
155
170
  const [mensagemApi, setMensagemApi] = useState('');
156
171
  const [corMensagemApi, setCorMensagemApi] = useState(color_message_erro);
157
172
  const [email, setEmail] = useState('');
@@ -200,9 +215,7 @@ const FormLogin = ({ urlRecuperarConta, urlCriarConta, Icon, titulo, googleButto
200
215
  setIsLoading(false);
201
216
  }
202
217
  };
203
- return (_jsxs(Box, { display: "flex", flexDirection: "column", justifyContent: "center", gap: "24px", flex: 1, sx: { padding: '24px', borderRadius: borderRadius,
204
- background: background, border: border,
205
- boxShadow: boxShadow }, children: [(Icon || titulo) && (_jsxs(DivTitulo, { children: [Icon && _jsx(Icon, {}), titulo && titulo()] })), _jsxs(FormContainer, { children: [googleButton && googleButton(), _jsx(Divider, { sx: { borderColor: color_separador }, children: "ou" }), _jsxs(DivCampos, { children: [_jsx(TextFieldValidate, { id: "email", label: "Email", placeholder: "Email", background: backgroundField, color: colorField, borderRadius: borderRadiusField, borderColor: borderColorField, boxShadow: boxShadowField, padding: paddingField, value: email, onChange: (e) => setEmail(e.target.value), required: true, requiredMessage: "Campo obrigat\u00F3rio", validate: validateEmailMessage, showErrorOn: "blur" }), _jsxs(DivPassword, { children: [_jsx(TextFieldPassword, { id: "password", label: "Senha", placeholder: "Senha", required: true, background: backgroundField, color: colorField, borderRadius: borderRadiusField, borderColor: borderColorField, boxShadow: boxShadowField, padding: paddingField, value: password, onPasswordChange: (p) => setPassword(p) }), _jsx(DivLink, { text_color: color, align: "flex-start", children: _jsx(LinkFormStyled, { href: urlRecuperarConta, width: "auto", height: "auto", text_color: color_link, font_size: "0.8rem", children: "Esqueceu sua senha?" }) })] })] }), _jsx(ButtonFormStyled, { backgroundButton: backgroundButton, backgroundHoverButton: backgroundHoverButton, colorButton: colorButton, colorHoverButton: colorHoverButton, borderRadiusButton: borderRadiusButton, borderButton: borderButton, boxShadowButton: boxShadowButton, widthButton: widthButton, heightButton: heightButton, paddingButton: paddingButton, marginButton: marginButton, disabled: isLoading, onClick: handleClick, children: isLoading ? ('Enviando...') : (_jsx(Typography, { variant: variantButton, component: "span", children: textButton })) }), _jsx(DivLink, { text_color: color, align: "center", children: _jsx(LinkFormStyled, { href: urlCriarConta, width: "auto", height: "100%", text_color: color_link, margin: "0", children: "Criar conta" }) })] }), mensagemApi && (_jsx(Typography, { variant: "body2", sx: { color: corMensagemApi }, children: mensagemApi })), children] }));
218
+ return (_jsxs(StyledRoot, { background: bContainer, border_radius: brContainer, box_shadow: bsContainer, border: bdContainer, maxWidth: maxWidth, children: [(Icon || titulo) && (_jsxs(DivTitulo, { children: [Icon && _jsx(Icon, {}), titulo && titulo()] })), _jsxs(FormContainer, { children: [googleButton && googleButton(), _jsx(Divider, { sx: { borderColor: cdivider }, children: "ou" }), _jsxs(DivCampos, { children: [_jsx(TextFieldValidate, { id: "email", label: "Email", placeholder: "Email", background: bField, color: cField, borderRadius: brField, borderColor: bcField, boxShadow: bsField, padding: pField, margin: mgField, value: email, onChange: (e) => setEmail(e.target.value), required: true, requiredMessage: "email obrigat\u00F3rio", validate: validateEmailMessage, showErrorOn: "blur" }), _jsxs(DivPassword, { children: [_jsx(TextFieldPassword, { id: "password", label: "Senha", placeholder: "Senha", required: true, background: bField, color: cField, borderRadius: brField, borderColor: bcField, boxShadow: bsField, padding: pField, margin: mgField, value: password, onPasswordChange: (p) => setPassword(p) }), _jsx(DivLink, { align: "flex-start", children: _jsx(LinkFormStyled, { href: urlRecuperarConta, text_color: cLink, children: _jsx(Typography, { variant: variantButton, component: 'span', sx: { fontSize: "0.8rem" }, children: "Esqueceu sua senha?" }) }) })] })] }), _jsx(ButtonFormStyled, { backgroundButton: bgButton, backgroundHoverButton: bgHoverButton, colorButton: cButton, colorHoverButton: cHoverButton, borderRadiusButton: brButton, borderButton: borderButton, boxShadowButton: bsButton, widthButton: widthButton, heightButton: heightButton, paddingButton: pButton, marginButton: marginButton, disabled: isLoading, onClick: handleClick, children: isLoading ? ('Enviando...') : (_jsx(Typography, { variant: variantButton, component: "span", children: textButton })) }), _jsx(DivLink, { children: _jsx(LinkFormStyled, { href: urlCriarConta, text_color: cLink, children: _jsx(Typography, { variant: variantButton, component: 'span', children: "Criar conta" }) }) })] }), mensagemApi && (_jsx(Typography, { variant: "body2", sx: { color: corMensagemApi }, children: mensagemApi })), children] }));
206
219
  };
207
220
  export default FormLogin;
208
221
  //# sourceMappingURL=FormLogin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormLogin.js","sourceRoot":"","sources":["../../../src/components/login/FormLogin.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormLogin.js","sourceRoot":"","sources":["../../../src/components/login/FormLogin.tsx"],"names":[],"mappings":"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"}
@@ -2,138 +2,125 @@ import React from 'react';
2
2
  import { TypographyVariant } from '@mui/material/styles';
3
3
  import { SvgIconProps } from '@mui/material';
4
4
  import { ButtonProps } from '../../types/ButtonProps';
5
- import { ColorProps } from '../../types/ColorProps';
6
- import { BorderProps } from '../../types/BorderProps';
7
5
  import { FieldProps } from '../../types/FieldProps';
8
- interface RecuperarSenhaSubmitResult {
9
- success: boolean;
10
- message: string;
11
- }
12
- interface FormPasswordRecoveryProps extends ButtonProps, ColorProps, BorderProps, FieldProps {
6
+ import { BorderProps, ColorProps, LayoutProps } from '@pipelinesolucoes/theme';
7
+ import { ClickResult } from './ClickResult';
8
+ interface FormPasswordRecoveryProps extends ButtonProps, ColorProps, BorderProps, FieldProps, LayoutProps {
13
9
  Icon?: React.ElementType<SvgIconProps>;
14
10
  titulo?: () => React.ReactElement;
15
11
  subTitulo?: () => React.ReactElement;
16
- background?: string;
17
- borderRadius?: string;
18
- backgroundField?: string;
19
- colorField?: string;
20
- colorFocusedField?: string;
21
- borderRadiusField?: string;
22
- boxShadowField?: string;
23
- borderColorField?: string;
24
- paddingField?: string;
25
12
  textButton?: string;
26
13
  variantButton?: TypographyVariant;
27
- backgroundButton?: string;
28
- backgroundHoverButton?: string;
29
- colorButton?: string;
30
- colorHoverButton?: string;
31
- borderRadiusButton?: string;
32
- borderButton?: string;
33
- boxShadowButton?: string;
34
- widthButton?: string;
35
- heightButton?: string;
36
- paddingButton?: string;
37
- marginButton?: string;
38
- color_message_sucess: string;
39
- color_message_erro: string;
40
- /**
41
- * Callback assíncrono obrigatório: deve retornar sempre { success, message }.
42
- * A mensagem exibida no componente virá SEMPRE daqui.
43
- */
44
- onSubmit: (email: string) => Promise<RecuperarSenhaSubmitResult>;
45
- /**
46
- * Callback opcional com o resultado final do submit.
47
- */
48
- onResult?: (success: boolean) => void;
14
+ onClick: (email: string) => Promise<ClickResult>;
49
15
  children?: React.ReactNode;
50
16
  }
51
17
  /**
52
- * Componente de formulário para recuperação de senha via e-mail.
53
- * Faz a validação do e-mail, dispara um `onSubmit` assíncrono (obrigatório) e exibe a mensagem retornada.
54
- *
55
- * @param {React.ElementType<SvgIconProps>} [Icon] Ícone do Material UI exibido no topo do formulário.
56
- * @param {() => React.ReactElement} [titulo] Função que renderiza o título (ex.: <Typography />).
57
- * @param {() => React.ReactElement} [subTitulo] Função que renderiza o subtítulo (ex.: <Typography />).
58
- *
59
- * @param {string} [background='transparent'] Cor/estilo de fundo do container externo.
60
- * @param {string} [borderRadius='0px'] Borda arredondada do container externo.
61
- *
62
- * @param {string} [backgroundField='transparent'] Cor/estilo de fundo do campo de e-mail.
63
- * @param {string} [colorField='#000'] Cor do texto do campo de e-mail.
64
- * @param {string} [borderRadiusField='0px'] Borda arredondada do campo de e-mail.
65
- * @param {string} [boxShadowField='none'] Sombra do campo de e-mail.
66
- * @param {string} [borderColorField='#ccc'] Cor da borda do campo de e-mail.
67
- * @param {string} [paddingField='4px 8px'] Espaçamento interno do campo de e-mail.
68
- *
69
- * @param {string} [textButton='Enviar'] Texto exibido no botão quando não está carregando.
70
- * @param {TypographyVariant} [variantButton='body1'] Variant do Typography usado dentro do botão.
71
- * @param {string} [backgroundButton='transparent'] Cor/estilo de fundo do botão.
72
- * @param {string} [backgroundHoverButton='transparent'] Cor/estilo de fundo do botão no hover.
73
- * @param {string} [colorButton='#000'] Cor do texto do botão.
74
- * @param {string} [colorHoverButton='#000'] Cor do texto do botão no hover.
75
- * @param {string} [borderRadiusButton='0'] Borda arredondada do botão.
18
+ * Componente de formulário de recuperação de senha, com suporte a:
19
+ * validação básica de email, exibição de mensagens de sucesso/erro,
20
+ * estado de carregamento no botão e customização visual via props ou tema.
21
+ *
22
+ * @param {React.ElementType<SvgIconProps>} [Icon] Ícone exibido no topo do formulário.
23
+ *
24
+ * @param {() => React.ReactElement} [titulo] Função que retorna o título do formulário.
25
+ *
26
+ * @param {() => React.ReactElement} [subTitulo] Função que retorna o subtítulo do formulário.
27
+ *
28
+ * @param {string} [textButton='Enviar'] Texto exibido no botão principal do formulário.
29
+ *
30
+ * @param {TypographyVariant} [variantButton='body1'] Variante tipográfica utilizada no texto do botão.
31
+ *
32
+ * @param {(email: string) => Promise<ClickResult>} onClick Callback executado ao submeter o formulário.
33
+ * Recebe o email digitado e deve retornar um objeto com sucesso e mensagem (e cor opcional).
34
+ *
35
+ * @param {React.ReactNode} [children] Conteúdo adicional renderizado abaixo do formulário.
36
+ *
37
+ * @param {string} [background] Cor de fundo do container principal do formulário.
38
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
39
+ *
40
+ * @param {string | number} [borderRadius] Raio da borda do container principal.
41
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.
42
+ *
43
+ * @param {string} [border] Borda do container principal.
44
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.
45
+ *
46
+ * @param {string} [boxShadow] Sombra do container principal.
47
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.
48
+ *
49
+ * @param {string} [maxWidth] Largura Máxima do container principal do formulário.
50
+ *
51
+ * @param {string} [backgroundField] Cor de fundo do campo de email.
52
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
53
+ *
54
+ * @param {string} [colorField] Cor do texto do campo de email.
55
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
56
+ *
57
+ * @param {string | number} [borderRadiusField] Raio da borda do campo de email.
58
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
59
+ *
60
+ * @param {string} [boxShadowField] Sombra aplicada ao campo de email.
61
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
62
+ *
63
+ * @param {string} [borderColorField] Cor da borda do campo de email.
64
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
65
+ *
66
+ * @param {string | number} [paddingField] Espaçamento interno do campo de email.
67
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
68
+ *
69
+ * @param {string | number} [marginField] Margem externa do campo de email.
70
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
71
+ *
72
+ * @param {string} [backgroundButton] Cor de fundo do botão.
73
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
74
+ *
75
+ * @param {string} [backgroundHoverButton] Cor de fundo do botão ao passar o mouse.
76
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
77
+ *
78
+ * @param {string} [colorButton] Cor do texto do botão.
79
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
80
+ *
81
+ * @param {string} [colorHoverButton] Cor do texto do botão ao passar o mouse.
82
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
83
+ *
84
+ * @param {string | number} [borderRadiusButton] Raio da borda do botão.
85
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
86
+ *
76
87
  * @param {string} [borderButton='none'] Borda do botão.
77
- * @param {string} [boxShadowButton='none'] Sombra do botão.
78
- * @param {string} [widthButton='auto'] Largura do botão.
79
- * @param {string} [heightButton='auto'] Altura do botão.
80
- * @param {string} [paddingButton='4px 24px'] Espaçamento interno do botão.
81
- * @param {string} [marginButton='0'] Margem externa do botão.
88
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
89
+ *
90
+ * @param {string} [boxShadowButton] Sombra aplicada ao botão.
91
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
82
92
  *
83
- * @param {string} color_message_sucess Cor aplicada na mensagem quando o submit retorna sucesso.
84
- * @param {string} color_message_erro Cor aplicada na mensagem quando o submit retorna erro ou validação falha.
93
+ * @param {string | number} [widthButton='auto'] Largura do botão.
94
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
85
95
  *
86
- * @param {(email: string) => Promise<{ success: boolean; message: string }>} onSubmit
87
- * Callback assíncrono obrigatório chamado após validação do e-mail. Deve retornar `{ success, message }`.
96
+ * @param {string | number} [heightButton='auto'] Altura do botão.
97
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
88
98
  *
89
- * @param {(success: boolean) => void} [onResult]
90
- * Callback opcional disparado com o resultado final (true/false) após o submit (ou validação falhar).
99
+ * @param {string | number} [paddingButton] Espaçamento interno do botão.
100
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
91
101
  *
92
- * @param {React.ReactNode} [children] Conteúdo extra renderizado abaixo do formulário (ex.: links, textos auxiliares).
102
+ * @param {string | number} [marginButton='0'] Margem externa do botão.
103
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
93
104
  *
94
105
  * @example
95
106
  * ```tsx
96
- * import RecuperarSenhaForm from '@/components/RecuperarSenhaForm';
97
- * import { Typography } from '@mui/material';
107
+ * import { FormPasswordRecovery } from '@/components/FormPasswordRecovery';
108
+ * import LockResetIcon from '@mui/icons-material/LockReset';
98
109
  *
99
- * const Page = () => {
110
+ * const Example = () => {
100
111
  * return (
101
- * <RecuperarSenhaForm
102
- * titulo={() => <Typography variant="h5">Recuperar senha</Typography>}
103
- * subTitulo={() => <Typography variant="body2">Digite seu e-mail para receber o link.</Typography>}
104
- * background="#fff"
105
- * borderRadius="12px"
106
- * backgroundField="#fafafa"
107
- * borderRadiusField="8px"
108
- * borderColorField="#e0e0e0"
109
- * paddingField="10px 12px"
112
+ * <FormPasswordRecovery
113
+ * Icon={LockResetIcon}
114
+ * titulo={() => <h2>Recuperar senha</h2>}
115
+ * subTitulo={() => <p>Informe seu email para receber as instruções.</p>}
110
116
  * textButton="Enviar link"
111
- * variantButton="button"
112
- * backgroundButton="#1976d2"
113
- * backgroundHoverButton="#1565c0"
114
- * colorButton="#fff"
115
- * colorHoverButton="#fff"
116
- * borderRadiusButton="10px"
117
- * widthButton="100%"
118
- * color_message_sucess="green"
119
- * color_message_erro="red"
120
- * onSubmit={async (email) => {
121
- * const response = await fetch('/api/recover', {
122
- * method: 'POST',
123
- * headers: { 'Content-Type': 'application/json' },
124
- * body: JSON.stringify({ email }),
125
- * });
126
- *
127
- * if (!response.ok) {
128
- * return { success: false, message: 'Falha ao enviar o e-mail. Tente novamente.' };
117
+ * onClick={async (email) => {
118
+ * if (email === 'teste@teste.com') {
119
+ * return { success: true, message: 'Enviamos um link para seu email!' };
129
120
  * }
130
- *
131
- * return { success: true, message: 'Se o e-mail existir, enviaremos um link de recuperação.' };
121
+ * return { success: false, message: 'Email não encontrado.' };
132
122
  * }}
133
- * onResult={(success) => console.log('Resultado:', success)}
134
- * >
135
- * <Typography variant="caption">Verifique também sua caixa de spam.</Typography>
136
- * </RecuperarSenhaForm>
123
+ * />
137
124
  * );
138
125
  * };
139
126
  * ```