@innertia-solutions/innertia-nuxt 0.1.22 → 0.1.24

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.
@@ -20,6 +20,10 @@ const props = defineProps({
20
20
  /** Mostrar selector "Filas por página" en el footer. Default false. */
21
21
  showPerPage: { type: Boolean, default: false },
22
22
 
23
+ /** Modo lista: sin paginación. Carga todas las filas (server-side: ?list=true) y
24
+ * el área de la tabla se vuelve scrolleable en vez de crecer indefinidamente. */
25
+ list: { type: Boolean, default: false },
26
+
23
27
  // Tamaño visible (wrap + overflow auto). 'sm' | 'md' (default) | 'lg' | 'fit'.
24
28
  size: { type: String, default: 'md' },
25
29
  filters: { type: Array, default: () => [] },
@@ -758,6 +762,7 @@ defineExpose({ getSelectedRows, reload, clearCache, exportTable, tableRef, close
758
762
  :show-reload-button="showReloadButton"
759
763
  :info-position="infoPosition"
760
764
  :show-per-page="showPerPage"
765
+ :list="list"
761
766
  :click-row-to-open="clickRowToOpen"
762
767
  :preview-row-id="previewRow?.id ?? null"
763
768
  :preview-mode="!!previewEnabled"
@@ -21,6 +21,8 @@ const props = defineProps({
21
21
  infoPosition: { type: String, default: 'bottom' },
22
22
  /** Mostrar el selector "Filas: 10/25/50/100/Otro...". Default false. */
23
23
  showPerPage: { type: Boolean, default: false },
24
+ /** Modo lista: sin paginación (envía ?list=true, carga todas las filas y scrollea). */
25
+ list: { type: Boolean, default: false },
24
26
  /** 'table' | 'cards' | 'database' | 'grid' (legacy → maps to cards) */
25
27
  viewMode: { type: String, default: 'table' },
26
28
  gridClass: { type: String, default: 'grid grid-cols-2 lg:grid-cols-3 gap-4' },
@@ -244,6 +246,8 @@ const buildRequestParams = () => {
244
246
  perPage: pagination.value.pageSize,
245
247
  sortColumns: sorting.value.map(s => ({ column: s.id, direction: s.desc ? 'desc' : 'asc' })),
246
248
  columnFilters: Object.fromEntries(columnFilters.value.map(f => [f.id, f.value])),
249
+ // Modo lista: sin paginación, el backend devuelve todas las filas (search/sort/filtros igual).
250
+ ...(props.list ? { list: true } : {}),
247
251
  ...otherParams,
248
252
  }
249
253
  }
@@ -596,6 +600,9 @@ defineExpose({
596
600
  <template>
597
601
  <div class="relative flex flex-col">
598
602
 
603
+ <!-- Modo lista: contenedor scrolleable (todas las filas cargadas, sin paginación) -->
604
+ <div :class="list ? 'max-h-[70vh] overflow-y-auto' : 'contents'">
605
+
599
606
  <!-- Table view -->
600
607
  <ViewTable
601
608
  v-if="currentView === 'table'"
@@ -664,6 +671,8 @@ defineExpose({
664
671
  </template>
665
672
  </ViewDatabase>
666
673
 
674
+ </div><!-- /scroll lista -->
675
+
667
676
  <!-- Pagination & controls bar -->
668
677
  <div
669
678
  v-if="infoPosition !== 'none'"
@@ -709,8 +718,8 @@ defineExpose({
709
718
  </div>
710
719
  </div>
711
720
 
712
- <!-- Right: per-page + pagination -->
713
- <div class="flex items-center gap-x-8">
721
+ <!-- Right: per-page + pagination (oculto en modo lista) -->
722
+ <div v-if="!list" class="flex items-center gap-x-8">
714
723
  <!-- Per page selector -->
715
724
  <div v-if="showPerPage" class="flex items-center gap-x-2">
716
725
  <label class="text-[10px] font-bold text-muted-foreground uppercase tracking-widest">Filas:</label>
@@ -0,0 +1,416 @@
1
+ // Códigos CUT oficiales (INE/SUBDERE). País: Chile (CL).
2
+ // Orden geográfico norte→sur. Mismas keys que innertia-laravel src/Geo/chile.php.
3
+ export const CHILE = {
4
+ country: { code: 'CL', name: 'Chile' },
5
+ regions: [
6
+ // Región 15 — Arica y Parinacota
7
+ { code: '15', name: 'Arica y Parinacota', communes: [
8
+ { code: '15101', name: 'Arica' },
9
+ { code: '15102', name: 'Camarones' },
10
+ { code: '15201', name: 'Putre' },
11
+ { code: '15202', name: 'General Lagos' },
12
+ ]},
13
+
14
+ // Región 01 — Tarapacá
15
+ { code: '01', name: 'Tarapacá', communes: [
16
+ { code: '01101', name: 'Iquique' },
17
+ { code: '01107', name: 'Alto Hospicio' },
18
+ { code: '01401', name: 'Pozo Almonte' },
19
+ { code: '01402', name: 'Camiña' },
20
+ { code: '01403', name: 'Colchane' },
21
+ { code: '01404', name: 'Huara' },
22
+ { code: '01405', name: 'Pica' },
23
+ ]},
24
+
25
+ // Región 02 — Antofagasta
26
+ { code: '02', name: 'Antofagasta', communes: [
27
+ { code: '02101', name: 'Antofagasta' },
28
+ { code: '02102', name: 'Mejillones' },
29
+ { code: '02103', name: 'Sierra Gorda' },
30
+ { code: '02104', name: 'Taltal' },
31
+ { code: '02201', name: 'Calama' },
32
+ { code: '02202', name: 'Ollagüe' },
33
+ { code: '02203', name: 'San Pedro de Atacama' },
34
+ { code: '02301', name: 'Tocopilla' },
35
+ { code: '02302', name: 'María Elena' },
36
+ ]},
37
+
38
+ // Región 03 — Atacama
39
+ { code: '03', name: 'Atacama', communes: [
40
+ { code: '03101', name: 'Copiapó' },
41
+ { code: '03102', name: 'Caldera' },
42
+ { code: '03103', name: 'Tierra Amarilla' },
43
+ { code: '03201', name: 'Chañaral' },
44
+ { code: '03202', name: 'Diego de Almagro' },
45
+ { code: '03301', name: 'Vallenar' },
46
+ { code: '03302', name: 'Alto del Carmen' },
47
+ { code: '03303', name: 'Freirina' },
48
+ { code: '03304', name: 'Huasco' },
49
+ ]},
50
+
51
+ // Región 04 — Coquimbo
52
+ { code: '04', name: 'Coquimbo', communes: [
53
+ { code: '04101', name: 'La Serena' },
54
+ { code: '04102', name: 'Coquimbo' },
55
+ { code: '04103', name: 'Andacollo' },
56
+ { code: '04104', name: 'La Higuera' },
57
+ { code: '04105', name: 'Paiguano' },
58
+ { code: '04106', name: 'Vicuña' },
59
+ { code: '04201', name: 'Illapel' },
60
+ { code: '04202', name: 'Canela' },
61
+ { code: '04203', name: 'Los Vilos' },
62
+ { code: '04204', name: 'Salamanca' },
63
+ { code: '04301', name: 'Ovalle' },
64
+ { code: '04302', name: 'Combarbalá' },
65
+ { code: '04303', name: 'Monte Patria' },
66
+ { code: '04304', name: 'Punitaqui' },
67
+ { code: '04305', name: 'Río Hurtado' },
68
+ ]},
69
+
70
+ // Región 05 — Valparaíso
71
+ { code: '05', name: 'Valparaíso', communes: [
72
+ { code: '05101', name: 'Valparaíso' },
73
+ { code: '05102', name: 'Casablanca' },
74
+ { code: '05103', name: 'Concón' },
75
+ { code: '05104', name: 'Juan Fernández' },
76
+ { code: '05105', name: 'Puchuncaví' },
77
+ { code: '05106', name: 'Quintero' },
78
+ { code: '05107', name: 'Viña del Mar' },
79
+ { code: '05201', name: 'Isla de Pascua' },
80
+ { code: '05301', name: 'Los Andes' },
81
+ { code: '05302', name: 'Calle Larga' },
82
+ { code: '05303', name: 'Rinconada' },
83
+ { code: '05304', name: 'San Esteban' },
84
+ { code: '05401', name: 'La Ligua' },
85
+ { code: '05402', name: 'Cabildo' },
86
+ { code: '05403', name: 'Papudo' },
87
+ { code: '05404', name: 'Petorca' },
88
+ { code: '05405', name: 'Zapallar' },
89
+ { code: '05501', name: 'Quillota' },
90
+ { code: '05502', name: 'Calera' },
91
+ { code: '05503', name: 'Hijuelas' },
92
+ { code: '05504', name: 'La Cruz' },
93
+ { code: '05505', name: 'Nogales' },
94
+ { code: '05601', name: 'San Antonio' },
95
+ { code: '05602', name: 'Algarrobo' },
96
+ { code: '05603', name: 'Cartagena' },
97
+ { code: '05604', name: 'El Quisco' },
98
+ { code: '05605', name: 'El Tabo' },
99
+ { code: '05606', name: 'Santo Domingo' },
100
+ { code: '05701', name: 'San Felipe' },
101
+ { code: '05702', name: 'Catemu' },
102
+ { code: '05703', name: 'Llaillay' },
103
+ { code: '05704', name: 'Panquehue' },
104
+ { code: '05705', name: 'Putaendo' },
105
+ { code: '05706', name: 'Santa María' },
106
+ { code: '05801', name: 'Quilpué' },
107
+ { code: '05802', name: 'Limache' },
108
+ { code: '05803', name: 'Olmué' },
109
+ { code: '05804', name: 'Villa Alemana' },
110
+ ]},
111
+
112
+ // Región 13 — Metropolitana de Santiago
113
+ { code: '13', name: 'Región Metropolitana de Santiago', communes: [
114
+ { code: '13101', name: 'Santiago' },
115
+ { code: '13102', name: 'Cerrillos' },
116
+ { code: '13103', name: 'Cerro Navia' },
117
+ { code: '13104', name: 'Conchalí' },
118
+ { code: '13105', name: 'El Bosque' },
119
+ { code: '13106', name: 'Estación Central' },
120
+ { code: '13107', name: 'Huechuraba' },
121
+ { code: '13108', name: 'Independencia' },
122
+ { code: '13109', name: 'La Cisterna' },
123
+ { code: '13110', name: 'La Florida' },
124
+ { code: '13111', name: 'La Granja' },
125
+ { code: '13112', name: 'La Pintana' },
126
+ { code: '13113', name: 'La Reina' },
127
+ { code: '13114', name: 'Las Condes' },
128
+ { code: '13115', name: 'Lo Barnechea' },
129
+ { code: '13116', name: 'Lo Espejo' },
130
+ { code: '13117', name: 'Lo Prado' },
131
+ { code: '13118', name: 'Macul' },
132
+ { code: '13119', name: 'Maipú' },
133
+ { code: '13120', name: 'Ñuñoa' },
134
+ { code: '13121', name: 'Pedro Aguirre Cerda' },
135
+ { code: '13122', name: 'Peñalolén' },
136
+ { code: '13123', name: 'Providencia' },
137
+ { code: '13124', name: 'Pudahuel' },
138
+ { code: '13125', name: 'Quilicura' },
139
+ { code: '13126', name: 'Quinta Normal' },
140
+ { code: '13127', name: 'Recoleta' },
141
+ { code: '13128', name: 'Renca' },
142
+ { code: '13129', name: 'San Joaquín' },
143
+ { code: '13130', name: 'San Miguel' },
144
+ { code: '13131', name: 'San Ramón' },
145
+ { code: '13132', name: 'Vitacura' },
146
+ { code: '13201', name: 'Puente Alto' },
147
+ { code: '13202', name: 'Pirque' },
148
+ { code: '13203', name: 'San José de Maipo' },
149
+ { code: '13301', name: 'Colina' },
150
+ { code: '13302', name: 'Lampa' },
151
+ { code: '13303', name: 'Tiltil' },
152
+ { code: '13401', name: 'San Bernardo' },
153
+ { code: '13402', name: 'Buin' },
154
+ { code: '13403', name: 'Calera de Tango' },
155
+ { code: '13404', name: 'Paine' },
156
+ { code: '13501', name: 'Melipilla' },
157
+ { code: '13502', name: 'Alhué' },
158
+ { code: '13503', name: 'Curacaví' },
159
+ { code: '13504', name: 'María Pinto' },
160
+ { code: '13505', name: 'San Pedro' },
161
+ { code: '13601', name: 'Talagante' },
162
+ { code: '13602', name: 'El Monte' },
163
+ { code: '13603', name: 'Isla de Maipo' },
164
+ { code: '13604', name: 'Padre Hurtado' },
165
+ { code: '13605', name: 'Peñaflor' },
166
+ ]},
167
+
168
+ // Región 06 — Libertador General Bernardo O'Higgins
169
+ { code: '06', name: "Libertador General Bernardo O'Higgins", communes: [
170
+ { code: '06101', name: 'Rancagua' },
171
+ { code: '06102', name: 'Codegua' },
172
+ { code: '06103', name: 'Coinco' },
173
+ { code: '06104', name: 'Coltauco' },
174
+ { code: '06105', name: 'Doñihue' },
175
+ { code: '06106', name: 'Graneros' },
176
+ { code: '06107', name: 'Las Cabras' },
177
+ { code: '06108', name: 'Machalí' },
178
+ { code: '06109', name: 'Malloa' },
179
+ { code: '06110', name: 'Mostazal' },
180
+ { code: '06111', name: 'Olivar' },
181
+ { code: '06112', name: 'Peumo' },
182
+ { code: '06113', name: 'Pichidegua' },
183
+ { code: '06114', name: 'Quinta de Tilcoco' },
184
+ { code: '06115', name: 'Rengo' },
185
+ { code: '06116', name: 'Requínoa' },
186
+ { code: '06117', name: 'San Vicente' },
187
+ { code: '06201', name: 'Pichilemu' },
188
+ { code: '06202', name: 'La Estrella' },
189
+ { code: '06203', name: 'Litueche' },
190
+ { code: '06204', name: 'Marchihue' },
191
+ { code: '06205', name: 'Navidad' },
192
+ { code: '06206', name: 'Paredones' },
193
+ { code: '06301', name: 'San Fernando' },
194
+ { code: '06302', name: 'Chépica' },
195
+ { code: '06303', name: 'Chimbarongo' },
196
+ { code: '06304', name: 'Lolol' },
197
+ { code: '06305', name: 'Nancagua' },
198
+ { code: '06306', name: 'Palmilla' },
199
+ { code: '06307', name: 'Peralillo' },
200
+ { code: '06308', name: 'Placilla' },
201
+ { code: '06309', name: 'Pumanque' },
202
+ { code: '06310', name: 'Santa Cruz' },
203
+ ]},
204
+
205
+ // Región 07 — Maule
206
+ { code: '07', name: 'Maule', communes: [
207
+ { code: '07101', name: 'Talca' },
208
+ { code: '07102', name: 'Constitución' },
209
+ { code: '07103', name: 'Curepto' },
210
+ { code: '07104', name: 'Empedrado' },
211
+ { code: '07105', name: 'Maule' },
212
+ { code: '07106', name: 'Pelarco' },
213
+ { code: '07107', name: 'Pencahue' },
214
+ { code: '07108', name: 'Río Claro' },
215
+ { code: '07109', name: 'San Clemente' },
216
+ { code: '07110', name: 'San Rafael' },
217
+ { code: '07201', name: 'Cauquenes' },
218
+ { code: '07202', name: 'Chanco' },
219
+ { code: '07203', name: 'Pelluhue' },
220
+ { code: '07301', name: 'Curicó' },
221
+ { code: '07302', name: 'Hualañé' },
222
+ { code: '07303', name: 'Licantén' },
223
+ { code: '07304', name: 'Molina' },
224
+ { code: '07305', name: 'Rauco' },
225
+ { code: '07306', name: 'Romeral' },
226
+ { code: '07307', name: 'Sagrada Familia' },
227
+ { code: '07308', name: 'Teno' },
228
+ { code: '07309', name: 'Vichuquén' },
229
+ { code: '07401', name: 'Linares' },
230
+ { code: '07402', name: 'Colbún' },
231
+ { code: '07403', name: 'Longaví' },
232
+ { code: '07404', name: 'Parral' },
233
+ { code: '07405', name: 'Retiro' },
234
+ { code: '07406', name: 'San Javier' },
235
+ { code: '07407', name: 'Villa Alegre' },
236
+ { code: '07408', name: 'Yerbas Buenas' },
237
+ ]},
238
+
239
+ // Región 16 — Ñuble
240
+ { code: '16', name: 'Ñuble', communes: [
241
+ { code: '16101', name: 'Chillán' },
242
+ { code: '16102', name: 'Bulnes' },
243
+ { code: '16103', name: 'Chillán Viejo' },
244
+ { code: '16104', name: 'El Carmen' },
245
+ { code: '16105', name: 'Pemuco' },
246
+ { code: '16106', name: 'Pinto' },
247
+ { code: '16107', name: 'Quillón' },
248
+ { code: '16108', name: 'San Ignacio' },
249
+ { code: '16109', name: 'Yungay' },
250
+ { code: '16201', name: 'Quirihue' },
251
+ { code: '16202', name: 'Cobquecura' },
252
+ { code: '16203', name: 'Coelemu' },
253
+ { code: '16204', name: 'Ninhue' },
254
+ { code: '16205', name: 'Portezuelo' },
255
+ { code: '16206', name: 'Ránquil' },
256
+ { code: '16207', name: 'Treguaco' },
257
+ { code: '16301', name: 'San Carlos' },
258
+ { code: '16302', name: 'Coihueco' },
259
+ { code: '16303', name: 'Ñiquén' },
260
+ { code: '16304', name: 'San Fabián' },
261
+ { code: '16305', name: 'San Nicolás' },
262
+ ]},
263
+
264
+ // Región 08 — Biobío
265
+ { code: '08', name: 'Biobío', communes: [
266
+ { code: '08101', name: 'Concepción' },
267
+ { code: '08102', name: 'Coronel' },
268
+ { code: '08103', name: 'Chiguayante' },
269
+ { code: '08104', name: 'Florida' },
270
+ { code: '08105', name: 'Hualpén' },
271
+ { code: '08106', name: 'Hualqui' },
272
+ { code: '08107', name: 'Lota' },
273
+ { code: '08108', name: 'Penco' },
274
+ { code: '08109', name: 'San Pedro de la Paz' },
275
+ { code: '08110', name: 'Santa Juana' },
276
+ { code: '08111', name: 'Talcahuano' },
277
+ { code: '08112', name: 'Tomé' },
278
+ { code: '08201', name: 'Lebu' },
279
+ { code: '08202', name: 'Arauco' },
280
+ { code: '08203', name: 'Cañete' },
281
+ { code: '08204', name: 'Contulmo' },
282
+ { code: '08205', name: 'Curanilahue' },
283
+ { code: '08206', name: 'Los Álamos' },
284
+ { code: '08207', name: 'Tirúa' },
285
+ { code: '08301', name: 'Los Ángeles' },
286
+ { code: '08302', name: 'Antuco' },
287
+ { code: '08303', name: 'Cabrero' },
288
+ { code: '08304', name: 'Laja' },
289
+ { code: '08305', name: 'Mulchén' },
290
+ { code: '08306', name: 'Nacimiento' },
291
+ { code: '08307', name: 'Negrete' },
292
+ { code: '08308', name: 'Quilaco' },
293
+ { code: '08309', name: 'Quilleco' },
294
+ { code: '08310', name: 'San Rosendo' },
295
+ { code: '08311', name: 'Santa Bárbara' },
296
+ { code: '08312', name: 'Tucapel' },
297
+ { code: '08313', name: 'Yumbel' },
298
+ { code: '08314', name: 'Alto Biobío' },
299
+ ]},
300
+
301
+ // Región 09 — La Araucanía
302
+ { code: '09', name: 'La Araucanía', communes: [
303
+ { code: '09101', name: 'Temuco' },
304
+ { code: '09102', name: 'Carahue' },
305
+ { code: '09103', name: 'Cunco' },
306
+ { code: '09104', name: 'Curarrehue' },
307
+ { code: '09105', name: 'Freire' },
308
+ { code: '09106', name: 'Galvarino' },
309
+ { code: '09107', name: 'Gorbea' },
310
+ { code: '09108', name: 'Lautaro' },
311
+ { code: '09109', name: 'Loncoche' },
312
+ { code: '09110', name: 'Melipeuco' },
313
+ { code: '09111', name: 'Nueva Imperial' },
314
+ { code: '09112', name: 'Padre las Casas' },
315
+ { code: '09113', name: 'Perquenco' },
316
+ { code: '09114', name: 'Pitrufquén' },
317
+ { code: '09115', name: 'Pucón' },
318
+ { code: '09116', name: 'Saavedra' },
319
+ { code: '09117', name: 'Teodoro Schmidt' },
320
+ { code: '09118', name: 'Toltén' },
321
+ { code: '09119', name: 'Vilcún' },
322
+ { code: '09120', name: 'Villarrica' },
323
+ { code: '09121', name: 'Cholchol' },
324
+ { code: '09201', name: 'Angol' },
325
+ { code: '09202', name: 'Collipulli' },
326
+ { code: '09203', name: 'Curacautín' },
327
+ { code: '09204', name: 'Ercilla' },
328
+ { code: '09205', name: 'Lonquimay' },
329
+ { code: '09206', name: 'Los Sauces' },
330
+ { code: '09207', name: 'Lumaco' },
331
+ { code: '09208', name: 'Purén' },
332
+ { code: '09209', name: 'Renaico' },
333
+ { code: '09210', name: 'Traiguén' },
334
+ { code: '09211', name: 'Victoria' },
335
+ ]},
336
+
337
+ // Región 14 — Los Ríos
338
+ { code: '14', name: 'Los Ríos', communes: [
339
+ { code: '14101', name: 'Valdivia' },
340
+ { code: '14102', name: 'Corral' },
341
+ { code: '14103', name: 'Futrono' },
342
+ { code: '14104', name: 'La Unión' },
343
+ { code: '14105', name: 'Lago Ranco' },
344
+ { code: '14106', name: 'Lanco' },
345
+ { code: '14107', name: 'Los Lagos' },
346
+ { code: '14108', name: 'Máfil' },
347
+ { code: '14109', name: 'Mariquina' },
348
+ { code: '14110', name: 'Paillaco' },
349
+ { code: '14111', name: 'Panguipulli' },
350
+ { code: '14112', name: 'Río Bueno' },
351
+ ]},
352
+
353
+ // Región 10 — Los Lagos
354
+ { code: '10', name: 'Los Lagos', communes: [
355
+ { code: '10101', name: 'Puerto Montt' },
356
+ { code: '10102', name: 'Calbuco' },
357
+ { code: '10103', name: 'Cochamó' },
358
+ { code: '10104', name: 'Fresia' },
359
+ { code: '10105', name: 'Frutillar' },
360
+ { code: '10106', name: 'Los Muermos' },
361
+ { code: '10107', name: 'Llanquihue' },
362
+ { code: '10108', name: 'Maullín' },
363
+ { code: '10109', name: 'Puerto Varas' },
364
+ { code: '10201', name: 'Castro' },
365
+ { code: '10202', name: 'Ancud' },
366
+ { code: '10203', name: 'Chonchi' },
367
+ { code: '10204', name: 'Curaco de Vélez' },
368
+ { code: '10205', name: 'Dalcahue' },
369
+ { code: '10206', name: 'Puqueldón' },
370
+ { code: '10207', name: 'Queilén' },
371
+ { code: '10208', name: 'Quellón' },
372
+ { code: '10209', name: 'Quemchi' },
373
+ { code: '10210', name: 'Quinchao' },
374
+ { code: '10301', name: 'Osorno' },
375
+ { code: '10302', name: 'Puerto Octay' },
376
+ { code: '10303', name: 'Purranque' },
377
+ { code: '10304', name: 'Puyehue' },
378
+ { code: '10305', name: 'Río Negro' },
379
+ { code: '10306', name: 'San Juan de la Costa' },
380
+ { code: '10307', name: 'San Pablo' },
381
+ { code: '10401', name: 'Chaitén' },
382
+ { code: '10402', name: 'Futaleufú' },
383
+ { code: '10403', name: 'Hualaihué' },
384
+ { code: '10404', name: 'Palena' },
385
+ ]},
386
+
387
+ // Región 11 — Aysén del General Carlos Ibáñez del Campo
388
+ { code: '11', name: 'Aysén del General Carlos Ibáñez del Campo', communes: [
389
+ { code: '11101', name: 'Coihaique' },
390
+ { code: '11102', name: 'Lago Verde' },
391
+ { code: '11201', name: 'Aysén' },
392
+ { code: '11202', name: 'Cisnes' },
393
+ { code: '11203', name: 'Guaitecas' },
394
+ { code: '11301', name: 'Cochrane' },
395
+ { code: '11302', name: "O'Higgins" },
396
+ { code: '11303', name: 'Tortel' },
397
+ { code: '11401', name: 'Chile Chico' },
398
+ { code: '11402', name: 'Río Ibáñez' },
399
+ ]},
400
+
401
+ // Región 12 — Magallanes y de la Antártica Chilena
402
+ { code: '12', name: 'Magallanes y de la Antártica Chilena', communes: [
403
+ { code: '12101', name: 'Punta Arenas' },
404
+ { code: '12102', name: 'Laguna Blanca' },
405
+ { code: '12103', name: 'Río Verde' },
406
+ { code: '12104', name: 'San Gregorio' },
407
+ { code: '12201', name: 'Cabo de Hornos' },
408
+ { code: '12202', name: 'Antártica' },
409
+ { code: '12301', name: 'Porvenir' },
410
+ { code: '12302', name: 'Primavera' },
411
+ { code: '12303', name: 'Timaukel' },
412
+ { code: '12401', name: 'Natales' },
413
+ { code: '12402', name: 'Torres del Paine' },
414
+ ]},
415
+ ],
416
+ }
@@ -0,0 +1,24 @@
1
+ import { CHILE } from './geo/chile'
2
+
3
+ // Catálogo geográfico de Chile (país/regiones/comunas) con códigos CUT.
4
+ // Misma data y keys que innertia-laravel (Innertia\Geo\Geo). Sin fetch.
5
+ export function useGeo() {
6
+ const regions = () => CHILE.regions.map(r => ({ code: r.code, name: r.name }))
7
+
8
+ const communes = (regionCode) => {
9
+ const r = CHILE.regions.find(r => r.code === regionCode)
10
+ return r ? r.communes.map(c => ({ code: c.code, name: c.name })) : []
11
+ }
12
+
13
+ const regionName = (code) => CHILE.regions.find(r => r.code === code)?.name ?? null
14
+
15
+ const communeName = (code) => {
16
+ for (const r of CHILE.regions) {
17
+ const c = r.communes.find(c => c.code === code)
18
+ if (c) return c.name
19
+ }
20
+ return null
21
+ }
22
+
23
+ return { regions, communes, regionName, communeName }
24
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@innertia-solutions/innertia-nuxt",
3
- "version": "0.1.22",
3
+ "version": "0.1.24",
4
4
  "description": "Innertia Solutions — Nuxt layer unificada: core, auth, multitenancy, theme y app contexts",
5
5
  "keywords": [
6
6
  "nuxt",