@pipelinesolucoes/form 1.0.0-beta.1 → 1.0.0-beta.2
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/TextFieldValidate.d.ts +4 -0
- package/dist/components/TextFieldValidate.js +10 -4
- package/dist/components/TextFieldValidate.js.map +1 -1
- package/dist/components/login/GoogleButton.d.ts +4 -2
- package/dist/components/login/GoogleButton.js +14 -2
- package/dist/components/login/GoogleButton.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/ColorProps.d.ts +2 -0
- package/package.json +1 -1
|
@@ -8,8 +8,10 @@ interface TextFieldValidateProps extends BorderProps, ColorProps, LayoutProps {
|
|
|
8
8
|
placeholder?: string;
|
|
9
9
|
value?: string;
|
|
10
10
|
background?: string;
|
|
11
|
+
backgroundDisabled?: string;
|
|
11
12
|
colorText?: string;
|
|
12
13
|
colorFocused?: string;
|
|
14
|
+
colorDisabled?: string;
|
|
13
15
|
borderRadius?: string;
|
|
14
16
|
boxShadow?: string;
|
|
15
17
|
borderColor?: string;
|
|
@@ -42,8 +44,10 @@ interface TextFieldValidateProps extends BorderProps, ColorProps, LayoutProps {
|
|
|
42
44
|
* @param {boolean} [disabled=false] Define se o campo está desabilitado.
|
|
43
45
|
*
|
|
44
46
|
* @param {string} [background='#fff'] Cor de fundo do campo.
|
|
47
|
+
* @param {string} [backgroundDisabled='#E5E7EB'] Cor de fundo do campo quando o campo está desabilitado.
|
|
45
48
|
* @param {string} [colorText='#000'] Cor do texto e do label.
|
|
46
49
|
* @param {string} [colorFocused='#1976d2'] Cor da borda quando o campo está focado.
|
|
50
|
+
* @param {string} [colorDisabled='#9CA3AF'] Cor do texto e do label quando o campo está focado.
|
|
47
51
|
* @param {string} [borderColor='#ccc'] Cor da borda no estado normal e hover.
|
|
48
52
|
* @param {string} [borderRadius='0'] Raio da borda do campo.
|
|
49
53
|
* @param {string} [boxShadow='none'] Sombra aplicada ao campo.
|
|
@@ -3,8 +3,8 @@ import React from 'react';
|
|
|
3
3
|
import { styled } from '@mui/material/styles';
|
|
4
4
|
import TextField from '@mui/material/TextField';
|
|
5
5
|
const StyledTextField = styled(TextField, {
|
|
6
|
-
shouldForwardProp: (prop) => !['background', 'colorText', 'borderRadius', 'boxShadow', 'borderColor', 'colorFocused', 'padding'].includes(prop),
|
|
7
|
-
})(({ background, colorText, borderRadius, boxShadow, borderColor, colorFocused, padding }) => ({
|
|
6
|
+
shouldForwardProp: (prop) => !['background', 'colorText', 'borderRadius', 'boxShadow', 'borderColor', 'colorFocused', 'backgroundDisabled', 'colorDisabled', 'padding'].includes(prop),
|
|
7
|
+
})(({ background, backgroundDisabled, colorText, borderRadius, boxShadow, borderColor, colorFocused, colorDisabled, padding }) => ({
|
|
8
8
|
background: background,
|
|
9
9
|
color: colorText,
|
|
10
10
|
borderRadius: borderRadius,
|
|
@@ -28,6 +28,10 @@ const StyledTextField = styled(TextField, {
|
|
|
28
28
|
'&.Mui-focused .MuiOutlinedInput-notchedOutline': {
|
|
29
29
|
borderColor: colorFocused,
|
|
30
30
|
},
|
|
31
|
+
"&.Mui-disabled": {
|
|
32
|
+
backgroundColor: backgroundDisabled,
|
|
33
|
+
color: colorDisabled,
|
|
34
|
+
},
|
|
31
35
|
}));
|
|
32
36
|
const computeError = (value, { required, requiredMessage, minLength, pattern, patternMessage, validate, }) => {
|
|
33
37
|
const v = value !== null && value !== void 0 ? value : '';
|
|
@@ -61,8 +65,10 @@ const computeError = (value, { required, requiredMessage, minLength, pattern, pa
|
|
|
61
65
|
* @param {boolean} [disabled=false] Define se o campo está desabilitado.
|
|
62
66
|
*
|
|
63
67
|
* @param {string} [background='#fff'] Cor de fundo do campo.
|
|
68
|
+
* @param {string} [backgroundDisabled='#E5E7EB'] Cor de fundo do campo quando o campo está desabilitado.
|
|
64
69
|
* @param {string} [colorText='#000'] Cor do texto e do label.
|
|
65
70
|
* @param {string} [colorFocused='#1976d2'] Cor da borda quando o campo está focado.
|
|
71
|
+
* @param {string} [colorDisabled='#9CA3AF'] Cor do texto e do label quando o campo está focado.
|
|
66
72
|
* @param {string} [borderColor='#ccc'] Cor da borda no estado normal e hover.
|
|
67
73
|
* @param {string} [borderRadius='0'] Raio da borda do campo.
|
|
68
74
|
* @param {string} [boxShadow='none'] Sombra aplicada ao campo.
|
|
@@ -108,7 +114,7 @@ const computeError = (value, { required, requiredMessage, minLength, pattern, pa
|
|
|
108
114
|
* };
|
|
109
115
|
* ```
|
|
110
116
|
*/
|
|
111
|
-
const TextFieldValidate = ({ id, label, background = '#fff', colorText = '#000', colorFocused = '#1976d2', borderRadius = '0', boxShadow = 'none', borderColor = '#ccc', placeholder, disabled = false, value = '', onChange, onBlur, multiline = false, rows = 3, required = false, requiredMessage = 'Campo obrigatório', minLength, pattern, patternMessage = 'Formato inválido', validate, showErrorOn = 'blur', maxLength, padding = '4px 8px' }) => {
|
|
117
|
+
const TextFieldValidate = ({ id, label, background = '#fff', backgroundDisabled = "#E5E7EB", colorText = '#000', colorFocused = '#1976d2', colorDisabled = "#9CA3AF", borderRadius = '0', boxShadow = 'none', borderColor = '#ccc', placeholder, disabled = false, value = '', onChange, onBlur, multiline = false, rows = 3, required = false, requiredMessage = 'Campo obrigatório', minLength, pattern, patternMessage = 'Formato inválido', validate, showErrorOn = 'blur', maxLength, padding = '4px 8px' }) => {
|
|
112
118
|
const [touched, setTouched] = React.useState(false);
|
|
113
119
|
const errorMessage = React.useMemo(() => {
|
|
114
120
|
if (showErrorOn === 'change') {
|
|
@@ -150,7 +156,7 @@ const TextFieldValidate = ({ id, label, background = '#fff', colorText = '#000',
|
|
|
150
156
|
onBlur(event);
|
|
151
157
|
}
|
|
152
158
|
};
|
|
153
|
-
return (_jsx(StyledTextField, { id: id, label: label, placeholder: placeholder, value: value, onChange: onChange, onBlur: handleBlur, background: background, colorText: colorText, colorFocused: colorFocused, borderRadius: borderRadius, boxShadow: boxShadow, borderColor: borderColor, padding: padding, disabled: disabled, multiline: multiline, required: required, rows: multiline ? rows : undefined, fullWidth: true, error: Boolean(errorMessage), helperText: errorMessage || ' ', slotProps: {
|
|
159
|
+
return (_jsx(StyledTextField, { id: id, label: label, placeholder: placeholder, value: value, onChange: onChange, onBlur: handleBlur, background: background, backgroundDisabled: backgroundDisabled, colorText: colorText, colorFocused: colorFocused, colorDisabled: colorDisabled, borderRadius: borderRadius, boxShadow: boxShadow, borderColor: borderColor, padding: padding, disabled: disabled, multiline: multiline, required: required, rows: multiline ? rows : undefined, fullWidth: true, error: Boolean(errorMessage), helperText: errorMessage || ' ', slotProps: {
|
|
154
160
|
input: {
|
|
155
161
|
inputProps: typeof maxLength === 'number' ? { maxLength } : undefined,
|
|
156
162
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextFieldValidate.js","sourceRoot":"","sources":["../../src/components/TextFieldValidate.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,SAAS,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"TextFieldValidate.js","sourceRoot":"","sources":["../../src/components/TextFieldValidate.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { TypographyVariant } from '@mui/material';
|
|
1
|
+
import React, { ReactElement } from 'react';
|
|
2
|
+
import { TypographyVariant, SvgIconProps } from '@mui/material';
|
|
3
3
|
import { ColorProps } from '@/types/ColorProps';
|
|
4
4
|
import { BorderProps } from '@/types/BorderProps';
|
|
5
5
|
import { LayoutProps } from '@/types/LayoutProps';
|
|
6
6
|
import { TextProps } from '@/types/TextProps';
|
|
7
7
|
interface GoogleButtonProps extends ColorProps, BorderProps, LayoutProps, TextProps {
|
|
8
|
+
icon: () => ReactElement<HTMLImageElement> | ReactElement<SvgIconProps>;
|
|
8
9
|
text: string;
|
|
9
10
|
variant?: TypographyVariant;
|
|
10
11
|
endpoint: string;
|
|
@@ -24,6 +25,7 @@ interface GoogleButtonProps extends ColorProps, BorderProps, LayoutProps, TextPr
|
|
|
24
25
|
* (ex: autenticação com Google). Durante o clique, o botão entra em estado
|
|
25
26
|
* de loading e, caso ocorra algum erro, exibe uma mensagem abaixo do botão.
|
|
26
27
|
*
|
|
28
|
+
* @param {ReactElement<HTMLImageElement> | ReactElement<SvgIconProps>} icon Icone exibido dentro do botão.
|
|
27
29
|
* @param {string} text Texto exibido dentro do botão.
|
|
28
30
|
* @param {TypographyVariant} [variant='body1'] Variante do Typography usada no texto do botão.
|
|
29
31
|
* @param {string} endpoint URL para a qual o usuário será redirecionado ao clicar no botão.
|
|
@@ -34,11 +34,23 @@ const ButtonFormStyled = styled(Button, {
|
|
|
34
34
|
cursor: 'not-allowed',
|
|
35
35
|
},
|
|
36
36
|
}));
|
|
37
|
+
const AreaTexto = styled('div')(() => ({
|
|
38
|
+
display: 'flex',
|
|
39
|
+
flexDirection: 'column',
|
|
40
|
+
alignItems: 'flex-start',
|
|
41
|
+
justifyContent: 'center',
|
|
42
|
+
width: '100%',
|
|
43
|
+
gap: '16px',
|
|
44
|
+
textAlign: 'left',
|
|
45
|
+
padding: '0',
|
|
46
|
+
margin: '0',
|
|
47
|
+
}));
|
|
37
48
|
/**
|
|
38
49
|
* Componente de botão que redireciona o usuário para um endpoint externo
|
|
39
50
|
* (ex: autenticação com Google). Durante o clique, o botão entra em estado
|
|
40
51
|
* de loading e, caso ocorra algum erro, exibe uma mensagem abaixo do botão.
|
|
41
52
|
*
|
|
53
|
+
* @param {ReactElement<HTMLImageElement> | ReactElement<SvgIconProps>} icon Icone exibido dentro do botão.
|
|
42
54
|
* @param {string} text Texto exibido dentro do botão.
|
|
43
55
|
* @param {TypographyVariant} [variant='body1'] Variante do Typography usada no texto do botão.
|
|
44
56
|
* @param {string} endpoint URL para a qual o usuário será redirecionado ao clicar no botão.
|
|
@@ -75,7 +87,7 @@ const ButtonFormStyled = styled(Button, {
|
|
|
75
87
|
* };
|
|
76
88
|
* ```
|
|
77
89
|
*/
|
|
78
|
-
const GoogleButton = ({ text, variant = 'body1', endpoint, messageError = 'Ocorreu um erro ao processar sua solicitação.', errorColor = '#d32f2f', boxShadow = 'none', width = 'auto', height = 'auto', padding = '8px 24px', margin = '0', background = "transparent", border = 'none', borderRadius, }) => {
|
|
90
|
+
const GoogleButton = ({ icon, text, variant = 'body1', endpoint, messageError = 'Ocorreu um erro ao processar sua solicitação.', errorColor = '#d32f2f', boxShadow = 'none', width = 'auto', height = 'auto', padding = '8px 24px', margin = '0', background = "transparent", border = 'none', borderRadius, }) => {
|
|
79
91
|
const [loading, setLoading] = React.useState(false);
|
|
80
92
|
const [errorMsg, setErrorMsg] = React.useState(null);
|
|
81
93
|
const handleClick = async () => {
|
|
@@ -93,7 +105,7 @@ const GoogleButton = ({ text, variant = 'body1', endpoint, messageError = 'Ocorr
|
|
|
93
105
|
};
|
|
94
106
|
return (_jsxs(Box, { children: [_jsx(ButtonFormStyled, { onClick: handleClick, disabled: loading, width: width, height: height, padding: padding, margin: margin, background: background, border: border, borderRadius: borderRadius, boxShadow: boxShadow, children: loading
|
|
95
107
|
? 'Carregando...'
|
|
96
|
-
: _jsx(Typography, { variant: variant, children: text }) }), errorMsg && (_jsx(Typography, { role: "alert", variant: "body2", sx: { mt: 1 }, color: errorColor, children: errorMsg }))] }));
|
|
108
|
+
: _jsxs(AreaTexto, { children: [icon(), _jsx(Typography, { variant: variant, children: text })] }) }), errorMsg && (_jsx(Typography, { role: "alert", variant: "body2", sx: { mt: 1 }, color: errorColor, children: errorMsg }))] }));
|
|
97
109
|
};
|
|
98
110
|
GoogleButton.displayName = 'GoogleButton';
|
|
99
111
|
export default GoogleButton;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleButton.js","sourceRoot":"","sources":["../../../src/components/login/GoogleButton.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"GoogleButton.js","sourceRoot":"","sources":["../../../src/components/login/GoogleButton.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAuB,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAmC,MAAM,eAAe,CAAC;AAOjG,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE;IACtC,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1B,CAAC;QACC,OAAO;QACP,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,YAAY;QACZ,QAAQ;QACR,cAAc;QACd,WAAW;KACZ,CAAC,QAAQ,CAAC,IAAc,CAAC;CAC7B,CAAC,CAUA,CAAC,EACC,KAAK,EACL,MAAM,EACN,OAAO,EACP,MAAM,EACN,UAAU,EACV,MAAM,EACN,YAAY,EACZ,SAAS,GACV,EAAE,EAAE,CAAC,CAAC;IACL,SAAS;IACT,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,MAAM;IAEd,SAAS;IACT,UAAU,EAAE,UAAU;IACtB,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,YAAY;IAC1B,SAAS,EAAE,SAAS;IACpB,aAAa,EAAE,MAAM;IACrB,MAAM,EAAE,SAAS;IAEjB,SAAS,EAAE;QACT,OAAO,EAAE,GAAG;QACZ,SAAS,EAAE,SAAS,IAAI,MAAM;KAC/B;IAED,YAAY,EAAE;QACZ,OAAO,EAAE,GAAG;QACZ,MAAM,EAAE,aAAa;KACtB;CACF,CAAC,CACH,CAAC;AAEF,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACnC,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,QAAQ;IACxB,KAAK,EAAE,MAAM;IACb,GAAG,EAAE,MAAM;IACX,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,GAAG;IACZ,MAAM,EAAE,GAAG;CACZ,CAAC,CAAC,CAAC;AA0BN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,YAAY,GAAgC,CAAC,EACjD,IAAI,EACJ,IAAI,EACJ,OAAO,GAAG,OAAO,EACjB,QAAQ,EACR,YAAY,GAAG,+CAA+C,EAC9D,UAAU,GAAG,SAAS,EACtB,SAAS,GAAG,MAAM,EAClB,KAAK,GAAG,MAAM,EACd,MAAM,GAAG,MAAM,EACf,OAAO,GAAG,UAAU,EACpB,MAAM,GAAG,GAAG,EACZ,UAAU,GAAG,aAAa,EAC1B,MAAM,GAAG,MAAM,EACf,YAAY,GACb,EAAE,EAAE;IAEH,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAEpE,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;QAC7B,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAA;QACjC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,WAAW,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,GAAG,eACF,KAAC,gBAAgB,IAChB,OAAO,EAAE,WAAW,EACnB,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,YAEnB,OAAO;oBACN,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,MAAC,SAAS,eACN,IAAI,EAAE,EACR,KAAC,UAAU,IAAC,OAAO,EAAE,OAAO,YAAG,IAAI,GAAc,IACvC,GACC,EAElB,QAAQ,IAAI,CACX,KAAC,UAAU,IACT,IAAI,EAAC,OAAO,EACZ,OAAO,EAAC,OAAO,EACf,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EACb,KAAK,EAAE,UAAU,YAEhB,QAAQ,GACE,CACd,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,YAAY,CAAC,WAAW,GAAG,cAAc,CAAC;AAC1C,eAAe,YAAY,CAAC"}
|