@pipelinesolucoes/form 1.2.0-beta.8 → 1.2.0-beta.9
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/dist/components/TextFieldPassword.js +1 -7
- package/dist/components/TextFieldPassword.js.map +1 -1
- package/dist/components/login/FormLogin.d.ts +125 -0
- package/dist/components/login/FormLogin.js +8 -8
- package/dist/components/login/FormLogin.js.map +1 -1
- package/dist/components/login/FormPasswordRecovery.d.ts +111 -0
- package/dist/components/login/FormPasswordRecovery.js +10 -10
- package/dist/components/login/FormPasswordRecovery.js.map +1 -1
- package/dist/components/login/FormSignUp.d.ts +15 -15
- package/dist/components/login/FormSignUp.js +124 -0
- package/dist/components/login/FormSignUp.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -7,12 +7,6 @@ import IconButton from '@mui/material/IconButton';
|
|
|
7
7
|
import VisibilityIcon from '@mui/icons-material/Visibility';
|
|
8
8
|
import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
|
|
9
9
|
import { styled } from '@mui/material/styles';
|
|
10
|
-
const VisibilityIconStyle = styled(VisibilityIcon)(({ theme }) => ({
|
|
11
|
-
marginLeft: '20px',
|
|
12
|
-
}));
|
|
13
|
-
const VisibilityOffIconStyle = styled(VisibilityOffIcon)(({ theme }) => ({
|
|
14
|
-
marginLeft: '20px',
|
|
15
|
-
}));
|
|
16
10
|
const StyledTextField = styled(TextField, {
|
|
17
11
|
shouldForwardProp: (prop) => ![
|
|
18
12
|
'background',
|
|
@@ -174,7 +168,7 @@ const TextFieldPassword = ({ id, label, placeholder, value, onPasswordChange, on
|
|
|
174
168
|
const helperText = shouldShowError ? validation.message : ' ';
|
|
175
169
|
return (_jsx(StyledTextField, { type: showPassword ? 'text' : 'password', id: id, label: label, placeholder: placeholder, value: currentValue, background: background, backgroundDisabled: backgroundDisabled, colorText: color, colorFocused: colorFocused, colorDisabled: colorDisabled, borderRadius: borderRadius, boxShadow: boxShadow, borderColor: borderColor, padding: padding, disabled: disabled, required: required, fullWidth: true, error: shouldShowError, helperText: helperText, slotProps: {
|
|
176
170
|
input: {
|
|
177
|
-
endAdornment: (_jsx(InputAdornment, { position: "end", children: _jsx(IconButton, { onClick: () => setShowPassword((prev) => !prev), edge: "end", "aria-label": showPassword ? 'Ocultar senha' : 'Mostrar senha', children: showPassword ? _jsx(
|
|
171
|
+
endAdornment: (_jsx(InputAdornment, { position: "end", children: _jsx(IconButton, { onClick: () => setShowPassword((prev) => !prev), edge: "end", "aria-label": showPassword ? 'Ocultar senha' : 'Mostrar senha', sx: { margin: '0 16px 0 0' }, children: showPassword ? _jsx(VisibilityOffIcon, {}) : _jsx(VisibilityIcon, {}) }) })),
|
|
178
172
|
},
|
|
179
173
|
}, onChange: handleChange, onBlur: handleBlur }));
|
|
180
174
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextFieldPassword.js","sourceRoot":"","sources":["../../src/components/TextFieldPassword.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAC5D,OAAO,iBAAiB,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"TextFieldPassword.js","sourceRoot":"","sources":["../../src/components/TextFieldPassword.tsx"],"names":[],"mappings":"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"}
|
|
@@ -21,5 +21,130 @@ export interface FormLoginProps extends ColorProps, BorderProps, ButtonProps, Fi
|
|
|
21
21
|
password: string;
|
|
22
22
|
}) => Promise<ClickResult> | ClickResult;
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Componente de formulário de login completo, com suporte a:
|
|
26
|
+
* autenticação por email/senha, botão de login social (ex: Google),
|
|
27
|
+
* validação básica de campos, exibição de mensagens de sucesso/erro
|
|
28
|
+
* e customização visual via props ou tema.
|
|
29
|
+
*
|
|
30
|
+
* @param {string} urlRecuperarConta URL para a página de recuperação de senha.
|
|
31
|
+
*
|
|
32
|
+
* @param {string} urlCriarConta URL para a página de criação de conta.
|
|
33
|
+
*
|
|
34
|
+
* @param {React.ElementType<SvgIconProps>} [Icon] Ícone exibido no topo do formulário.
|
|
35
|
+
*
|
|
36
|
+
* @param {() => React.ReactElement} [titulo] Função que retorna o título do formulário.
|
|
37
|
+
*
|
|
38
|
+
* @param {() => React.ReactElement} googleButton Função que renderiza o botão de login social.
|
|
39
|
+
*
|
|
40
|
+
* @param {string} [textButton='Enviar'] Texto exibido no botão principal de submit.
|
|
41
|
+
* @param {TypographyVariant} [variantButton='body1'] Variante tipográfica usada nos textos do botão e links.
|
|
42
|
+
*
|
|
43
|
+
* @param {(data: { email: string; password: string }) => Promise<ClickResult> | ClickResult} [onClick]
|
|
44
|
+
* Callback executado ao submeter o formulário. Deve retornar um objeto com sucesso, mensagem e cor opcional.
|
|
45
|
+
*
|
|
46
|
+
* @param {React.ReactNode} [children] Conteúdo adicional renderizado abaixo do formulário.
|
|
47
|
+
*
|
|
48
|
+
* @param {string} [colorLink] Cor dos links de ação (criar conta / recuperar senha).
|
|
49
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
|
|
50
|
+
*
|
|
51
|
+
* @param {string} [divider] Cor do divisor visual entre login social e formulário.
|
|
52
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
|
|
53
|
+
*
|
|
54
|
+
* @param {string} [background] Cor de fundo do container principal do formulário.
|
|
55
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
|
|
56
|
+
*
|
|
57
|
+
* @param {string | number} [borderRadius] Raio da borda do container principal do formulário.
|
|
58
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
|
|
59
|
+
*
|
|
60
|
+
* @param {string} [border] Borda do container principal do formulário.
|
|
61
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
|
|
62
|
+
*
|
|
63
|
+
* @param {string} [boxShadow] Sombra do container principal do formulário.
|
|
64
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
|
|
65
|
+
*
|
|
66
|
+
* @param {string} [maxWidth] Largura Máxima do container principal do formulário.
|
|
67
|
+
*
|
|
68
|
+
* @param {string} [backgroundField] Cor de fundo dos campos de formulário.
|
|
69
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
70
|
+
*
|
|
71
|
+
* @param {string} [colorField] Cor do texto dos campos de formulário.
|
|
72
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
73
|
+
*
|
|
74
|
+
* @param {string | number} [borderRadiusField] Raio da borda dos campos de formulário.
|
|
75
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
76
|
+
*
|
|
77
|
+
* @param {string} [boxShadowField] Sombra aplicada aos campos de formulário.
|
|
78
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
79
|
+
*
|
|
80
|
+
* @param {string} [borderColorField] Cor da borda dos campos de formulário.
|
|
81
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
82
|
+
*
|
|
83
|
+
* @param {string | number} [paddingField] Espaçamento interno dos campos de formulário.
|
|
84
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
85
|
+
*
|
|
86
|
+
* @param {string | number} [marginField] Margem externa dos campos de formulário.
|
|
87
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
88
|
+
*
|
|
89
|
+
* @param {string} [textButton='Enviar'] Texto exibido no botão principal do formulário.
|
|
90
|
+
*
|
|
91
|
+
* @param {TypographyVariant} [variantButton='body1'] Variante tipográfica utilizada no texto do botão e links.
|
|
92
|
+
*
|
|
93
|
+
* @param {string} [backgroundButton] Cor de fundo do botão.
|
|
94
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
95
|
+
*
|
|
96
|
+
* @param {string} [backgroundHoverButton] Cor de fundo do botão ao passar o mouse.
|
|
97
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
98
|
+
*
|
|
99
|
+
* @param {string} [colorButton] Cor do texto do botão.
|
|
100
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
101
|
+
*
|
|
102
|
+
* @param {string} [colorHoverButton] Cor do texto do botão ao passar o mouse.
|
|
103
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
104
|
+
*
|
|
105
|
+
* @param {string | number} [borderRadiusButton] Raio da borda do botão.
|
|
106
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
107
|
+
*
|
|
108
|
+
* @param {string} [borderButton='none'] Borda do botão.
|
|
109
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
110
|
+
*
|
|
111
|
+
* @param {string} [boxShadowButton] Sombra aplicada ao botão.
|
|
112
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
113
|
+
*
|
|
114
|
+
* @param {string | number} [widthButton='auto'] Largura do botão.
|
|
115
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
116
|
+
*
|
|
117
|
+
* @param {string | number} [heightButton='auto'] Altura do botão.
|
|
118
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
119
|
+
*
|
|
120
|
+
* @param {string | number} [paddingButton] Espaçamento interno do botão.
|
|
121
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
122
|
+
*
|
|
123
|
+
* @param {string | number} [marginButton='0'] Margem externa do botão.
|
|
124
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
* @example
|
|
128
|
+
* ```tsx
|
|
129
|
+
* import { FormLogin } from '@/components/FormLogin';
|
|
130
|
+
* import GoogleIcon from '@mui/icons-material/Google';
|
|
131
|
+
*
|
|
132
|
+
* const Example = () => {
|
|
133
|
+
* return (
|
|
134
|
+
* <FormLogin
|
|
135
|
+
* urlCriarConta="/criar-conta"
|
|
136
|
+
* urlRecuperarConta="/recuperar-senha"
|
|
137
|
+
* googleButton={() => <button>Entrar com Google</button>}
|
|
138
|
+
* onClick={async ({ email, password }) => {
|
|
139
|
+
* if (email === 'teste@teste.com' && password === '123') {
|
|
140
|
+
* return { success: true, message: 'Login realizado com sucesso!' };
|
|
141
|
+
* }
|
|
142
|
+
* return { success: false, message: 'Credenciais inválidas.' };
|
|
143
|
+
* }}
|
|
144
|
+
* />
|
|
145
|
+
* );
|
|
146
|
+
* };
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
24
149
|
declare const FormLogin: React.FC<FormLoginProps>;
|
|
25
150
|
export default FormLogin;
|
|
@@ -9,6 +9,14 @@ import TextFieldValidate from '../TextFieldValidate';
|
|
|
9
9
|
import TextFieldPassword from '../TextFieldPassword';
|
|
10
10
|
import { LinkFormStyled } from '../style/LinkFormStyled';
|
|
11
11
|
import { DivCampos, DivLink, DivTitulo, FormContainer, StyledRoot } from './StyleLogin';
|
|
12
|
+
const DivPassword = styled('div')(() => ({
|
|
13
|
+
display: 'flex',
|
|
14
|
+
flexDirection: 'column',
|
|
15
|
+
gap: '8px',
|
|
16
|
+
width: '100%',
|
|
17
|
+
margin: '0',
|
|
18
|
+
padding: '0',
|
|
19
|
+
}));
|
|
12
20
|
/**
|
|
13
21
|
* Componente de formulário de login completo, com suporte a:
|
|
14
22
|
* autenticação por email/senha, botão de login social (ex: Google),
|
|
@@ -134,14 +142,6 @@ import { DivCampos, DivLink, DivTitulo, FormContainer, StyledRoot } from './Styl
|
|
|
134
142
|
* };
|
|
135
143
|
* ```
|
|
136
144
|
*/
|
|
137
|
-
const DivPassword = styled('div')(() => ({
|
|
138
|
-
display: 'flex',
|
|
139
|
-
flexDirection: 'column',
|
|
140
|
-
gap: '8px',
|
|
141
|
-
width: '100%',
|
|
142
|
-
margin: '0',
|
|
143
|
-
padding: '0',
|
|
144
|
-
}));
|
|
145
145
|
const FormLogin = ({ urlCriarConta, urlRecuperarConta, Icon, titulo, googleButton, background, borderRadius, border, boxShadow, maxWidth, backgroundField, colorField, borderRadiusField, boxShadowField, borderColorField, paddingField, marginField, textButton = 'Enviar', variantButton = 'body1', backgroundButton, backgroundHoverButton, colorButton, colorHoverButton, borderRadiusButton, borderButton = 'none', boxShadowButton, widthButton = 'auto', heightButton = 'auto', paddingButton, marginButton = '0', colorLink, divider, onClick, children, }) => {
|
|
146
146
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70;
|
|
147
147
|
const theme = useTheme();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormLogin.js","sourceRoot":"","sources":["../../../src/components/login/FormLogin.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,MAAM,EAAqB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAO,OAAO,EAAgB,UAAU,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"FormLogin.js","sourceRoot":"","sources":["../../../src/components/login/FormLogin.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,5 +14,116 @@ interface FormPasswordRecoveryProps extends ButtonProps, ColorProps, BorderProps
|
|
|
14
14
|
onClick: (email: string) => Promise<ClickResult>;
|
|
15
15
|
children?: React.ReactNode;
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
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
|
+
*
|
|
87
|
+
* @param {string} [borderButton='none'] Borda 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.
|
|
92
|
+
*
|
|
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.
|
|
95
|
+
*
|
|
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.
|
|
98
|
+
*
|
|
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.
|
|
101
|
+
*
|
|
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.
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```tsx
|
|
107
|
+
* import { FormPasswordRecovery } from '@/components/FormPasswordRecovery';
|
|
108
|
+
* import LockResetIcon from '@mui/icons-material/LockReset';
|
|
109
|
+
*
|
|
110
|
+
* const Example = () => {
|
|
111
|
+
* return (
|
|
112
|
+
* <FormPasswordRecovery
|
|
113
|
+
* Icon={LockResetIcon}
|
|
114
|
+
* titulo={() => <h2>Recuperar senha</h2>}
|
|
115
|
+
* subTitulo={() => <p>Informe seu email para receber as instruções.</p>}
|
|
116
|
+
* textButton="Enviar link"
|
|
117
|
+
* onClick={async (email) => {
|
|
118
|
+
* if (email === 'teste@teste.com') {
|
|
119
|
+
* return { success: true, message: 'Enviamos um link para seu email!' };
|
|
120
|
+
* }
|
|
121
|
+
* return { success: false, message: 'Email não encontrado.' };
|
|
122
|
+
* }}
|
|
123
|
+
* />
|
|
124
|
+
* );
|
|
125
|
+
* };
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
17
128
|
declare const FormPasswordRecovery: React.FC<FormPasswordRecoveryProps>;
|
|
18
129
|
export default FormPasswordRecovery;
|
|
@@ -7,6 +7,16 @@ import TextFieldValidate from '../TextFieldValidate';
|
|
|
7
7
|
import { validateEmail, validateEmailMessage } from '../../utils/validateEmail';
|
|
8
8
|
import { ButtonFormStyled } from '../style/ButtonFormStyled';
|
|
9
9
|
import { DivTitulo, StyledRoot } from './StyleLogin';
|
|
10
|
+
const FormContainer = styled('div')(() => ({
|
|
11
|
+
display: 'flex',
|
|
12
|
+
flexDirection: 'column',
|
|
13
|
+
gap: '16px',
|
|
14
|
+
width: '100%',
|
|
15
|
+
margin: 'auto',
|
|
16
|
+
padding: '0px',
|
|
17
|
+
alignItems: 'center',
|
|
18
|
+
justifyContent: 'center',
|
|
19
|
+
}));
|
|
10
20
|
/**
|
|
11
21
|
* Componente de formulário de recuperação de senha, com suporte a:
|
|
12
22
|
* validação básica de email, exibição de mensagens de sucesso/erro,
|
|
@@ -118,16 +128,6 @@ import { DivTitulo, StyledRoot } from './StyleLogin';
|
|
|
118
128
|
* };
|
|
119
129
|
* ```
|
|
120
130
|
*/
|
|
121
|
-
const FormContainer = styled('div')(() => ({
|
|
122
|
-
display: 'flex',
|
|
123
|
-
flexDirection: 'column',
|
|
124
|
-
gap: '16px',
|
|
125
|
-
width: '100%',
|
|
126
|
-
margin: 'auto',
|
|
127
|
-
padding: '0px',
|
|
128
|
-
alignItems: 'center',
|
|
129
|
-
justifyContent: 'center',
|
|
130
|
-
}));
|
|
131
131
|
const FormPasswordRecovery = ({ Icon, titulo, subTitulo, background, borderRadius, border, boxShadow, maxWidth, backgroundField, colorField, borderRadiusField, boxShadowField, borderColorField, paddingField, marginField, textButton = 'Enviar', variantButton = 'body1', backgroundButton, backgroundHoverButton, colorButton, colorHoverButton, borderRadiusButton, borderButton = 'none', boxShadowButton, widthButton = 'auto', heightButton = 'auto', paddingButton, marginButton = '0', onClick, children, }) => {
|
|
132
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;
|
|
133
133
|
const theme = useTheme();
|
|
@@ -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,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,2BAA2B,CAAC;AAG7D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGrD
|
|
1
|
+
{"version":3,"file":"FormPasswordRecovery.js","sourceRoot":"","sources":["../../../src/components/login/FormPasswordRecovery.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,21 @@ import { ButtonProps } from '../../types/ButtonProps';
|
|
|
4
4
|
import { FieldProps } from '@/types/FieldProps';
|
|
5
5
|
import { BorderProps, ColorProps, LayoutProps } from '@pipelinesolucoes/theme';
|
|
6
6
|
import { ClickResult } from './ClickResult';
|
|
7
|
+
export interface FormSignUpProps extends ColorProps, BorderProps, ButtonProps, FieldProps, LayoutProps {
|
|
8
|
+
Icon?: React.ElementType<SvgIconProps>;
|
|
9
|
+
titulo?: () => React.ReactElement;
|
|
10
|
+
googleButton: () => React.ReactElement;
|
|
11
|
+
colorLink?: string;
|
|
12
|
+
divider?: string;
|
|
13
|
+
urlLogin: string;
|
|
14
|
+
children?: React.ReactNode;
|
|
15
|
+
patternPassword?: RegExp;
|
|
16
|
+
patternPasswordMessage?: string;
|
|
17
|
+
onClick?: (data: {
|
|
18
|
+
email: string;
|
|
19
|
+
password: string;
|
|
20
|
+
}) => Promise<ClickResult> | ClickResult;
|
|
21
|
+
}
|
|
7
22
|
/**
|
|
8
23
|
* Componente de formulário de cadastro (Sign Up) completo, com suporte a:
|
|
9
24
|
* criação de conta via email/senha, confirmação de senha, botão de cadastro social,
|
|
@@ -128,20 +143,5 @@ import { ClickResult } from './ClickResult';
|
|
|
128
143
|
* };
|
|
129
144
|
* ```
|
|
130
145
|
*/
|
|
131
|
-
export interface FormSignUpProps extends ColorProps, BorderProps, ButtonProps, FieldProps, LayoutProps {
|
|
132
|
-
Icon?: React.ElementType<SvgIconProps>;
|
|
133
|
-
titulo?: () => React.ReactElement;
|
|
134
|
-
googleButton: () => React.ReactElement;
|
|
135
|
-
colorLink?: string;
|
|
136
|
-
divider?: string;
|
|
137
|
-
urlLogin: string;
|
|
138
|
-
children?: React.ReactNode;
|
|
139
|
-
patternPassword?: RegExp;
|
|
140
|
-
patternPasswordMessage?: string;
|
|
141
|
-
onClick?: (data: {
|
|
142
|
-
email: string;
|
|
143
|
-
password: string;
|
|
144
|
-
}) => Promise<ClickResult> | ClickResult;
|
|
145
|
-
}
|
|
146
146
|
declare const FormSignUp: React.FC<FormSignUpProps>;
|
|
147
147
|
export default FormSignUp;
|
|
@@ -9,6 +9,130 @@ import TextFieldValidate from '../TextFieldValidate';
|
|
|
9
9
|
import TextFieldPassword from '../TextFieldPassword';
|
|
10
10
|
import { LinkFormStyled } from '../style/LinkFormStyled';
|
|
11
11
|
import { DivCampos, DivLink, DivTitulo, FormContainer, StyledRoot } from './StyleLogin';
|
|
12
|
+
/**
|
|
13
|
+
* Componente de formulário de cadastro (Sign Up) completo, com suporte a:
|
|
14
|
+
* criação de conta via email/senha, confirmação de senha, botão de cadastro social,
|
|
15
|
+
* validação básica de campos, exibição de mensagens de sucesso/erro
|
|
16
|
+
* e ampla customização visual via props ou tema.
|
|
17
|
+
*
|
|
18
|
+
* @param {string} urlLogin URL para a página de login (usuário já possui conta).
|
|
19
|
+
*
|
|
20
|
+
* @param {React.ElementType<SvgIconProps>} [Icon] Ícone exibido no topo do formulário.
|
|
21
|
+
*
|
|
22
|
+
* @param {() => React.ReactElement} [titulo] Função que retorna o título do formulário.
|
|
23
|
+
*
|
|
24
|
+
* @param {() => React.ReactElement} googleButton Função que renderiza o botão de cadastro social.
|
|
25
|
+
*
|
|
26
|
+
* @param {(data: { email: string; password: string }) => Promise<ClickResult> | ClickResult} [onClick]
|
|
27
|
+
* Callback executado ao submeter o formulário. Deve retornar um objeto com sucesso, mensagem e cor opcional.
|
|
28
|
+
*
|
|
29
|
+
* @param {React.ReactNode} [children] Conteúdo adicional renderizado abaixo do formulário.
|
|
30
|
+
*
|
|
31
|
+
* @param {string} [background] Cor de fundo do container principal do formulário.
|
|
32
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
|
|
33
|
+
*
|
|
34
|
+
* @param {string | number} [borderRadius] Raio da borda do container principal.
|
|
35
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
|
|
36
|
+
*
|
|
37
|
+
* @param {string} [border] Borda do container principal.
|
|
38
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
|
|
39
|
+
*
|
|
40
|
+
* @param {string} [boxShadow] Sombra do container principal.
|
|
41
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.
|
|
42
|
+
*
|
|
43
|
+
* @param {string} [maxWidth] Largura Máxima do container principal do formulário.
|
|
44
|
+
*
|
|
45
|
+
* @param {string} [backgroundField] Cor de fundo dos campos de formulário.
|
|
46
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
47
|
+
*
|
|
48
|
+
* @param {string} [colorField] Cor do texto dos campos de formulário.
|
|
49
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
50
|
+
*
|
|
51
|
+
* @param {string | number} [borderRadiusField] Raio da borda dos campos.
|
|
52
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
53
|
+
*
|
|
54
|
+
* @param {string} [boxShadowField] Sombra aplicada aos campos.
|
|
55
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
56
|
+
*
|
|
57
|
+
* @param {string} [borderColorField] Cor da borda dos campos.
|
|
58
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
59
|
+
*
|
|
60
|
+
* @param {string | number} [paddingField] Espaçamento interno dos campos.
|
|
61
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
62
|
+
*
|
|
63
|
+
* @param {string | number} [marginField] Margem externa dos campos.
|
|
64
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.field.
|
|
65
|
+
*
|
|
66
|
+
* @param {string} [textButton='Enviar'] Texto exibido no botão principal.
|
|
67
|
+
*
|
|
68
|
+
* @param {TypographyVariant} [variantButton='body1'] Variante tipográfica utilizada no texto do botão.
|
|
69
|
+
*
|
|
70
|
+
* @param {string} [backgroundButton] Cor de fundo do botão.
|
|
71
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
72
|
+
*
|
|
73
|
+
* @param {string} [backgroundHoverButton] Cor de fundo do botão ao passar o mouse.
|
|
74
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
75
|
+
*
|
|
76
|
+
* @param {string} [colorButton] Cor do texto do botão.
|
|
77
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
78
|
+
*
|
|
79
|
+
* @param {string} [colorHoverButton] Cor do texto do botão ao passar o mouse.
|
|
80
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
81
|
+
*
|
|
82
|
+
* @param {string | number} [borderRadiusButton] Raio da borda do botão.
|
|
83
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
84
|
+
*
|
|
85
|
+
* @param {string} [borderButton='none'] Borda do botão.
|
|
86
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
87
|
+
*
|
|
88
|
+
* @param {string} [boxShadowButton] Sombra aplicada ao botão.
|
|
89
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
90
|
+
*
|
|
91
|
+
* @param {string | number} [widthButton='auto'] Largura do botão.
|
|
92
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
93
|
+
*
|
|
94
|
+
* @param {string | number} [heightButton='auto'] Altura do botão.
|
|
95
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
96
|
+
*
|
|
97
|
+
* @param {string | number} [paddingButton] Espaçamento interno do botão.
|
|
98
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
99
|
+
*
|
|
100
|
+
* @param {string | number} [marginButton='0'] Margem externa do botão.
|
|
101
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
102
|
+
*
|
|
103
|
+
* @param {string} [colorLink] Cor do link de redirecionamento para login.
|
|
104
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
105
|
+
*
|
|
106
|
+
* @param {string} [divider] Cor do divisor visual entre login social e formulário.
|
|
107
|
+
* Opcional. Caso não seja informado, será utilizada a configuração definida no theme.pipelinesolucoes.forms.login.button.
|
|
108
|
+
*
|
|
109
|
+
* @param {RegExp} [passwordPattern=/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9]).{8,}$/] Regex para validar formato da senha válida.
|
|
110
|
+
*
|
|
111
|
+
* @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.
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```tsx
|
|
115
|
+
* import { FormSignUp } from '@/components/FormSignUp';
|
|
116
|
+
* import AccountCircleIcon from '@mui/icons-material/AccountCircle';
|
|
117
|
+
*
|
|
118
|
+
* const Example = () => {
|
|
119
|
+
* return (
|
|
120
|
+
* <FormSignUp
|
|
121
|
+
* urlLogin="/login"
|
|
122
|
+
* Icon={AccountCircleIcon}
|
|
123
|
+
* titulo={() => <h2>Criar conta</h2>}
|
|
124
|
+
* googleButton={() => <button>Cadastrar com Google</button>}
|
|
125
|
+
* onClick={async ({ email, password }) => {
|
|
126
|
+
* if (email && password) {
|
|
127
|
+
* return { success: true, message: 'Conta criada com sucesso!' };
|
|
128
|
+
* }
|
|
129
|
+
* return { success: false, message: 'Erro ao criar conta.' };
|
|
130
|
+
* }}
|
|
131
|
+
* />
|
|
132
|
+
* );
|
|
133
|
+
* };
|
|
134
|
+
* ```
|
|
135
|
+
*/
|
|
12
136
|
const FormSignUp = ({ urlLogin, Icon, titulo, googleButton, background, borderRadius, border, boxShadow, maxWidth, backgroundField, colorField, borderRadiusField, boxShadowField, borderColorField, paddingField, marginField, textButton = 'Enviar', variantButton = 'body1', backgroundButton, backgroundHoverButton, colorButton, colorHoverButton, borderRadiusButton, borderButton = 'none', boxShadowButton, widthButton = 'auto', heightButton = 'auto', paddingButton, marginButton = '0', colorLink, divider, patternPassword, patternPasswordMessage, onClick, children, }) => {
|
|
13
137
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70;
|
|
14
138
|
const theme = useTheme();
|