@pipelinesolucoes/form 1.2.0-beta.25 → 1.2.0-beta.27
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 +7 -1
- package/dist/components/TextFieldBirthDateWithAge.d.ts +10 -30
- package/dist/components/TextFieldBirthDateWithAge.js +35 -48
- package/dist/components/TextFieldBirthDateWithAge.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- 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/package.json +1 -1
package/README.md
CHANGED
|
@@ -24,7 +24,8 @@ A biblioteca inclui os seguintes componentes:
|
|
|
24
24
|
Faz a validação do e-mail, dispara um `onSubmit` assíncrono (obrigatório) e exibe a mensagem retornada.
|
|
25
25
|
|
|
26
26
|
- **TextFieldPassword**
|
|
27
|
-
Componente de campo de senha baseado no TextField do Material UI, com botão para alternar entre mostrar/ocultar a senha.
|
|
27
|
+
Componente de campo de senha baseado no TextField do Material UI, com botão para alternar entre mostrar/ocultar a senha.
|
|
28
|
+
O componente:
|
|
28
29
|
- Retorna somente a senha digitada via `onPasswordChange`
|
|
29
30
|
- Valida obrigatório + formato (regex) e exibe mensagens de erro automaticamente
|
|
30
31
|
- Dispara um "evento" de validação via `onValidationChange`
|
|
@@ -37,6 +38,11 @@ A biblioteca inclui os seguintes componentes:
|
|
|
37
38
|
Campo de texto numérico com suporte a validações comuns e customizadas, construído sobre o TextField do Material UI e
|
|
38
39
|
estilizado via Design System da Pipeline.
|
|
39
40
|
|
|
41
|
+
- **TextFieldBirthDateWithAge**
|
|
42
|
+
Campo de data de nascimento com entrada somente numérica, máscara `dd/mm/yyyy`,
|
|
43
|
+
validações comuns (required, min/maxLength, pattern) + validação customizada,
|
|
44
|
+
e cálculo automático de idade exibido na label.
|
|
45
|
+
|
|
40
46
|
- **NotificationSnackbar**
|
|
41
47
|
Componente que exibe uma notificação no topo da tela utilizando o Snackbar e Alert do Material UI.
|
|
42
48
|
---
|
|
@@ -27,57 +27,37 @@ interface TextFieldBirthDateWithAgeProps extends Omit<ColorProps, 'backgroundHov
|
|
|
27
27
|
/**
|
|
28
28
|
* Campo de data de nascimento com entrada somente numérica, máscara `dd/mm/yyyy`,
|
|
29
29
|
* validações comuns (required, min/maxLength, pattern) + validação customizada,
|
|
30
|
-
* e cálculo automático de idade exibido
|
|
30
|
+
* e cálculo automático de idade exibido na label.
|
|
31
31
|
*
|
|
32
|
-
*
|
|
33
|
-
* -
|
|
34
|
-
*
|
|
35
|
-
* - Quando a data estiver completa e for válida, a idade é calculada e exibida.
|
|
36
|
-
* - Erros sempre têm prioridade no helperText.
|
|
37
|
-
*
|
|
38
|
-
* Tokens de estilo (ordem de prioridade):
|
|
39
|
-
* - props do componente
|
|
40
|
-
* - `theme.pipelinesolucoes.forms.field`
|
|
41
|
-
* - fallback interno (constantes `fb*`)
|
|
32
|
+
* Regra adicional:
|
|
33
|
+
* - Se o usuário digitar ano com 2 dígitos (ex.: `25/11/78`), o componente converte para `25/11/2078`
|
|
34
|
+
* (sempre prefixando `20` no ano).
|
|
42
35
|
*
|
|
43
36
|
* @param {string} [id] Identificador do campo.
|
|
44
37
|
* @param {string} [label] Rótulo exibido acima do campo.
|
|
45
38
|
* @param {string} [placeholder='dd/mm/aaaa'] Placeholder do input.
|
|
46
39
|
* @param {string} [value] Valor do campo (controlado).
|
|
47
40
|
* @param {boolean} [disabled=false] Define se o campo está desabilitado.
|
|
48
|
-
*
|
|
49
41
|
* @param {number} [minLength] Número mínimo de caracteres para validação (após máscara).
|
|
50
42
|
* @param {number} [maxLength] Número máximo de caracteres para validação (após máscara).
|
|
51
|
-
*
|
|
52
43
|
* @param {boolean} [required=false] Define se é obrigatório.
|
|
53
44
|
* @param {string} [requiredMessage='Campo obrigatório'] Mensagem de obrigatório.
|
|
54
45
|
* @param {RegExp | string} [pattern] Pattern para validação do valor formatado.
|
|
55
46
|
* @param {string} [patternMessage='Formato inválido'] Mensagem do pattern.
|
|
56
47
|
* @param {'change' | 'blur'} [showErrorOn='blur'] Momento de exibir o erro.
|
|
57
48
|
* @param {(value: string) => string | null | undefined} [validate] Validação customizada do valor formatado.
|
|
58
|
-
*
|
|
59
49
|
* @param {(age: number | null) => void} [onAgeChange] Callback com a idade calculada (ou null se inválido/incompleto).
|
|
60
50
|
* @param {(event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void} [onChange] Callback disparado ao alterar (já com valor formatado).
|
|
61
51
|
* @param {(event: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void} [onBlur] Callback disparado ao perder o foco.
|
|
62
52
|
*
|
|
63
53
|
* @example
|
|
64
54
|
* ```tsx
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
* label="Data de nascimento"
|
|
72
|
-
* value={birthDate}
|
|
73
|
-
* required
|
|
74
|
-
* showErrorOn="blur"
|
|
75
|
-
* onChange={(e) => setBirthDate(e.target.value)}
|
|
76
|
-
* onAgeChange={(nextAge) => setAge(nextAge)}
|
|
77
|
-
* validate={(v) => (v.length === 10 && !/^\d{2}\/\d{2}\/\d{4}$/.test(v) ? 'Data inválida' : null)}
|
|
78
|
-
* />
|
|
79
|
-
* );
|
|
80
|
-
* };
|
|
55
|
+
* <TextFieldBirthDateWithAge
|
|
56
|
+
* label="Data de nascimento"
|
|
57
|
+
* value={birthDate}
|
|
58
|
+
* onChange={(e) => setBirthDate(e.target.value)}
|
|
59
|
+
* onAgeChange={(age) => console.log(age)}
|
|
60
|
+
* />
|
|
81
61
|
* ```
|
|
82
62
|
*/
|
|
83
63
|
declare const TextFieldBirthDateWithAge: React.FC<TextFieldBirthDateWithAgeProps>;
|
|
@@ -4,8 +4,24 @@ import { useTheme } from '@mui/material/styles';
|
|
|
4
4
|
import { TextFieldStyled } from '../style/TextFieldStyle';
|
|
5
5
|
import { fbbackground, fbbackgroundDisabled, fbborderColor, fbborderRadius, fbboxShadow, fbcolor, fbcolorDisabled, fbcolorFocused, fbheigth, fbpadding, } from '../constant';
|
|
6
6
|
const onlyNumbers = (raw) => (raw !== null && raw !== void 0 ? raw : '').replace(/[^\d]/g, '');
|
|
7
|
+
const expandTwoDigitYearToFour = (yy) => {
|
|
8
|
+
// Regra solicitada: 78 -> 2078 (sempre prefixa 20)
|
|
9
|
+
// Também cobre 00..99 -> 2000..2099
|
|
10
|
+
if (yy.length !== 2)
|
|
11
|
+
return yy;
|
|
12
|
+
return `20${yy}`;
|
|
13
|
+
};
|
|
7
14
|
const formatBirthDate = (raw) => {
|
|
8
|
-
|
|
15
|
+
// Suporta o usuário digitando com ou sem barras (ex.: 25/11/78 ou 251178)
|
|
16
|
+
const digits = onlyNumbers(raw).slice(0, 8); // ddmmyyyy (no máximo)
|
|
17
|
+
// Se o usuário digitar ddmmyy (6 dígitos), expande para ddmmyyyy com prefixo 20
|
|
18
|
+
if (digits.length === 6) {
|
|
19
|
+
const dd = digits.slice(0, 2);
|
|
20
|
+
const mm = digits.slice(2, 4);
|
|
21
|
+
const yy = digits.slice(4, 6);
|
|
22
|
+
const yyyy = expandTwoDigitYearToFour(yy);
|
|
23
|
+
return `${dd}/${mm}/${yyyy}`;
|
|
24
|
+
}
|
|
9
25
|
if (digits.length <= 2)
|
|
10
26
|
return digits;
|
|
11
27
|
if (digits.length <= 4)
|
|
@@ -30,7 +46,6 @@ const isValidBirthDate = (formatted) => {
|
|
|
30
46
|
const date = new Date(yyyy, mm - 1, dd);
|
|
31
47
|
if (Number.isNaN(date.getTime()))
|
|
32
48
|
return false;
|
|
33
|
-
// garante que não "normalizou" (ex.: 31/02 vira 02/03)
|
|
34
49
|
return (date.getFullYear() === yyyy &&
|
|
35
50
|
date.getMonth() === mm - 1 &&
|
|
36
51
|
date.getDate() === dd);
|
|
@@ -44,7 +59,6 @@ const calculateAgeFromFormatted = (formatted) => {
|
|
|
44
59
|
const yyyy = Number(yyyyStr);
|
|
45
60
|
const birth = new Date(yyyy, mm - 1, dd);
|
|
46
61
|
const today = new Date();
|
|
47
|
-
// Não permitir data no futuro
|
|
48
62
|
const todayAtMidnight = new Date(today.getFullYear(), today.getMonth(), today.getDate());
|
|
49
63
|
if (birth.getTime() > todayAtMidnight.getTime())
|
|
50
64
|
return null;
|
|
@@ -59,12 +73,10 @@ const computeError = (value, { required, requiredMessage, minLength, maxLength,
|
|
|
59
73
|
const v = value !== null && value !== void 0 ? value : '';
|
|
60
74
|
if (required && v.trim().length === 0)
|
|
61
75
|
return requiredMessage || 'Campo obrigatório';
|
|
62
|
-
if (typeof minLength === 'number' && v.length < minLength)
|
|
76
|
+
if (typeof minLength === 'number' && v.length < minLength)
|
|
63
77
|
return `Mínimo de ${minLength} caracteres`;
|
|
64
|
-
|
|
65
|
-
if (typeof maxLength === 'number' && v.length > maxLength) {
|
|
78
|
+
if (typeof maxLength === 'number' && v.length > maxLength)
|
|
66
79
|
return `Máximo de ${maxLength} caracteres`;
|
|
67
|
-
}
|
|
68
80
|
if (pattern) {
|
|
69
81
|
const re = typeof pattern === 'string' ? new RegExp(pattern) : pattern;
|
|
70
82
|
if (!re.test(v))
|
|
@@ -80,57 +92,37 @@ const computeError = (value, { required, requiredMessage, minLength, maxLength,
|
|
|
80
92
|
/**
|
|
81
93
|
* Campo de data de nascimento com entrada somente numérica, máscara `dd/mm/yyyy`,
|
|
82
94
|
* validações comuns (required, min/maxLength, pattern) + validação customizada,
|
|
83
|
-
* e cálculo automático de idade exibido
|
|
84
|
-
*
|
|
85
|
-
* Regras:
|
|
86
|
-
* - O usuário digita apenas números.
|
|
87
|
-
* - Ao digitar, o valor é formatado automaticamente como `dd/mm/yyyy`.
|
|
88
|
-
* - Quando a data estiver completa e for válida, a idade é calculada e exibida.
|
|
89
|
-
* - Erros sempre têm prioridade no helperText.
|
|
95
|
+
* e cálculo automático de idade exibido na label.
|
|
90
96
|
*
|
|
91
|
-
*
|
|
92
|
-
* -
|
|
93
|
-
*
|
|
94
|
-
* - fallback interno (constantes `fb*`)
|
|
97
|
+
* Regra adicional:
|
|
98
|
+
* - Se o usuário digitar ano com 2 dígitos (ex.: `25/11/78`), o componente converte para `25/11/2078`
|
|
99
|
+
* (sempre prefixando `20` no ano).
|
|
95
100
|
*
|
|
96
101
|
* @param {string} [id] Identificador do campo.
|
|
97
102
|
* @param {string} [label] Rótulo exibido acima do campo.
|
|
98
103
|
* @param {string} [placeholder='dd/mm/aaaa'] Placeholder do input.
|
|
99
104
|
* @param {string} [value] Valor do campo (controlado).
|
|
100
105
|
* @param {boolean} [disabled=false] Define se o campo está desabilitado.
|
|
101
|
-
*
|
|
102
106
|
* @param {number} [minLength] Número mínimo de caracteres para validação (após máscara).
|
|
103
107
|
* @param {number} [maxLength] Número máximo de caracteres para validação (após máscara).
|
|
104
|
-
*
|
|
105
108
|
* @param {boolean} [required=false] Define se é obrigatório.
|
|
106
109
|
* @param {string} [requiredMessage='Campo obrigatório'] Mensagem de obrigatório.
|
|
107
110
|
* @param {RegExp | string} [pattern] Pattern para validação do valor formatado.
|
|
108
111
|
* @param {string} [patternMessage='Formato inválido'] Mensagem do pattern.
|
|
109
112
|
* @param {'change' | 'blur'} [showErrorOn='blur'] Momento de exibir o erro.
|
|
110
113
|
* @param {(value: string) => string | null | undefined} [validate] Validação customizada do valor formatado.
|
|
111
|
-
*
|
|
112
114
|
* @param {(age: number | null) => void} [onAgeChange] Callback com a idade calculada (ou null se inválido/incompleto).
|
|
113
115
|
* @param {(event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void} [onChange] Callback disparado ao alterar (já com valor formatado).
|
|
114
116
|
* @param {(event: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void} [onBlur] Callback disparado ao perder o foco.
|
|
115
117
|
*
|
|
116
118
|
* @example
|
|
117
119
|
* ```tsx
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
* label="Data de nascimento"
|
|
125
|
-
* value={birthDate}
|
|
126
|
-
* required
|
|
127
|
-
* showErrorOn="blur"
|
|
128
|
-
* onChange={(e) => setBirthDate(e.target.value)}
|
|
129
|
-
* onAgeChange={(nextAge) => setAge(nextAge)}
|
|
130
|
-
* validate={(v) => (v.length === 10 && !/^\d{2}\/\d{2}\/\d{4}$/.test(v) ? 'Data inválida' : null)}
|
|
131
|
-
* />
|
|
132
|
-
* );
|
|
133
|
-
* };
|
|
120
|
+
* <TextFieldBirthDateWithAge
|
|
121
|
+
* label="Data de nascimento"
|
|
122
|
+
* value={birthDate}
|
|
123
|
+
* onChange={(e) => setBirthDate(e.target.value)}
|
|
124
|
+
* onAgeChange={(age) => console.log(age)}
|
|
125
|
+
* />
|
|
134
126
|
* ```
|
|
135
127
|
*/
|
|
136
128
|
const TextFieldBirthDateWithAge = ({ id, label, placeholder = 'dd/mm/aaaa', value = '', textVariant, background, backgroundFocused, backgroundDisabled, color, colorFocused, colorDisabled, borderRadius, boxShadow, borderColor, padding, height, disabled = false, minLength, maxLength, required = false, requiredMessage = 'Campo obrigatório', pattern, patternMessage = 'Formato inválido', validate, showErrorOn = 'blur', onChange, onBlur, onAgeChange, }) => {
|
|
@@ -138,7 +130,6 @@ const TextFieldBirthDateWithAge = ({ id, label, placeholder = 'dd/mm/aaaa', valu
|
|
|
138
130
|
const [touched, setTouched] = React.useState(false);
|
|
139
131
|
const formattedValue = React.useMemo(() => formatBirthDate(value), [value]);
|
|
140
132
|
const computedAge = React.useMemo(() => {
|
|
141
|
-
// só calcula quando completo
|
|
142
133
|
if (formattedValue.length !== 10)
|
|
143
134
|
return null;
|
|
144
135
|
return calculateAgeFromFormatted(formattedValue);
|
|
@@ -155,10 +146,7 @@ const TextFieldBirthDateWithAge = ({ id, label, placeholder = 'dd/mm/aaaa', valu
|
|
|
155
146
|
: null;
|
|
156
147
|
if (baseError)
|
|
157
148
|
return baseError;
|
|
158
|
-
|
|
159
|
-
if (v.length === 10 && !isValidBirthDate(v))
|
|
160
|
-
return 'Data inválida';
|
|
161
|
-
if (v.length === 10 && isValidBirthDate(v) && computedAge === null)
|
|
149
|
+
if (v.length === 10 && computedAge === null)
|
|
162
150
|
return 'Data inválida';
|
|
163
151
|
return null;
|
|
164
152
|
}, [
|
|
@@ -174,6 +162,9 @@ const TextFieldBirthDateWithAge = ({ id, label, placeholder = 'dd/mm/aaaa', valu
|
|
|
174
162
|
touched,
|
|
175
163
|
computedAge,
|
|
176
164
|
]);
|
|
165
|
+
const computedLabel = computedAge !== null && !errorMessage
|
|
166
|
+
? `${label !== null && label !== void 0 ? label : ''} (${computedAge} anos)`.trim()
|
|
167
|
+
: label;
|
|
177
168
|
const handleBlur = (event) => {
|
|
178
169
|
if (!touched)
|
|
179
170
|
setTouched(true);
|
|
@@ -222,12 +213,8 @@ const TextFieldBirthDateWithAge = ({ id, label, placeholder = 'dd/mm/aaaa', valu
|
|
|
222
213
|
const pad = (_m = padding !== null && padding !== void 0 ? padding : field === null || field === void 0 ? void 0 : field.padding) !== null && _m !== void 0 ? _m : fbpadding;
|
|
223
214
|
const hg = (_o = height !== null && height !== void 0 ? height : field === null || field === void 0 ? void 0 : field.height) !== null && _o !== void 0 ? _o : fbheigth;
|
|
224
215
|
const typo = (_q = (_p = (textVariant && theme.typography[textVariant])) !== null && _p !== void 0 ? _p : field === null || field === void 0 ? void 0 : field.typography) !== null && _q !== void 0 ? _q : theme.typography.body1;
|
|
225
|
-
const helperText = errorMessage
|
|
226
|
-
|
|
227
|
-
: computedAge !== null
|
|
228
|
-
? `Idade: ${computedAge} anos`
|
|
229
|
-
: ' ';
|
|
230
|
-
return (_jsx(TextFieldStyled, { id: id, label: label, placeholder: placeholder, value: formattedValue, typo: typo, onChange: handleChange, onBlur: handleBlur, background: bg, backgroundFocused: bgFocused, backgroundDisabled: bgDisabled, colorText: txt, colorFocused: bdFocused, colorDisabled: txtDisabled, borderRadius: br, boxShadow: sh, borderColor: bd, padding: pad, disabled: disabled, required: required, fullWidth: true, height: hg, error: Boolean(errorMessage), helperText: helperText, onKeyDown: handleKeyDown, slotProps: {
|
|
216
|
+
const helperText = errorMessage ? errorMessage : '\u00A0';
|
|
217
|
+
return (_jsx(TextFieldStyled, { id: id, label: computedLabel, placeholder: placeholder, value: formattedValue, typo: typo, onChange: handleChange, onBlur: handleBlur, background: bg, backgroundFocused: bgFocused, backgroundDisabled: bgDisabled, colorText: txt, colorFocused: bdFocused, colorDisabled: txtDisabled, borderRadius: br, boxShadow: sh, borderColor: bd, padding: pad, disabled: disabled, required: required, fullWidth: true, height: hg, error: Boolean(errorMessage), helperText: helperText, onKeyDown: handleKeyDown, slotProps: {
|
|
231
218
|
input: {
|
|
232
219
|
inputProps: {
|
|
233
220
|
inputMode: 'numeric',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextFieldBirthDateWithAge.js","sourceRoot":"","sources":["../../src/components/TextFieldBirthDateWithAge.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAqB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,WAAW,EACX,OAAO,EACP,eAAe,EACf,cAAc,EACd,QAAQ,EACR,SAAS,GACV,MAAM,aAAa,CAAC;AAsCrB,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAEvE,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE;IACtC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"TextFieldBirthDateWithAge.js","sourceRoot":"","sources":["../../src/components/TextFieldBirthDateWithAge.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,3 +12,6 @@ export { default as TextFieldNumberValidate } from './components/TextFieldNumber
|
|
|
12
12
|
export { default as TextFieldBirthDateWithAge } from './components/TextFieldBirthDateWithAge';
|
|
13
13
|
export * from './utils/validateTelefone';
|
|
14
14
|
export * from './utils/validateEmail';
|
|
15
|
+
export * from './utils/validateCpf';
|
|
16
|
+
export * from './utils/formatCpf';
|
|
17
|
+
export * from './utils/formatCEP';
|
package/dist/index.js
CHANGED
|
@@ -12,4 +12,7 @@ export { default as TextFieldNumberValidate } from './components/TextFieldNumber
|
|
|
12
12
|
export { default as TextFieldBirthDateWithAge } from './components/TextFieldBirthDateWithAge';
|
|
13
13
|
export * from './utils/validateTelefone';
|
|
14
14
|
export * from './utils/validateEmail';
|
|
15
|
+
export * from './utils/validateCpf';
|
|
16
|
+
export * from './utils/formatCpf';
|
|
17
|
+
export * from './utils/formatCEP';
|
|
15
18
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAC,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAC,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAC,MAAM,yCAAyC,CAAC;AAEzF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAC,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEpF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAE9F,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAC,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAC,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAC,MAAM,yCAAyC,CAAC;AAEzF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAC,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEpF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAE9F,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
|