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

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 (50) 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 +140 -43
  8. package/dist/components/TextFieldPassword.js +159 -98
  9. package/dist/components/TextFieldPassword.js.map +1 -1
  10. package/dist/components/TextFieldValidate.d.ts +84 -38
  11. package/dist/components/TextFieldValidate.js +101 -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/constant.d.ts +11 -0
  29. package/dist/constant.js +12 -0
  30. package/dist/constant.js.map +1 -0
  31. package/dist/index.d.ts +2 -0
  32. package/dist/index.js +2 -0
  33. package/dist/index.js.map +1 -1
  34. package/dist/{components/style → style}/ButtonFormStyled.d.ts +1 -1
  35. package/dist/{components/style → style}/ButtonFormStyled.js +6 -5
  36. package/dist/style/ButtonFormStyled.js.map +1 -0
  37. package/dist/{components/style → style}/LinkFormStyled.d.ts +3 -3
  38. package/dist/style/LinkFormStyled.js +16 -0
  39. package/dist/style/LinkFormStyled.js.map +1 -0
  40. package/dist/style/TextFieldStyle.d.ts +17 -0
  41. package/dist/style/TextFieldStyle.js +59 -0
  42. package/dist/style/TextFieldStyle.js.map +1 -0
  43. package/dist/theme.js +46 -18
  44. package/dist/theme.js.map +1 -1
  45. package/dist/tsconfig.tsbuildinfo +1 -1
  46. package/dist/types/FieldProps.d.ts +1 -0
  47. package/package.json +2 -2
  48. package/dist/components/style/ButtonFormStyled.js.map +0 -1
  49. package/dist/components/style/LinkFormStyled.js +0 -15
  50. package/dist/components/style/LinkFormStyled.js.map +0 -1
@@ -3,116 +3,124 @@ import { TypographyVariant } from '@mui/material/styles';
3
3
  import { SvgIconProps } from '@mui/material';
4
4
  import { ButtonProps } from '../../types/ButtonProps';
5
5
  import { FieldProps } from '../../types/FieldProps';
6
- import { BorderProps, ColorProps } from '@pipelinesolucoes/theme';
7
- interface RecuperarSenhaSubmitResult {
8
- success: boolean;
9
- message: string;
10
- }
11
- 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 {
12
9
  Icon?: React.ElementType<SvgIconProps>;
13
10
  titulo?: () => React.ReactElement;
14
11
  subTitulo?: () => React.ReactElement;
15
12
  textButton?: string;
16
13
  variantButton?: TypographyVariant;
17
- color_message_sucess: string;
18
- color_message_erro: string;
19
- /**
20
- * Callback assíncrono obrigatório: deve retornar sempre { success, message }.
21
- * A mensagem exibida no componente virá SEMPRE daqui.
22
- */
23
- onSubmit: (email: string) => Promise<RecuperarSenhaSubmitResult>;
24
- /**
25
- * Callback opcional com o resultado final do submit.
26
- */
27
- onResult?: (success: boolean) => void;
14
+ onClick: (email: string) => Promise<ClickResult>;
28
15
  children?: React.ReactNode;
29
16
  }
