@json_1013/core-geografico-isa-mapa 0.1.0-poc

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.
Files changed (121) hide show
  1. package/README.md +90 -0
  2. package/dist-lib/estilos.css +3 -0
  3. package/dist-lib/index.js +7722 -0
  4. package/dist-lib/index.js.map +1 -0
  5. package/dist-lib/standalone.js +16810 -0
  6. package/dist-lib/standalone.js.map +1 -0
  7. package/dist-lib/tipos/features/maps/components/ArbolCapas.d.ts +20 -0
  8. package/dist-lib/tipos/features/maps/components/BarraHerramientas.d.ts +17 -0
  9. package/dist-lib/tipos/features/maps/components/BotonTridimensional.d.ts +10 -0
  10. package/dist-lib/tipos/features/maps/components/ComboBuscable.d.ts +23 -0
  11. package/dist-lib/tipos/features/maps/components/ControlesEscritorio.d.ts +80 -0
  12. package/dist-lib/tipos/features/maps/components/ControlesResponsive.d.ts +37 -0
  13. package/dist-lib/tipos/features/maps/components/LecturaCoordenadas.d.ts +9 -0
  14. package/dist-lib/tipos/features/maps/components/LeyendaCapa.d.ts +5 -0
  15. package/dist-lib/tipos/features/maps/components/ListaMapasBase.d.ts +11 -0
  16. package/dist-lib/tipos/features/maps/components/ListadoOpciones.d.ts +25 -0
  17. package/dist-lib/tipos/features/maps/components/MapaView.d.ts +19 -0
  18. package/dist-lib/tipos/features/maps/components/MenuOpcionesServicio.d.ts +13 -0
  19. package/dist-lib/tipos/features/maps/components/MiniaturaBasemap.d.ts +9 -0
  20. package/dist-lib/tipos/features/maps/components/ModalAlerta.d.ts +22 -0
  21. package/dist-lib/tipos/features/maps/components/ModalConsulta.d.ts +34 -0
  22. package/dist-lib/tipos/features/maps/components/ModalCoordenadas.d.ts +10 -0
  23. package/dist-lib/tipos/features/maps/components/ModalMedicion.d.ts +25 -0
  24. package/dist-lib/tipos/features/maps/components/ModalProyeccion.d.ts +16 -0
  25. package/dist-lib/tipos/features/maps/components/PanelCapas.d.ts +18 -0
  26. package/dist-lib/tipos/features/maps/components/PanelInferior.d.ts +12 -0
  27. package/dist-lib/tipos/features/maps/components/PanelMetadata.d.ts +10 -0
  28. package/dist-lib/tipos/features/maps/components/SelectorBasemap.d.ts +17 -0
  29. package/dist-lib/tipos/features/maps/components/SelectorDesplegable.d.ts +33 -0
  30. package/dist-lib/tipos/features/maps/components/TablaResultadosConsulta.d.ts +29 -0
  31. package/dist-lib/tipos/features/maps/components/Tooltip.d.ts +32 -0
  32. package/dist-lib/tipos/features/maps/components/VisorMapa.d.ts +18 -0
  33. package/dist-lib/tipos/features/maps/components/VisorMapaSkeleton.d.ts +4 -0
  34. package/dist-lib/tipos/features/maps/components/iconos.d.ts +51 -0
  35. package/dist-lib/tipos/features/maps/context/alertas.context.d.ts +32 -0
  36. package/dist-lib/tipos/features/maps/context/configuracion.context.d.ts +6 -0
  37. package/dist-lib/tipos/features/maps/hooks/useCoordenadasPuntero.d.ts +11 -0
  38. package/dist-lib/tipos/features/maps/hooks/useCoordenadasSeleccion.d.ts +4 -0
  39. package/dist-lib/tipos/features/maps/hooks/useElevarSuperficies.d.ts +10 -0
  40. package/dist-lib/tipos/features/maps/hooks/useEstadosCapas.d.ts +16 -0
  41. package/dist-lib/tipos/features/maps/hooks/useGestorCapas.d.ts +16 -0
  42. package/dist-lib/tipos/features/maps/hooks/useHerramientaActiva.d.ts +14 -0
  43. package/dist-lib/tipos/features/maps/hooks/useListbox.d.ts +53 -0
  44. package/dist-lib/tipos/features/maps/hooks/useMarcadorPunto.d.ts +15 -0
  45. package/dist-lib/tipos/features/maps/hooks/useModalArrastrable.d.ts +33 -0
  46. package/dist-lib/tipos/features/maps/hooks/useModoResponsive.d.ts +14 -0
  47. package/dist-lib/tipos/features/maps/hooks/usePanelesInferiores.d.ts +10 -0
  48. package/dist-lib/tipos/features/maps/hooks/useRenovacionToken.d.ts +3 -0
  49. package/dist-lib/tipos/features/maps/hooks/useResaltadoConsulta.d.ts +19 -0
  50. package/dist-lib/tipos/features/maps/hooks/useResultadosConsulta.d.ts +31 -0
  51. package/dist-lib/tipos/features/maps/hooks/useVistaArcgis.d.ts +17 -0
  52. package/dist-lib/tipos/features/maps/providers/ProveedorAlertas.d.ts +3 -0
  53. package/dist-lib/tipos/features/maps/providers/ProveedorConfiguracion.d.ts +14 -0
  54. package/dist-lib/tipos/features/maps/services/configuracion-aplicacion.d.ts +10 -0
  55. package/dist-lib/tipos/features/maps/services/entorno.d.ts +8 -0
  56. package/dist-lib/tipos/features/maps/services/formato-coordenadas.d.ts +4 -0
  57. package/dist-lib/tipos/features/maps/services/layers/arcgis.factory.d.ts +8 -0
  58. package/dist-lib/tipos/features/maps/services/layers/consulta-arcgis.d.ts +20 -0
  59. package/dist-lib/tipos/features/maps/services/layers/consulta-capa-activa.d.ts +56 -0
  60. package/dist-lib/tipos/features/maps/services/layers/consulta-wfs.d.ts +20 -0
  61. package/dist-lib/tipos/features/maps/services/layers/consulta.constantes.d.ts +5 -0
  62. package/dist-lib/tipos/features/maps/services/layers/descarga-capa.d.ts +46 -0
  63. package/dist-lib/tipos/features/maps/services/layers/error-servicio.d.ts +2 -0
  64. package/dist-lib/tipos/features/maps/services/layers/geoserver.d.ts +5 -0
  65. package/dist-lib/tipos/features/maps/services/layers/gestor-capas.d.ts +62 -0
  66. package/dist-lib/tipos/features/maps/services/layers/identity-manager.d.ts +5 -0
  67. package/dist-lib/tipos/features/maps/services/layers/leyenda.d.ts +25 -0
  68. package/dist-lib/tipos/features/maps/services/layers/simbolos-consulta.d.ts +19 -0
  69. package/dist-lib/tipos/features/maps/services/layers/types.d.ts +19 -0
  70. package/dist-lib/tipos/features/maps/services/layers/url-sin-query.d.ts +2 -0
  71. package/dist-lib/tipos/features/maps/services/layers/wms.factory.d.ts +4 -0
  72. package/dist-lib/tipos/features/maps/services/layers/xml-utils.d.ts +4 -0
  73. package/dist-lib/tipos/features/maps/services/parametros-generales.d.ts +12 -0
  74. package/dist-lib/tipos/features/maps/services/proveedor-token.d.ts +20 -0
  75. package/dist-lib/tipos/features/maps/services/proyeccion.d.ts +37 -0
  76. package/dist-lib/tipos/features/maps/services/tools/acciones.registry.d.ts +25 -0
  77. package/dist-lib/tipos/features/maps/services/tools/agrupar-herramientas.d.ts +3 -0
  78. package/dist-lib/tipos/features/maps/services/tools/grupos-barra.d.ts +13 -0
  79. package/dist-lib/tipos/features/maps/services/tools/herramientas.registry.d.ts +8 -0
  80. package/dist-lib/tipos/features/maps/services/tools/identify.tool.d.ts +27 -0
  81. package/dist-lib/tipos/features/maps/services/tools/medicion.tool.d.ts +69 -0
  82. package/dist-lib/tipos/features/maps/services/tools/types.d.ts +24 -0
  83. package/dist-lib/tipos/features/maps/styles/alertas.estilos.d.ts +15 -0
  84. package/dist-lib/tipos/features/maps/styles/controles.estilos.d.ts +20 -0
  85. package/dist-lib/tipos/features/maps/styles/modales.estilos.d.ts +11 -0
  86. package/dist-lib/tipos/features/maps/styles/raiz.estilos.d.ts +6 -0
  87. package/dist-lib/tipos/features/maps/types/aplicacion.types.d.ts +7 -0
  88. package/dist-lib/tipos/features/maps/types/capas.types.d.ts +14 -0
  89. package/dist-lib/tipos/features/maps/types/configuracion-aplicacion.types.d.ts +14 -0
  90. package/dist-lib/tipos/features/maps/types/consulta.types.d.ts +57 -0
  91. package/dist-lib/tipos/features/maps/types/galeria.types.d.ts +7 -0
  92. package/dist-lib/tipos/features/maps/types/herramienta.types.d.ts +20 -0
  93. package/dist-lib/tipos/features/maps/types/index.d.ts +11 -0
  94. package/dist-lib/tipos/features/maps/types/leyenda.types.d.ts +10 -0
  95. package/dist-lib/tipos/features/maps/types/mapa.types.d.ts +33 -0
  96. package/dist-lib/tipos/features/maps/types/parametros-generales.types.d.ts +51 -0
  97. package/dist-lib/tipos/features/maps/types/responsive.types.d.ts +6 -0
  98. package/dist-lib/tipos/features/maps/types/servicio.types.d.ts +63 -0
  99. package/dist-lib/tipos/features/maps/utils/basemap-imagenes.d.ts +2 -0
  100. package/dist-lib/tipos/features/maps/utils/capas-activas.d.ts +6 -0
  101. package/dist-lib/tipos/features/maps/utils/filtrar-barra.d.ts +6 -0
  102. package/dist-lib/tipos/features/maps/utils/mapa-helpers.d.ts +5 -0
  103. package/dist-lib/tipos/features/maps/utils/resolver-servicios.d.ts +5 -0
  104. package/dist-lib/tipos/lib/MapaCoreIsa.d.ts +31 -0
  105. package/dist-lib/tipos/lib/index.d.ts +15 -0
  106. package/dist-lib/tipos/lib/standalone.d.ts +20 -0
  107. package/dist-lib/tipos/shared/components/MensajeError.d.ts +8 -0
  108. package/dist-lib/tipos/shared/components/Skeleton.d.ts +4 -0
  109. package/dist-lib/tipos/shared/entorno.d.ts +19 -0
  110. package/dist-lib/tipos/shared/helpers/descargar-archivo.d.ts +2 -0
  111. package/dist-lib/tipos/shared/helpers/formato-duracion.d.ts +2 -0
  112. package/dist-lib/tipos/shared/helpers/http.d.ts +7 -0
  113. package/dist-lib/tipos/shared/hooks/useCerrarAlClicFuera.d.ts +3 -0
  114. package/dist-lib/tipos/shared/hooks/useDesbordado.d.ts +2 -0
  115. package/dist-lib/tipos/shared/hooks/useHojaInferiorArrastrable.d.ts +21 -0
  116. package/dist-lib/tipos/shared/hooks/useObservadorTamano.d.ts +11 -0
  117. package/dist-lib/tipos/shared/hooks/useRecursoAsync.d.ts +12 -0
  118. package/dist-lib/tipos/shared/hooks/useTamanoContenedor.d.ts +2 -0
  119. package/dist-lib/tipos/shared/lib/cn.d.ts +2 -0
  120. package/dist-lib/tipos/shared/types.d.ts +5 -0
  121. package/package.json +89 -0
