@datosgeo-atdt/geo-ui 0.11.3 → 0.11.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -866,7 +866,7 @@ function App() {
866
866
 
867
867
  #### Ejemplo con interactividad bidireccional (Tabla ↔ Mapa)
868
868
 
869
- Crea interacción entre la tabla y el mapa: click en tabla hace zoom en mapa, click en mapa cambia datos de tabla:
869
+ Crea interacción completa entre la tabla y el mapa usando `onRowClick` y `onFeatureClick`:
870
870
 
871
871
  ```tsx
872
872
  import { MapaPMTiles, DataTable } from '@atdt/geo-ui';
@@ -886,6 +886,13 @@ function App() {
886
886
  mode="jenks"
887
887
  showMunicipios={nivel === 'municipio'}
888
888
  enablePopup={true}
889
+ onFeatureClick={(featureId, properties) => {
890
+ // Click en mapa → cambia tabla a municipios de esa entidad
891
+ if (nivel === 'entidad') {
892
+ setSelectedEnt(featureId);
893
+ setNivel('municipio');
894
+ }
895
+ }}
889
896
  />
890
897
 
891
898
  {/* Tabla con click handler */}
@@ -903,8 +910,8 @@ function App() {
903
910
  ]
904
911
  }
905
912
  onRowClick={(row) => {
913
+ // Click en tabla → hace zoom en mapa a esa entidad
906
914
  if (nivel === 'entidad') {
907
- // Click en tabla de entidades → zoom a esa entidad y muestra municipios
908
915
  setSelectedEnt(row.cvegeo);
909
916
  setNivel('municipio');
910
917
  }
@@ -934,12 +941,13 @@ function App() {
934
941
  }
935
942
  ```
936
943
 
937
- **Flujo de interacción:**
938
- 1. **Vista inicial**: Muestra tabla con entidades (`prueba_entidad.csv`)
939
- 2. **Click en fila de tabla**: Cambia a vista de municipios de esa entidad
940
- 3. **Mapa hace zoom**: Automáticamente hacia la entidad seleccionada
941
- 4. **Tabla cambia**: Muestra datos municipales (`cdmx_prueba.csv`)
942
- 5. **Botón "Regresar"**: Vuelve a la vista de entidades
944
+ **Flujo de interacción bidireccional:**
945
+ 1. **Vista inicial**: Muestra tabla con entidades (`prueba_entidad.csv`) y mapa de México
946
+ 2. **Click en MAPA**: Hace zoom a la entidad y cambia tabla a municipios
947
+ 3. **Click en TABLA**: Hace zoom en el mapa y cambia tabla a municipios
948
+ 4. **Mapa hace zoom**: Automáticamente hacia la entidad seleccionada
949
+ 5. **Tabla cambia**: Muestra datos municipales (`cdmx_prueba.csv`)
950
+ 6. **Botón "Regresar"**: Vuelve a la vista de entidades
943
951
 
944
952
  ### Formato de Números
945
953
 
@@ -1036,6 +1044,7 @@ Puedes sobrescribir los estilos usando la clase `className`:
1036
1044
  | `joinCsvKeyMunicipios` | `string` | `"cvegeo"` | Campo del CSV municipal para hacer el join (por defecto usa cvegeo de 5 dígitos) |
1037
1045
  | `fieldMunicipios` | `string` | `field` | Campo del CSV municipal con los valores a visualizar (por defecto usa el mismo `field` de entidades) |
1038
1046
  | `modeMunicipios` | `"boolean" \| "jenks"` | `mode` | Modo de estilo para municipios (permite usar diferente clasificación que entidades) |
1047
+ | `onFeatureClick` | `(featureId: string, properties: any) => void` | `undefined` | Callback que se ejecuta al hacer click en una feature del mapa. Recibe el ID de la feature y sus propiedades. Solo funciona cuando hay 2 o más entidades en `fitToIds` |
1039
1048
 
1040
1049
  ## Modos de Estilo
1041
1050
 
@@ -26,6 +26,7 @@ export interface MapaPMTilesProps {
26
26
  joinCsvKeyMunicipios?: string;
27
27
  fieldMunicipios?: string;
28
28
  modeMunicipios?: 'boolean' | 'jenks';
29
+ onFeatureClick?: (featureId: string, properties: any) => void;
29
30
  }
30
31
  export declare const MapaPMTiles: React.FC<MapaPMTilesProps>;
31
32
  //# sourceMappingURL=MapaPMTiles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MapaPMTiles.d.ts","sourceRoot":"","sources":["../../src/components/MapaPMTiles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAM3D,OAAO,mBAAmB,CAAC;AAE3B,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,IAAI,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;CACtC;AAmDD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqqBlD,CAAC"}
1
+ {"version":3,"file":"MapaPMTiles.d.ts","sourceRoot":"","sources":["../../src/components/MapaPMTiles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAM3D,OAAO,mBAAmB,CAAC;AAE3B,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,IAAI,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAErC,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,IAAI,CAAC;CAC/D;AAmDD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA2qBlD,CAAC"}