30
17
  /**
31
- * Componente de formulário para recuperação de senha via e-mail.
32
- * Faz a validação do e-mail, dispara um `onSubmit` assíncrono (obrigatório) e exibe a mensagem retornada.
33
- *
34
- * @param {React.ElementType<SvgIconProps>} [Icon] Ícone do Material UI exibido no topo do formulário.
35
- * @param {() => React.ReactElement} [titulo] Função que renderiza o título (ex.: <Typography />).
36
- * @param {() => React.ReactElement} [subTitulo] Função que renderiza o subtítulo (ex.: <Typography />).
37
- *
38
- * @param {string} [background='transparent'] Cor/estilo de fundo do container externo.
39
- * @param {string} [borderRadius='0px'] Borda arredondada do container externo.
40
- *
41
- * @param {string} [backgroundField='transparent'] Cor/estilo de fundo do campo de e-mail.
42
- * @param {string} [colorField='#000'] Cor do texto do campo de e-mail.
43
- * @param {string} [borderRadiusField='0px'] Borda arredondada do campo de e-mail.
44
- * @param {string} [boxShadowField='none'] Sombra do campo de e-mail.
45
- * @param {string} [borderColorField='#ccc'] Cor da borda do campo de e-mail.
46
- * @param {string} [paddingField='4px 8px'] Espaçamento interno do campo de e-mail.
47
- *
48
- * @param {string} [textButton='Enviar'] Texto exibido no botão quando não está carregando.
49
- * @param {TypographyVariant} [variantButton='body1'] Variant do Typography usado dentro do botão.
50
- * @param {string} [backgroundButton='transparent'] Cor/estilo de fundo do botão.
51
- * @param {string} [backgroundHoverButton='transparent'] Cor/estilo de fundo do botão no hover.
52
- * @param {string} [colorButton='#000'] Cor do texto do botão.
53
- * @param {string} [colorHoverButton='#000'] Cor do texto do botão no hover.
54
- * @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
+ *
55
87
  * @param {string} [borderButton='none'] Borda do botão.
56
- * @param {string} [boxShadowButton='none'] Sombra do botão.
57
- * @param {string} [widthButton='auto'] Largura do botão.
58
- * @param {string} [heightButton='auto'] Altura do botão.
59
- * @param {string} [paddingButton='4px 24px'] Espaçamento interno do botão.
60
- * @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.
61
92
  *
62
- * @param {string} color_message_sucess Cor aplicada na mensagem quando o submit retorna sucesso.
63
- * @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.
64
95
  *
65
- * @param {(email: string) => Promise<{ success: boolean; message: string }>} onSubmit
66
- * 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.
67
98
  *
68
- * @param {(success: boolean) => void} [onResult]
69
- * 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.
70
101
  *
71
- * @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.
72
104
  *
73
105
  * @example
74
106
  * ```tsx
75
- * import RecuperarSenhaForm from '@/components/RecuperarSenhaForm';
76
- * import { Typography } from '@mui/material';
107
+ * import { FormPasswordRecovery } from '@/components/FormPasswordRecovery';
108
+ * import LockResetIcon from '@mui/icons-material/LockReset';
77
109
  *
78
- * const Page = () => {
110
+ * const Example = () => {
79
111
  * return (
80
- * <RecuperarSenhaForm
81
- * titulo={() => <Typography variant="h5">Recuperar senha</Typography>}
82
- * subTitulo={() => <Typography variant="body2">Digite seu e-mail para receber o link.</Typography>}
83
- * background="#fff"
84
- * borderRadius="12px"
85
- * backgroundField="#fafafa"
86
- * borderRadiusField="8px"
87
- * borderColorField="#e0e0e0"
88
- * 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>}
89
116
  * textButton="Enviar link"
90
- * variantButton="button"
91
- * backgroundButton="#1976d2"
92
- * backgroundHoverButton="#1565c0"
93
- * colorButton="#fff"
94
- * colorHoverButton="#fff"
95
- * borderRadiusButton="10px"
96
- * widthButton="100%"
97
- * color_message_sucess="green"
98
- * color_message_erro="red"
99
- * onSubmit={async (email) => {
100
- * const response = await fetch('/api/recover', {
101
- * method: 'POST',
102
- * headers: { 'Content-Type': 'application/json' },
103
- * body: JSON.stringify({ email }),
104
- * });
105
- *
106
- * if (!response.ok) {
107
- * 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!' };
108
120
  * }
109
- *
110
- * return { success: true, message: 'Se o e-mail existir, enviaremos um link de recuperação.' };
121
+ * return { success: false, message: 'Email não encontrado.' };
111
122
  * }}
112
- * onResult={(success) => console.log('Resultado:', success)}
113
- * >
114
- * <Typography variant="caption">Verifique também sua caixa de spam.</Typography>
115
- * </RecuperarSenhaForm>
123
+ * />
116
124
  * );
117
125
  * };
118
126
  * ```
@@ -2,10 +2,11 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useState } from 'react';
4
4
  import { styled, useTheme } from '@mui/material/styles';
5
- import { Box, Typography } from '@mui/material';
5
+ import { Typography } from '@mui/material';
6
6
  import TextFieldValidate from '../TextFieldValidate';
7
7
  import { validateEmail, validateEmailMessage } from '../../utils/validateEmail';
8
- import { ButtonFormStyled } from '../style/ButtonFormStyled';
8
+ import { ButtonFormStyled } from '../../style/ButtonFormStyled';
9
+ import { DivTitulo, StyledRoot } from './StyleLogin';
9
10
  const FormContainer = styled('div')(() => ({
10
11
  display: 'flex',
11
12
  flexDirection: 'column',
@@ -16,172 +17,178 @@ const FormContainer = styled('div')(() => ({
16
17
  alignItems: 'center',
17
18
  justifyContent: 'center',
18
19
  }));
19
- const DivTitulo = styled('div')(() => ({
20
- display: 'flex',
21
- flexDirection: 'column',
22
- gap: '8px',
23
- width: '100%',
24
- margin: '0',
25
- padding: '0',
26
- alignItems: 'center',
27
- justifyContent: 'center',
28
- }));
29
- const StyledRoot = styled(Box, {
30
- shouldForwardProp: (prop) => !['background', 'border_radius', 'box_shadow'].includes(prop),
31
- })(({ background, border_radius, box_shadow }) => ({
32
- display: 'flex',
33
- flexDirection: 'column',
34
- justifyContent: 'center',
35
- gap: '24px',
36
- flex: 1,
37
- padding: '24px',
38
- borderRadius: border_radius !== null && border_radius !== void 0 ? border_radius : '0px',
39
- boxShadow: box_shadow,
40
- background: background !== null && background !== void 0 ? background : 'transparent',
41
- }));
42
20
  /**
43
- * Componente de formulário para recuperação de senha via e-mail.
44
- * Faz a validação do e-mail, dispara um `onSubmit` assíncrono (obrigatório) e exibe a mensagem retornada.
45
- *
46
- * @param {React.ElementType<SvgIconProps>} [Icon] Ícone do Material UI exibido no topo do formulário.
47
- * @param {() => React.ReactElement} [titulo] Função que renderiza o título (ex.: <Typography />).
48
- * @param {() => React.ReactElement} [subTitulo] Função que renderiza o subtítulo (ex.: <Typography />).
49
- *
50
- * @param {string} [background='transparent'] Cor/estilo de fundo do container externo.
51
- * @param {string} [borderRadius='0px'] Borda arredondada do container externo.
52
- *
53
- * @param {string} [backgroundField='transparent'] Cor/estilo de fundo do campo de e-mail.
54
- * @param {string} [colorField='#000'] Cor do texto do campo de e-mail.
55
- * @param {string} [borderRadiusField='0px'] Borda arredondada do campo de e-mail.
56
- * @param {string} [boxShadowField='none'] Sombra do campo de e-mail.
57
- * @param {string} [borderColorField='#ccc'] Cor da borda do campo de e-mail.
58
- * @param {string} [paddingField='4px 8px'] Espaçamento interno do campo de e-mail.
59
- *
60
- * @param {string} [textButton='Enviar'] Texto exibido no botão quando não está carregando.
61
- * @param {TypographyVariant} [variantButton='body1'] Variant do Typography usado dentro do botão.
62
- * @param {string} [backgroundButton='transparent'] Cor/estilo de fundo do botão.
63
- * @param {string} [backgroundHoverButton='transparent'] Cor/estilo de fundo do botão no hover.
64
- * @param {string} [colorButton='#000'] Cor do texto do botão.
65
- * @param {string} [colorHoverButton='#000'] Cor do texto do botão no hover.
66
- * @param {string} [borderRadiusButton='0'] Borda arredondada do botão.
21
+ * Componente de formulário de recuperação de senha, com suporte a:
22
+ * validação básica de email, exibição de mensagens de sucesso/erro,
23
+ * estado de carregamento no botão e customização visual via props ou tema.
24
+ *
25
+ * @param {React.ElementType<SvgIconProps>} [Icon] Ícone exibido no topo do formulário.
26
+ *
27
+ * @param {() => React.ReactElement} [titulo] Função que retorna o título do formulário.
28
+ *
29
+ * @param {() => React.ReactElement} [subTitulo] Função que retorna o subtítulo do formulário.
30
+ *
31
+ * @param {string} [textButton='Enviar'] Texto exibido no botão principal do formulário.
32
+ *
33
+ * @param {TypographyVariant} [variantButton='body1'] Variante tipográfica utilizada no texto do botão.
34
+ *
35
+ * @param {(email: string) => Promise<ClickResult>} onClick Callback executado ao submeter o formulário.
36
+ * Recebe o email digitado e deve retornar um objeto com sucesso e mensagem (e cor opcional).
37
+ *
38
+ * @param {React.ReactNode} [children] Conteúdo adicional renderizado abaixo do formulário.
39
+ *
40
+ * @param {string} [background] Cor de fundo do container principal do formulário.
41
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
42
+ *
43
+ * @param {string | number} [borderRadius] Raio da borda do container principal.
44
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.
45
+ *
46
+ * @param {string} [border] Borda do container principal.
47
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.
48
+ *
49
+ * @param {string} [boxShadow] Sombra do container principal.
50
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.
51
+ *
52
+ * @param {string} [maxWidth] Largura Máxima do container principal do formulário.
53
+ *
54
+ * @param {string} [backgroundField] Cor de fundo 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} [colorField] Cor do texto 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 | number} [borderRadiusField] Raio da borda do 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} [boxShadowField] Sombra aplicada ao 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} [borderColorField] Cor da borda 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} [paddingField] Espaçamento interno 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 | number} [marginField] Margem externa do campo de email.
73
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
74
+ *
75
+ * @param {string} [backgroundButton] Cor de fundo do botão.
76
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
77
+ *
78
+ * @param {string} [backgroundHoverButton] Cor de fundo do botão ao passar o mouse.
79
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
80
+ *
81
+ * @param {string} [colorButton] Cor do texto do botão.
82
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
83
+ *
84
+ * @param {string} [colorHoverButton] Cor do texto do botão ao passar o mouse.
85
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
86
+ *
87
+ * @param {string | number} [borderRadiusButton] Raio da borda do botão.
88
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
89
+ *
67
90
  * @param {string} [borderButton='none'] Borda do botão.
68
- * @param {string} [boxShadowButton='none'] Sombra do botão.
69
- * @param {string} [widthButton='auto'] Largura do botão.
70
- * @param {string} [heightButton='auto'] Altura do botão.
71
- * @param {string} [paddingButton='4px 24px'] Espaçamento interno do botão.
72
- * @param {string} [marginButton='0'] Margem externa do botão.
91
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
92
+ *
93
+ * @param {string} [boxShadowButton] Sombra aplicada ao botão.
94
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
73
95
  *
74
- * @param {string} color_message_sucess Cor aplicada na mensagem quando o submit retorna sucesso.
75
- * @param {string} color_message_erro Cor aplicada na mensagem quando o submit retorna erro ou validação falha.
96
+ * @param {string | number} [widthButton='auto'] Largura do botão.
97
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
76
98
  *
77
- * @param {(email: string) => Promise<{ success: boolean; message: string }>} onSubmit
78
- * Callback assíncrono obrigatório chamado após validação do e-mail. Deve retornar `{ success, message }`.
99
+ * @param {string | number} [heightButton='auto'] Altura do botão.
100
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
79
101
  *
80
- * @param {(success: boolean) => void} [onResult]
81
- * Callback opcional disparado com o resultado final (true/false) após o submit (ou validação falhar).
102
+ * @param {string | number} [paddingButton] Espaçamento interno do botão.
103
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
82
104
  *
83
- * @param {React.ReactNode} [children] Conteúdo extra renderizado abaixo do formulário (ex.: links, textos auxiliares).
105
+ * @param {string | number} [marginButton='0'] Margem externa do botão.
106
+ * Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
84
107
  *
85
108
  * @example
86
109
  * ```tsx
87
- * import RecuperarSenhaForm from '@/components/RecuperarSenhaForm';
88
- * import { Typography } from '@mui/material';
110
+ * import { FormPasswordRecovery } from '@/components/FormPasswordRecovery';
111
+ * import LockResetIcon from '@mui/icons-material/LockReset';
89
112
  *
90
- * const Page = () => {
113
+ * const Example = () => {
91
114
  * return (
92
- * <RecuperarSenhaForm
93
- * titulo={() => <Typography variant="h5">Recuperar senha</Typography>}
94
- * subTitulo={() => <Typography variant="body2">Digite seu e-mail para receber o link.</Typography>}
95
- * background="#fff"
96
- * borderRadius="12px"
97
- * backgroundField="#fafafa"
98
- * borderRadiusField="8px"
99
- * borderColorField="#e0e0e0"
100
- * paddingField="10px 12px"
115
+ * <FormPasswordRecovery
116
+ * Icon={LockResetIcon}
117
+ * titulo={() => <h2>Recuperar senha</h2>}
118
+ * subTitulo={() => <p>Informe seu email para receber as instruções.</p>}
101
119
  * textButton="Enviar link"
102
- * variantButton="button"
103
- * backgroundButton="#1976d2"
104
- * backgroundHoverButton="#1565c0"
105
- * colorButton="#fff"
106
- * colorHoverButton="#fff"
107
- * borderRadiusButton="10px"
108
- * widthButton="100%"
109
- * color_message_sucess="green"
110
- * color_message_erro="red"
111
- * onSubmit={async (email) => {
112
- * const response = await fetch('/api/recover', {
113
- * method: 'POST',
114
- * headers: { 'Content-Type': 'application/json' },
115
- * body: JSON.stringify({ email }),
116
- * });
117
- *
118
- * if (!response.ok) {
119
- * return { success: false, message: 'Falha ao enviar o e-mail. Tente novamente.' };
120
+ * onClick={async (email) => {
121
+ * if (email === 'teste@teste.com') {
122
+ * return { success: true, message: 'Enviamos um link para seu email!' };
120
123
  * }
121
- *
122
- * return { success: true, message: 'Se o e-mail existir, enviaremos um link de recuperação.' };
124
+ * return { success: false, message: 'Email não encontrado.' };
123
125
  * }}
124
- * onResult={(success) => console.log('Resultado:', success)}
125
- * >
126
- * <Typography variant="caption">Verifique também sua caixa de spam.</Typography>
127
- * </RecuperarSenhaForm>
126
+ * />
128
127
  * );
129
128
  * };
130
129
  * ```
131
130
  */
