@pipelinesolucoes/form 1.2.0-beta.3 → 1.2.0-beta.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -2
- package/dist/components/ChipList.d.ts +9 -0
- package/dist/components/ChipList.js +60 -0
- package/dist/components/ChipList.js.map +1 -0
- package/dist/components/SelectField.d.ts +73 -0
- package/dist/components/SelectField.js +142 -0
- package/dist/components/SelectField.js.map +1 -0
- package/dist/components/TextFieldBirthDateWithAge.d.ts +83 -0
- package/dist/components/TextFieldBirthDateWithAge.js +259 -0
- package/dist/components/TextFieldBirthDateWithAge.js.map +1 -0
- package/dist/components/TextFieldCPFValidate.d.ts +37 -0
- package/dist/components/TextFieldCPFValidate.js +147 -0
- package/dist/components/TextFieldCPFValidate.js.map +1 -0
- package/dist/components/TextFieldNumberValidate.d.ts +110 -0
- package/dist/components/TextFieldNumberValidate.js +196 -0
- package/dist/components/TextFieldNumberValidate.js.map +1 -0
- package/dist/components/TextFieldPassword.d.ts +141 -53
- package/dist/components/TextFieldPassword.js +161 -98
- package/dist/components/TextFieldPassword.js.map +1 -1
- package/dist/components/TextFieldValidate.d.ts +89 -43
- package/dist/components/TextFieldValidate.js +103 -94
- package/dist/components/TextFieldValidate.js.map +1 -1
- package/dist/components/login/FormLogin.d.ts +129 -6
- package/dist/components/login/FormLogin.js +155 -29
- package/dist/components/login/FormLogin.js.map +1 -1
- package/dist/components/login/FormPasswordRecovery.d.ts +97 -89
- package/dist/components/login/FormPasswordRecovery.js +131 -124
- package/dist/components/login/FormPasswordRecovery.js.map +1 -1
- package/dist/components/login/FormSignUp.d.ts +130 -11
- package/dist/components/login/FormSignUp.js +154 -29
- package/dist/components/login/FormSignUp.js.map +1 -1
- package/dist/components/login/StyleLogin.d.ts +7 -0
- package/dist/components/login/StyleLogin.js +16 -1
- package/dist/components/login/StyleLogin.js.map +1 -1
- package/dist/components/recaptcha/RecaptchaForm.d.ts +8 -14
- package/dist/components/recaptcha/RecaptchaForm.js +30 -25
- package/dist/components/recaptcha/RecaptchaForm.js.map +1 -1
- package/dist/constant.d.ts +11 -0
- package/dist/constant.js +12 -0
- package/dist/constant.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/{components/style → style}/ButtonFormStyled.d.ts +1 -1
- package/dist/{components/style → style}/ButtonFormStyled.js +6 -5
- package/dist/style/ButtonFormStyled.js.map +1 -0
- package/dist/{components/style → style}/LinkFormStyled.d.ts +1 -1
- package/dist/{components/style → style}/LinkFormStyled.js +5 -4
- package/dist/style/LinkFormStyled.js.map +1 -0
- package/dist/style/TextFieldStyle.d.ts +19 -0
- package/dist/style/TextFieldStyle.js +61 -0
- package/dist/style/TextFieldStyle.js.map +1 -0
- package/dist/theme.js +46 -18
- package/dist/theme.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/FieldProps.d.ts +1 -0
- package/dist/utils/formatCEP.d.ts +20 -0
- package/dist/utils/formatCEP.js +35 -0
- package/dist/utils/formatCEP.js.map +1 -0
- package/dist/utils/formatCpf.d.ts +14 -0
- package/dist/utils/formatCpf.js +35 -0
- package/dist/utils/formatCpf.js.map +1 -0
- package/dist/utils/validateCpf.d.ts +40 -0
- package/dist/utils/validateCpf.js +67 -0
- package/dist/utils/validateCpf.js.map +1 -0
- package/dist/utils/validateEmail.js +1 -1
- package/dist/utils/validateEmail.js.map +1 -1
- package/package.json +4 -2
- package/dist/components/recaptcha/FormStyled.d.ts +0 -30
- package/dist/components/recaptcha/FormStyled.js +0 -67
- package/dist/components/recaptcha/FormStyled.js.map +0 -1
- package/dist/components/style/ButtonFormStyled.js.map +0 -1
- package/dist/components/style/LinkFormStyled.js.map +0 -1
|
@@ -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 {
|
|
5
|
+
import { Typography } from '@mui/material';
|
|
6
6
|
import TextFieldValidate from '../TextFieldValidate';
|
|
7
7
|
import { validateEmail, validateEmailMessage } from '../../utils/validateEmail';
|
|
8
|
-
import { ButtonFormStyled } from '
|
|
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
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* @param {
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* @param {
|
|
52
|
-
*
|
|
53
|
-
* @param {string} [
|
|
54
|
-
*
|
|
55
|
-
* @param {
|
|
56
|
-
*
|
|
57
|
-
* @param {string}
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* @param {
|
|
61
|
-
*
|
|
62
|
-
* @param {string} [
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
* @param {string} [
|
|
66
|
-
*
|
|
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
|
-
*
|
|
69
|
-
*
|
|
70
|
-
* @param {string} [
|
|
71
|
-
*
|
|
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
|
|
75
|
-
*
|
|
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 {
|
|
78
|
-
*
|
|
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 {
|
|
81
|
-
*
|
|
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 {
|
|
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
|
|
88
|
-
* import
|
|
110
|
+
* import { FormPasswordRecovery } from '@/components/FormPasswordRecovery';
|
|
111
|
+
* import LockResetIcon from '@mui/icons-material/LockReset';
|
|
89
112
|
*
|
|
90
|
-
* const
|
|
113
|
+
* const Example = () => {
|
|
91
114
|
* return (
|
|
92
|
-
* <
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
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
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
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
|
-
*
|
|
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, borderRadius, border, boxShadow, 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',
|
|
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
|
|
170
|
+
const result = await onClick(email);
|
|
151
171
|
setMensagemApi(result.message);
|
|
152
|
-
|
|
153
|
-
|
|
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 (
|
|
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
|
-
|
|
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":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,MAAM,EAAqB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,
|
|
1
|
+
{"version":3,"file":"FormPasswordRecovery.js","sourceRoot":"","sources":["../../../src/components/login/FormPasswordRecovery.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,MAAM,EAAqB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAqB,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGrD,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACzC,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,GAAG,EAAE,MAAM;IACX,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;CACzB,CAAC,CAAC,CAAC;AAgBJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8GG;AAEH,MAAM,oBAAoB,GAAwC,CAAC,EACjE,IAAI,EACJ,MAAM,EACN,SAAS,EAET,UAAU,EACV,YAAY,EACZ,MAAM,EACN,SAAS,EACT,QAAQ,EAER,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,WAAW,EAEX,UAAU,GAAG,QAAQ,EACrB,aAAa,GAAG,OAAO,EAEvB,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,GAAG,MAAM,EACrB,eAAe,EACf,WAAW,GAAG,MAAM,EACpB,YAAY,GAAG,MAAM,EACrB,aAAa,EACb,YAAY,GAAG,GAAG,EAElB,OAAO,EACP,QAAQ,GACT,EAAE,EAAE;;IAEH,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;IACxD,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;IAEpD,MAAM,UAAU,GAAG,MAAA,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,MAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,0CAAE,KAAK,0CAAE,KAAK,0CAAE,UAAU,mCAAI,aAAa,CAAC;IACpG,MAAM,WAAW,GAAG,MAAA,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,MAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,0CAAE,KAAK,0CAAE,KAAK,0CAAE,YAAY,mCAAI,GAAG,CAAC;IAC/F,MAAM,WAAW,GAAE,MAAA,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,MAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,0CAAE,KAAK,0CAAE,KAAK,0CAAE,MAAM,mCAAI,GAAG,CAAC;IAClF,MAAM,WAAW,GAAE,MAAA,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,MAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,0CAAE,KAAK,0CAAE,KAAK,0CAAE,SAAS,mCAAI,MAAM,CAAC;IAE3F,MAAM,MAAM,GAAG,MAAA,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,MAAA,MAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,0CAAE,KAAK,0CAAE,KAAK,0CAAE,KAAK,0CAAE,UAAU,mCAAI,SAAS,CAAC;IACxG,MAAM,MAAM,GAAG,MAAA,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,MAAA,MAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,0CAAE,KAAK,0CAAE,KAAK,0CAAE,KAAK,0CAAE,KAAK,mCAAI,SAAS,CAAC;IAC9F,MAAM,OAAO,GAAG,MAAA,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,MAAA,MAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,0CAAE,KAAK,0CAAE,KAAK,0CAAE,KAAK,0CAAE,YAAY,mCAAI,SAAS,CAAC;IAC7G,MAAM,OAAO,GAAG,OAAA,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,OAAA,MAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,0CAAE,KAAK,0CAAE,KAAK,0CAAE,KAAK,4CAAE,SAAS,qCAAI,SAAS,CAAC;IACvG,MAAM,OAAO,GAAG,OAAA,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,OAAA,OAAA,OAAA,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,4CAAE,KAAK,4CAAE,KAAK,4CAAE,KAAK,4CAAE,WAAW,qCAAI,SAAS,CAAC;IAC3G,MAAM,MAAM,GAAG,OAAA,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,OAAA,OAAA,OAAA,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,4CAAE,KAAK,4CAAE,KAAK,4CAAE,KAAK,4CAAE,OAAO,qCAAI,SAAS,CAAC;IAClG,MAAM,OAAO,GAAG,OAAA,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,OAAA,OAAA,OAAA,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,4CAAE,KAAK,4CAAE,KAAK,4CAAE,KAAK,4CAAE,MAAM,qCAAI,SAAS,CAAC;IACjG,MAAM,OAAO,GAAG,OAAA,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,OAAA,OAAA,OAAA,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,4CAAE,KAAK,4CAAE,KAAK,4CAAE,KAAK,4CAAE,MAAM,qCAAI,SAAS,CAAC;IAEjG,MAAM,QAAQ,GAAG,OAAA,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,OAAA,OAAA,OAAA,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,4CAAE,KAAK,4CAAE,KAAK,4CAAE,MAAM,4CAAE,UAAU,qCAAI,SAAS,CAAC;IAC5G,MAAM,aAAa,GAAG,OAAA,qBAAqB,aAArB,qBAAqB,cAArB,qBAAqB,GAAI,OAAA,OAAA,OAAA,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,4CAAE,KAAK,4CAAE,KAAK,4CAAE,MAAM,4CAAE,eAAe,qCAAI,SAAS,CAAC;IAC3H,MAAM,OAAO,GAAG,OAAA,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,OAAA,OAAA,OAAA,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,4CAAE,KAAK,4CAAE,KAAK,4CAAE,MAAM,4CAAE,KAAK,qCAAI,SAAS,CAAC;IACjG,MAAM,YAAY,GAAG,OAAA,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,OAAA,OAAA,OAAA,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,4CAAE,KAAK,4CAAE,KAAK,4CAAE,MAAM,4CAAE,UAAU,qCAAI,SAAS,CAAC;IAChH,MAAM,QAAQ,GAAG,OAAA,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,OAAA,OAAA,OAAA,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,4CAAE,KAAK,4CAAE,KAAK,4CAAE,MAAM,4CAAE,YAAY,qCAAI,SAAS,CAAC;IAChH,MAAM,QAAQ,GAAG,OAAA,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,OAAA,OAAA,OAAA,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,4CAAE,KAAK,4CAAE,KAAK,4CAAE,MAAM,4CAAE,SAAS,qCAAI,SAAS,CAAC;IAC1G,MAAM,OAAO,GAAG,OAAA,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,OAAA,OAAA,OAAA,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,4CAAE,KAAK,4CAAE,KAAK,4CAAE,MAAM,4CAAE,OAAO,qCAAI,SAAS,CAAC;IAErG,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACzE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,WAAW,GAAG,KAAK,EAAE,CAAkB,EAAE,EAAE;;QAC/C,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;YACtC,cAAc,CACZ,2HAA2H,CAC5H,CAAC;YACF,OAAO;QACT,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,cAAc,CAAC,EAAE,CAAC,CAAC;QAEnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;YAEpC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/B,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAE,CAAC;gBACpB,iBAAiB,CAAC,MAAA,MAAM,CAAC,KAAK,mCAAI,oBAAoB,CAAC,CAAC;gBACxD,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,iBAAiB,CAAC,MAAA,MAAM,CAAC,KAAK,mCAAI,kBAAkB,CAAC,CAAC;gBACtD,cAAc,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,mCAAI,+BAA+B,CAAC,CAAC;YACrE,CAAC;QAEH,CAAC;QAAC,WAAM,CAAC;YACP,0FAA0F;YAC1F,6EAA6E;YAC7E,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;YACtC,cAAc,CAAC,8CAA8C,CAAC,CAAC;QACjE,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CAEL,MAAC,UAAU,IAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,aAC7H,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CACnB,MAAC,SAAS,eACP,IAAI,IAAI,KAAC,IAAI,KAAG,EAChB,MAAM,IAAI,MAAM,EAAE,EAClB,SAAS,IAAI,SAAS,EAAE,IACf,CACb,EAED,MAAC,aAAa,eACZ,KAAC,iBAAiB,IAChB,EAAE,EAAC,OAAO,EACV,KAAK,EAAC,OAAO,EACb,WAAW,EAAC,OAAO,EACnB,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,OAAO,EACrB,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,QAAQ,EAAE,IAAI,EACd,eAAe,EAAC,wBAAmB,EACnC,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,EAAC,MAAM,GAClB,EAEF,KAAC,gBAAgB,IACf,gBAAgB,EAAE,QAAQ,EAC1B,qBAAqB,EAAE,aAAa,EACpC,WAAW,EAAE,OAAO,EACpB,gBAAgB,EAAE,YAAY,EAC9B,kBAAkB,EAAE,QAAQ,EAC5B,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,QAAQ,EACzB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,OAAO,EACtB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,SAAS,EACnB,OAAO,EAAE,WAAW,YAEnB,SAAS;4BACR,CAAC,CAAC,aAAa;4BACf,CAAC,CAAC,KAAC,UAAU,IAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAC,MAAM,YAAE,UAAU,GAAc,GAEjE,EAElB,WAAW,IAAI,CACd,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAE,cAAc,YAC/D,WAAW,GACD,CACd,IAEa,EAEf,QAAQ,IACE,CACd,CAAC;AACJ,CAAC,CAAC;AAEF,oBAAoB,CAAC,WAAW,GAAG,sBAAsB,CAAC;AAC1D,eAAe,oBAAoB,CAAC"}
|
|
@@ -2,27 +2,146 @@ import React from 'react';
|
|
|
2
2
|
import { SvgIconProps } from '@mui/material';
|
|
3
3
|
import { ButtonProps } from '../../types/ButtonProps';
|
|
4
4
|
import { FieldProps } from '@/types/FieldProps';
|
|
5
|
-
import { BorderProps, ColorProps } from '@pipelinesolucoes/theme';
|
|
5
|
+
import { BorderProps, ColorProps, LayoutProps } from '@pipelinesolucoes/theme';
|
|
6
6
|
import { ClickResult } from './ClickResult';
|
|
7
|
-
export interface FormSignUpProps extends ColorProps, BorderProps, ButtonProps, FieldProps {
|
|
7
|
+
export interface FormSignUpProps extends ColorProps, BorderProps, ButtonProps, FieldProps, LayoutProps {
|
|
8
8
|
Icon?: React.ElementType<SvgIconProps>;
|
|
9
9
|
titulo?: () => React.ReactElement;
|
|
10
10
|
googleButton: () => React.ReactElement;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
color_message_erro: string;
|
|
14
|
-
colorLink: string;
|
|
15
|
-
divider: string;
|
|
11
|
+
colorLink?: string;
|
|
12
|
+
divider?: string;
|
|
16
13
|
urlLogin: string;
|
|
17
14
|
children?: React.ReactNode;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
* O componente pai devolve a mensagem e o sucesso/erro.
|
|
21
|
-
*/
|
|
15
|
+
patternPassword?: RegExp;
|
|
16
|
+
patternPasswordMessage?: string;
|
|
22
17
|
onClick?: (data: {
|
|
23
18
|
email: string;
|
|
24
19
|
password: string;
|
|
25
20
|
}) => Promise<ClickResult> | ClickResult;
|
|
26
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Componente de formulário de cadastro (Sign Up) completo, com suporte a:
|
|
24
|
+
* criação de conta via email/senha, confirmação de senha, botão de cadastro social,
|
|
25
|
+
* validação básica de campos, exibição de mensagens de sucesso/erro
|
|
26
|
+
* e ampla customização visual via props ou tema.
|
|
27
|
+
*
|
|
28
|
+
* @param {string} urlLogin URL para a página de login (usuário já possui 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 cadastro social.
|
|
35
|
+
*
|
|
36
|
+
* @param {(data: { email: string; password: string }) => Promise<ClickResult> | ClickResult} [onClick]
|
|
37
|
+
* Callback executado ao submeter o formulário. Deve retornar um objeto com sucesso, mensagem e cor opcional.
|
|
38
|
+
*
|
|
39
|
+
* @param {React.ReactNode} [children] Conteúdo adicional renderizado abaixo do formulário.
|
|
40
|
+
*
|
|
41
|
+
* @param {string} [background] Cor de fundo do container principal do formulário.
|
|
42
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
|
|
43
|
+
*
|
|
44
|
+
* @param {string | number} [borderRadius] Raio da borda do container principal.
|
|
45
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
|
|
46
|
+
*
|
|
47
|
+
* @param {string} [border] Borda do container principal.
|
|
48
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
|
|
49
|
+
*
|
|
50
|
+
* @param {string} [boxShadow] Sombra do container principal.
|
|
51
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
|
|
52
|
+
*
|
|
53
|
+
* @param {string} [maxWidth] Largura Máxima do container principal do formulário.
|
|
54
|
+
*
|
|
55
|
+
* @param {string} [backgroundField] Cor de fundo dos campos de formulário.
|
|
56
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
57
|
+
*
|
|
58
|
+
* @param {string} [colorField] Cor do texto dos campos de formulário.
|
|
59
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
60
|
+
*
|
|
61
|
+
* @param {string | number} [borderRadiusField] Raio da borda dos campos.
|
|
62
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
63
|
+
*
|
|
64
|
+
* @param {string} [boxShadowField] Sombra aplicada aos campos.
|
|
65
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
66
|
+
*
|
|
67
|
+
* @param {string} [borderColorField] Cor da borda dos campos.
|
|
68
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
69
|
+
*
|
|
70
|
+
* @param {string | number} [paddingField] Espaçamento interno dos campos.
|
|
71
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
72
|
+
*
|
|
73
|
+
* @param {string | number} [marginField] Margem externa dos campos.
|
|
74
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
75
|
+
*
|
|
76
|
+
* @param {string} [textButton='Enviar'] Texto exibido no botão principal.
|
|
77
|
+
*
|
|
78
|
+
* @param {TypographyVariant} [variantButton='body1'] Variante tipográfica utilizada no texto do botão.
|
|
79
|
+
*
|
|
80
|
+
* @param {string} [backgroundButton] Cor de fundo do botão.
|
|
81
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
82
|
+
*
|
|
83
|
+
* @param {string} [backgroundHoverButton] Cor de fundo do botão ao passar o mouse.
|
|
84
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
85
|
+
*
|
|
86
|
+
* @param {string} [colorButton] Cor do texto do botão.
|
|
87
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
88
|
+
*
|
|
89
|
+
* @param {string} [colorHoverButton] Cor do texto do botão ao passar o mouse.
|
|
90
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
91
|
+
*
|
|
92
|
+
* @param {string | number} [borderRadiusButton] Raio da borda do botão.
|
|
93
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
94
|
+
*
|
|
95
|
+
* @param {string} [borderButton='none'] Borda 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} [boxShadowButton] Sombra aplicada ao botão.
|
|
99
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
100
|
+
*
|
|
101
|
+
* @param {string | number} [widthButton='auto'] Largura 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 | number} [heightButton='auto'] Altura 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 | number} [paddingButton] Espaçamento interno do 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} [marginButton='0'] Margem externa 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} [colorLink] Cor do link de redirecionamento para login.
|
|
114
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
115
|
+
*
|
|
116
|
+
* @param {string} [divider] Cor do divisor visual entre login social e formulário.
|
|
117
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
118
|
+
*
|
|
119
|
+
* @param {RegExp} [passwordPattern=/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9]).{8,}$/] Regex para validar formato da senha válida.
|
|
120
|
+
*
|
|
121
|
+
* @param {RegExp} [patternPasswordMessage='A senha deve ter no mínimo 8 caracteres, com ao menos uma letra maiúscula, uma letra minúscula, um número e um caractere especial.'] Mensagem de senha invalida.
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```tsx
|
|
125
|
+
* import { FormSignUp } from '@/components/FormSignUp';
|
|
126
|
+
* import AccountCircleIcon from '@mui/icons-material/AccountCircle';
|
|
127
|
+
*
|
|
128
|
+
* const Example = () => {
|
|
129
|
+
* return (
|
|
130
|
+
* <FormSignUp
|
|
131
|
+
* urlLogin="/login"
|
|
132
|
+
* Icon={AccountCircleIcon}
|
|
133
|
+
* titulo={() => <h2>Criar conta</h2>}
|
|
134
|
+
* googleButton={() => <button>Cadastrar com Google</button>}
|
|
135
|
+
* onClick={async ({ email, password }) => {
|
|
136
|
+
* if (email && password) {
|
|
137
|
+
* return { success: true, message: 'Conta criada com sucesso!' };
|
|
138
|
+
* }
|
|
139
|
+
* return { success: false, message: 'Erro ao criar conta.' };
|
|
140
|
+
* }}
|
|
141
|
+
* />
|
|
142
|
+
* );
|
|
143
|
+
* };
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
27
146
|
declare const FormSignUp: React.FC<FormSignUpProps>;
|
|
28
147
|
export default FormSignUp;
|