kitunga-web 0.1.96 → 0.1.98
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/features/inputs/components/Inputs/PhoneInput/countries/index.d.ts +4 -1
- package/dist/features/inputs/components/Inputs/PhoneInput/countries/index.d.ts.map +1 -1
- package/dist/features/inputs/components/Inputs/PhoneInput/countries/index.js +86 -32
- package/dist/features/inputs/components/Inputs/PhoneInput/countries/index.js.map +1 -1
- package/dist/features/selects/components/Selects/CustomSelect.d.ts +56 -4
- package/dist/features/selects/components/Selects/CustomSelect.d.ts.map +1 -1
- package/dist/features/selects/components/Selects/CustomSelect.js +161 -46
- package/dist/features/selects/components/Selects/CustomSelect.js.map +1 -1
- package/dist/features/selects/components/Selects/CustomSelect.module.css +130 -0
- package/dist/features/selects/components/Selects/pickerOptions.d.ts +29 -0
- package/dist/features/selects/components/Selects/pickerOptions.d.ts.map +1 -0
- package/dist/features/selects/components/Selects/pickerOptions.js +85 -0
- package/dist/features/selects/components/Selects/pickerOptions.js.map +1 -0
- package/dist/ui.d.ts +1 -1
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +1 -1
- package/dist/ui.js.map +1 -1
- package/package.json +12 -11
- package/dist/features/inputs/components/Inputs/PhoneInput/countries/ao.d.ts +0 -3
- package/dist/features/inputs/components/Inputs/PhoneInput/countries/ao.d.ts.map +0 -1
- package/dist/features/inputs/components/Inputs/PhoneInput/countries/ao.js +0 -20
- package/dist/features/inputs/components/Inputs/PhoneInput/countries/ao.js.map +0 -1
- package/dist/features/inputs/components/Inputs/PhoneInput/countries/br.d.ts +0 -3
- package/dist/features/inputs/components/Inputs/PhoneInput/countries/br.d.ts.map +0 -1
- package/dist/features/inputs/components/Inputs/PhoneInput/countries/br.js +0 -9
- package/dist/features/inputs/components/Inputs/PhoneInput/countries/br.js.map +0 -1
- package/dist/features/inputs/components/Inputs/PhoneInput/countries/pt.d.ts +0 -3
- package/dist/features/inputs/components/Inputs/PhoneInput/countries/pt.d.ts.map +0 -1
- package/dist/features/inputs/components/Inputs/PhoneInput/countries/pt.js +0 -9
- package/dist/features/inputs/components/Inputs/PhoneInput/countries/pt.js.map +0 -1
- package/dist/features/inputs/components/Inputs/PhoneInput/countries/us.d.ts +0 -3
- package/dist/features/inputs/components/Inputs/PhoneInput/countries/us.d.ts.map +0 -1
- package/dist/features/inputs/components/Inputs/PhoneInput/countries/us.js +0 -17
- package/dist/features/inputs/components/Inputs/PhoneInput/countries/us.js.map +0 -1
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import { type CountryCode } from 'libphonenumber-js';
|
|
1
2
|
import { CountryConfig } from '../types/phone.types';
|
|
2
|
-
|
|
3
|
+
/** Todos os ISO-2 que a metadata cobre — a lista completa do selector
|
|
4
|
+
de países (o bloco prioritário e a ordenação são do consumidor). */
|
|
5
|
+
export declare const getSupportedCountryCodes: () => CountryCode[];
|
|
3
6
|
export declare const getCountryConfig: (code: string | undefined) => CountryConfig | undefined;
|
|
4
7
|
export declare const validatePhone: (phone: string | undefined, countryCode: string | undefined) => boolean;
|
|
5
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/inputs/components/Inputs/PhoneInput/countries/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/inputs/components/Inputs/PhoneInput/countries/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AA+DrD;uEACuE;AACvE,eAAO,MAAM,wBAAwB,QAAO,WAAW,EAAoB,CAAC;AAE5E,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,GAAG,SAAS,KAAG,aAAa,GAAG,SAW3E,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,GAAG,SAAS,EAAE,aAAa,MAAM,GAAG,SAAS,KAAG,OAqB1F,CAAC"}
|
|
@@ -1,48 +1,102 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
//
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
// Países suportados pelo PhoneInput — decisão 74 do Masolo: TODOS os
|
|
2
|
+
// territórios da metadata do libphonenumber-js (a biblioteca canónica
|
|
3
|
+
// do plano de numeração), nunca allowlist manual. O CountryConfig é
|
|
4
|
+
// GERADO por país: indicativo, máscara (do exemplo móvel real do
|
|
5
|
+
// plano) e validação (a própria metadata) — zero ficheiros por país.
|
|
6
|
+
//
|
|
7
|
+
// O mapa OVERRIDES é o único ponto manual: refinamentos de UX mais
|
|
8
|
+
// estritos que a metadata (a metadata valida, o override refina a
|
|
9
|
+
// digitação — ex.: os prefixos móveis ANACOM do AO bloqueiam um dígito
|
|
10
|
+
// impossível antes de ele ser escrito).
|
|
11
|
+
import { getCountries, getCountryCallingCode, isSupportedCountry, parsePhoneNumberFromString, getExampleNumber, } from 'libphonenumber-js';
|
|
12
|
+
import examples from 'libphonenumber-js/examples.mobile.json';
|
|
13
|
+
// Nomes em inglês canónico (a UI localiza por Intl.DisplayNames na
|
|
14
|
+
// língua activa — este campo existe por compat do contrato).
|
|
15
|
+
const englishNames = new Intl.DisplayNames(['en'], { type: 'region' });
|
|
16
|
+
// Overrides de produto — a metadata é a verdade; aqui vivem APENAS
|
|
17
|
+
// regras mais estritas que ela, por país:
|
|
18
|
+
const OVERRIDES = {
|
|
19
|
+
AO: {
|
|
20
|
+
// Prefixos móveis reais da ANACOM — bloqueia o dígito impossível
|
|
21
|
+
// durante a digitação, não só na validação final.
|
|
22
|
+
formatInput: (val) => {
|
|
23
|
+
if (val.length === 1 && val[0] !== '9')
|
|
24
|
+
return '';
|
|
25
|
+
if (val.length === 2 && !['91', '92', '93', '94', '95', '97', '99'].includes(val))
|
|
26
|
+
return '9';
|
|
27
|
+
return val;
|
|
28
|
+
},
|
|
29
|
+
validateRegex: /^9[1234579]\d{7}$/,
|
|
30
|
+
},
|
|
11
31
|
};
|
|
32
|
+
const configCache = new Map();
|
|
33
|
+
const buildConfig = (iso) => {
|
|
34
|
+
var _a, _b;
|
|
35
|
+
const example = getExampleNumber(iso, examples);
|
|
36
|
+
// A máscara deriva do exemplo móvel real do plano — a forma local
|
|
37
|
+
// que o utilizador reconhece ('923 123 456', '(11) 96123-4567').
|
|
38
|
+
// Sem exemplo (território sem plano móvel): 15 posições, o máximo
|
|
39
|
+
// ITU — nunca uma máscara inventada.
|
|
40
|
+
const national = (_a = example === null || example === void 0 ? void 0 : example.formatNational()) !== null && _a !== void 0 ? _a : '';
|
|
41
|
+
const format = national.replace(/\d/g, '0') || '000000000000000';
|
|
42
|
+
const maxLength = national.replace(/\D/g, '').length || 15;
|
|
43
|
+
return Object.assign({ code: iso, dialCode: `+${getCountryCallingCode(iso)}`, name: (_b = englishNames.of(iso)) !== null && _b !== void 0 ? _b : iso, format,
|
|
44
|
+
maxLength }, OVERRIDES[iso]);
|
|
45
|
+
};
|
|
46
|
+
// Aliases legados do contrato antigo (nomes/alpha-3 → ISO-2). O
|
|
47
|
+
// caminho canónico é sempre o ISO-2 — os aliases existem só para não
|
|
48
|
+
// partir consumidores antigos.
|
|
49
|
+
const LEGACY_ALIASES = {
|
|
50
|
+
AOA: 'AO',
|
|
51
|
+
ANGOLA: 'AO',
|
|
52
|
+
USA: 'US',
|
|
53
|
+
'ESTADOS UNIDOS': 'US',
|
|
54
|
+
PORTUGAL: 'PT',
|
|
55
|
+
BRASIL: 'BR',
|
|
56
|
+
};
|
|
57
|
+
const normalizeCountryCode = (code) => {
|
|
58
|
+
const upper = code.trim().toUpperCase();
|
|
59
|
+
if (upper.length === 2)
|
|
60
|
+
return upper;
|
|
61
|
+
return LEGACY_ALIASES[upper];
|
|
62
|
+
};
|
|
63
|
+
/** Todos os ISO-2 que a metadata cobre — a lista completa do selector
|
|
64
|
+
de países (o bloco prioritário e a ordenação são do consumidor). */
|
|
65
|
+
export const getSupportedCountryCodes = () => getCountries();
|
|
12
66
|
export const getCountryConfig = (code) => {
|
|
13
67
|
if (!code)
|
|
14
68
|
return undefined;
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
: upper === 'BRASIL'
|
|
25
|
-
? 'BR'
|
|
26
|
-
: upper);
|
|
27
|
-
return COUNTRIES[normalized];
|
|
69
|
+
const iso = normalizeCountryCode(code);
|
|
70
|
+
if (!iso || !isSupportedCountry(iso))
|
|
71
|
+
return undefined;
|
|
72
|
+
let config = configCache.get(iso);
|
|
73
|
+
if (!config) {
|
|
74
|
+
config = buildConfig(iso);
|
|
75
|
+
configCache.set(iso, config);
|
|
76
|
+
}
|
|
77
|
+
return config;
|
|
28
78
|
};
|
|
29
79
|
export const validatePhone = (phone, countryCode) => {
|
|
30
80
|
if (!phone || phone.trim() === '')
|
|
31
81
|
return false;
|
|
32
82
|
const config = getCountryConfig(countryCode);
|
|
83
|
+
if (!config)
|
|
84
|
+
return false;
|
|
33
85
|
const clean = phone.replace(/\D/g, '');
|
|
34
86
|
if (clean.length === 0)
|
|
35
87
|
return false;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
// 1. Validação de Tamanho
|
|
41
|
-
if (clean.length !== config.maxLength)
|
|
42
|
-
return false;
|
|
43
|
-
// 2. Validação de Regex (ex: regras 9X de Angola)
|
|
88
|
+
// 1. Override de produto (ex.: prefixos ANACOM do AO) — mais estrito
|
|
89
|
+
// que a metadata, aplica-se primeiro.
|
|
44
90
|
if (config.validateRegex && !config.validateRegex.test(clean))
|
|
45
91
|
return false;
|
|
46
|
-
|
|
92
|
+
// 2. A metadata é a verdade — número nacional + país.
|
|
93
|
+
const parsed = parsePhoneNumberFromString(clean, config.code);
|
|
94
|
+
if (!(parsed === null || parsed === void 0 ? void 0 : parsed.isValid()))
|
|
95
|
+
return false;
|
|
96
|
+
// 3. Política do SMS: só móveis onde o tipo é detectável. A build
|
|
97
|
+
// min não distingue tipo em todos os países (e o NANP é todo
|
|
98
|
+
// FIXED_LINE_OR_MOBILE) — onde não distingue, vale o plano.
|
|
99
|
+
const type = parsed.getType();
|
|
100
|
+
return type === undefined || type === 'MOBILE' || type === 'FIXED_LINE_OR_MOBILE';
|
|
47
101
|
};
|
|
48
102
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/features/inputs/components/Inputs/PhoneInput/countries/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/features/inputs/components/Inputs/PhoneInput/countries/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,19 +2,37 @@ import React from 'react';
|
|
|
2
2
|
export interface Option {
|
|
3
3
|
value: string;
|
|
4
4
|
label: string;
|
|
5
|
+
/** Rótulo curto para o trigger fechado (ex.: nome do país sem o
|
|
6
|
+
* indicativo). Default: label. */
|
|
5
7
|
selectedLabel?: string;
|
|
6
8
|
disabled?: boolean;
|
|
7
9
|
/** Ícone da opção (bandeira, avatar, glyph) — renderiza na linha
|
|
8
|
-
* do dropdown e, se a opção estiver seleccionada, também no
|
|
10
|
+
* do dropdown/picker e, se a opção estiver seleccionada, também no
|
|
9
11
|
* trigger fechado (ganha ao leftIcon contextual). */
|
|
10
12
|
icon?: React.ReactNode;
|
|
13
|
+
/** Texto literal do cabeçalho de secção no modo picker — opções
|
|
14
|
+
* com o mesmo group renderizam sob a mesma secção, na ordem dada
|
|
15
|
+
* (ex.: 'Sugeridos', 'A', 'B'). Sem group, a opção renderiza sem
|
|
16
|
+
* cabeçalho. */
|
|
17
|
+
group?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface PickerClassNames {
|
|
20
|
+
overlay?: string;
|
|
21
|
+
panel?: string;
|
|
22
|
+
header?: string;
|
|
23
|
+
backButton?: string;
|
|
24
|
+
closeButton?: string;
|
|
25
|
+
searchRow?: string;
|
|
26
|
+
list?: string;
|
|
27
|
+
groupHeader?: string;
|
|
28
|
+
option?: string;
|
|
11
29
|
}
|
|
12
30
|
export interface CustomSelectProps {
|
|
13
31
|
id?: string;
|
|
14
32
|
name?: string;
|
|
15
33
|
value: string;
|
|
16
34
|
onChange: (value: string) => void;
|
|
17
|
-
options
|
|
35
|
+
options?: Option[];
|
|
18
36
|
placeholder?: string;
|
|
19
37
|
required?: boolean;
|
|
20
38
|
className?: string;
|
|
@@ -27,12 +45,12 @@ export interface CustomSelectProps {
|
|
|
27
45
|
collapsible?: boolean;
|
|
28
46
|
dropdownMinWidth?: number;
|
|
29
47
|
dropdownAlign?: 'left' | 'right';
|
|
30
|
-
/** SearchInput fixo no topo do
|
|
48
|
+
/** SearchInput fixo no topo do painel — para listas longas
|
|
31
49
|
* (ex.: países). Filtro accent-insensitive por label, selectedLabel
|
|
32
50
|
* e value (o "244" encontra "Angola (+244)"). */
|
|
33
51
|
searchable?: boolean;
|
|
34
52
|
searchPlaceholder?: string;
|
|
35
|
-
/** Tamanho do SearchInput no
|
|
53
|
+
/** Tamanho do SearchInput no painel (default 'md'). */
|
|
36
54
|
searchSize?: 'sm' | 'md' | 'lg';
|
|
37
55
|
/** O empty quando o filtro não encontra nada — o mesmo
|
|
38
56
|
* SearchEmptyState das tabelas; actionLabel mostra o botão que
|
|
@@ -42,6 +60,40 @@ export interface CustomSelectProps {
|
|
|
42
60
|
description?: string;
|
|
43
61
|
actionLabel?: string;
|
|
44
62
|
};
|
|
63
|
+
/** Segunda apresentação da lista: overlay-sheet com header, pesquisa
|
|
64
|
+
* e secções agrupadas — para listas longas com identidade visual
|
|
65
|
+
* (países, línguas). 'dropdown' é o comportamento de sempre.
|
|
66
|
+
* A pele responsiva é do consumidor via vars --picker-* e
|
|
67
|
+
* pickerClassNames — a kitunga não tem breakpoints. */
|
|
68
|
+
presentation?: 'dropdown' | 'picker';
|
|
69
|
+
/** Título do header do sheet no modo picker. */
|
|
70
|
+
pickerTitle?: string;
|
|
71
|
+
/** Autofocus no SearchInput ao abrir o picker (default false — no
|
|
72
|
+
* mobile abre o teclado; fica ao critério do consumidor). */
|
|
73
|
+
searchAutoFocus?: boolean;
|
|
74
|
+
/** Slots de classe para a pele do consumidor — media queries e
|
|
75
|
+
* regras de breakpoint vivem sempre fora da kitunga. */
|
|
76
|
+
pickerClassNames?: PickerClassNames;
|
|
77
|
+
/** Conveniência que constrói as opções internamente:
|
|
78
|
+
* 'country' → todos os territórios do libphonenumber +
|
|
79
|
+
* Intl.DisplayNames + bandeiras de flagBaseUrl;
|
|
80
|
+
* 'language' → locales + getLanguageLabel + glyph Globe por linha.
|
|
81
|
+
* `options` explícito sempre ganha ao `kind`. */
|
|
82
|
+
kind?: 'country' | 'language';
|
|
83
|
+
/** Locale dos Intl.DisplayNames e da ordenação — a língua activa
|
|
84
|
+
* do consumidor (default 'en'). */
|
|
85
|
+
displayLocale?: string;
|
|
86
|
+
/** Base dos SVGs de bandeira do consumidor (default '/flags/4x3'). */
|
|
87
|
+
flagBaseUrl?: string;
|
|
88
|
+
/** Bloco prioritário no topo do picker (kind='country') — a ordem
|
|
89
|
+
* é do produto; estas opções entram no grupo `suggestedLabel`. */
|
|
90
|
+
priorityCodes?: readonly string[];
|
|
91
|
+
/** Texto do cabeçalho do grupo prioritário (kind='country'). */
|
|
92
|
+
suggestedLabel?: string;
|
|
93
|
+
/** Lista de locales para kind='language' — a whitelist do consumidor. */
|
|
94
|
+
locales?: readonly string[];
|
|
95
|
+
/** Nome da língua por locale — i18n do consumidor. */
|
|
96
|
+
getLanguageLabel?: (locale: string) => string;
|
|
45
97
|
}
|
|
46
98
|
declare const CustomSelect: React.FC<CustomSelectProps>;
|
|
47
99
|
export default CustomSelect;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomSelect.d.ts","sourceRoot":"","sources":["../../../../../src/features/selects/components/Selects/CustomSelect.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"CustomSelect.d.ts","sourceRoot":"","sources":["../../../../../src/features/selects/components/Selects/CustomSelect.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,75 +1,190 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useState, useRef, useEffect } from 'react';
|
|
4
|
-
import { ChevronDown, Check } from 'lucide-react';
|
|
3
|
+
import React, { useState, useRef, useEffect, useCallback } from 'react';
|
|
4
|
+
import { ChevronDown, Check, X, ArrowLeft } from 'lucide-react';
|
|
5
5
|
import SearchInput from '../../../inputs/components/Inputs/SearchInput';
|
|
6
6
|
import SearchEmptyState from '../../../feedback/components/EmptyStates/SearchEmptyState/SearchEmptyState';
|
|
7
|
+
import { buildCountryPickerOptions, buildLanguagePickerOptions, } from './pickerOptions';
|
|
7
8
|
import styles from './CustomSelect.module.css';
|
|
8
|
-
const
|
|
9
|
-
|
|
9
|
+
const normalize = (text) => text
|
|
10
|
+
.normalize('NFD')
|
|
11
|
+
.replace(/[\u0300-\u036f]/g, '')
|
|
12
|
+
.toLowerCase();
|
|
13
|
+
const CustomSelect = ({ id, name, value, onChange, options, placeholder = 'Selecione uma opção', required = false, className = '', disabled = false, leftIcon, hasError = false, variant = 'default', size = 'md', valueBold = false, collapsible = false, dropdownMinWidth, dropdownAlign = 'right', searchable = false, searchPlaceholder, searchSize = 'md', searchEmptyProps, presentation = 'dropdown', pickerTitle, searchAutoFocus = false, pickerClassNames, kind, displayLocale, flagBaseUrl, priorityCodes, suggestedLabel, locales, getLanguageLabel, }) => {
|
|
14
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
10
15
|
const [isOpen, setIsOpen] = useState(false);
|
|
11
16
|
const [search, setSearch] = useState('');
|
|
12
17
|
const selectRef = useRef(null);
|
|
18
|
+
// Entrada transitória do histórico no modo picker — o voltar do
|
|
19
|
+
// mobile/SO fecha o sheet (mesmo modelo do PopupContext do Masolo,
|
|
20
|
+
// sem router: pushState + popstate).
|
|
21
|
+
const pickerPushedRef = useRef(false);
|
|
22
|
+
const resolvedOptions = React.useMemo(() => {
|
|
23
|
+
if (options === null || options === void 0 ? void 0 : options.length)
|
|
24
|
+
return options;
|
|
25
|
+
if (kind === 'country') {
|
|
26
|
+
return buildCountryPickerOptions({
|
|
27
|
+
displayLocale,
|
|
28
|
+
flagBaseUrl,
|
|
29
|
+
priorityCodes,
|
|
30
|
+
suggestedLabel,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
if (kind === 'language') {
|
|
34
|
+
return buildLanguagePickerOptions({
|
|
35
|
+
locales: locales !== null && locales !== void 0 ? locales : [],
|
|
36
|
+
getLanguageLabel,
|
|
37
|
+
displayLocale,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
return options !== null && options !== void 0 ? options : [];
|
|
41
|
+
}, [
|
|
42
|
+
options,
|
|
43
|
+
kind,
|
|
44
|
+
displayLocale,
|
|
45
|
+
flagBaseUrl,
|
|
46
|
+
priorityCodes,
|
|
47
|
+
suggestedLabel,
|
|
48
|
+
locales,
|
|
49
|
+
getLanguageLabel,
|
|
50
|
+
]);
|
|
13
51
|
const selectedOption = value && value.trim() !== ''
|
|
14
|
-
?
|
|
52
|
+
? resolvedOptions.find((option) => option.value === value) || null
|
|
15
53
|
: null;
|
|
16
|
-
//
|
|
17
|
-
//
|
|
18
|
-
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
//
|
|
54
|
+
// Fecha o picker — se a entrada do histórico é nossa, o fecho POPA-a
|
|
55
|
+
// com history.back() (o popstate faz setIsOpen(false)); sem entrada
|
|
56
|
+
// basta o state.
|
|
57
|
+
const closePicker = useCallback(() => {
|
|
58
|
+
if (pickerPushedRef.current) {
|
|
59
|
+
pickerPushedRef.current = false;
|
|
60
|
+
window.history.back();
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
setIsOpen(false);
|
|
64
|
+
}, []);
|
|
65
|
+
// Click fora fecha o painel — mousedown para apanhar antes do blur.
|
|
66
|
+
// No modo picker o overlay cobre o viewport e trata do seu próprio
|
|
67
|
+
// click-outside (está dentro do selectRef, por isso nunca dispara aqui).
|
|
68
|
+
useEffect(() => {
|
|
69
|
+
const handleClickOutside = (event) => {
|
|
70
|
+
if (selectRef.current &&
|
|
71
|
+
!selectRef.current.contains(event.target)) {
|
|
72
|
+
setIsOpen(false);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
76
|
+
return () => document.removeEventListener('mousedown', handleClickOutside);
|
|
77
|
+
}, []);
|
|
78
|
+
// A pesquisa morre com o painel — reabrir mostra a lista inteira.
|
|
28
79
|
useEffect(() => {
|
|
29
80
|
if (!isOpen)
|
|
30
81
|
setSearch('');
|
|
31
82
|
}, [isOpen]);
|
|
83
|
+
// popstate — o voltar do SO/navegador popou a nossa entrada: fecha.
|
|
84
|
+
useEffect(() => {
|
|
85
|
+
if (!isOpen || presentation !== 'picker')
|
|
86
|
+
return;
|
|
87
|
+
const handlePopState = () => {
|
|
88
|
+
pickerPushedRef.current = false;
|
|
89
|
+
setIsOpen(false);
|
|
90
|
+
};
|
|
91
|
+
window.addEventListener('popstate', handlePopState);
|
|
92
|
+
return () => window.removeEventListener('popstate', handlePopState);
|
|
93
|
+
}, [isOpen, presentation]);
|
|
94
|
+
// ESC + trava de scroll da página enquanto o sheet está aberto.
|
|
95
|
+
useEffect(() => {
|
|
96
|
+
if (!isOpen || presentation !== 'picker')
|
|
97
|
+
return;
|
|
98
|
+
const handleKeyDown = (e) => {
|
|
99
|
+
if (e.key === 'Escape')
|
|
100
|
+
closePicker();
|
|
101
|
+
};
|
|
102
|
+
window.addEventListener('keydown', handleKeyDown);
|
|
103
|
+
document.body.style.overflow = 'hidden';
|
|
104
|
+
return () => {
|
|
105
|
+
window.removeEventListener('keydown', handleKeyDown);
|
|
106
|
+
document.body.style.overflow = 'unset';
|
|
107
|
+
};
|
|
108
|
+
}, [isOpen, presentation, closePicker]);
|
|
32
109
|
const toggleDropdown = () => {
|
|
33
110
|
if (disabled)
|
|
34
111
|
return;
|
|
35
|
-
|
|
112
|
+
if (isOpen) {
|
|
113
|
+
if (presentation === 'picker')
|
|
114
|
+
closePicker();
|
|
115
|
+
else
|
|
116
|
+
setIsOpen(false);
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
setIsOpen(true);
|
|
120
|
+
if (presentation === 'picker' && typeof window !== 'undefined') {
|
|
121
|
+
// Entrada transitória — o botão/gesto de voltar do SO fecha o
|
|
122
|
+
// sheet sem sair da página por baixo.
|
|
123
|
+
pickerPushedRef.current = true;
|
|
124
|
+
window.history.pushState({ __kitungaSelectPicker: true }, '');
|
|
125
|
+
}
|
|
36
126
|
};
|
|
37
127
|
const handleSelect = (option) => {
|
|
38
128
|
if (option.disabled)
|
|
39
129
|
return;
|
|
40
130
|
onChange(option.value);
|
|
41
|
-
|
|
131
|
+
if (presentation === 'picker')
|
|
132
|
+
closePicker();
|
|
133
|
+
else
|
|
134
|
+
setIsOpen(false);
|
|
42
135
|
};
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
136
|
+
const handleKeyDown = (e) => {
|
|
137
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
138
|
+
e.preventDefault();
|
|
139
|
+
toggleDropdown();
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
const query = normalize(search.trim());
|
|
143
|
+
const visibleOptions = query
|
|
144
|
+
? resolvedOptions.filter((option) => {
|
|
145
|
+
var _a;
|
|
146
|
+
return normalize(option.label).includes(query) ||
|
|
147
|
+
normalize((_a = option.selectedLabel) !== null && _a !== void 0 ? _a : '').includes(query) ||
|
|
148
|
+
normalize(option.value).includes(query);
|
|
149
|
+
})
|
|
150
|
+
: resolvedOptions;
|
|
151
|
+
const displayIcon = (_a = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.icon) !== null && _a !== void 0 ? _a : leftIcon;
|
|
152
|
+
const renderOptionRow = (option) => {
|
|
153
|
+
var _a;
|
|
154
|
+
return (_jsxs("div", { className: `${styles.option} ${value === option.value ? styles.selected : ''} ${option.disabled ? styles.disabledOption : ''} ${(_a = pickerClassNames === null || pickerClassNames === void 0 ? void 0 : pickerClassNames.option) !== null && _a !== void 0 ? _a : ''}`, onClick: () => handleSelect(option), onKeyDown: (e) => {
|
|
155
|
+
if (option.disabled)
|
|
156
|
+
return;
|
|
157
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
158
|
+
e.preventDefault();
|
|
159
|
+
handleSelect(option);
|
|
160
|
+
}
|
|
161
|
+
}, role: "option", "aria-selected": value === option.value, "aria-disabled": option.disabled ? true : undefined, tabIndex: option.disabled ? -1 : 0, children: [_jsxs("span", { className: styles.optionText, children: [option.icon && (_jsx("span", { className: styles.optionIcon, children: option.icon })), _jsx("span", { children: option.label })] }), value === option.value && (_jsx(Check, { size: 14, className: styles.checkIcon }))] }, option.value));
|
|
162
|
+
};
|
|
163
|
+
// Linhas do picker com cabeçalhos de secção — um header renderiza
|
|
164
|
+
// sempre que o group muda em relação à linha anterior; ao filtrar,
|
|
165
|
+
// os grupos recalculam sobre o resultado.
|
|
166
|
+
const renderPickerRows = () => {
|
|
167
|
+
const rows = [];
|
|
168
|
+
let lastGroup;
|
|
169
|
+
visibleOptions.forEach((option) => {
|
|
170
|
+
var _a;
|
|
171
|
+
if (option.group !== lastGroup) {
|
|
172
|
+
lastGroup = option.group;
|
|
173
|
+
if (option.group) {
|
|
174
|
+
rows.push(_jsx("div", { className: `${styles.pickerGroupHeader} ${(_a = pickerClassNames === null || pickerClassNames === void 0 ? void 0 : pickerClassNames.groupHeader) !== null && _a !== void 0 ? _a : ''}`, children: option.group }, `group-${option.group}`));
|
|
175
|
+
}
|
|
48
176
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
return;
|
|
58
|
-
if (e.key === 'Enter' || e.key === ' ') {
|
|
59
|
-
e.preventDefault();
|
|
60
|
-
toggleDropdown();
|
|
61
|
-
}
|
|
62
|
-
}, children: [(selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.icon) ? (_jsx("span", { className: styles.triggerIconFrame, children: displayIcon })) : (displayIcon && _jsx("span", { className: styles.leftIcon, children: displayIcon })), _jsx("span", { className: `${styles.valueText} ${!value ? styles.placeholder : ''} ${valueBold ? styles.valueBold : ''}`.trim(), children: selectedOption ? (_b = selectedOption.selectedLabel) !== null && _b !== void 0 ? _b : selectedOption.label : placeholder }), _jsx(ChevronDown, { size: 16, className: `${styles.arrow} ${isOpen ? styles.rotate : ''}` })] }), isOpen && (_jsx("div", { className: `${styles.dropdown} ${dropdownAlign === 'left' ? styles.dropdownLeft : styles.dropdownRight}`, style: dropdownMinWidth ? { minWidth: `${dropdownMinWidth}px` } : undefined, children: _jsxs("div", { className: styles.dropdownPanel, children: [searchable && (_jsx("div", { className: styles.searchRow, onClick: (e) => e.stopPropagation(), children: _jsx(SearchInput, { value: search, onChange: setSearch, placeholder: searchPlaceholder !== null && searchPlaceholder !== void 0 ? searchPlaceholder : 'Pesquisar...', size: searchSize, onKeyDown: (e) => {
|
|
177
|
+
rows.push(renderOptionRow(option));
|
|
178
|
+
});
|
|
179
|
+
return rows;
|
|
180
|
+
};
|
|
181
|
+
return (_jsxs("div", { ref: selectRef, className: `${styles.customSelect} ${styles[size]} ${variant === 'flat' ? styles.flat : ''} ${hasError ? styles.error : ''} ${disabled ? styles.disabled : ''} ${isOpen ? styles.open : ''} ${className}`, children: [_jsxs("div", { className: styles.selectedValue, onClick: toggleDropdown, onKeyDown: handleKeyDown, role: "button", tabIndex: disabled ? -1 : 0, "aria-haspopup": "listbox", "aria-expanded": isOpen, children: [displayIcon && (_jsx("span", { className: styles.triggerIconFrame, children: displayIcon })), _jsx("span", { className: `${styles.valueText} ${selectedOption ? styles.filled : ''} ${valueBold && selectedOption ? styles.bold : ''}`, children: (_c = (_b = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.selectedLabel) !== null && _b !== void 0 ? _b : selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _c !== void 0 ? _c : placeholder }), _jsx(ChevronDown, { size: 16, className: `${styles.arrowIcon} ${collapsible ? styles.collapsibleArrow : ''}` })] }), isOpen && presentation !== 'picker' && (_jsxs("div", { className: `${styles.dropdown} ${styles[dropdownAlign]}`, style: dropdownMinWidth ? { minWidth: `${dropdownMinWidth}px` } : undefined, children: [searchable && (_jsx("div", { className: styles.searchRow, onClick: (e) => e.stopPropagation(), children: _jsx(SearchInput, { value: search, onChange: setSearch, placeholder: searchPlaceholder !== null && searchPlaceholder !== void 0 ? searchPlaceholder : 'Pesquisar...', size: searchSize, onKeyDown: (e) => {
|
|
182
|
+
if (e.key === 'Enter')
|
|
183
|
+
e.preventDefault();
|
|
184
|
+
} }) })), _jsxs("div", { className: styles.options, role: "listbox", onClick: (e) => e.stopPropagation(), children: [visibleOptions.map(renderOptionRow), visibleOptions.length === 0 && (_jsx(SearchEmptyState, { title: searchEmptyProps === null || searchEmptyProps === void 0 ? void 0 : searchEmptyProps.title, description: searchEmptyProps === null || searchEmptyProps === void 0 ? void 0 : searchEmptyProps.description, actionLabel: searchEmptyProps === null || searchEmptyProps === void 0 ? void 0 : searchEmptyProps.actionLabel, onAction: () => setSearch('') }))] })] })), isOpen && presentation === 'picker' && (_jsx("div", { className: `${styles.pickerOverlay} ${(_d = pickerClassNames === null || pickerClassNames === void 0 ? void 0 : pickerClassNames.overlay) !== null && _d !== void 0 ? _d : ''}`, onClick: closePicker, role: "dialog", "aria-modal": "true", "aria-label": pickerTitle, children: _jsxs("div", { className: `${styles.pickerPanel} ${(_e = pickerClassNames === null || pickerClassNames === void 0 ? void 0 : pickerClassNames.panel) !== null && _e !== void 0 ? _e : ''}`, onClick: (e) => e.stopPropagation(), children: [_jsxs("div", { className: `${styles.pickerHeader} ${(_f = pickerClassNames === null || pickerClassNames === void 0 ? void 0 : pickerClassNames.header) !== null && _f !== void 0 ? _f : ''}`, children: [_jsx("button", { type: "button", className: `${styles.pickerBack} ${(_g = pickerClassNames === null || pickerClassNames === void 0 ? void 0 : pickerClassNames.backButton) !== null && _g !== void 0 ? _g : ''}`, onClick: closePicker, "aria-label": "Back", children: _jsx(ArrowLeft, { size: 24 }) }), _jsx("h2", { className: styles.pickerTitle, children: pickerTitle }), _jsx("button", { type: "button", className: `${styles.pickerClose} ${(_h = pickerClassNames === null || pickerClassNames === void 0 ? void 0 : pickerClassNames.closeButton) !== null && _h !== void 0 ? _h : ''}`, onClick: closePicker, "aria-label": "Close", children: _jsx(X, { size: 24 }) })] }), searchable && (_jsx("div", { className: `${styles.pickerSearch} ${(_j = pickerClassNames === null || pickerClassNames === void 0 ? void 0 : pickerClassNames.searchRow) !== null && _j !== void 0 ? _j : ''}`, children: _jsx(SearchInput, { value: search, onChange: setSearch, placeholder: searchPlaceholder !== null && searchPlaceholder !== void 0 ? searchPlaceholder : 'Pesquisar...', size: searchSize, autoFocus: searchAutoFocus, onKeyDown: (e) => {
|
|
63
185
|
if (e.key === 'Enter')
|
|
64
186
|
e.preventDefault();
|
|
65
|
-
} }) })), _jsxs("div", { className: styles.
|
|
66
|
-
if (option.disabled)
|
|
67
|
-
return;
|
|
68
|
-
if (e.key === 'Enter' || e.key === ' ') {
|
|
69
|
-
e.preventDefault();
|
|
70
|
-
handleSelect(option);
|
|
71
|
-
}
|
|
72
|
-
}, role: "option", "aria-selected": value === option.value, "aria-disabled": option.disabled ? true : undefined, tabIndex: option.disabled ? -1 : 0, children: [_jsxs("span", { className: styles.optionText, children: [option.icon && (_jsx("span", { className: styles.optionIcon, children: option.icon })), _jsx("span", { children: option.label })] }), value === option.value && (_jsx(Check, { size: 14, className: styles.checkIcon }))] }, option.value))), visibleOptions.length === 0 && (_jsx(SearchEmptyState, { title: searchEmptyProps === null || searchEmptyProps === void 0 ? void 0 : searchEmptyProps.title, description: searchEmptyProps === null || searchEmptyProps === void 0 ? void 0 : searchEmptyProps.description, actionLabel: searchEmptyProps === null || searchEmptyProps === void 0 ? void 0 : searchEmptyProps.actionLabel, onAction: () => setSearch('') }))] })] }) }))] }));
|
|
187
|
+
} }) })), _jsxs("div", { className: `${styles.pickerList} ${(_k = pickerClassNames === null || pickerClassNames === void 0 ? void 0 : pickerClassNames.list) !== null && _k !== void 0 ? _k : ''}`, role: "listbox", children: [renderPickerRows(), visibleOptions.length === 0 && (_jsx(SearchEmptyState, { title: searchEmptyProps === null || searchEmptyProps === void 0 ? void 0 : searchEmptyProps.title, description: searchEmptyProps === null || searchEmptyProps === void 0 ? void 0 : searchEmptyProps.description, actionLabel: searchEmptyProps === null || searchEmptyProps === void 0 ? void 0 : searchEmptyProps.actionLabel, onAction: () => setSearch('') }))] })] }) })), _jsx("input", { type: "hidden", id: id, name: name, value: value, required: required })] }));
|
|
73
188
|
};
|
|
74
189
|
export default CustomSelect;
|
|
75
190
|
//# sourceMappingURL=CustomSelect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomSelect.js","sourceRoot":"","sources":["../../../../../src/features/selects/components/Selects/CustomSelect.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CustomSelect.js","sourceRoot":"","sources":["../../../../../src/features/selects/components/Selects/CustomSelect.tsx"],"names":[],"mappings":"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"}
|
|
@@ -424,3 +424,133 @@
|
|
|
424
424
|
}
|
|
425
425
|
}
|
|
426
426
|
|
|
427
|
+
/* ===== Picker (presentation="picker") — overlay-sheet com header,
|
|
428
|
+
pesquisa e secções agrupadas, para listas longas (países, línguas).
|
|
429
|
+
ZERO breakpoints: a pele responsiva é sempre CSS do consumidor via
|
|
430
|
+
vars --picker-* e pickerClassNames — a kitunga não conhece a regra
|
|
431
|
+
dos 600px do Masolo nem a de nenhum outro produto (decisão 75). */
|
|
432
|
+
|
|
433
|
+
.pickerOverlay {
|
|
434
|
+
position: fixed;
|
|
435
|
+
inset: 0;
|
|
436
|
+
z-index: var(--picker-overlay-z, 1300);
|
|
437
|
+
display: flex;
|
|
438
|
+
align-items: center;
|
|
439
|
+
justify-content: center;
|
|
440
|
+
height: 100dvh;
|
|
441
|
+
padding: var(--picker-overlay-padding, var(--spacing-lg));
|
|
442
|
+
background: var(--picker-overlay-bg, rgba(0, 0, 0, 0.5));
|
|
443
|
+
animation: pickerFadeIn 0.15s ease-out;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
.pickerPanel {
|
|
447
|
+
display: flex;
|
|
448
|
+
flex-direction: column;
|
|
449
|
+
overflow: hidden;
|
|
450
|
+
width: var(--picker-panel-width, 100%);
|
|
451
|
+
max-width: var(--picker-panel-max-width, 480px);
|
|
452
|
+
height: var(--picker-panel-height, 600px);
|
|
453
|
+
max-height: var(--picker-panel-max-height, 100%);
|
|
454
|
+
background: var(--picker-panel-bg, var(--bg-primary));
|
|
455
|
+
border-radius: var(--picker-panel-radius, var(--radius-sm));
|
|
456
|
+
box-shadow: var(--picker-panel-shadow, 0 10px 25px rgba(0, 0, 0, 0.2));
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
.pickerHeader {
|
|
460
|
+
display: flex;
|
|
461
|
+
align-items: center;
|
|
462
|
+
gap: var(--spacing-md);
|
|
463
|
+
padding: var(--spacing-md);
|
|
464
|
+
flex-shrink: 0;
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
.pickerTitle {
|
|
468
|
+
flex: 1;
|
|
469
|
+
min-width: 0;
|
|
470
|
+
margin: 0;
|
|
471
|
+
font-size: 18px;
|
|
472
|
+
font-weight: 600;
|
|
473
|
+
color: var(--text-primary);
|
|
474
|
+
overflow: hidden;
|
|
475
|
+
text-overflow: ellipsis;
|
|
476
|
+
white-space: nowrap;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
.pickerBack,
|
|
480
|
+
.pickerClose {
|
|
481
|
+
align-items: center;
|
|
482
|
+
justify-content: center;
|
|
483
|
+
width: 40px;
|
|
484
|
+
height: 40px;
|
|
485
|
+
padding: 0;
|
|
486
|
+
border: none;
|
|
487
|
+
border-radius: 50%;
|
|
488
|
+
background: var(--picker-button-bg, var(--bg-hover-normal));
|
|
489
|
+
color: var(--picker-button-color, var(--text-primary));
|
|
490
|
+
cursor: pointer;
|
|
491
|
+
flex-shrink: 0;
|
|
492
|
+
transition: background-color var(--transition-fast);
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
.pickerBack:hover,
|
|
496
|
+
.pickerClose:hover {
|
|
497
|
+
background-color: var(--picker-button-hover, var(--color-gray-200));
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
/* Visibilidade dos controlos — sempre CSS do consumidor. No Masolo
|
|
501
|
+
o X morre e o ← nasce no takeover ≤600px, via --picker-back-display
|
|
502
|
+
e --picker-close-display num media query do app. Ambos são "close":
|
|
503
|
+
o ← é voltar na forma, fechar na função (decisão 30). */
|
|
504
|
+
.pickerBack {
|
|
505
|
+
display: var(--picker-back-display, none);
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
.pickerClose {
|
|
509
|
+
display: var(--picker-close-display, flex);
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
.pickerSearch {
|
|
513
|
+
padding: 0 var(--picker-search-padding-x, var(--spacing-md)) var(--picker-search-padding-y, var(--spacing-sm-large));
|
|
514
|
+
border-bottom: 1px solid var(--picker-search-border, var(--border-divider));
|
|
515
|
+
flex-shrink: 0;
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
.pickerList {
|
|
519
|
+
flex: 1;
|
|
520
|
+
min-height: 0;
|
|
521
|
+
overflow-y: auto;
|
|
522
|
+
padding: var(--picker-list-padding, var(--spacing-sm) 0);
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
.pickerGroupHeader {
|
|
526
|
+
position: sticky;
|
|
527
|
+
top: 0;
|
|
528
|
+
z-index: 1;
|
|
529
|
+
padding: var(--spacing-sm) var(--picker-group-padding-x, var(--spacing-md));
|
|
530
|
+
font-size: var(--picker-group-size, 0.75rem);
|
|
531
|
+
font-weight: 600;
|
|
532
|
+
letter-spacing: 0.04em;
|
|
533
|
+
text-transform: uppercase;
|
|
534
|
+
color: var(--picker-group-color, var(--text-tertiary));
|
|
535
|
+
background: var(--picker-panel-bg, var(--bg-primary));
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
/* Fallback da flag quando o asset falha — o ISO em texto dentro da
|
|
539
|
+
moldura circular (um consumidor com flagBaseUrl parcial nunca
|
|
540
|
+
mostra imagem partida). */
|
|
541
|
+
.flagFallback {
|
|
542
|
+
font-size: 0.55rem;
|
|
543
|
+
font-weight: 700;
|
|
544
|
+
letter-spacing: 0.02em;
|
|
545
|
+
color: var(--text-tertiary);
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
@keyframes pickerFadeIn {
|
|
549
|
+
from {
|
|
550
|
+
opacity: 0;
|
|
551
|
+
}
|
|
552
|
+
to {
|
|
553
|
+
opacity: 1;
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Option } from './CustomSelect';
|
|
3
|
+
export interface CountryPickerOptionsParams {
|
|
4
|
+
/** Locale dos nomes e da ordenação alfabética (Intl.DisplayNames +
|
|
5
|
+
* localeCompare) — a língua activa do consumidor. */
|
|
6
|
+
displayLocale?: string;
|
|
7
|
+
/** Base dos SVGs de bandeira (default '/flags/4x3') — assets do app
|
|
8
|
+
* consumidor, nunca bundle nem emoji. */
|
|
9
|
+
flagBaseUrl?: string;
|
|
10
|
+
/** Bloco prioritário no topo — a ordem é do produto; estas opções
|
|
11
|
+
* entram no grupo `suggestedLabel` e o resto segue alfabético. */
|
|
12
|
+
priorityCodes?: readonly string[];
|
|
13
|
+
/** Texto do cabeçalho do grupo prioritário (i18n do consumidor). */
|
|
14
|
+
suggestedLabel?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare const buildCountryPickerOptions: ({ displayLocale, flagBaseUrl, priorityCodes, suggestedLabel, }: CountryPickerOptionsParams) => Option[];
|
|
17
|
+
export interface LanguagePickerOptionsParams {
|
|
18
|
+
/** Lista de locales servidos — a whitelist do consumidor. */
|
|
19
|
+
locales: readonly string[];
|
|
20
|
+
/** Nome da língua por locale — i18n do consumidor (a kitunga não
|
|
21
|
+
* conhece os namespaces dele). */
|
|
22
|
+
getLanguageLabel?: (locale: string) => string;
|
|
23
|
+
/** Locale de ordenação alfabética (default: a ordem dada). */
|
|
24
|
+
displayLocale?: string;
|
|
25
|
+
/** Ícone por linha — default o glyph Globe (língua ≠ país). */
|
|
26
|
+
languageIcon?: React.ReactNode;
|
|
27
|
+
}
|
|
28
|
+
export declare const buildLanguagePickerOptions: ({ locales, getLanguageLabel, displayLocale, languageIcon, }: LanguagePickerOptionsParams) => Option[];
|
|
29
|
+
//# sourceMappingURL=pickerOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pickerOptions.d.ts","sourceRoot":"","sources":["../../../../../src/features/selects/components/Selects/pickerOptions.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAoC7C,MAAM,WAAW,0BAA0B;IACzC;0DACsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;8CAC0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;uEACmE;IACnE,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD,eAAO,MAAM,yBAAyB,GAAI,gEAKvC,0BAA0B,KAAG,MAAM,EAmCrC,CAAC;AAEF,MAAM,WAAW,2BAA2B;IAC1C,6DAA6D;IAC7D,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B;uCACmC;IACnC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAChC;AAED,eAAO,MAAM,0BAA0B,GAAI,6DAKxC,2BAA2B,KAAG,MAAM,EAStC,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// Opções prontas para o modo picker do CustomSelect — kind='country'
|
|
3
|
+
// (todos os territórios da metadata do libphonenumber + Intl.DisplayNames
|
|
4
|
+
// + bandeiras do consumidor) e kind='language' (locales + labels do
|
|
5
|
+
// consumidor + glyph Globe — língua ≠ país, nunca bandeira).
|
|
6
|
+
// A lista de países é a metadata inteira — nunca allowlist manual
|
|
7
|
+
// (decisão 74 do Masolo); o bloco prioritário e a pele são do
|
|
8
|
+
// consumidor via props.
|
|
9
|
+
import { useState } from 'react';
|
|
10
|
+
import { Globe } from 'lucide-react';
|
|
11
|
+
import { getCountryConfig, getSupportedCountryCodes } from '../../../inputs/components/Inputs/PhoneInput/countries';
|
|
12
|
+
import styles from './CustomSelect.module.css';
|
|
13
|
+
const normalize = (text) => text.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
|
|
14
|
+
// Letra do grupo alfabético — NFD para "África"→A, "É…"→E, "Å…"→A.
|
|
15
|
+
const firstLetter = (text) => (normalize(text).charAt(0) || '#').toUpperCase();
|
|
16
|
+
// Flag <img> — se o asset falhar (consumidor com flagBaseUrl parcial)
|
|
17
|
+
// cai para o ISO em texto dentro da mesma moldura circular; nunca
|
|
18
|
+
// imagem partida.
|
|
19
|
+
const FlagImg = ({ code, base }) => {
|
|
20
|
+
const [failed, setFailed] = useState(false);
|
|
21
|
+
if (failed)
|
|
22
|
+
return _jsx("span", { className: styles.flagFallback, children: code });
|
|
23
|
+
return (
|
|
24
|
+
// eslint-disable-next-line @next/next/no-img-element
|
|
25
|
+
_jsx("img", { src: `${base}/${code.toLowerCase()}.svg`, alt: "", loading: "lazy", draggable: false, onError: () => setFailed(true) }));
|
|
26
|
+
};
|
|
27
|
+
const regionNamesCache = new Map();
|
|
28
|
+
const regionNames = (locale) => {
|
|
29
|
+
let names = regionNamesCache.get(locale);
|
|
30
|
+
if (!names) {
|
|
31
|
+
names = new Intl.DisplayNames([locale], { type: 'region' });
|
|
32
|
+
regionNamesCache.set(locale, names);
|
|
33
|
+
}
|
|
34
|
+
return names;
|
|
35
|
+
};
|
|
36
|
+
// Uma lista por combinação de params — os nomes e a ordem mudam com a
|
|
37
|
+
// língua; cacheada porque são ~245 opções.
|
|
38
|
+
const countryCache = new Map();
|
|
39
|
+
export const buildCountryPickerOptions = ({ displayLocale = 'en', flagBaseUrl = '/flags/4x3', priorityCodes = [], suggestedLabel = 'Suggested', }) => {
|
|
40
|
+
const cacheKey = [displayLocale, flagBaseUrl, suggestedLabel, ...priorityCodes].join('|');
|
|
41
|
+
const cached = countryCache.get(cacheKey);
|
|
42
|
+
if (cached)
|
|
43
|
+
return cached;
|
|
44
|
+
const names = regionNames(displayLocale);
|
|
45
|
+
const all = getSupportedCountryCodes();
|
|
46
|
+
const priority = priorityCodes.filter((code) => all.includes(code));
|
|
47
|
+
const prioritySet = new Set(priority);
|
|
48
|
+
const rest = all
|
|
49
|
+
.filter((code) => !prioritySet.has(code))
|
|
50
|
+
.sort((a, b) => { var _a, _b; return ((_a = names.of(a)) !== null && _a !== void 0 ? _a : a).localeCompare((_b = names.of(b)) !== null && _b !== void 0 ? _b : b, displayLocale); });
|
|
51
|
+
const toOption = (code, group) => {
|
|
52
|
+
var _a, _b, _c;
|
|
53
|
+
const name = (_a = names.of(code)) !== null && _a !== void 0 ? _a : code;
|
|
54
|
+
const dialCode = (_c = (_b = getCountryConfig(code)) === null || _b === void 0 ? void 0 : _b.dialCode) !== null && _c !== void 0 ? _c : '';
|
|
55
|
+
return {
|
|
56
|
+
value: code,
|
|
57
|
+
// A linha mostra nome + indicativo (a pesquisa casa os dois);
|
|
58
|
+
// o trigger fechado mostra só o nome via selectedLabel.
|
|
59
|
+
label: dialCode ? `${name} (${dialCode})` : name,
|
|
60
|
+
selectedLabel: name,
|
|
61
|
+
icon: _jsx(FlagImg, { code: code, base: flagBaseUrl }),
|
|
62
|
+
group,
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
const result = [
|
|
66
|
+
...priority.map((code) => toOption(code, suggestedLabel)),
|
|
67
|
+
...rest.map((code) => { var _a; return toOption(code, firstLetter((_a = names.of(code)) !== null && _a !== void 0 ? _a : code)); }),
|
|
68
|
+
];
|
|
69
|
+
countryCache.set(cacheKey, result);
|
|
70
|
+
return result;
|
|
71
|
+
};
|
|
72
|
+
export const buildLanguagePickerOptions = ({ locales, getLanguageLabel, displayLocale, languageIcon, }) => {
|
|
73
|
+
const icon = languageIcon !== null && languageIcon !== void 0 ? languageIcon : _jsx(Globe, { size: 18 });
|
|
74
|
+
return locales
|
|
75
|
+
.map((locale) => {
|
|
76
|
+
var _a;
|
|
77
|
+
return ({
|
|
78
|
+
value: locale,
|
|
79
|
+
label: (_a = getLanguageLabel === null || getLanguageLabel === void 0 ? void 0 : getLanguageLabel(locale)) !== null && _a !== void 0 ? _a : locale,
|
|
80
|
+
});
|
|
81
|
+
})
|
|
82
|
+
.sort((a, b) => a.label.localeCompare(b.label, displayLocale))
|
|
83
|
+
.map((option) => (Object.assign(Object.assign({}, option), { icon, group: firstLetter(option.label) })));
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=pickerOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pickerOptions.js","sourceRoot":"","sources":["../../../../../src/features/selects/components/Selects/pickerOptions.tsx"],"names":[],"mappings":"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"}
|
package/dist/ui.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export { default as DateInput } from './features/inputs/components/Inputs/DateIn
|
|
|
14
14
|
export type { DateInputProps, DateInputSize, DateInputType } from './features/inputs/components/Inputs/DateInput';
|
|
15
15
|
export { default as PhoneInput } from './features/inputs/components/Inputs/PhoneInput/PhoneInput';
|
|
16
16
|
export type { PhoneInputProps } from './features/inputs/components/Inputs/PhoneInput/PhoneInput';
|
|
17
|
-
export { getCountryConfig, validatePhone } from './features/inputs/components/Inputs/PhoneInput/countries';
|
|
17
|
+
export { getCountryConfig, getSupportedCountryCodes, validatePhone } from './features/inputs/components/Inputs/PhoneInput/countries';
|
|
18
18
|
export { default as TaxIdInput } from './features/inputs/components/Inputs/TaxIdInput/TaxIdInput';
|
|
19
19
|
export type { TaxIdInputProps } from './features/inputs/components/Inputs/TaxIdInput/TaxIdInput';
|
|
20
20
|
export { default as ImageUpload } from './features/uploads/components/ImageUpload/ImageUpload';
|
package/dist/ui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAC9E,YAAY,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,+CAA+C,CAAC;AACrF,YAAY,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mDAAmD,CAAC;AAC7F,YAAY,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAChG,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iDAAiD,CAAC;AACzF,YAAY,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kDAAkD,CAAC;AAC3F,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AAC5G,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iDAAiD,CAAC;AACzF,YAAY,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,+CAA+C,CAAC;AACrF,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAClH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,2DAA2D,CAAC;AAClG,YAAY,EAAE,eAAe,EAAE,MAAM,2DAA2D,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,0DAA0D,CAAC;
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
|
package/dist/ui.js
CHANGED
|
@@ -6,7 +6,7 @@ export { default as StepperInput } from './features/inputs/components/Inputs/Ste
|
|
|
6
6
|
export { default as SearchInput } from './features/inputs/components/Inputs/SearchInput';
|
|
7
7
|
export { default as DateInput } from './features/inputs/components/Inputs/DateInput';
|
|
8
8
|
export { default as PhoneInput } from './features/inputs/components/Inputs/PhoneInput/PhoneInput';
|
|
9
|
-
export { getCountryConfig, validatePhone } from './features/inputs/components/Inputs/PhoneInput/countries';
|
|
9
|
+
export { getCountryConfig, getSupportedCountryCodes, validatePhone } from './features/inputs/components/Inputs/PhoneInput/countries';
|
|
10
10
|
export { default as TaxIdInput } from './features/inputs/components/Inputs/TaxIdInput/TaxIdInput';
|
|
11
11
|
export { default as ImageUpload } from './features/uploads/components/ImageUpload/ImageUpload';
|
|
12
12
|
export { default as VideoUpload } from './features/uploads/components/VideoUpload/VideoUpload';
|
package/dist/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAE9E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAErF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mDAAmD,CAAC;AAE7F,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAEzF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kDAAkD,CAAC;AAE3F,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAEzF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAErF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,2DAA2D,CAAC;AAElG,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,0DAA0D,CAAC;
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAE9E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAErF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mDAAmD,CAAC;AAE7F,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAEzF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kDAAkD,CAAC;AAE3F,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAEzF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAErF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,2DAA2D,CAAC;AAElG,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,0DAA0D,CAAC;AACrI,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,2DAA2D,CAAC;AAElG,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,uDAAuD,CAAC;AAC/F,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,uDAAuD,CAAC;AAC/F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oDAAoD,CAAC;AAE7F,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uDAAuD,CAAC;AAEhG,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,qEAAqE,CAAC;AAQ1H,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,8EAA8E,CAAC;AAKjI,OAAO,EAAE,YAAY,EAAE,MAAM,yDAAyD,CAAC;AAEvF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sEAAsE,CAAC;AAErH,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sEAAsE,CAAC;AAErH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAE7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,4DAA4D,CAAC;AAChG,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,kEAAkE,CAAC;AAEvH,OAAO,EAAE,UAAU,EAAE,MAAM,wDAAwD,CAAC;AAEpF,OAAO,EAAE,UAAU,EAAE,MAAM,wDAAwD,CAAC;AAEpF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAEjG,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kDAAkD,CAAC;AAEtF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,2DAA2D,CAAC;AAEhG,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AAExF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8EAA8E,CAAC;AAC3H,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,gDAAgD,CAAC;AAElF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,yDAAyD,CAAC;AAEpG,OAAO,EAAE,kBAAkB,EAAE,MAAM,sEAAsE,CAAC;AAS1G,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4EAA4E,CAAC;AACtH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kFAAkF,CAAC;AACvH,OAAO,EAAE,aAAa,EAAE,MAAM,4EAA4E,CAAC;AAC3G,OAAO,EAAE,oBAAoB,EAAE,MAAM,+EAA+E,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kitunga-web",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.98",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -47,17 +47,9 @@
|
|
|
47
47
|
"publishConfig": {
|
|
48
48
|
"registry": "https://registry.npmjs.org"
|
|
49
49
|
},
|
|
50
|
-
"scripts": {
|
|
51
|
-
"dev": "dotenv -e .env.local next dev",
|
|
52
|
-
"start": "dotenv -e .env.local next start",
|
|
53
|
-
"build": "next build",
|
|
54
|
-
"build:lib": "node ./scripts/build-library.mjs",
|
|
55
|
-
"prepublishOnly": "pnpm run build:lib",
|
|
56
|
-
"publish:lib": "pnpm publish --no-git-checks",
|
|
57
|
-
"lint": "eslint"
|
|
58
|
-
},
|
|
59
50
|
"dependencies": {
|
|
60
51
|
"dotenv-cli": "^11.0.0",
|
|
52
|
+
"libphonenumber-js": "^1.13.15",
|
|
61
53
|
"lucide-react": "^0.515.0",
|
|
62
54
|
"next": "16.1.3",
|
|
63
55
|
"react": "19.2.3",
|
|
@@ -71,11 +63,20 @@
|
|
|
71
63
|
"babel-plugin-react-compiler": "1.0.0",
|
|
72
64
|
"eslint": "^9",
|
|
73
65
|
"eslint-config-next": "16.1.3",
|
|
66
|
+
"flag-icons": "^7.6.0",
|
|
74
67
|
"typescript": "^5"
|
|
75
68
|
},
|
|
76
69
|
"peerDependencies": {
|
|
77
70
|
"axios": "^1.13.2",
|
|
78
71
|
"react": ">=18",
|
|
79
72
|
"react-dom": ">=18"
|
|
73
|
+
},
|
|
74
|
+
"scripts": {
|
|
75
|
+
"dev": "node scripts/copy-flags.mjs && dotenv -e .env.local next dev",
|
|
76
|
+
"start": "dotenv -e .env.local next start",
|
|
77
|
+
"build": "node scripts/copy-flags.mjs && next build",
|
|
78
|
+
"build:lib": "node ./scripts/build-library.mjs",
|
|
79
|
+
"publish:lib": "pnpm publish --no-git-checks",
|
|
80
|
+
"lint": "eslint"
|
|
80
81
|
}
|
|
81
|
-
}
|
|
82
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ao.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/inputs/components/Inputs/PhoneInput/countries/ao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,eAAO,MAAM,SAAS,EAAE,aAmBvB,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export const aoaConfig = {
|
|
2
|
-
code: 'AO',
|
|
3
|
-
dialCode: '+244',
|
|
4
|
-
name: 'Angola',
|
|
5
|
-
format: '000 000 000',
|
|
6
|
-
maxLength: 9,
|
|
7
|
-
validateRegex: /^9[1234579]\d{7}$/,
|
|
8
|
-
formatInput: (rawVal) => {
|
|
9
|
-
let val = rawVal;
|
|
10
|
-
// Regras estritas da ANACOM encapsuladas diretamente no país
|
|
11
|
-
if (val.length === 1 && val[0] !== '9') {
|
|
12
|
-
val = '';
|
|
13
|
-
}
|
|
14
|
-
else if (val.length === 2 && !['91', '92', '93', '94', '95', '97', '99'].includes(val)) {
|
|
15
|
-
val = '9';
|
|
16
|
-
}
|
|
17
|
-
return val;
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=ao.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ao.js","sourceRoot":"","sources":["../../../../../../../src/features/inputs/components/Inputs/PhoneInput/countries/ao.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAkB;IACpC,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,aAAa;IACrB,SAAS,EAAE,CAAC;IACZ,aAAa,EAAE,mBAAmB;IAClC,WAAW,EAAE,CAAC,MAAc,EAAE,EAAE;QAC5B,IAAI,GAAG,GAAG,MAAM,CAAC;QAEjB,6DAA6D;QAC7D,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACrC,GAAG,GAAG,EAAE,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvF,GAAG,GAAG,GAAG,CAAC;QACd,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;CACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"br.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/inputs/components/Inputs/PhoneInput/countries/br.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,eAAO,MAAM,QAAQ,EAAE,aAOtB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"br.js","sourceRoot":"","sources":["../../../../../../../src/features/inputs/components/Inputs/PhoneInput/countries/br.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAkB;IACnC,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,iBAAiB;IACzB,SAAS,EAAE,EAAE;IACb,aAAa,EAAE,aAAa;CAC/B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pt.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/inputs/components/Inputs/PhoneInput/countries/pt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,eAAO,MAAM,QAAQ,EAAE,aAOtB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pt.js","sourceRoot":"","sources":["../../../../../../../src/features/inputs/components/Inputs/PhoneInput/countries/pt.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAkB;IACnC,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,aAAa;IACrB,SAAS,EAAE,CAAC;IACZ,aAAa,EAAE,UAAU;CAC5B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"us.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/inputs/components/Inputs/PhoneInput/countries/us.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,eAAO,MAAM,SAAS,EAAE,aAevB,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export const usaConfig = {
|
|
2
|
-
code: 'US',
|
|
3
|
-
dialCode: '+1',
|
|
4
|
-
name: 'Estados Unidos',
|
|
5
|
-
format: '(000) 000-0000',
|
|
6
|
-
maxLength: 10,
|
|
7
|
-
validateRegex: /^[2-9]\d{9}$/,
|
|
8
|
-
formatInput: (rawVal) => {
|
|
9
|
-
let val = rawVal;
|
|
10
|
-
// O primeiro dígito americana (NPA) não pode ser 0 ou 1
|
|
11
|
-
if (val.length === 1 && (val[0] === '0' || val[0] === '1')) {
|
|
12
|
-
val = '';
|
|
13
|
-
}
|
|
14
|
-
return val;
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=us.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"us.js","sourceRoot":"","sources":["../../../../../../../src/features/inputs/components/Inputs/PhoneInput/countries/us.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAkB;IACpC,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,gBAAgB;IACxB,SAAS,EAAE,EAAE;IACb,aAAa,EAAE,cAAc;IAC7B,WAAW,EAAE,CAAC,MAAc,EAAE,EAAE;QAC5B,IAAI,GAAG,GAAG,MAAM,CAAC;QACjB,wDAAwD;QACxD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACzD,GAAG,GAAG,EAAE,CAAC;QACb,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;CACJ,CAAC"}
|