132
- const FormPasswordRecovery = ({ Icon, titulo, subTitulo, background = 'transparent', borderRadius = '0', border = 'none', boxShadow = 'none', 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', color_message_sucess, color_message_erro, onSubmit, onResult, children, }) => {
133
- 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;
131
+ const FormPasswordRecovery = ({ Icon, titulo, subTitulo, background, borderRadius, border, boxShadow, maxWidth, backgroundField, colorField, borderRadiusField, boxShadowField, borderColorField, paddingField, marginField, heightField, textButton = 'Enviar', variantButton = 'body1', backgroundButton, backgroundHoverButton, colorButton, colorHoverButton, borderRadiusButton, borderButton = 'none', boxShadowButton, widthButton = 'auto', heightButton = 'auto', paddingButton, marginButton = '0', onClick, children, }) => {
132
+ 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;
134
133
  const theme = useTheme();
134
+ const color_message_sucess = theme.palette.success.main;
135
+ const color_message_erro = theme.palette.error.main;
136
+ 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';
137
+ 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';
138
+ 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';
139
+ 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';
140
+ 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;
141
+ 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;
142
+ 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;
143
+ 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;
144
+ 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;
145
+ 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;
146
+ 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;
147
+ const hgField = (_31 = heightField !== null && heightField !== void 0 ? heightField : (_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.field) === null || _30 === void 0 ? void 0 : _30.height) !== null && _31 !== void 0 ? _31 : undefined;
148
+ const bgButton = (_36 = backgroundButton !== null && backgroundButton !== void 0 ? backgroundButton : (_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.background) !== null && _36 !== void 0 ? _36 : undefined;
149
+ const bgHoverButton = (_41 = backgroundHoverButton !== null && backgroundHoverButton !== void 0 ? backgroundHoverButton : (_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.backgroundHover) !== null && _41 !== void 0 ? _41 : undefined;
150
+ const cButton = (_46 = colorButton !== null && colorButton !== void 0 ? colorButton : (_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.color) !== null && _46 !== void 0 ? _46 : undefined;
151
+ const cHoverButton = (_51 = colorHoverButton !== null && colorHoverButton !== void 0 ? colorHoverButton : (_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.colorHover) !== null && _51 !== void 0 ? _51 : undefined;
152
+ const brButton = (_56 = borderRadiusButton !== null && borderRadiusButton !== void 0 ? borderRadiusButton : (_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.borderRadius) !== null && _56 !== void 0 ? _56 : undefined;
153
+ const bsButton = (_61 = boxShadowButton !== null && boxShadowButton !== void 0 ? boxShadowButton : (_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.boxShadow) !== null && _61 !== void 0 ? _61 : undefined;
154
+ const pButton = (_66 = paddingButton !== null && paddingButton !== void 0 ? paddingButton : (_65 = (_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.button) === null || _65 === void 0 ? void 0 : _65.padding) !== null && _66 !== void 0 ? _66 : undefined;
135
155
  const [mensagemApi, setMensagemApi] = useState('');
136
156
  const [corMensagemApi, setCorMensagemApi] = useState(color_message_erro);
137
157
  const [email, setEmail] = useState('');
138
158
  const [isLoading, setIsLoading] = useState(false);
139
159
  const handleClick = async (e) => {
160
+ var _a, _b, _c;
140
161
  e.preventDefault();
141
162
  if (!validateEmail(email)) {
142
163
  setCorMensagemApi(color_message_erro);
143
164
  setMensagemApi('Alguns dos dados fornecidos estão inválidos. Por favor, revise as informações preenchidas e corrija os campos destacados.');
144
- onResult === null || onResult === void 0 ? void 0 : onResult(false);
145
165
  return;
146
166
  }
147
167
  setIsLoading(true);
148
168
  setMensagemApi('');
149
169
  try {
150
- const result = await onSubmit(email);
170
+ const result = await onClick(email);
151
171
  setMensagemApi(result.message);
152
- setCorMensagemApi(result.success ? color_message_sucess : color_message_erro);
153
- onResult === null || onResult === void 0 ? void 0 : onResult(result.success);
172
+ if (result === null || result === void 0 ? void 0 : result.success) {
173
+ setCorMensagemApi((_a = result.color) !== null && _a !== void 0 ? _a : color_message_sucess);
174
+ setMensagemApi(result.message);
175
+ }
176
+ else {
177
+ setCorMensagemApi((_b = result.color) !== null && _b !== void 0 ? _b : color_message_erro);
178
+ setMensagemApi((_c = result === null || result === void 0 ? void 0 : result.message) !== null && _c !== void 0 ? _c : 'Falha ao realizar a operação.');
179
+ }
154
180
  }
155
- catch (_a) {
181
+ catch (_d) {
156
182
  // Mesmo obrigando a mensagem vir do onSubmit, exceções podem acontecer (rede, throw etc.)
157
183
  // Aqui escolhi exibir uma mensagem mínima interna para não deixar a UI muda.
158
184
  setCorMensagemApi(color_message_erro);
159
185
  setMensagemApi('Ocorreu um erro inesperado. Tente novamente.');
160
- onResult === null || onResult === void 0 ? void 0 : onResult(false);
161
186
  }
162
187
  finally {
163
188
  setIsLoading(false);
164
189
  }
165
190
  };
166
- 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';
167
- 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';
168
- 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';
169
- 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';
170
- 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;
171
- 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;
172
- 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;
173
- 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;
174
- 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;
175
- 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;
176
- 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;
177
- 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;
178
- 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;
179
- 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;
180
- 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;
181
- 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;
182
- 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;
183
- 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;
184
- return (_jsxs(StyledRoot, { background: bContainer, border_radius: brContainer, box_shadow: bsContainer, border: bdContainer, children: [(Icon || titulo) && (_jsxs(DivTitulo, { children: [Icon && _jsx(Icon, {}), titulo && titulo(), subTitulo && subTitulo()] })), _jsxs(FormContainer, { 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: "Campo obrigat\u00F3rio", validate: validateEmailMessage, showErrorOn: "blur" }), _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
191
+ 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(), subTitulo && subTitulo()] })), _jsxs(FormContainer, { children: [_jsx(TextFieldValidate, { id: "email", label: "Email", placeholder: "Email", height: hgField, 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" }), _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
185
192
  ? 'Enviando...'
186
193
  : _jsx(Typography, { variant: variantButton, component: "span", children: textButton }) }), mensagemApi && (_jsx(Typography, { variant: "body1", component: "span", color: corMensagemApi, children: mensagemApi }))] }), children] }));
187
194
  };
@@ -1 +1 @@
1
- {"version":3,"file":"FormPasswordRecovery.js","sourceRoot":"","sources":["../../../src/components/login/FormPasswordRecovery.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormPasswordRecovery.js","sourceRoot":"","sources":["../../../src/components/login/FormPasswordRecovery.tsx"],"names":[],"mappings":"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"}