@@ -0,0 +1,20 @@
1
+ import type { EstadosCapas, GrupoServicios, ItemLeyenda } from "../types";
2
+ /** Props de `ArbolCapas`. */
3
+ interface ArbolCapasProps {
4
+ grupos: readonly GrupoServicios[];
5
+ estados: EstadosCapas;
6
+ escala?: number;
7
+ onCambioServicio: (nombre: string, visible: boolean) => void;
8
+ onCambioOpacidad: (nombre: string, opacidad: number) => void;
9
+ onCambioOpacidadCapa?: (nombre: string, identificador: string, opacidad: number) => void;
10
+ onCambioCapa: (nombre: string, identificador: string, visible: boolean) => void;
11
+ /** Zoom a la extensión de una subcapa, acercando hasta su rango de escala. */
12
+ onZoomCapa?: (nombre: string, identificador: string, minScale?: number, maxScale?: number) => void;
13
+ /** Descarga en GeoJSON la subcapa en la extensión visible (solo dentro de escala). */
14
+ onDescargarCapa?: (nombre: string, identificador: string, etiqueta: string) => Promise<void>;
15
+ /** Leyenda de una subcapa activa; `etiqueta` es el texto de respaldo de cada ítem. */
16
+ onObtenerLeyenda?: (nombre: string, identificador: string, etiqueta: string) => Promise<ItemLeyenda[]>;
17
+ }
18
+ /** Árbol de grupos → servicios (check) → capas (ojitos) y opacidad. */
19
+ export declare function ArbolCapas({ grupos, estados, escala, onCambioServicio, onCambioOpacidad, onCambioOpacidadCapa, onCambioCapa, onZoomCapa, onDescargarCapa, onObtenerLeyenda, }: ArbolCapasProps): import("react").JSX.Element;
20
+ export {};
@@ -0,0 +1,17 @@
1
+ import type { HerramientaMapa } from "../types";
2
+ /** Props de `BarraHerramientas`. */
3
+ interface BarraHerramientasProps {
4
+ herramientas: readonly HerramientaMapa[];
5
+ codigoActivo?: string;
6
+ codigoPadreActivo?: string;
7
+ /** Códigos que deben verse seleccionados aunque no tengan estado activo propio. */
8
+ codigosResaltados?: readonly string[];
9
+ onAlternar: (codigo: string) => void;
10
+ onAlternarSubHerramienta: (subCodigo: string) => void;
11
+ soportada: (codigo: string) => boolean;
12
+ /** Selecciona la agrupación de herramientas a mostrar. Por defecto, `"escritorio"`. */
13
+ variante?: "escritorio" | "responsive";
14
+ }
15
+ /** Barra flotante de herramientas del mapa, con soporte de submenús por grupo. */
16
+ export declare function BarraHerramientas({ herramientas, codigoActivo, codigoPadreActivo, codigosResaltados, onAlternar, onAlternarSubHerramienta, soportada, variante, }: BarraHerramientasProps): import("react").JSX.Element | null;
17
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { HerramientaMapa } from "../types";
2
+ /** Props de `BotonTridimensional`. */
3
+ interface BotonTridimensionalProps {
4
+ herramienta: HerramientaMapa;
5
+ activo: boolean;
6
+ onClick: () => void;
7
+ }
8
+ /** Botón que alterna entre la vista 2D y la vista 3D del mapa. */
9
+ export declare function BotonTridimensional({ herramienta, activo, onClick, }: BotonTridimensionalProps): import("react").JSX.Element;
10
+ export {};
@@ -0,0 +1,23 @@
1
+ import type { OpcionSelector } from "./SelectorDesplegable";
2
+ /** Props de `ComboBuscable`. */
3
+ interface ComboBuscableProps {
4
+ valor: string;
5
+ opciones: readonly OpcionSelector[];
6
+ onCambiar: (valor: string) => void;
7
+ /** Nombre accesible del control (y del listado). */
8
+ etiqueta: string;
9
+ id?: string;
10
+ disabled?: boolean;
11
+ placeholder?: string;
12
+ /** Lista de opciones en vuelo: deshabilita el filtro y muestra un aviso. */
13
+ cargando?: boolean;
14
+ /** Acepta un texto que no calza ninguna opción (la lista puede venir truncada). */
15
+ permitirValorLibre?: boolean;
16
+ className?: string;
17
+ }
18
+ /**
19
+ * Combo buscable: como `SelectorDesplegable`, pero el disparador es un campo que
20
+ * filtra las opciones. Con `permitirValorLibre` acepta textos fuera de la lista.
21
+ */
22
+ export declare function ComboBuscable({ valor, opciones, onCambiar, etiqueta, id, disabled, placeholder, cargando, permitirValorLibre, className, }: ComboBuscableProps): import("react").JSX.Element;
23
+ export {};
@@ -0,0 +1,80 @@
1
+ import type { Ref } from "react";
2
+ import type Graphic from "@arcgis/core/Graphic";
3
+ import type { CoordenadasPuntero } from "../hooks/useCoordenadasPuntero";
4
+ import type { AplicacionInfo, CampoConsulta, CapaConsultable, EstadosCapas, FiltroConsulta, GrupoServicios, HerramientaMapa, ItemGaleriaMapas, ItemLeyenda, ResultadoConsultaCapa, ResultadosConsultaCapas, ValoresDistintosCampo, VistaMapa } from "../types";
5
+ import { type ModalMedicionHandle } from "./ModalMedicion";
6
+ /** Definiciones de medición requeridas por `ModalMedicion`. */
7
+ interface DefinicionesMedicion {
8
+ distancia: HerramientaMapa;
9
+ area: HerramientaMapa;
10
+ }
11
+ /** Props de `ControlesEscritorio`. */
12
+ interface ControlesEscritorioProps {
13
+ vista: VistaMapa;
14
+ /** Factor de escala de las modales de herramienta en pantallas grandes; `1` es el tamaño de diseño. */
15
+ escalaInterfaz: number;
16
+ herramientasBarra: readonly HerramientaMapa[];
17
+ codigoActivo?: string;
18
+ codigoPadreActivo?: string;
19
+ soportada: (codigo: string) => boolean;
20
+ onAlternar: (codigo: string) => void;
21
+ onAlternarSubHerramienta: (subCodigo: string) => void;
22
+ coordenadasPuntero: CoordenadasPuntero | null;
23
+ panelCapasAbierto: boolean;
24
+ onCerrarPanelCapas: () => void;
25
+ gruposResueltos: readonly GrupoServicios[];
26
+ estados: EstadosCapas;
27
+ escala?: number;
28
+ onCambioServicio: (nombre: string, visible: boolean) => void;
29
+ onCambioOpacidad: (nombre: string, opacidad: number) => void;
30
+ onCambioOpacidadCapa: (nombre: string, identificador: string, opacidad: number) => void;
31
+ onCambioCapa: (nombre: string, identificador: string, visible: boolean) => void;
32
+ onZoomCapa: (nombre: string, identificador: string, minScale?: number, maxScale?: number) => void;
33
+ onDescargarCapa: (nombre: string, identificador: string, etiqueta: string) => Promise<void>;
34
+ onObtenerLeyenda: (nombre: string, identificador: string, etiqueta: string) => Promise<ItemLeyenda[]>;
35
+ coordenadasSeleccion: CoordenadasPuntero | null;
36
+ onCerrarCoordenadas: () => void;
37
+ modalProyeccionAbierta: boolean;
38
+ onCerrarProyeccion: () => void;
39
+ modalConsultaAbierta: boolean;
40
+ onCerrarConsulta: () => void;
41
+ capasConsultables: readonly CapaConsultable[];
42
+ onCamposDeCapa: (nombreServicio: string, identificador: string) => Promise<CampoConsulta[]>;
43
+ onValoresDistintos: (nombreServicio: string, identificador: string, campo: string) => Promise<ValoresDistintosCampo>;
44
+ onEjecutarConsulta: (nombreServicio: string, identificador: string, filtro: FiltroConsulta) => Promise<ResultadoConsultaCapa>;
45
+ onResultadoConsulta: (resultado: ResultadoConsultaCapa, capa: CapaConsultable) => void;
46
+ /** Resultados por capa consultada (una pestaña por capa, ej. Línea y Torre). */
47
+ resultadosConsulta: ResultadosConsultaCapas;
48
+ /** Filas marcadas (checkbox) de la tabla de resultados. */
49
+ seleccionadosConsulta: ReadonlySet<Graphic>;
50
+ onAlternarFilaResultado: (grafico: Graphic) => void;
51
+ onAlternarTodosResultado: () => void;
52
+ /** Acerca la vista a una fila ya marcada, sin desmarcarla (lupa por fila). */
53
+ onZoomFilaResultado: (grafico: Graphic) => void;
54
+ /** Cierra una pestaña de resultados sin afectar las demás. */
55
+ onQuitarPestanaResultado: (clave: string) => void;
56
+ /** Cambia cuál pestaña de resultados se ve. */
57
+ onCambiarPestanaResultado: (clave: string) => void;
58
+ modalMedicionAbierta: boolean;
59
+ medicionDefs: DefinicionesMedicion | null;
60
+ tridimensional: boolean;
61
+ onCerrarMedicion: () => void;
62
+ /** Ref imperativa para que la acción "clear" limpie las mediciones de la modal. */
63
+ medicionRef?: Ref<ModalMedicionHandle>;
64
+ herramientaMetadata?: HerramientaMapa;
65
+ panelMetadataAbierto: boolean;
66
+ onAlternarMetadata: () => void;
67
+ onCerrarMetadata: () => void;
68
+ aplicacion: AplicacionInfo;
69
+ herramientaBaseMap?: HerramientaMapa;
70
+ galeria: readonly ItemGaleriaMapas[];
71
+ basemapActual: string;
72
+ onSeleccionarBasemap: (codigo: string) => void;
73
+ panelBaseMapAbierto: boolean;
74
+ onAlternarPanelBaseMap: () => void;
75
+ herramientaTridimensional?: HerramientaMapa;
76
+ onAlternarTridimensional: () => void;
77
+ }
78
+ /** Controles del visor en escritorio: barra inferior derecha, mapa base/metadatos/3D y modales. */
79
+ export declare function ControlesEscritorio({ vista, escalaInterfaz, herramientasBarra, codigoActivo, codigoPadreActivo, soportada, onAlternar, onAlternarSubHerramienta, coordenadasPuntero, panelCapasAbierto, onCerrarPanelCapas, gruposResueltos, estados, escala, onCambioServicio, onCambioOpacidad, onCambioOpacidadCapa, onCambioCapa, onZoomCapa, onDescargarCapa, onObtenerLeyenda, coordenadasSeleccion, onCerrarCoordenadas, modalProyeccionAbierta, onCerrarProyeccion, modalConsultaAbierta, onCerrarConsulta, capasConsultables, onCamposDeCapa, onValoresDistintos, onEjecutarConsulta, onResultadoConsulta, resultadosConsulta, seleccionadosConsulta, onAlternarFilaResultado, onAlternarTodosResultado, onZoomFilaResultado, onQuitarPestanaResultado, onCambiarPestanaResultado, modalMedicionAbierta, medicionDefs, tridimensional, onCerrarMedicion, medicionRef, herramientaMetadata, panelMetadataAbierto, onAlternarMetadata, onCerrarMetadata, aplicacion, herramientaBaseMap, galeria, basemapActual, onSeleccionarBasemap, panelBaseMapAbierto, onAlternarPanelBaseMap, herramientaTridimensional, onAlternarTridimensional, }: ControlesEscritorioProps): import("react").JSX.Element;
80
+ export {};
@@ -0,0 +1,37 @@
1
+ import type { EstadosCapas, GrupoServicios, HerramientaMapa, ItemGaleriaMapas, ItemLeyenda } from "../types";
2
+ /** Props de `ControlesResponsive`. */
3
+ interface ControlesResponsiveProps {
4
+ /** Alto (px) del contenedor del mapa: define los anclajes de la hoja inferior. */
5
+ alturaContenedor: number;
6
+ herramientasBarra: readonly HerramientaMapa[];
7
+ codigoActivo?: string;
8
+ soportada: (codigo: string) => boolean;
9
+ onAlternar: (codigo: string) => void;
10
+ herramientaBaseMap?: HerramientaMapa;
11
+ galeria: readonly ItemGaleriaMapas[];
12
+ basemapActual: string;
13
+ onSeleccionarBasemap: (codigo: string) => void;
14
+ panelBaseMapAbierto: boolean;
15
+ onAlternarPanelBaseMap: () => void;
16
+ panelCapasAbierto: boolean;
17
+ onCerrarPanelCapas: () => void;
18
+ gruposResueltos: readonly GrupoServicios[];
19
+ estados: EstadosCapas;
20
+ escala?: number;
21
+ onCambioServicio: (nombre: string, visible: boolean) => void;
22
+ onCambioOpacidad: (nombre: string, opacidad: number) => void;
23
+ onCambioOpacidadCapa: (nombre: string, identificador: string, opacidad: number) => void;
24
+ onCambioCapa: (nombre: string, identificador: string, visible: boolean) => void;
25
+ onZoomCapa: (nombre: string, identificador: string, minScale?: number, maxScale?: number) => void;
26
+ onDescargarCapa: (nombre: string, identificador: string, etiqueta: string) => Promise<void>;
27
+ onObtenerLeyenda: (nombre: string, identificador: string, etiqueta: string) => Promise<ItemLeyenda[]>;
28
+ herramientaTridimensional?: HerramientaMapa;
29
+ tridimensional: boolean;
30
+ onAlternarTridimensional: () => void;
31
+ }
32
+ /**
33
+ * Controles del visor en responsive, agrupados abajo al centro. "Mapa base" y
34
+ * "Capas" comparten una hoja inferior (ver `usePanelesInferiores`).
35
+ */
36
+ export declare function ControlesResponsive({ alturaContenedor, herramientasBarra, codigoActivo, soportada, onAlternar, herramientaBaseMap, galeria, basemapActual, onSeleccionarBasemap, panelBaseMapAbierto, onAlternarPanelBaseMap, panelCapasAbierto, onCerrarPanelCapas, gruposResueltos, estados, escala, onCambioServicio, onCambioOpacidad, onCambioOpacidadCapa, onCambioCapa, onZoomCapa, onDescargarCapa, onObtenerLeyenda, herramientaTridimensional, tridimensional, onAlternarTridimensional, }: ControlesResponsiveProps): import("react").JSX.Element;
37
+ export {};
@@ -0,0 +1,9 @@
1
+ import type { CoordenadasPuntero } from "../hooks/useCoordenadasPuntero";
2
+ /** Props de `LecturaCoordenadas`. */
3
+ interface LecturaCoordenadasProps {
4
+ coordenadas: CoordenadasPuntero | null;
5
+ className?: string;
6
+ }
7
+ /** Muestra las coordenadas bajo el puntero en grados/minutos/segundos. */
8
+ export declare function LecturaCoordenadas({ coordenadas, className, }: LecturaCoordenadasProps): import("react").JSX.Element;
9
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { ItemLeyenda } from "../types";
2
+ /** Leyenda de una capa: un ítem va inline; varios, en lista colapsable. Nada mientras carga. */
3
+ export declare function LeyendaCapa({ cargar }: {
4
+ cargar: () => Promise<ItemLeyenda[]>;
5
+ }): import("react").JSX.Element | null;
@@ -0,0 +1,11 @@
1
+ import type { ItemGaleriaMapas } from "../types";
2
+ /** Props de `ListaMapasBase`. */
3
+ interface ListaMapasBaseProps {
4
+ items: readonly ItemGaleriaMapas[];
5
+ valorActual: string;
6
+ onSeleccionar: (codigo: string) => void;
7
+ className?: string;
8
+ }
9
+ /** Lista de mapas base con miniatura, para el desplegable de escritorio y la hoja responsive. */
10
+ export declare function ListaMapasBase({ items, valorActual, onSeleccionar, className, }: ListaMapasBaseProps): import("react").JSX.Element;
11
+ export {};
@@ -0,0 +1,25 @@
1
+ import type { CajaPanel } from "../hooks/useListbox";
2
+ import type { OpcionSelector } from "./SelectorDesplegable";
3
+ /** Props de `ListadoOpciones`: el panel en portal que comparten los selectores. */
4
+ interface ListadoOpcionesProps {
5
+ idListado: string;
6
+ /** Nombre accesible del listado. */
7
+ etiqueta: string;
8
+ caja: CajaPanel | null;
9
+ panelRef: React.RefObject<HTMLUListElement | null>;
10
+ /** Opciones a pintar (ya filtradas, si el selector filtra). */
11
+ opciones: readonly OpcionSelector[];
12
+ /** Valor elegido, para marcarlo con `aria-selected`. */
13
+ valor: string;
14
+ indiceActivo: number;
15
+ onElegir: (opcion: OpcionSelector) => void;
16
+ onMarcarActiva: (indice: number) => void;
17
+ /** Aviso (cargando o "sin coincidencias") que reemplaza a las opciones. */
18
+ aviso?: string;
19
+ }
20
+ /**
21
+ * Listado `role="listbox"` en un portal con posición fija. Es la parte visual que
22
+ * comparten `SelectorDesplegable` y `ComboBuscable`.
23
+ */
24
+ export declare function ListadoOpciones({ idListado, etiqueta, caja, panelRef, opciones, valor, indiceActivo, onElegir, onMarcarActiva, aviso, }: ListadoOpcionesProps): import("react").ReactPortal | null;
25
+ export {};
@@ -0,0 +1,19 @@
1
+ import type { AplicacionInfo, CodigoHerramienta, DefinicionMapa, GrupoServicios, ItemGaleriaMapas, ServicioGis, VistaMapa } from "../types";
2
+ /** Props de `MapaView`. */
3
+ interface MapaViewProps {
4
+ definicion: DefinicionMapa;
5
+ /** Datos de la aplicación (`configuracion.aplicacion`) para el panel de metadatos. */
6
+ aplicacion: AplicacionInfo;
7
+ galeria: readonly ItemGaleriaMapas[];
8
+ servicios: readonly ServicioGis[];
9
+ /** Servicios agrupados tal como los publica el backend (para el panel de capas). */
10
+ grupos: readonly GrupoServicios[];
11
+ /** Herramientas a ocultar. Ocultar una medición oculta también `"measurement-tools"`. */
12
+ herramientasDeshabilitadas?: readonly CodigoHerramienta[];
13
+ /** Se llama con la vista de ArcGIS cada vez que queda lista (también al alternar 2D/3D). */
14
+ onListo?: (vista: VistaMapa) => void;
15
+ className?: string;
16
+ }
17
+ /** Visor principal del mapa: monta la vista de ArcGIS y sus controles. */
18
+ export declare function MapaView({ definicion, aplicacion, galeria, servicios, grupos, herramientasDeshabilitadas, onListo, className, }: MapaViewProps): import("react").JSX.Element;
19
+ export {};
@@ -0,0 +1,13 @@
1
+ /** Props de `MenuOpcionesServicio`. */
2
+ interface MenuOpcionesServicioProps {
3
+ /** Nombre del servicio; se usa en las etiquetas accesibles. */
4
+ nombre: string;
5
+ /** Metadato del servicio; se traduce a texto plano en "Fuente de información". */
6
+ metadatos: Record<string, unknown>;
7
+ }
8
+ /**
9
+ * Botón de opciones de un servicio: despliega un menú flotante con sus acciones.
10
+ * Se cierra al elegir, con `Escape` o al clic fuera.
11
+ */
12
+ export declare function MenuOpcionesServicio({ nombre, metadatos, }: MenuOpcionesServicioProps): import("react").JSX.Element;
13
+ export {};
@@ -0,0 +1,9 @@
1
+ /** Props de `MiniaturaBasemap`. */
2
+ interface MiniaturaBasemapProps {
3
+ codigo: string;
4
+ seleccionado: boolean;
5
+ className: string;
6
+ }
7
+ /** Miniatura de un mapa base; si no hay imagen para el código, un degradado. */
8
+ export declare function MiniaturaBasemap({ codigo, seleccionado, className, }: MiniaturaBasemapProps): import("react").JSX.Element;
9
+ export {};
@@ -0,0 +1,22 @@
1
+ import type { ReactNode } from "react";
2
+ /** Props de `ModalAlerta`. */
3
+ interface ModalAlertaProps {
4
+ /** Título breve de la cabecera. */
5
+ titulo: string;
6
+ /** Cuerpo del aviso (acepta ReactNode para resaltar parte del texto). */
7
+ mensaje: ReactNode;
8
+ /** Texto del botón principal. Por defecto "Entendido", o "Sí" en modo confirmación. */
9
+ textoBoton?: string;
10
+ /** Solo en modo confirmación: texto del botón secundario. Por defecto "No". */
11
+ textoCancelar?: string;
12
+ /** Con manejador, el aviso es de confirmación (dos botones); sin él, informativo. */
13
+ alConfirmar?: () => void;
14
+ /** Se invoca al cerrar/declinar (botón secundario, aspa, Escape o clic en el fondo). */
15
+ alCerrar: () => void;
16
+ }
17
+ /**
18
+ * Aviso centrado en portal, informativo ("Entendido") o de confirmación ("No"/"Sí").
19
+ * Cerrar por cualquier vía cuenta como "No".
20
+ */
21
+ export declare function ModalAlerta({ titulo, mensaje, textoBoton, textoCancelar, alConfirmar, alCerrar, }: ModalAlertaProps): import("react").ReactPortal;
22
+ export {};
@@ -0,0 +1,34 @@
1
+ import type Graphic from "@arcgis/core/Graphic";
2
+ import type { CampoConsulta, CapaConsultable, FiltroConsulta, ResultadoConsultaCapa, ResultadosConsultaCapas, ValoresDistintosCampo } from "../types";
3
+ /** Props de `ModalConsulta`. */
4
+ interface ModalConsultaProps {
5
+ /** Factor de escala de esta modal en pantallas grandes; `1` es el tamaño de diseño. */
6
+ escalaInterfaz: number;
7
+ /** Capas activas (visibles) sobre las que se puede consultar. */
8
+ capasConsultables: readonly CapaConsultable[];
9
+ onCamposDeCapa: (nombreServicio: string, identificador: string) => Promise<CampoConsulta[]>;
10
+ onValoresDistintos: (nombreServicio: string, identificador: string, campo: string) => Promise<ValoresDistintosCampo>;
11
+ onEjecutarConsulta: (nombreServicio: string, identificador: string, filtro: FiltroConsulta) => Promise<ResultadoConsultaCapa>;
12
+ /** Cierra la modal (no limpia los resultados ya mostrados). */
13
+ onCerrar: () => void;
14
+ /** Se llama cuando una consulta termina con éxito. */
15
+ onResultado: (resultado: ResultadoConsultaCapa, capa: CapaConsultable) => void;
16
+ /** Resultados por capa consultada (una pestaña por capa, ej. Línea y Torre a la vez). */
17
+ resultadosConsulta: ResultadosConsultaCapas;
18
+ /** Filas marcadas (checkbox) de la tabla de resultados. */
19
+ seleccionadosResultado: ReadonlySet<Graphic>;
20
+ onAlternarFilaResultado: (grafico: Graphic) => void;
21
+ onAlternarTodosResultado: () => void;
22
+ /** Acerca la vista a una fila ya marcada, sin desmarcarla (lupa por fila). */
23
+ onZoomFilaResultado: (grafico: Graphic) => void;
24
+ /** Cierra una pestaña de resultados sin afectar las demás. */
25
+ onQuitarPestanaResultado: (clave: string) => void;
26
+ /** Cambia cuál pestaña de resultados se ve. */
27
+ onCambiarPestanaResultado: (clave: string) => void;
28
+ }
29
+ /**
30
+ * Modal arrastrable de "Consultar": arma un filtro por atributos sobre una capa
31
+ * activa y emite `onResultado`; no dibuja resultados.
32
+ */
33
+ export declare function ModalConsulta({ escalaInterfaz, capasConsultables, onCamposDeCapa, onValoresDistintos, onEjecutarConsulta, onCerrar, onResultado, resultadosConsulta, seleccionadosResultado, onAlternarFilaResultado, onAlternarTodosResultado, onZoomFilaResultado, onQuitarPestanaResultado, onCambiarPestanaResultado, }: ModalConsultaProps): import("react").JSX.Element;
34
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { CoordenadasPuntero } from "../hooks/useCoordenadasPuntero";
2
+ /** Props de `ModalCoordenadas`. */
3
+ interface ModalCoordenadasProps {
4
+ coordenadas: CoordenadasPuntero;
5
+ onCerrar: () => void;
6
+ className?: string;
7
+ }
8
+ /** Panel flotante con las coordenadas WGS84 del punto marcado; al cerrarlo desactiva la herramienta. */
9
+ export declare function ModalCoordenadas({ coordenadas, onCerrar, className, }: ModalCoordenadasProps): import("react").JSX.Element;
10
+ export {};
@@ -0,0 +1,25 @@
1
+ import type { HerramientaMapa, VistaMapa } from "../types";
2
+ /** Props de `ModalMedicion`. */
3
+ interface ModalMedicionProps {
4
+ /** Vista 2D sobre la que se montan los widgets de medición. */
5
+ vista: VistaMapa;
6
+ /** Definición de la sub-herramienta de distancia (nombre e ícono). */
7
+ distancia: HerramientaMapa;
8
+ /** Definición de la sub-herramienta de área (nombre e ícono). */
9
+ area: HerramientaMapa;
10
+ /** Cierra la modal (único modo de cierre). */
11
+ onCerrar: () => void;
12
+ /** Factor de escala de esta modal en pantallas grandes; `1` es el tamaño de diseño. */
13
+ escalaInterfaz: number;
14
+ }
15
+ /** Métodos que `MapaView` invoca sobre la modal desde fuera (acción "clear"). */
16
+ export interface ModalMedicionHandle {
17
+ /** Deselecciona la sub-herramienta activa y destruye ambos widgets. */
18
+ limpiar: () => void;
19
+ }
20
+ /**
21
+ * Modal arrastrable de medición, sin sub-herramienta activa al abrir. Unidad y
22
+ * resultado se alimentan del `viewModel` de ArcGIS. Solo se cierra con la «X».
23
+ */
24
+ export declare const ModalMedicion: import("react").ForwardRefExoticComponent<ModalMedicionProps & import("react").RefAttributes<ModalMedicionHandle>>;
25
+ export {};
@@ -0,0 +1,16 @@
1
+ import type { VistaMapa } from "../types";
2
+ /** Props de `ModalProyeccion`. */
3
+ interface ModalProyeccionProps {
4
+ /** Vista sobre la que se marca el punto de coordenadas escrito. */
5
+ vista: VistaMapa;
6
+ /** Cierra la modal (y con ella desactiva la herramienta). */
7
+ onCerrar: () => void;
8
+ /** Factor de escala de esta modal en pantallas grandes; `1` es el tamaño de diseño. */
9
+ escalaInterfaz: number;
10
+ }
11
+ /**
12
+ * Modal arrastrable para convertir coordenadas entre sistemas de referencia en
13
+ * el cliente (`projectOperator`). Solo se cierra con la «X».
14
+ */
15
+ export declare function ModalProyeccion({ vista, onCerrar, escalaInterfaz }: ModalProyeccionProps): import("react").JSX.Element;
16
+ export {};
@@ -0,0 +1,18 @@
1
+ import type { EstadosCapas, GrupoServicios, ItemLeyenda } from "../types";
2
+ /** Props de `PanelCapas`. */
3
+ interface PanelCapasProps {
4
+ grupos: readonly GrupoServicios[];
5
+ estados: EstadosCapas;
6
+ escala?: number;
7
+ onCambioServicio: (nombre: string, visible: boolean) => void;
8
+ onCambioOpacidad: (nombre: string, opacidad: number) => void;
9
+ onCambioOpacidadCapa?: (nombre: string, identificador: string, opacidad: number) => void;
10
+ onCambioCapa: (nombre: string, identificador: string, visible: boolean) => void;
11
+ onZoomCapa?: (nombre: string, identificador: string, minScale?: number, maxScale?: number) => void;
12
+ onDescargarCapa?: (nombre: string, identificador: string, etiqueta: string) => Promise<void>;
13
+ onObtenerLeyenda?: (nombre: string, identificador: string, etiqueta: string) => Promise<ItemLeyenda[]>;
14
+ onCerrar: () => void;
15
+ }
16
+ /** Panel de capas de escritorio (cabecera + `ArbolCapas`); solo se cierra con la «X». */
17
+ export declare function PanelCapas({ onCerrar, ...propsArbol }: PanelCapasProps): import("react").JSX.Element;
18
+ export {};
@@ -0,0 +1,12 @@
1
+ import type { ReactNode } from "react";
2
+ /** Props de `PanelInferior`. */
3
+ interface PanelInferiorProps {
4
+ titulo: string;
5
+ onCerrar: () => void;
6
+ /** Alto (px) del contenedor del mapa: define los puntos de anclaje de la hoja. */
7
+ alturaContenedor: number;
8
+ children: ReactNode;
9
+ }
10
+ /** Hoja inferior responsive con tres alturas; se arrastra desde el asa y se cierra con la «X». */
11
+ export declare function PanelInferior({ titulo, onCerrar, alturaContenedor, children, }: PanelInferiorProps): import("react").JSX.Element;
12
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { AplicacionInfo } from "../types";
2
+ /** Props de `PanelMetadata`. */
3
+ interface PanelMetadataProps {
4
+ /** Información de la aplicación tal como llega en `configuracion.aplicacion`. */
5
+ aplicacion: AplicacionInfo;
6
+ onCerrar: () => void;
7
+ }
8
+ /** Panel con los pares de `aplicacion.metadatos` del contrato (herramienta `metadata`). */
9
+ export declare function PanelMetadata({ aplicacion, onCerrar }: PanelMetadataProps): import("react").JSX.Element;
10
+ export {};
@@ -0,0 +1,17 @@
1
+ import type { ItemGaleriaMapas } from "../types";
2
+ /** Props de `SelectorBasemap`. */
3
+ interface SelectorBasemapProps {
4
+ items: readonly ItemGaleriaMapas[];
5
+ valor: string;
6
+ onSeleccionar: (codigo: string) => void;
7
+ /** Nombre de la herramienta: nombre accesible del botón y título del tooltip. */
8
+ titulo: string;
9
+ /** Descripción de la herramienta para el tooltip. */
10
+ descripcion?: string;
11
+ /** Controla el desplegable desde el padre; si se omite, maneja su propio estado. */
12
+ abierto?: boolean;
13
+ onToggle?: () => void;
14
+ }
15
+ /** Selector del mapa base a partir de la galería del contrato. */
16
+ export declare function SelectorBasemap({ items, valor, onSeleccionar, titulo, descripcion, abierto: abiertoControlado, onToggle, }: SelectorBasemapProps): import("react").JSX.Element | null;
17
+ export {};
@@ -0,0 +1,33 @@
1
+ /** Una opción del selector. */
2
+ export interface OpcionSelector {
3
+ /** Valor que se entrega en `onCambiar` (siempre string). */
4
+ readonly valor: string;
5
+ /** Texto visible de la opción. */
6
+ readonly etiqueta: string;
7
+ }
8
+ /** Props de `SelectorDesplegable`. */
9
+ interface SelectorDesplegableProps {
10
+ /** Valor seleccionado (string; convierte números en el llamador). */
11
+ valor: string;
12
+ opciones: readonly OpcionSelector[];
13
+ onCambiar: (valor: string) => void;
14
+ /** Nombre accesible del control (y del listado). */
15
+ etiqueta: string;
16
+ /** `id` del disparador, para asociarlo a un `<label htmlFor>`. */
17
+ id?: string;
18
+ disabled?: boolean;
19
+ /** Texto cuando no hay ninguna opción seleccionada. */
20
+ placeholder?: string;
21
+ /** Añade el `placeholder` como opción `""` para volver a "sin elegir". */
22
+ permitirVacio?: boolean;
23
+ /** Clases extra para el botón disparador. */
24
+ className?: string;
25
+ /** No trunca la opción elegida, para que un contenedor sin ancho fijo la muestre completa. */
26
+ sinTruncar?: boolean;
27
+ }
28
+ /**
29
+ * Selector desplegable propio (reemplaza al `<select>` nativo), con listado en
30
+ * portal, teclado y cierre al clic fuera. Comparte mecánica con `ComboBuscable`.
31
+ */
32
+ export declare function SelectorDesplegable({ valor, opciones, onCambiar, etiqueta, id, disabled, placeholder, permitirVacio, className, sinTruncar, }: SelectorDesplegableProps): import("react").JSX.Element;
33
+ export {};
@@ -0,0 +1,29 @@
1
+ import type Graphic from "@arcgis/core/Graphic";
2
+ import type { ReactNode } from "react";
3
+ import type { ResultadoConsultaCapa } from "../types";
4
+ /** Props de `TablaResultadosConsulta`. */
5
+ interface TablaResultadosConsultaProps {
6
+ resultado: ResultadoConsultaCapa;
7
+ /** Título de la capa consultada, para la cabecera. */
8
+ tituloCapa: string;
9
+ /** Filas marcadas (checkbox): se resaltan juntas en el mapa. */
10
+ seleccionados: ReadonlySet<Graphic>;
11
+ /** Marca/desmarca una fila. */
12
+ onAlternarFila: (grafico: Graphic) => void;
13
+ /** Marca todas las filas si no lo están todas, o las desmarca si ya lo están. */
14
+ onAlternarTodos: () => void;
15
+ /** Acerca la vista a una fila ya marcada, sin desmarcarla (lupa por fila; solo aparece en filas marcadas). */
16
+ onZoomFila: (grafico: Graphic) => void;
17
+ /** Vuelve al formulario de la consulta (la modal se queda abierta). */
18
+ onRegresar: () => void;
19
+ /** Cierra la modal por completo. */
20
+ onCerrar: () => void;
21
+ /** Fila de pestañas (una por capa consultada, ver `ModalConsulta`), debajo de la cabecera. */
22
+ pestanas?: ReactNode;
23
+ }
24
+ /**
25
+ * Resultados de "Consultar" dentro de la misma modal: tabla con columnas por campo,
26
+ * selección por checkbox (resalta en el mapa) y paginación.
27
+ */
28
+ export declare function TablaResultadosConsulta({ resultado, tituloCapa, seleccionados, onAlternarFila, onAlternarTodos, onZoomFila, onRegresar, onCerrar, pestanas, }: TablaResultadosConsultaProps): import("react").JSX.Element;
29
+ export {};
@@ -0,0 +1,32 @@
1
+ import type { ReactElement } from "react";
2
+ /** Lado del disparador donde se despliega el tooltip. */
3
+ type Lado = "arriba" | "abajo";
4
+ /** Alineación horizontal del tooltip respecto al disparador. */
5
+ type Alineacion = "inicio" | "centro" | "fin";
6
+ /** Props de `Tooltip`. */
7
+ interface TooltipProps {
8
+ /** Primera línea, en negrita (normalmente el nombre de la herramienta). */
9
+ titulo: string;
10
+ /** Segunda línea, tenue y opcional (la descripción). */
11
+ descripcion?: string;
12
+ /** Lado donde aparece. Por defecto `"arriba"`. */
13
+ lado?: Lado;
14
+ /** Alineación horizontal. Usa `"fin"`/`"inicio"` cerca de un borde. Por defecto `"centro"`. */
15
+ alineacion?: Alineacion;
16
+ /** Milisegundos de espera antes de mostrarse al pasar el puntero. */
17
+ retardo?: number;
18
+ /** Si es `true` no muestra nada (p. ej. mientras el disparador abre un panel). */
19
+ deshabilitado?: boolean;
20
+ /** Único hijo: el elemento que dispara el tooltip (un botón, un enlace…). */
21
+ children: ReactElement<{
22
+ "aria-describedby"?: string;
23
+ }>;
24
+ /** Clases para el `span` envolvente. */
25
+ className?: string;
26
+ }
27
+ /**
28
+ * Tooltip accesible en `document.body` (no lo recorta ningún `overflow`). Aparece
29
+ * con hover o foco y se oculta al salir o con `Escape`.
30
+ */
31
+ export declare function Tooltip({ titulo, descripcion, lado, alineacion, retardo, deshabilitado, children, className, }: TooltipProps): import("react").JSX.Element;
32
+ export {};
@@ -0,0 +1,18 @@
1
+ import { type CodigoHerramienta, type ModoMapa, type VistaMapa } from "../types";
2
+ /** Props de `VisorMapa`. */
3
+ interface VisorMapaProps {
4
+ /** Definición del backend que se muestra (`mapas[].nombre`). */
5
+ modo: ModoMapa;
6
+ herramientasDeshabilitadas?: readonly CodigoHerramienta[];
7
+ onListo?: (vista: VistaMapa) => void;
8
+ /** Se llama si el visor no puede mostrarse (token, backend o contrato sin mapa). */
9
+ onError?: (error: Error) => void;
10
+ /** Tamaño y posición del visor (también de sus estados de carga y error). */
11
+ className?: string;
12
+ }
13
+ /**
14
+ * Visor completo a partir de `ProveedorConfiguracion`: muestra el esqueleto
15
+ * mientras carga, el error (con reintento) si falla, o el `MapaView` del modo.
16
+ */
17
+ export declare function VisorMapa({ modo, herramientasDeshabilitadas, onListo, onError, className, }: VisorMapaProps): import("react").JSX.Element;
18
+ export {};
@@ -0,0 +1,4 @@
1
+ /** Esqueleto del visor (mapa, barra y botones); paneles y modales tienen el suyo. */
2
+ export declare function VisorMapaSkeleton({ className }: {
3
+ className?: string;
4
+ }): import("react").JSX.Element;