@dile/utils 2.9.33 → 2.10.0

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.
@@ -0,0 +1,66 @@
1
+ # dile-country-select
2
+
3
+ Web component for selecting countries with support for multiple languages.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @dile/utils
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```html
14
+ <dile-country-select
15
+ name="country"
16
+ language="es"
17
+ label="País">
18
+ </dile-country-select>
19
+ ```
20
+
21
+ ## Properties
22
+
23
+ - **value** (String): The ISO code of the selected country
24
+ - **name** (String): The name attribute of the select element
25
+ - **label** (String): Label for the field. If not provided, uses default based on language
26
+ - **language** (String): Language code ('es' or 'en'). Defaults to 'en'
27
+ - **errored** (Boolean): Whether the field has an error
28
+ - **message** (String): Error message to display
29
+ - **quietOnStart** (Boolean): Suppress validation on load. Defaults to false
30
+ - **hideErrorOnInput** (Boolean): Hide error message when user starts typing. Defaults to false
31
+ - **priorityCountries** (String): ISO codes of countries to show first, separated by `|`. Example: 'ES|US|FR'
32
+
33
+ ## Events
34
+
35
+ - **country-changed**: Emitted when the country selection changes
36
+ - detail: `{ value: 'US' }`
37
+
38
+ ## Supported Languages
39
+
40
+ - **es**: Spanish
41
+ - **en**: English (default)
42
+
43
+ ## Example
44
+
45
+ ```html
46
+ <dile-country-select
47
+ id="countrySelect"
48
+ name="country"
49
+ language="es"
50
+ label="Seleccione su país"
51
+ priority-countries="ES|MX|AR">
52
+ </dile-country-select>
53
+
54
+ <script>
55
+ const select = document.querySelector('#countrySelect');
56
+ select.addEventListener('country-changed', (e) => {
57
+ console.log('Selected country:', e.detail.value);
58
+ });
59
+ </script>
60
+ ```
61
+
62
+ In this example, Spain (ES), Mexico (MX), and Argentina (AR) will appear at the top of the list in that order, followed by the rest of the countries sorted alphabetically.
63
+
64
+ ## Styling
65
+
66
+ You can customize the component using CSS custom properties through the underlying `dile-select` component.
@@ -0,0 +1,3 @@
1
+ import { DileCountrySelect } from './src/DileCountrySelect.js';
2
+
3
+ export { DileCountrySelect };
@@ -0,0 +1,95 @@
1
+ <!DOCTYPE html>
2
+ <html lang="es">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>dile-country-select Demo</title>
7
+ <style>
8
+ body {
9
+ font-family: Arial, sans-serif;
10
+ max-width: 600px;
11
+ margin: 40px auto;
12
+ padding: 20px;
13
+ }
14
+ .demo-section {
15
+ margin-bottom: 40px;
16
+ padding: 20px;
17
+ border: 1px solid #ddd;
18
+ border-radius: 8px;
19
+ }
20
+ h2 {
21
+ margin-top: 0;
22
+ }
23
+ .result {
24
+ margin-top: 10px;
25
+ padding: 10px;
26
+ background-color: #f5f5f5;
27
+ border-radius: 4px;
28
+ font-family: monospace;
29
+ }
30
+ </style>
31
+ </head>
32
+ <body>
33
+ <h1>dile-country-select Component Demo</h1>
34
+
35
+ <div class="demo-section">
36
+ <h2>Spanish Version</h2>
37
+ <dile-country-select
38
+ id="countrySelectEs"
39
+ name="country_es"
40
+ language="es"
41
+ label="Selecciona tu país">
42
+ </dile-country-select>
43
+ <div class="result" id="resultEs">Selected: -</div>
44
+ </div>
45
+
46
+ <div class="demo-section">
47
+ <h2>English Version</h2>
48
+ <dile-country-select
49
+ id="countrySelectEn"
50
+ name="country_en"
51
+ language="en"
52
+ label="Choose your country">
53
+ </dile-country-select>
54
+ <div class="result" id="resultEn">Selected: -</div>
55
+ </div>
56
+
57
+ <div class="demo-section">
58
+ <h2>With Default Value</h2>
59
+ <dile-country-select
60
+ id="countrySelectDefault"
61
+ name="country_default"
62
+ language="es"
63
+ value="ES">
64
+ </dile-country-select>
65
+ <div class="result" id="resultDefault">Selected: -</div>
66
+ </div>
67
+
68
+ <!-- Import the component -->
69
+ <script type="module">
70
+ import './country-select.js';
71
+
72
+ // Spanish demo
73
+ const selectEs = document.querySelector('#countrySelectEs');
74
+ const resultEs = document.querySelector('#resultEs');
75
+ selectEs.addEventListener('country-changed', (e) => {
76
+ resultEs.textContent = `Selected: ${e.detail.value}`;
77
+ });
78
+
79
+ // English demo
80
+ const selectEn = document.querySelector('#countrySelectEn');
81
+ const resultEn = document.querySelector('#resultEn');
82
+ selectEn.addEventListener('country-changed', (e) => {
83
+ resultEn.textContent = `Selected: ${e.detail.value}`;
84
+ });
85
+
86
+ // Default value demo
87
+ const selectDefault = document.querySelector('#countrySelectDefault');
88
+ const resultDefault = document.querySelector('#resultDefault');
89
+ resultDefault.textContent = `Selected: ${selectDefault.value}`;
90
+ selectDefault.addEventListener('country-changed', (e) => {
91
+ resultDefault.textContent = `Selected: ${e.detail.value}`;
92
+ });
93
+ </script>
94
+ </body>
95
+ </html>
@@ -0,0 +1,51 @@
1
+ import { LitElement, html, css } from 'lit';
2
+ import { COUNTRIES } from './countriesData.js';
3
+
4
+ export class FctCountrySelect extends LitElement {
5
+ static styles = [
6
+ css`
7
+ :host {
8
+ display: block;
9
+ }
10
+ `
11
+ ];
12
+
13
+ static get properties() {
14
+ return {
15
+ value: { type: String },
16
+ name: { type: String },
17
+ errored: { type: Boolean },
18
+ message: { type: String },
19
+ };
20
+ }
21
+
22
+ constructor() {
23
+ super();
24
+ this.countries = COUNTRIES;
25
+ }
26
+
27
+ render() {
28
+ return html`
29
+ <dile-select
30
+ value="${this.value}"
31
+ quietOnStart
32
+ name="country"
33
+ label="País"
34
+ ?errored=${this.errored}
35
+ hideErrorOnInput
36
+ message="${this.message}"
37
+ @element-changed=${this.selectChanged}
38
+ >
39
+ <select slot="select">
40
+ <option value="">Selecciona un país</option>
41
+ ${this.countries.map(country => html`<option value="${country.iso}">${country.name} (${country.iso})</option>`)}
42
+ </select>
43
+ </dile-select>
44
+ `;
45
+ }
46
+
47
+ selectChanged(e) {
48
+ this.value = e.detail.value;
49
+ }
50
+ }
51
+ customElements.define('fct-country-select', FctCountrySelect);
@@ -0,0 +1 @@
1
+ export { DileCountrySelect } from './src/DileCountrySelect.js';
@@ -0,0 +1,141 @@
1
+ import { html, css, LitElement } from 'lit';
2
+ import { getCountries } from './countriesData.js';
3
+ import '@dile/ui/components/select/select.js';
4
+
5
+ export class DileCountrySelect extends LitElement {
6
+ static styles = [
7
+ css`
8
+ :host {
9
+ display: block;
10
+ }
11
+ `
12
+ ];
13
+
14
+ static get properties() {
15
+ return {
16
+ value: { type: String },
17
+ name: { type: String },
18
+ label: { type: String },
19
+ language: { type: String },
20
+ errored: { type: Boolean },
21
+ message: { type: String },
22
+ quietOnStart: { type: Boolean },
23
+ hideErrorOnInput: { type: Boolean },
24
+ priorityCountries: { type: String, attribute: 'priority-countries' },
25
+ };
26
+ }
27
+
28
+ constructor() {
29
+ super();
30
+ this.value = '';
31
+ this.name = '';
32
+ this.language = 'en';
33
+ this.label = '';
34
+ this.errored = false;
35
+ this.message = '';
36
+ this.quietOnStart = false;
37
+ this.hideErrorOnInput = false;
38
+ this.priorityCountries = '';
39
+ this.selectChanged = this.selectChanged.bind(this);
40
+ }
41
+
42
+ updated(changedProperties) {
43
+ if (changedProperties.has('language') || changedProperties.has('priorityCountries')) {
44
+ this.requestUpdate();
45
+ }
46
+ }
47
+
48
+ getTexts() {
49
+ const texts = {
50
+ es: {
51
+ label: 'País',
52
+ placeholder: 'Selecciona un país'
53
+ },
54
+ en: {
55
+ label: 'Country',
56
+ placeholder: 'Select a country'
57
+ }
58
+ };
59
+ return texts[this.language] || texts.en;
60
+ }
61
+
62
+ getOrderedCountries() {
63
+ const countries = getCountries(this.language);
64
+
65
+ if (!this.priorityCountries) {
66
+ return countries;
67
+ }
68
+
69
+ const priorityIsos = this.priorityCountries.split('|').map(iso => iso.trim().toUpperCase());
70
+ const priorityCountriesList = [];
71
+ const otherCountries = [];
72
+
73
+ countries.forEach(country => {
74
+ if (priorityIsos.includes(country.iso)) {
75
+ priorityCountriesList.push(country);
76
+ } else {
77
+ otherCountries.push(country);
78
+ }
79
+ });
80
+
81
+ // Mantener el orden especificado en priorityCountries
82
+ const orderedPriority = priorityIsos
83
+ .map(iso => priorityCountriesList.find(c => c.iso === iso))
84
+ .filter(Boolean);
85
+
86
+ return [...orderedPriority, ...otherCountries];
87
+ }
88
+
89
+ render() {
90
+ const countries = this.getOrderedCountries();
91
+ const texts = this.getTexts();
92
+ const label = this.label || texts.label;
93
+ const hasPriority = this.priorityCountries && this.priorityCountries.trim().length > 0;
94
+
95
+ let optionsHtml;
96
+ if (hasPriority) {
97
+ const priorityIsos = this.priorityCountries.split('|').map(iso => iso.trim().toUpperCase());
98
+ const priorityCountriesList = countries.filter(c => priorityIsos.includes(c.iso));
99
+ const otherCountries = countries.filter(c => !priorityIsos.includes(c.iso));
100
+
101
+ optionsHtml = html`
102
+ ${priorityCountriesList.map(country => html`<option value="${country.iso}">${country.name}</option>`)}
103
+ <option disabled>———————————————————</option>
104
+ ${otherCountries.map(country => html`<option value="${country.iso}">${country.name}</option>`)}
105
+ `;
106
+ } else {
107
+ optionsHtml = html`
108
+ ${countries.map(country => html`<option value="${country.iso}">${country.name}</option>`)}
109
+ `;
110
+ }
111
+
112
+ return html`
113
+ <dile-select
114
+ value="${this.value || ''}"
115
+ ?quietOnStart=${this.quietOnStart}
116
+ name="${this.name}"
117
+ label="${label}"
118
+ ?errored=${this.errored}
119
+ ?hideErrorOnInput=${this.hideErrorOnInput}
120
+ message="${this.message || ''}"
121
+ @element-changed=${this.selectChanged}
122
+ >
123
+ <select slot="select">
124
+ <option value="">${texts.placeholder}</option>
125
+ ${optionsHtml}
126
+ </select>
127
+ </dile-select>
128
+ `;
129
+ }
130
+
131
+ selectChanged(e) {
132
+ this.value = e.detail.value;
133
+ this.dispatchEvent(new CustomEvent('country-changed', {
134
+ detail: { value: this.value },
135
+ bubbles: true,
136
+ composed: true
137
+ }));
138
+ }
139
+ }
140
+
141
+ customElements.define('dile-country-select', DileCountrySelect);
@@ -0,0 +1,500 @@
1
+ export const COUNTRIES_ES = [
2
+ { name: 'Afganistán', iso: 'AF' },
3
+ { name: 'Albania', iso: 'AL' },
4
+ { name: 'Alemania', iso: 'DE' },
5
+ { name: 'Andorra', iso: 'AD' },
6
+ { name: 'Angola', iso: 'AO' },
7
+ { name: 'Anguila', iso: 'AI' },
8
+ { name: 'Antigua y Barbuda', iso: 'AG' },
9
+ { name: 'Arabia Saudita', iso: 'SA' },
10
+ { name: 'Argelia', iso: 'DZ' },
11
+ { name: 'Argentina', iso: 'AR' },
12
+ { name: 'Armenia', iso: 'AM' },
13
+ { name: 'Aruba', iso: 'AW' },
14
+ { name: 'Australia', iso: 'AU' },
15
+ { name: 'Austria', iso: 'AT' },
16
+ { name: 'Azerbaiyán', iso: 'AZ' },
17
+ { name: 'Bahamas', iso: 'BS' },
18
+ { name: 'Bangladés', iso: 'BD' },
19
+ { name: 'Barbados', iso: 'BB' },
20
+ { name: 'Baréin', iso: 'BH' },
21
+ { name: 'Bélgica', iso: 'BE' },
22
+ { name: 'Belice', iso: 'BZ' },
23
+ { name: 'Benín', iso: 'BJ' },
24
+ { name: 'Bermudas', iso: 'BM' },
25
+ { name: 'Bielorrusia', iso: 'BY' },
26
+ { name: 'Birmania', iso: 'MM' },
27
+ { name: 'Bolivia', iso: 'BO' },
28
+ { name: 'Bosnia y Herzegovina', iso: 'BA' },
29
+ { name: 'Botsuana', iso: 'BW' },
30
+ { name: 'Brasil', iso: 'BR' },
31
+ { name: 'Brunéi', iso: 'BN' },
32
+ { name: 'Bulgaria', iso: 'BG' },
33
+ { name: 'Burkina Faso', iso: 'BF' },
34
+ { name: 'Burundi', iso: 'BI' },
35
+ { name: 'Bután', iso: 'BT' },
36
+ { name: 'Cabo Verde', iso: 'CV' },
37
+ { name: 'Camboya', iso: 'KH' },
38
+ { name: 'Camerún', iso: 'CM' },
39
+ { name: 'Canadá', iso: 'CA' },
40
+ { name: 'Catar', iso: 'QA' },
41
+ { name: 'Cazajstán', iso: 'KZ' },
42
+ { name: 'Chad', iso: 'TD' },
43
+ { name: 'Chile', iso: 'CL' },
44
+ { name: 'China', iso: 'CN' },
45
+ { name: 'Chipre', iso: 'CY' },
46
+ { name: 'Ciudad del Vaticano', iso: 'VA' },
47
+ { name: 'Colombia', iso: 'CO' },
48
+ { name: 'Comoras', iso: 'KM' },
49
+ { name: 'Congo', iso: 'CG' },
50
+ { name: 'Congo Democrático', iso: 'CD' },
51
+ { name: 'Corea del Norte', iso: 'KP' },
52
+ { name: 'Corea del Sur', iso: 'KR' },
53
+ { name: 'Costa de Marfil', iso: 'CI' },
54
+ { name: 'Costa Rica', iso: 'CR' },
55
+ { name: 'Croacia', iso: 'HR' },
56
+ { name: 'Cuba', iso: 'CU' },
57
+ { name: 'Curazao', iso: 'CW' },
58
+ { name: 'Dinamarca', iso: 'DK' },
59
+ { name: 'Djibouti', iso: 'DJ' },
60
+ { name: 'Dominica', iso: 'DM' },
61
+ { name: 'República Dominicana', iso: 'DO' },
62
+ { name: 'Ecuador', iso: 'EC' },
63
+ { name: 'Egipto', iso: 'EG' },
64
+ { name: 'Emiratos Árabes Unidos', iso: 'AE' },
65
+ { name: 'Eslovakia', iso: 'SK' },
66
+ { name: 'Eslovenia', iso: 'SI' },
67
+ { name: 'España', iso: 'ES' },
68
+ { name: 'Estados Unidos', iso: 'US' },
69
+ { name: 'Estonia', iso: 'EE' },
70
+ { name: 'Esuatini', iso: 'SZ' },
71
+ { name: 'Etiopía', iso: 'ET' },
72
+ { name: 'Filipinas', iso: 'PH' },
73
+ { name: 'Finlandia', iso: 'FI' },
74
+ { name: 'Fiyi', iso: 'FJ' },
75
+ { name: 'Francia', iso: 'FR' },
76
+ { name: 'Gabón', iso: 'GA' },
77
+ { name: 'Gambia', iso: 'GM' },
78
+ { name: 'Georgia', iso: 'GE' },
79
+ { name: 'Georgia del Sur y las Islas Sandwich del Sur', iso: 'GS' },
80
+ { name: 'Gibraltar', iso: 'GI' },
81
+ { name: 'Grecia', iso: 'GR' },
82
+ { name: 'Groenlandia', iso: 'GL' },
83
+ { name: 'Guadalupe', iso: 'GP' },
84
+ { name: 'Guam', iso: 'GU' },
85
+ { name: 'Guatemala', iso: 'GT' },
86
+ { name: 'Guayana Francesa', iso: 'GF' },
87
+ { name: 'Guyana', iso: 'GY' },
88
+ { name: 'Guernesí', iso: 'GG' },
89
+ { name: 'Guinea', iso: 'GN' },
90
+ { name: 'Guinea Ecuatorial', iso: 'GQ' },
91
+ { name: 'Guinea-Bisáu', iso: 'GW' },
92
+ { name: 'Haití', iso: 'HT' },
93
+ { name: 'Honduras', iso: 'HN' },
94
+ { name: 'Hong Kong', iso: 'HK' },
95
+ { name: 'Hungría', iso: 'HU' },
96
+ { name: 'Isla Bouvet', iso: 'BV' },
97
+ { name: 'Isla Christmas', iso: 'CX' },
98
+ { name: 'Isla de Man', iso: 'IM' },
99
+ { name: 'Isla Norfolk', iso: 'NF' },
100
+ { name: 'Islandia', iso: 'IS' },
101
+ { name: 'Islas Åland', iso: 'AX' },
102
+ { name: 'Islas Canarias', iso: 'IC' },
103
+ { name: 'Islas Caicos', iso: 'TC' },
104
+ { name: 'Islas Caimán', iso: 'KY' },
105
+ { name: 'Islas Cocos', iso: 'CC' },
106
+ { name: 'Islas Cook', iso: 'CK' },
107
+ { name: 'Islas Feroe', iso: 'FO' },
108
+ { name: 'Islas Heard y McDonald', iso: 'HM' },
109
+ { name: 'Islas Malvinas', iso: 'FK' },
110
+ { name: 'Islas Mariana del Norte', iso: 'MP' },
111
+ { name: 'Islas Marshall', iso: 'MH' },
112
+ { name: 'Islas Pitcairn', iso: 'PN' },
113
+ { name: 'Islas Salomón', iso: 'SB' },
114
+ { name: 'Islas Turcas y Caicos', iso: 'TC' },
115
+ { name: 'Islas Vírgenes Británicas', iso: 'VG' },
116
+ { name: 'Islas Vírgenes de Estados Unidos', iso: 'VI' },
117
+ { name: 'Islas Wallis y Futuna', iso: 'WF' },
118
+ { name: 'Israel', iso: 'IL' },
119
+ { name: 'Italia', iso: 'IT' },
120
+ { name: 'Jamaica', iso: 'JM' },
121
+ { name: 'Japón', iso: 'JP' },
122
+ { name: 'Jersey', iso: 'JE' },
123
+ { name: 'Jordania', iso: 'JO' },
124
+ { name: 'Jemen', iso: 'YE' },
125
+ { name: 'Kazajistán', iso: 'KZ' },
126
+ { name: 'Kenia', iso: 'KE' },
127
+ { name: 'Kirguistán', iso: 'KG' },
128
+ { name: 'Kiribati', iso: 'KI' },
129
+ { name: 'Kosovo', iso: 'XK' },
130
+ { name: 'Kuwait', iso: 'KW' },
131
+ { name: 'Laos', iso: 'LA' },
132
+ { name: 'Lesoto', iso: 'LS' },
133
+ { name: 'Letonia', iso: 'LV' },
134
+ { name: 'Líbano', iso: 'LB' },
135
+ { name: 'Liberia', iso: 'LR' },
136
+ { name: 'Libia', iso: 'LY' },
137
+ { name: 'Liechtenstein', iso: 'LI' },
138
+ { name: 'Lituania', iso: 'LT' },
139
+ { name: 'Luxemburgo', iso: 'LU' },
140
+ { name: 'Madagascar', iso: 'MG' },
141
+ { name: 'Malasia', iso: 'MY' },
142
+ { name: 'Malawi', iso: 'MW' },
143
+ { name: 'Maldivas', iso: 'MV' },
144
+ { name: 'Mali', iso: 'ML' },
145
+ { name: 'Malta', iso: 'MT' },
146
+ { name: 'Marruecos', iso: 'MA' },
147
+ { name: 'Martinica', iso: 'MQ' },
148
+ { name: 'Mauricio', iso: 'MU' },
149
+ { name: 'Mauritania', iso: 'MR' },
150
+ { name: 'Mayotte', iso: 'YT' },
151
+ { name: 'Mónaco', iso: 'MC' },
152
+ { name: 'Mongolia', iso: 'MN' },
153
+ { name: 'Montenegro', iso: 'ME' },
154
+ { name: 'Montserrat', iso: 'MS' },
155
+ { name: 'Mozambique', iso: 'MZ' },
156
+ { name: 'México', iso: 'MX' },
157
+ { name: 'Micronesia', iso: 'FM' },
158
+ { name: 'Moldavia', iso: 'MD' },
159
+ { name: 'Myanmar', iso: 'MM' },
160
+ { name: 'Namibia', iso: 'NA' },
161
+ { name: 'Nauru', iso: 'NR' },
162
+ { name: 'Nepal', iso: 'NP' },
163
+ { name: 'Nicaragua', iso: 'NI' },
164
+ { name: 'Nigeria', iso: 'NG' },
165
+ { name: 'Niue', iso: 'NU' },
166
+ { name: 'Noruega', iso: 'NO' },
167
+ { name: 'Nueva Caledonia', iso: 'NC' },
168
+ { name: 'Nueva Zelanda', iso: 'NZ' },
169
+ { name: 'Omán', iso: 'OM' },
170
+ { name: 'Países Bajos', iso: 'NL' },
171
+ { name: 'Pakistán', iso: 'PK' },
172
+ { name: 'Palaos', iso: 'PW' },
173
+ { name: 'Palestina', iso: 'PS' },
174
+ { name: 'Panamá', iso: 'PA' },
175
+ { name: 'Papúa Nueva Guinea', iso: 'PG' },
176
+ { name: 'Paraguay', iso: 'PY' },
177
+ { name: 'Perú', iso: 'PE' },
178
+ { name: 'Polinesia Francesa', iso: 'PF' },
179
+ { name: 'Polonia', iso: 'PL' },
180
+ { name: 'Portugal', iso: 'PT' },
181
+ { name: 'Puerto Rico', iso: 'PR' },
182
+ { name: 'Reunión', iso: 'RE' },
183
+ { name: 'Reino Unido', iso: 'GB' },
184
+ { name: 'República Centroafricana', iso: 'CF' },
185
+ { name: 'República Checa', iso: 'CZ' },
186
+ { name: 'República de Macedonia', iso: 'MK' },
187
+ { name: 'República Democrática del Congo', iso: 'CD' },
188
+ { name: 'República Sudafricana', iso: 'ZA' },
189
+ { name: 'Ruanda', iso: 'RW' },
190
+ { name: 'Rumania', iso: 'RO' },
191
+ { name: 'Rusia', iso: 'RU' },
192
+ { name: 'Sahara Occidental', iso: 'EH' },
193
+ { name: 'Samoa', iso: 'WS' },
194
+ { name: 'Samoa Americana', iso: 'AS' },
195
+ { name: 'San Bartolomé', iso: 'BL' },
196
+ { name: 'San Cristóbal y Nieves', iso: 'KN' },
197
+ { name: 'San Marino', iso: 'SM' },
198
+ { name: 'San Martín', iso: 'SX' },
199
+ { name: 'San Pedro y Miquelón', iso: 'PM' },
200
+ { name: 'San Vicente y las Granadinas', iso: 'VC' },
201
+ { name: 'Santa Elena', iso: 'SH' },
202
+ { name: 'Santa Lucía', iso: 'LC' },
203
+ { name: 'Santo Tomé y Príncipe', iso: 'ST' },
204
+ { name: 'Senegal', iso: 'SN' },
205
+ { name: 'Serbia', iso: 'RS' },
206
+ { name: 'Seychelles', iso: 'SC' },
207
+ { name: 'Sierra Leona', iso: 'SL' },
208
+ { name: 'Singapur', iso: 'SG' },
209
+ { name: 'Sint Maarten', iso: 'SX' },
210
+ { name: 'Siria', iso: 'SY' },
211
+ { name: 'Somalia', iso: 'SO' },
212
+ { name: 'Sri Lanka', iso: 'LK' },
213
+ { name: 'Sudáfrica', iso: 'ZA' },
214
+ { name: 'Sudán', iso: 'SD' },
215
+ { name: 'Sudán del Sur', iso: 'SS' },
216
+ { name: 'Suecia', iso: 'SE' },
217
+ { name: 'Suiza', iso: 'CH' },
218
+ { name: 'Surinam', iso: 'SR' },
219
+ { name: 'Svalbard y Jan Mayen', iso: 'SJ' },
220
+ { name: 'Tailandia', iso: 'TH' },
221
+ { name: 'Taiwán', iso: 'TW' },
222
+ { name: 'Tanzania', iso: 'TZ' },
223
+ { name: 'Tayikistán', iso: 'TJ' },
224
+ { name: 'Territorio Británico del Océano Índico', iso: 'IO' },
225
+ { name: 'Territorios Australes Franceses', iso: 'TF' },
226
+ { name: 'Timor Oriental', iso: 'TL' },
227
+ { name: 'Togo', iso: 'TG' },
228
+ { name: 'Tokelau', iso: 'TK' },
229
+ { name: 'Tonga', iso: 'TO' },
230
+ { name: 'Trinidad y Tobago', iso: 'TT' },
231
+ { name: 'Túnez', iso: 'TN' },
232
+ { name: 'Turkmenistán', iso: 'TM' },
233
+ { name: 'Turquía', iso: 'TR' },
234
+ { name: 'Tuvalu', iso: 'TV' },
235
+ { name: 'Ucrania', iso: 'UA' },
236
+ { name: 'Uganda', iso: 'UG' },
237
+ { name: 'Uruguay', iso: 'UY' },
238
+ { name: 'Uzbekistán', iso: 'UZ' },
239
+ { name: 'Vanuatu', iso: 'VU' },
240
+ { name: 'Vaticano', iso: 'VA' },
241
+ { name: 'Venezuela', iso: 'VE' },
242
+ { name: 'Vietnam', iso: 'VN' },
243
+ { name: 'Yibuti', iso: 'DJ' },
244
+ { name: 'Zambia', iso: 'ZM' },
245
+ { name: 'Zimbabue', iso: 'ZW' }
246
+ ];
247
+
248
+ export const COUNTRIES_EN = [
249
+ { name: 'Afghanistan', iso: 'AF' },
250
+ { name: 'Albania', iso: 'AL' },
251
+ { name: 'Algeria', iso: 'DZ' },
252
+ { name: 'Andorra', iso: 'AD' },
253
+ { name: 'Angola', iso: 'AO' },
254
+ { name: 'Anguilla', iso: 'AI' },
255
+ { name: 'Antigua and Barbuda', iso: 'AG' },
256
+ { name: 'Argentina', iso: 'AR' },
257
+ { name: 'Armenia', iso: 'AM' },
258
+ { name: 'Aruba', iso: 'AW' },
259
+ { name: 'Australia', iso: 'AU' },
260
+ { name: 'Austria', iso: 'AT' },
261
+ { name: 'Azerbaijan', iso: 'AZ' },
262
+ { name: 'Bahamas', iso: 'BS' },
263
+ { name: 'Bahrain', iso: 'BH' },
264
+ { name: 'Bangladesh', iso: 'BD' },
265
+ { name: 'Barbados', iso: 'BB' },
266
+ { name: 'Belarus', iso: 'BY' },
267
+ { name: 'Belgium', iso: 'BE' },
268
+ { name: 'Belize', iso: 'BZ' },
269
+ { name: 'Benin', iso: 'BJ' },
270
+ { name: 'Bermuda', iso: 'BM' },
271
+ { name: 'Bhutan', iso: 'BT' },
272
+ { name: 'Bolivia', iso: 'BO' },
273
+ { name: 'Bosnia and Herzegovina', iso: 'BA' },
274
+ { name: 'Botswana', iso: 'BW' },
275
+ { name: 'Bouvet Island', iso: 'BV' },
276
+ { name: 'Brazil', iso: 'BR' },
277
+ { name: 'British Indian Ocean Territory', iso: 'IO' },
278
+ { name: 'Brunei', iso: 'BN' },
279
+ { name: 'Bulgaria', iso: 'BG' },
280
+ { name: 'Burkina Faso', iso: 'BF' },
281
+ { name: 'Burundi', iso: 'BI' },
282
+ { name: 'Cambodia', iso: 'KH' },
283
+ { name: 'Cameroon', iso: 'CM' },
284
+ { name: 'Canada', iso: 'CA' },
285
+ { name: 'Cape Verde', iso: 'CV' },
286
+ { name: 'Cayman Islands', iso: 'KY' },
287
+ { name: 'Central African Republic', iso: 'CF' },
288
+ { name: 'Chad', iso: 'TD' },
289
+ { name: 'Chile', iso: 'CL' },
290
+ { name: 'China', iso: 'CN' },
291
+ { name: 'Christmas Island', iso: 'CX' },
292
+ { name: 'Cocos (Keeling) Islands', iso: 'CC' },
293
+ { name: 'Colombia', iso: 'CO' },
294
+ { name: 'Comoros', iso: 'KM' },
295
+ { name: 'Congo', iso: 'CG' },
296
+ { name: 'Cook Islands', iso: 'CK' },
297
+ { name: 'Costa Rica', iso: 'CR' },
298
+ { name: 'Croatia', iso: 'HR' },
299
+ { name: 'Cuba', iso: 'CU' },
300
+ { name: 'Cyprus', iso: 'CY' },
301
+ { name: 'Czech Republic', iso: 'CZ' },
302
+ { name: 'Côte d\'Ivoire', iso: 'CI' },
303
+ { name: 'Curaçao', iso: 'CW' },
304
+ { name: 'Denmark', iso: 'DK' },
305
+ { name: 'Djibouti', iso: 'DJ' },
306
+ { name: 'Dominica', iso: 'DM' },
307
+ { name: 'Dominican Republic', iso: 'DO' },
308
+ { name: 'Ecuador', iso: 'EC' },
309
+ { name: 'Egypt', iso: 'EG' },
310
+ { name: 'El Salvador', iso: 'SV' },
311
+ { name: 'Equatorial Guinea', iso: 'GQ' },
312
+ { name: 'Eritrea', iso: 'ER' },
313
+ { name: 'Estonia', iso: 'EE' },
314
+ { name: 'Eswatini', iso: 'SZ' },
315
+ { name: 'Ethiopia', iso: 'ET' },
316
+ { name: 'Falkland Islands', iso: 'FK' },
317
+ { name: 'Faroe Islands', iso: 'FO' },
318
+ { name: 'Fiji', iso: 'FJ' },
319
+ { name: 'Finland', iso: 'FI' },
320
+ { name: 'France', iso: 'FR' },
321
+ { name: 'French Guiana', iso: 'GF' },
322
+ { name: 'French Polynesia', iso: 'PF' },
323
+ { name: 'French Southern Territories', iso: 'TF' },
324
+ { name: 'Gabon', iso: 'GA' },
325
+ { name: 'Gambia', iso: 'GM' },
326
+ { name: 'Georgia', iso: 'GE' },
327
+ { name: 'Germany', iso: 'DE' },
328
+ { name: 'Ghana', iso: 'GH' },
329
+ { name: 'Gibraltar', iso: 'GI' },
330
+ { name: 'Greece', iso: 'GR' },
331
+ { name: 'Greenland', iso: 'GL' },
332
+ { name: 'Grenada', iso: 'GD' },
333
+ { name: 'Guadeloupe', iso: 'GP' },
334
+ { name: 'Guam', iso: 'GU' },
335
+ { name: 'Guatemala', iso: 'GT' },
336
+ { name: 'Guernsey', iso: 'GG' },
337
+ { name: 'Guinea', iso: 'GN' },
338
+ { name: 'Guinea-Bissau', iso: 'GW' },
339
+ { name: 'Guyana', iso: 'GY' },
340
+ { name: 'Haiti', iso: 'HT' },
341
+ { name: 'Heard Island and McDonald Islands', iso: 'HM' },
342
+ { name: 'Honduras', iso: 'HN' },
343
+ { name: 'Hong Kong', iso: 'HK' },
344
+ { name: 'Hungary', iso: 'HU' },
345
+ { name: 'Iceland', iso: 'IS' },
346
+ { name: 'India', iso: 'IN' },
347
+ { name: 'Indonesia', iso: 'ID' },
348
+ { name: 'Iran', iso: 'IR' },
349
+ { name: 'Iraq', iso: 'IQ' },
350
+ { name: 'Ireland', iso: 'IE' },
351
+ { name: 'Isle of Man', iso: 'IM' },
352
+ { name: 'Israel', iso: 'IL' },
353
+ { name: 'Italy', iso: 'IT' },
354
+ { name: 'Jamaica', iso: 'JM' },
355
+ { name: 'Japan', iso: 'JP' },
356
+ { name: 'Jersey', iso: 'JE' },
357
+ { name: 'Jordan', iso: 'JO' },
358
+ { name: 'Kazakhstan', iso: 'KZ' },
359
+ { name: 'Kenya', iso: 'KE' },
360
+ { name: 'Kiribati', iso: 'KI' },
361
+ { name: 'Kosovo', iso: 'XK' },
362
+ { name: 'Kuwait', iso: 'KW' },
363
+ { name: 'Kyrgyzstan', iso: 'KG' },
364
+ { name: 'Laos', iso: 'LA' },
365
+ { name: 'Latvia', iso: 'LV' },
366
+ { name: 'Lebanon', iso: 'LB' },
367
+ { name: 'Lesotho', iso: 'LS' },
368
+ { name: 'Liberia', iso: 'LR' },
369
+ { name: 'Libya', iso: 'LY' },
370
+ { name: 'Liechtenstein', iso: 'LI' },
371
+ { name: 'Lithuania', iso: 'LT' },
372
+ { name: 'Luxembourg', iso: 'LU' },
373
+ { name: 'Macao', iso: 'MO' },
374
+ { name: 'Madagascar', iso: 'MG' },
375
+ { name: 'Malawi', iso: 'MW' },
376
+ { name: 'Malaysia', iso: 'MY' },
377
+ { name: 'Maldives', iso: 'MV' },
378
+ { name: 'Mali', iso: 'ML' },
379
+ { name: 'Malta', iso: 'MT' },
380
+ { name: 'Marshall Islands', iso: 'MH' },
381
+ { name: 'Martinique', iso: 'MQ' },
382
+ { name: 'Mauritania', iso: 'MR' },
383
+ { name: 'Mauritius', iso: 'MU' },
384
+ { name: 'Mayotte', iso: 'YT' },
385
+ { name: 'Mexico', iso: 'MX' },
386
+ { name: 'Micronesia', iso: 'FM' },
387
+ { name: 'Moldova', iso: 'MD' },
388
+ { name: 'Monaco', iso: 'MC' },
389
+ { name: 'Mongolia', iso: 'MN' },
390
+ { name: 'Montenegro', iso: 'ME' },
391
+ { name: 'Montserrat', iso: 'MS' },
392
+ { name: 'Morocco', iso: 'MA' },
393
+ { name: 'Mozambique', iso: 'MZ' },
394
+ { name: 'Myanmar', iso: 'MM' },
395
+ { name: 'Namibia', iso: 'NA' },
396
+ { name: 'Nauru', iso: 'NR' },
397
+ { name: 'Nepal', iso: 'NP' },
398
+ { name: 'Netherlands', iso: 'NL' },
399
+ { name: 'New Caledonia', iso: 'NC' },
400
+ { name: 'New Zealand', iso: 'NZ' },
401
+ { name: 'Nicaragua', iso: 'NI' },
402
+ { name: 'Niger', iso: 'NE' },
403
+ { name: 'Nigeria', iso: 'NG' },
404
+ { name: 'Niue', iso: 'NU' },
405
+ { name: 'Norfolk Island', iso: 'NF' },
406
+ { name: 'North Korea', iso: 'KP' },
407
+ { name: 'North Macedonia', iso: 'MK' },
408
+ { name: 'Northern Mariana Islands', iso: 'MP' },
409
+ { name: 'Norway', iso: 'NO' },
410
+ { name: 'Oman', iso: 'OM' },
411
+ { name: 'Pakistan', iso: 'PK' },
412
+ { name: 'Palau', iso: 'PW' },
413
+ { name: 'Palestine', iso: 'PS' },
414
+ { name: 'Panama', iso: 'PA' },
415
+ { name: 'Papua New Guinea', iso: 'PG' },
416
+ { name: 'Paraguay', iso: 'PY' },
417
+ { name: 'Peru', iso: 'PE' },
418
+ { name: 'Philippines', iso: 'PH' },
419
+ { name: 'Pitcairn', iso: 'PN' },
420
+ { name: 'Poland', iso: 'PL' },
421
+ { name: 'Portugal', iso: 'PT' },
422
+ { name: 'Puerto Rico', iso: 'PR' },
423
+ { name: 'Qatar', iso: 'QA' },
424
+ { name: 'Republic of the Congo', iso: 'CD' },
425
+ { name: 'Réunion', iso: 'RE' },
426
+ { name: 'Romania', iso: 'RO' },
427
+ { name: 'Russia', iso: 'RU' },
428
+ { name: 'Rwanda', iso: 'RW' },
429
+ { name: 'Saint Barthélemy', iso: 'BL' },
430
+ { name: 'Saint Helena', iso: 'SH' },
431
+ { name: 'Saint Kitts and Nevis', iso: 'KN' },
432
+ { name: 'Saint Lucia', iso: 'LC' },
433
+ { name: 'Saint Martin', iso: 'SX' },
434
+ { name: 'Saint Pierre and Miquelon', iso: 'PM' },
435
+ { name: 'Saint Vincent and the Grenadines', iso: 'VC' },
436
+ { name: 'Samoa', iso: 'WS' },
437
+ { name: 'San Marino', iso: 'SM' },
438
+ { name: 'São Tomé and Príncipe', iso: 'ST' },
439
+ { name: 'Saudi Arabia', iso: 'SA' },
440
+ { name: 'Senegal', iso: 'SN' },
441
+ { name: 'Serbia', iso: 'RS' },
442
+ { name: 'Seychelles', iso: 'SC' },
443
+ { name: 'Sierra Leone', iso: 'SL' },
444
+ { name: 'Singapore', iso: 'SG' },
445
+ { name: 'Sint Maarten', iso: 'SX' },
446
+ { name: 'Slovakia', iso: 'SK' },
447
+ { name: 'Slovenia', iso: 'SI' },
448
+ { name: 'Solomon Islands', iso: 'SB' },
449
+ { name: 'Somalia', iso: 'SO' },
450
+ { name: 'South Africa', iso: 'ZA' },
451
+ { name: 'South Georgia and the South Sandwich Islands', iso: 'GS' },
452
+ { name: 'South Korea', iso: 'KR' },
453
+ { name: 'South Sudan', iso: 'SS' },
454
+ { name: 'Spain', iso: 'ES' },
455
+ { name: 'Sri Lanka', iso: 'LK' },
456
+ { name: 'Sudan', iso: 'SD' },
457
+ { name: 'Suriname', iso: 'SR' },
458
+ { name: 'Svalbard and Jan Mayen', iso: 'SJ' },
459
+ { name: 'Sweden', iso: 'SE' },
460
+ { name: 'Switzerland', iso: 'CH' },
461
+ { name: 'Syria', iso: 'SY' },
462
+ { name: 'Taiwan', iso: 'TW' },
463
+ { name: 'Tajikistan', iso: 'TJ' },
464
+ { name: 'Tanzania', iso: 'TZ' },
465
+ { name: 'Thailand', iso: 'TH' },
466
+ { name: 'Timor-Leste', iso: 'TL' },
467
+ { name: 'Togo', iso: 'TG' },
468
+ { name: 'Tokelau', iso: 'TK' },
469
+ { name: 'Tonga', iso: 'TO' },
470
+ { name: 'Trinidad and Tobago', iso: 'TT' },
471
+ { name: 'Tunisia', iso: 'TN' },
472
+ { name: 'Turkey', iso: 'TR' },
473
+ { name: 'Turkmenistan', iso: 'TM' },
474
+ { name: 'Turks and Caicos Islands', iso: 'TC' },
475
+ { name: 'Tuvalu', iso: 'TV' },
476
+ { name: 'Uganda', iso: 'UG' },
477
+ { name: 'Ukraine', iso: 'UA' },
478
+ { name: 'United Arab Emirates', iso: 'AE' },
479
+ { name: 'United Kingdom', iso: 'GB' },
480
+ { name: 'United States', iso: 'US' },
481
+ { name: 'United States Minor Outlying Islands', iso: 'UM' },
482
+ { name: 'Uruguay', iso: 'UY' },
483
+ { name: 'Uzbekistan', iso: 'UZ' },
484
+ { name: 'Vanuatu', iso: 'VU' },
485
+ { name: 'Vatican City', iso: 'VA' },
486
+ { name: 'Venezuela', iso: 'VE' },
487
+ { name: 'Vietnam', iso: 'VN' },
488
+ { name: 'Virgin Islands (British)', iso: 'VG' },
489
+ { name: 'Virgin Islands (U.S.)', iso: 'VI' },
490
+ { name: 'Wallis and Futuna', iso: 'WF' },
491
+ { name: 'Western Sahara', iso: 'EH' },
492
+ { name: 'Yemen', iso: 'YE' },
493
+ { name: 'Zambia', iso: 'ZM' },
494
+ { name: 'Zimbabwe', iso: 'ZW' },
495
+ { name: 'Åland Islands', iso: 'AX' }
496
+ ];
497
+
498
+ export const getCountries = (language = 'en') => {
499
+ return language === 'es' ? COUNTRIES_ES : COUNTRIES_EN;
500
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dile/utils",
3
- "version": "2.9.33",
3
+ "version": "2.10.0",
4
4
  "description": "Utility Components of Diverse Uses Based on the Lit Library and Web Components Standard.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "homepage": "https://dile-components.com/",
22
22
  "dependencies": {
23
- "@dile/ui": "^2.23.11",
23
+ "@dile/ui": "^2.23.12",
24
24
  "@lion/ui": "^0.11.2",
25
25
  "linkify-string": "^4.1.3",
26
26
  "linkifyjs": "^4.1.3",
@@ -29,5 +29,5 @@
29
29
  "publishConfig": {
30
30
  "access": "public"
31
31
  },
32
- "gitHead": "728ff2ae631ddef00dfc3c5bc9370b3a5ab0bb3f"
32
+ "gitHead": "a344acf2bc67d1fba7c493ed50029a9f0c115a19"
33
33
  }