@acvl/mobile-components 0.0.0-stage → 0.0.1
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 +146 -2
- package/assets/fonts/Inter_400Regular.ttf +0 -0
- package/assets/fonts/Inter_500Medium.ttf +0 -0
- package/assets/fonts/Inter_600SemiBold.ttf +0 -0
- package/assets/fonts/Inter_700Bold.ttf +0 -0
- package/assets/fonts/Inter_800ExtraBold.ttf +0 -0
- package/assets/fonts/Inter_900Black.ttf +0 -0
- package/assets/fonts/OFL.txt +93 -0
- package/lib/module/componentes/AccionesDelEncabezado.js +212 -0
- package/lib/module/componentes/AccionesDelEncabezado.js.map +1 -0
- package/lib/module/componentes/BotonDeAvatar.js +55 -0
- package/lib/module/componentes/BotonDeAvatar.js.map +1 -0
- package/lib/module/componentes/BotonGrande.js +105 -0
- package/lib/module/componentes/BotonGrande.js.map +1 -0
- package/lib/module/componentes/CabeceraEmpujada.js +101 -0
- package/lib/module/componentes/CabeceraEmpujada.js.map +1 -0
- package/lib/module/componentes/Chip.js +77 -0
- package/lib/module/componentes/Chip.js.map +1 -0
- package/lib/module/componentes/ContenidoDePantalla.js +56 -0
- package/lib/module/componentes/ContenidoDePantalla.js.map +1 -0
- package/lib/module/componentes/EstadoVacio.js +65 -0
- package/lib/module/componentes/EstadoVacio.js.map +1 -0
- package/lib/module/componentes/Foto.js +106 -0
- package/lib/module/componentes/Foto.js.map +1 -0
- package/lib/module/componentes/IconoDeRenglon.js +44 -0
- package/lib/module/componentes/IconoDeRenglon.js.map +1 -0
- package/lib/module/componentes/Logo.js +44 -0
- package/lib/module/componentes/Logo.js.map +1 -0
- package/lib/module/componentes/Nota.js +51 -0
- package/lib/module/componentes/Nota.js.map +1 -0
- package/lib/module/componentes/OpcionesExcluyentes.js +69 -0
- package/lib/module/componentes/OpcionesExcluyentes.js.map +1 -0
- package/lib/module/componentes/PantallaDeError.js +84 -0
- package/lib/module/componentes/PantallaDeError.js.map +1 -0
- package/lib/module/componentes/Pestanas.js +87 -0
- package/lib/module/componentes/Pestanas.js.map +1 -0
- package/lib/module/componentes/Rotulo.js +28 -0
- package/lib/module/componentes/Rotulo.js.map +1 -0
- package/lib/module/componentes/RotuloDeSeccion.js +87 -0
- package/lib/module/componentes/RotuloDeSeccion.js.map +1 -0
- package/lib/module/componentes/Tarjeta.js +47 -0
- package/lib/module/componentes/Tarjeta.js.map +1 -0
- package/lib/module/componentes/TarjetaDeDatos.js +79 -0
- package/lib/module/componentes/TarjetaDeDatos.js.map +1 -0
- package/lib/module/componentes/TiraDeFotos.js +184 -0
- package/lib/module/componentes/TiraDeFotos.js.map +1 -0
- package/lib/module/componentes/VisorDeFoto.js +171 -0
- package/lib/module/componentes/VisorDeFoto.js.map +1 -0
- package/lib/module/componentes/logos/bola-blanca.png +0 -0
- package/lib/module/componentes/logos/bola.png +0 -0
- package/lib/module/componentes/logos/logo-blanco.png +0 -0
- package/lib/module/componentes/logos/logo.png +0 -0
- package/lib/module/dialogos/HostDeDialogos.js +170 -0
- package/lib/module/dialogos/HostDeDialogos.js.map +1 -0
- package/lib/module/dialogos/dialogos.js +112 -0
- package/lib/module/dialogos/dialogos.js.map +1 -0
- package/lib/module/formularios/CampoDeSeleccion.js +47 -0
- package/lib/module/formularios/CampoDeSeleccion.js.map +1 -0
- package/lib/module/formularios/SelectorDeOpcion.js +406 -0
- package/lib/module/formularios/SelectorDeOpcion.js.map +1 -0
- package/lib/module/formularios/TextoDeAccesoControlado.js +73 -0
- package/lib/module/formularios/TextoDeAccesoControlado.js.map +1 -0
- package/lib/module/formularios/campos.js +493 -0
- package/lib/module/formularios/campos.js.map +1 -0
- package/lib/module/formularios/controlados.js +197 -0
- package/lib/module/formularios/controlados.js.map +1 -0
- package/lib/module/formularios/errores.js +91 -0
- package/lib/module/formularios/errores.js.map +1 -0
- package/lib/module/formularios/guardado.js +78 -0
- package/lib/module/formularios/guardado.js.map +1 -0
- package/lib/module/formularios/useBusqueda.js +22 -0
- package/lib/module/formularios/useBusqueda.js.map +1 -0
- package/lib/module/fotos/elegir.js +178 -0
- package/lib/module/fotos/elegir.js.map +1 -0
- package/lib/module/fotos/index.js +8 -0
- package/lib/module/fotos/index.js.map +1 -0
- package/lib/module/fotos/reducir.js +93 -0
- package/lib/module/fotos/reducir.js.map +1 -0
- package/lib/module/hoja/HojaInferior.js +108 -0
- package/lib/module/hoja/HojaInferior.js.map +1 -0
- package/lib/module/hoja/index.js +7 -0
- package/lib/module/hoja/index.js.map +1 -0
- package/lib/module/hoja/useMasDeLaFicha.js +48 -0
- package/lib/module/hoja/useMasDeLaFicha.js.map +1 -0
- package/lib/module/index.js +66 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/listas/HojaDeFiltros.js +260 -0
- package/lib/module/listas/HojaDeFiltros.js.map +1 -0
- package/lib/module/listas/ListaPaginada.js +103 -0
- package/lib/module/listas/ListaPaginada.js.map +1 -0
- package/lib/module/listas/TarjetaDeslizable.js +118 -0
- package/lib/module/listas/TarjetaDeslizable.js.map +1 -0
- package/lib/module/listas/paginado.js +11 -0
- package/lib/module/listas/paginado.js.map +1 -0
- package/lib/module/listas/piezas.js +603 -0
- package/lib/module/listas/piezas.js.map +1 -0
- package/lib/module/navegacion/BarraDePestanas.js +162 -0
- package/lib/module/navegacion/BarraDePestanas.js.map +1 -0
- package/lib/module/navegacion/BotonDeBarra.js +58 -0
- package/lib/module/navegacion/BotonDeBarra.js.map +1 -0
- package/lib/module/navegacion/encabezado.js +103 -0
- package/lib/module/navegacion/encabezado.js.map +1 -0
- package/lib/module/pantallas/PantallaDeAcceso.js +195 -0
- package/lib/module/pantallas/PantallaDeAcceso.js.map +1 -0
- package/lib/module/pantallas/PantallaDeEdicion.js +121 -0
- package/lib/module/pantallas/PantallaDeEdicion.js.map +1 -0
- package/lib/module/pantallas/PantallaDeFicha.js +94 -0
- package/lib/module/pantallas/PantallaDeFicha.js.map +1 -0
- package/lib/module/pantallas/PantallaDePerfil.js +137 -0
- package/lib/module/pantallas/PantallaDePerfil.js.map +1 -0
- package/lib/module/tema/ProveedorDeTema.js +122 -0
- package/lib/module/tema/ProveedorDeTema.js.map +1 -0
- package/lib/module/tema/estilos.js +54 -0
- package/lib/module/tema/estilos.js.map +1 -0
- package/lib/module/tema/fuentes.js +28 -0
- package/lib/module/tema/fuentes.js.map +1 -0
- package/lib/module/tema/index.js +8 -0
- package/lib/module/tema/index.js.map +1 -0
- package/lib/module/tema/paleta.js +107 -0
- package/lib/module/tema/paleta.js.map +1 -0
- package/lib/module/tema/tipografia.js +32 -0
- package/lib/module/tema/tipografia.js.map +1 -0
- package/lib/module/texto.js +48 -0
- package/lib/module/texto.js.map +1 -0
- package/lib/typescript/src/componentes/AccionesDelEncabezado.d.ts +34 -0
- package/lib/typescript/src/componentes/AccionesDelEncabezado.d.ts.map +1 -0
- package/lib/typescript/src/componentes/BotonDeAvatar.d.ts +17 -0
- package/lib/typescript/src/componentes/BotonDeAvatar.d.ts.map +1 -0
- package/lib/typescript/src/componentes/BotonGrande.d.ts +26 -0
- package/lib/typescript/src/componentes/BotonGrande.d.ts.map +1 -0
- package/lib/typescript/src/componentes/CabeceraEmpujada.d.ts +18 -0
- package/lib/typescript/src/componentes/CabeceraEmpujada.d.ts.map +1 -0
- package/lib/typescript/src/componentes/Chip.d.ts +14 -0
- package/lib/typescript/src/componentes/Chip.d.ts.map +1 -0
- package/lib/typescript/src/componentes/ContenidoDePantalla.d.ts +17 -0
- package/lib/typescript/src/componentes/ContenidoDePantalla.d.ts.map +1 -0
- package/lib/typescript/src/componentes/EstadoVacio.d.ts +17 -0
- package/lib/typescript/src/componentes/EstadoVacio.d.ts.map +1 -0
- package/lib/typescript/src/componentes/Foto.d.ts +41 -0
- package/lib/typescript/src/componentes/Foto.d.ts.map +1 -0
- package/lib/typescript/src/componentes/IconoDeRenglon.d.ts +25 -0
- package/lib/typescript/src/componentes/IconoDeRenglon.d.ts.map +1 -0
- package/lib/typescript/src/componentes/Logo.d.ts +13 -0
- package/lib/typescript/src/componentes/Logo.d.ts.map +1 -0
- package/lib/typescript/src/componentes/Nota.d.ts +7 -0
- package/lib/typescript/src/componentes/Nota.d.ts.map +1 -0
- package/lib/typescript/src/componentes/OpcionesExcluyentes.d.ts +14 -0
- package/lib/typescript/src/componentes/OpcionesExcluyentes.d.ts.map +1 -0
- package/lib/typescript/src/componentes/PantallaDeError.d.ts +23 -0
- package/lib/typescript/src/componentes/PantallaDeError.d.ts.map +1 -0
- package/lib/typescript/src/componentes/Pestanas.d.ts +28 -0
- package/lib/typescript/src/componentes/Pestanas.d.ts.map +1 -0
- package/lib/typescript/src/componentes/Rotulo.d.ts +6 -0
- package/lib/typescript/src/componentes/Rotulo.d.ts.map +1 -0
- package/lib/typescript/src/componentes/RotuloDeSeccion.d.ts +20 -0
- package/lib/typescript/src/componentes/RotuloDeSeccion.d.ts.map +1 -0
- package/lib/typescript/src/componentes/Tarjeta.d.ts +15 -0
- package/lib/typescript/src/componentes/Tarjeta.d.ts.map +1 -0
- package/lib/typescript/src/componentes/TarjetaDeDatos.d.ts +13 -0
- package/lib/typescript/src/componentes/TarjetaDeDatos.d.ts.map +1 -0
- package/lib/typescript/src/componentes/TiraDeFotos.d.ts +36 -0
- package/lib/typescript/src/componentes/TiraDeFotos.d.ts.map +1 -0
- package/lib/typescript/src/componentes/VisorDeFoto.d.ts +23 -0
- package/lib/typescript/src/componentes/VisorDeFoto.d.ts.map +1 -0
- package/lib/typescript/src/dialogos/HostDeDialogos.d.ts +14 -0
- package/lib/typescript/src/dialogos/HostDeDialogos.d.ts.map +1 -0
- package/lib/typescript/src/dialogos/dialogos.d.ts +65 -0
- package/lib/typescript/src/dialogos/dialogos.d.ts.map +1 -0
- package/lib/typescript/src/formularios/CampoDeSeleccion.d.ts +22 -0
- package/lib/typescript/src/formularios/CampoDeSeleccion.d.ts.map +1 -0
- package/lib/typescript/src/formularios/SelectorDeOpcion.d.ts +59 -0
- package/lib/typescript/src/formularios/SelectorDeOpcion.d.ts.map +1 -0
- package/lib/typescript/src/formularios/TextoDeAccesoControlado.d.ts +18 -0
- package/lib/typescript/src/formularios/TextoDeAccesoControlado.d.ts.map +1 -0
- package/lib/typescript/src/formularios/campos.d.ts +107 -0
- package/lib/typescript/src/formularios/campos.d.ts.map +1 -0
- package/lib/typescript/src/formularios/controlados.d.ts +29 -0
- package/lib/typescript/src/formularios/controlados.d.ts.map +1 -0
- package/lib/typescript/src/formularios/errores.d.ts +36 -0
- package/lib/typescript/src/formularios/errores.d.ts.map +1 -0
- package/lib/typescript/src/formularios/guardado.d.ts +36 -0
- package/lib/typescript/src/formularios/guardado.d.ts.map +1 -0
- package/lib/typescript/src/formularios/useBusqueda.d.ts +7 -0
- package/lib/typescript/src/formularios/useBusqueda.d.ts.map +1 -0
- package/lib/typescript/src/fotos/elegir.d.ts +58 -0
- package/lib/typescript/src/fotos/elegir.d.ts.map +1 -0
- package/lib/typescript/src/fotos/index.d.ts +3 -0
- package/lib/typescript/src/fotos/index.d.ts.map +1 -0
- package/lib/typescript/src/fotos/reducir.d.ts +32 -0
- package/lib/typescript/src/fotos/reducir.d.ts.map +1 -0
- package/lib/typescript/src/hoja/HojaInferior.d.ts +21 -0
- package/lib/typescript/src/hoja/HojaInferior.d.ts.map +1 -0
- package/lib/typescript/src/hoja/index.d.ts +3 -0
- package/lib/typescript/src/hoja/index.d.ts.map +1 -0
- package/lib/typescript/src/hoja/useMasDeLaFicha.d.ts +27 -0
- package/lib/typescript/src/hoja/useMasDeLaFicha.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +45 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/listas/HojaDeFiltros.d.ts +60 -0
- package/lib/typescript/src/listas/HojaDeFiltros.d.ts.map +1 -0
- package/lib/typescript/src/listas/ListaPaginada.d.ts +39 -0
- package/lib/typescript/src/listas/ListaPaginada.d.ts.map +1 -0
- package/lib/typescript/src/listas/TarjetaDeslizable.d.ts +33 -0
- package/lib/typescript/src/listas/TarjetaDeslizable.d.ts.map +1 -0
- package/lib/typescript/src/listas/paginado.d.ts +16 -0
- package/lib/typescript/src/listas/paginado.d.ts.map +1 -0
- package/lib/typescript/src/listas/piezas.d.ts +135 -0
- package/lib/typescript/src/listas/piezas.d.ts.map +1 -0
- package/lib/typescript/src/navegacion/BarraDePestanas.d.ts +57 -0
- package/lib/typescript/src/navegacion/BarraDePestanas.d.ts.map +1 -0
- package/lib/typescript/src/navegacion/BotonDeBarra.d.ts +15 -0
- package/lib/typescript/src/navegacion/BotonDeBarra.d.ts.map +1 -0
- package/lib/typescript/src/navegacion/encabezado.d.ts +44 -0
- package/lib/typescript/src/navegacion/encabezado.d.ts.map +1 -0
- package/lib/typescript/src/pantallas/PantallaDeAcceso.d.ts +32 -0
- package/lib/typescript/src/pantallas/PantallaDeAcceso.d.ts.map +1 -0
- package/lib/typescript/src/pantallas/PantallaDeEdicion.d.ts +38 -0
- package/lib/typescript/src/pantallas/PantallaDeEdicion.d.ts.map +1 -0
- package/lib/typescript/src/pantallas/PantallaDeFicha.d.ts +35 -0
- package/lib/typescript/src/pantallas/PantallaDeFicha.d.ts.map +1 -0
- package/lib/typescript/src/pantallas/PantallaDePerfil.d.ts +19 -0
- package/lib/typescript/src/pantallas/PantallaDePerfil.d.ts.map +1 -0
- package/lib/typescript/src/tema/ProveedorDeTema.d.ts +32 -0
- package/lib/typescript/src/tema/ProveedorDeTema.d.ts.map +1 -0
- package/lib/typescript/src/tema/estilos.d.ts +31 -0
- package/lib/typescript/src/tema/estilos.d.ts.map +1 -0
- package/lib/typescript/src/tema/fuentes.d.ts +20 -0
- package/lib/typescript/src/tema/fuentes.d.ts.map +1 -0
- package/lib/typescript/src/tema/index.d.ts +6 -0
- package/lib/typescript/src/tema/index.d.ts.map +1 -0
- package/lib/typescript/src/tema/paleta.d.ts +86 -0
- package/lib/typescript/src/tema/paleta.d.ts.map +1 -0
- package/lib/typescript/src/tema/tipografia.d.ts +29 -0
- package/lib/typescript/src/tema/tipografia.d.ts.map +1 -0
- package/lib/typescript/src/texto.d.ts +16 -0
- package/lib/typescript/src/texto.d.ts.map +1 -0
- package/package.json +135 -5
- package/src/componentes/AccionesDelEncabezado.tsx +247 -0
- package/src/componentes/BotonDeAvatar.tsx +59 -0
- package/src/componentes/BotonGrande.tsx +100 -0
- package/src/componentes/CabeceraEmpujada.tsx +69 -0
- package/src/componentes/Chip.tsx +60 -0
- package/src/componentes/ContenidoDePantalla.tsx +53 -0
- package/src/componentes/EstadoVacio.tsx +45 -0
- package/src/componentes/Foto.tsx +92 -0
- package/src/componentes/IconoDeRenglon.tsx +42 -0
- package/src/componentes/Logo.tsx +34 -0
- package/src/componentes/Nota.tsx +37 -0
- package/src/componentes/OpcionesExcluyentes.tsx +62 -0
- package/src/componentes/PantallaDeError.tsx +76 -0
- package/src/componentes/Pestanas.tsx +86 -0
- package/src/componentes/Rotulo.tsx +21 -0
- package/src/componentes/RotuloDeSeccion.tsx +71 -0
- package/src/componentes/Tarjeta.tsx +44 -0
- package/src/componentes/TarjetaDeDatos.tsx +62 -0
- package/src/componentes/TiraDeFotos.tsx +189 -0
- package/src/componentes/VisorDeFoto.tsx +181 -0
- package/src/componentes/logos/bola-blanca.png +0 -0
- package/src/componentes/logos/bola.png +0 -0
- package/src/componentes/logos/logo-blanco.png +0 -0
- package/src/componentes/logos/logo.png +0 -0
- package/src/dialogos/HostDeDialogos.tsx +172 -0
- package/src/dialogos/dialogos.ts +148 -0
- package/src/formularios/CampoDeSeleccion.tsx +46 -0
- package/src/formularios/SelectorDeOpcion.tsx +407 -0
- package/src/formularios/TextoDeAccesoControlado.tsx +72 -0
- package/src/formularios/campos.tsx +483 -0
- package/src/formularios/controlados.tsx +198 -0
- package/src/formularios/errores.ts +105 -0
- package/src/formularios/guardado.ts +76 -0
- package/src/formularios/useBusqueda.ts +19 -0
- package/src/fotos/elegir.ts +194 -0
- package/src/fotos/index.ts +15 -0
- package/src/fotos/reducir.ts +87 -0
- package/src/hoja/HojaInferior.tsx +102 -0
- package/src/hoja/index.ts +4 -0
- package/src/hoja/useMasDeLaFicha.tsx +63 -0
- package/src/index.ts +143 -0
- package/src/listas/HojaDeFiltros.tsx +261 -0
- package/src/listas/ListaPaginada.tsx +117 -0
- package/src/listas/TarjetaDeslizable.tsx +126 -0
- package/src/listas/paginado.ts +15 -0
- package/src/listas/piezas.tsx +594 -0
- package/src/navegacion/BarraDePestanas.tsx +198 -0
- package/src/navegacion/BotonDeBarra.tsx +61 -0
- package/src/navegacion/encabezado.tsx +88 -0
- package/src/pantallas/PantallaDeAcceso.tsx +184 -0
- package/src/pantallas/PantallaDeEdicion.tsx +116 -0
- package/src/pantallas/PantallaDeFicha.tsx +115 -0
- package/src/pantallas/PantallaDePerfil.tsx +126 -0
- package/src/tema/ProveedorDeTema.tsx +150 -0
- package/src/tema/estilos.ts +51 -0
- package/src/tema/fuentes.ts +20 -0
- package/src/tema/index.ts +10 -0
- package/src/tema/paleta.ts +147 -0
- package/src/tema/tipografia.ts +29 -0
- package/src/texto.tsx +44 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export * from "./tema";
|
|
2
|
+
export { Text, TextInput } from "./texto";
|
|
3
|
+
export { default as AccionesDelEncabezado, type AccionDelEncabezado, } from "./componentes/AccionesDelEncabezado";
|
|
4
|
+
export { default as BotonDeAvatar, inicialesDe } from "./componentes/BotonDeAvatar";
|
|
5
|
+
export { default as BotonGrande } from "./componentes/BotonGrande";
|
|
6
|
+
export { default as CabeceraEmpujada } from "./componentes/CabeceraEmpujada";
|
|
7
|
+
export { default as Chip, type TonoDeChip } from "./componentes/Chip";
|
|
8
|
+
export { default as ContenidoDePantalla } from "./componentes/ContenidoDePantalla";
|
|
9
|
+
export { default as EstadoVacio } from "./componentes/EstadoVacio";
|
|
10
|
+
export { default as Foto, ProveedorDeFotos, type BajarFoto, type FotoAVer, } from "./componentes/Foto";
|
|
11
|
+
export { default as IconoDeRenglon } from "./componentes/IconoDeRenglon";
|
|
12
|
+
export { Logo, LogoCompleto } from "./componentes/Logo";
|
|
13
|
+
export { default as Nota } from "./componentes/Nota";
|
|
14
|
+
export { default as OpcionesExcluyentes } from "./componentes/OpcionesExcluyentes";
|
|
15
|
+
export { default as PantallaDeError, type PropsDePantallaDeError, } from "./componentes/PantallaDeError";
|
|
16
|
+
export { default as Pestanas, type Pestana } from "./componentes/Pestanas";
|
|
17
|
+
export { default as Rotulo } from "./componentes/Rotulo";
|
|
18
|
+
export { default as RotuloDeSeccion } from "./componentes/RotuloDeSeccion";
|
|
19
|
+
export { default as Tarjeta } from "./componentes/Tarjeta";
|
|
20
|
+
export { default as TarjetaDeDatos } from "./componentes/TarjetaDeDatos";
|
|
21
|
+
export { default as TiraDeFotos, type FotoDeLaTira } from "./componentes/TiraDeFotos";
|
|
22
|
+
export { default as VisorDeFoto } from "./componentes/VisorDeFoto";
|
|
23
|
+
export { avisar, confirmar, mostrarDialogo, type BotonDeDialogo, type Dialogo, type EstiloDeBoton, } from "./dialogos/dialogos";
|
|
24
|
+
export { default as HostDeDialogos } from "./dialogos/HostDeDialogos";
|
|
25
|
+
export { default as BarraDePestanas, HUECO_DE_LA_BARRA } from "./navegacion/BarraDePestanas";
|
|
26
|
+
export type { IconoDePestana } from "./navegacion/BotonDeBarra";
|
|
27
|
+
export { ALTO_DEL_ENCABEZADO, TituloDelEncabezado, useOpcionesDelEncabezado, } from "./navegacion/encabezado";
|
|
28
|
+
export { CampoDeFecha, CampoDeFechaHora, CampoDeOpciones, CampoDeTelefono, CampoDeTexto, CampoInterruptor, Campo, ErrorDelCampo, } from "./formularios/campos";
|
|
29
|
+
export { default as CampoDeSeleccion, CampoDeVarias } from "./formularios/CampoDeSeleccion";
|
|
30
|
+
export { FechaControlada, FechaHoraControlada, InterruptorControlado, OpcionesControladas, SeleccionControlada, TelefonoControlado, TextoControlado, VariasControladas, type CampoAtado, type SinValor, } from "./formularios/controlados";
|
|
31
|
+
export { mensajeDeError, setErrors } from "./formularios/errores";
|
|
32
|
+
export { fechaONula, isoONulo, mismoInstante, soloLoQueCambio, textoONulo, useGuardado, volcarErrores, } from "./formularios/guardado";
|
|
33
|
+
export { default as SelectorDeOpcion, SelectorDeVarias, type Opcion, type PropsDeSelectorDeOpcion, type PropsDeSelectorDeVarias, } from "./formularios/SelectorDeOpcion";
|
|
34
|
+
export { default as TextoDeAccesoControlado } from "./formularios/TextoDeAccesoControlado";
|
|
35
|
+
export { useBusqueda } from "./formularios/useBusqueda";
|
|
36
|
+
export { default as HojaDeFiltros, InterruptorDeFiltro, OpcionDeFiltro, OpcionesMultiples, OrdenDeLista, SeccionDeFiltros, } from "./listas/HojaDeFiltros";
|
|
37
|
+
export { default as ListaPaginada, type ConsultaPaginada } from "./listas/ListaPaginada";
|
|
38
|
+
export { renglonesDe, type Pagina } from "./listas/paginado";
|
|
39
|
+
export { AvisoDeRecortados, Buscador, CabeceraDeLista, EstadoDeHoja, FilaConContador, RenglonDeContacto, RenglonDeHoja, RenglonDeLiga, SeccionDeFicha, TarjetaDeLista, type FiltrosDeCabecera, } from "./listas/piezas";
|
|
40
|
+
export { default as TarjetaDeslizable, type AccionDeslizable } from "./listas/TarjetaDeslizable";
|
|
41
|
+
export { default as PantallaDeAcceso, type DatosDeAcceso, type ResultadoDeAcceso, } from "./pantallas/PantallaDeAcceso";
|
|
42
|
+
export { EsperaDeEdicion, FormularioDeEdicion } from "./pantallas/PantallaDeEdicion";
|
|
43
|
+
export { default as PantallaDeFicha } from "./pantallas/PantallaDeFicha";
|
|
44
|
+
export { default as PantallaDePerfil } from "./pantallas/PantallaDePerfil";
|
|
45
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* La hoja de filtros y orden de una lista (viajes, recursos), a pantalla completa
|
|
4
|
+
* como la del mapa: con la letra al 180% un menú deja ver dos opciones. Se aplica al tocar, sin
|
|
5
|
+
* «Aplicar»; el botón de abajo dice cuántos renglones quedan. Cada lista pone sus secciones.
|
|
6
|
+
*/
|
|
7
|
+
export default function HojaDeFiltros({ abierta, onCerrar, hayAlgo, onQuitar, visibles, nombres, children, }: {
|
|
8
|
+
abierta: boolean;
|
|
9
|
+
onCerrar: () => void;
|
|
10
|
+
/** Si hay algo puesto (un filtro o un orden distinto): ofrece «Quitar». */
|
|
11
|
+
hayAlgo: boolean;
|
|
12
|
+
onQuitar: () => void;
|
|
13
|
+
/** Cuántos quedan con todo lo puesto; `null` mientras se cuentan. */
|
|
14
|
+
visibles: number | null;
|
|
15
|
+
/** Cómo se dice uno y varios: `["viaje", "viajes"]`. */
|
|
16
|
+
nombres: readonly [string, string];
|
|
17
|
+
children: React.ReactNode;
|
|
18
|
+
}): React.JSX.Element;
|
|
19
|
+
/** El rótulo de una sección de la hoja. */
|
|
20
|
+
export declare function SeccionDeFiltros({ children }: {
|
|
21
|
+
children: string;
|
|
22
|
+
}): React.JSX.Element;
|
|
23
|
+
/** Una opción como renglón: casilla (de varias) o círculo (de una), como la hoja del mapa. */
|
|
24
|
+
export declare function OpcionDeFiltro({ texto, elegida, unica, onPress, }: {
|
|
25
|
+
texto: string;
|
|
26
|
+
elegida: boolean;
|
|
27
|
+
unica?: boolean;
|
|
28
|
+
onPress: () => void;
|
|
29
|
+
}): React.JSX.Element;
|
|
30
|
+
/** Varias opciones de un mismo filtro, cada una se prende y se apaga sola. */
|
|
31
|
+
export declare function OpcionesMultiples<V extends string | number>({ titulo, opciones, elegidas, onCambiar, }: {
|
|
32
|
+
titulo: string;
|
|
33
|
+
opciones: readonly {
|
|
34
|
+
value: V;
|
|
35
|
+
label: string;
|
|
36
|
+
}[];
|
|
37
|
+
elegidas: V[];
|
|
38
|
+
onCambiar: (elegidas: V[]) => void;
|
|
39
|
+
}): React.JSX.Element;
|
|
40
|
+
/** Un filtro de sí o no: el renglón entero lo alterna, no sólo el interruptor. */
|
|
41
|
+
export declare function InterruptorDeFiltro({ texto, prendido, onCambiar, }: {
|
|
42
|
+
texto: string;
|
|
43
|
+
prendido: boolean;
|
|
44
|
+
onCambiar: (prendido: boolean) => void;
|
|
45
|
+
}): React.JSX.Element;
|
|
46
|
+
/**
|
|
47
|
+
* «Ordenar por» y su sentido. `orden` es el `ordering` que se manda (`-codigo`), o `undefined` si
|
|
48
|
+
* se deja el del servidor; con `porOmision`, ese «sin orden» se ofrece como opción.
|
|
49
|
+
*/
|
|
50
|
+
export declare function OrdenDeLista({ campos, orden, onOrdenar, porOmision, }: {
|
|
51
|
+
campos: readonly {
|
|
52
|
+
value: string;
|
|
53
|
+
label: string;
|
|
54
|
+
}[];
|
|
55
|
+
orden: string | undefined;
|
|
56
|
+
/** El nuevo `ordering`, o `null` para el del servidor. */
|
|
57
|
+
onOrdenar: (orden: string | null) => void;
|
|
58
|
+
porOmision?: string;
|
|
59
|
+
}): React.JSX.Element;
|
|
60
|
+
//# sourceMappingURL=HojaDeFiltros.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HojaDeFiltros.d.ts","sourceRoot":"","sources":["../../../../src/listas/HojaDeFiltros.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAClC,OAAO,EACP,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,QAAQ,GACX,EAAE;IACC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,2EAA2E;IAC3E,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,qEAAqE;IACrE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,wDAAwD;IACxD,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,qBA+BA;AAED,2CAA2C;AAC3C,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,qBAGlE;AAED,8FAA8F;AAC9F,wBAAgB,cAAc,CAAC,EAC3B,KAAK,EACL,OAAO,EACP,KAAa,EACb,OAAO,GACV,EAAE;IACC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB,qBA0BA;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EACzD,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,SAAS,GACZ,EAAE;IACC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjD,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACtC,qBAoBA;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,EAChC,KAAK,EACL,QAAQ,EACR,SAAS,GACZ,EAAE;IACC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C,qBAmBA;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EACzB,MAAM,EACN,KAAK,EACL,SAAS,EACT,UAAU,GACb,EAAE;IACC,MAAM,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACpD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,0DAA0D;IAC1D,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,qBA0CA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type MaterialCommunityIcons from "@expo/vector-icons/MaterialCommunityIcons";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { type Pagina } from "./paginado";
|
|
4
|
+
/** Lo que la lista lee de un `use…InfiniteQuery` de RTK Query. */
|
|
5
|
+
export interface ConsultaPaginada<T> {
|
|
6
|
+
data?: {
|
|
7
|
+
pages: Pagina<T>[];
|
|
8
|
+
};
|
|
9
|
+
isLoading: boolean;
|
|
10
|
+
isError: boolean;
|
|
11
|
+
isFetching: boolean;
|
|
12
|
+
isFetchingNextPage: boolean;
|
|
13
|
+
hasNextPage: boolean;
|
|
14
|
+
fetchNextPage: () => unknown;
|
|
15
|
+
refetch: () => unknown;
|
|
16
|
+
}
|
|
17
|
+
interface Props<T> {
|
|
18
|
+
consulta: ConsultaPaginada<T>;
|
|
19
|
+
renderItem: (item: T) => React.ReactElement;
|
|
20
|
+
llave: (item: T) => string | number;
|
|
21
|
+
/** Lo que se dice sin renglones: «Ningún viaje en curso». */
|
|
22
|
+
vacio: {
|
|
23
|
+
icono: React.ComponentProps<typeof MaterialCommunityIcons>["name"];
|
|
24
|
+
titulo: string;
|
|
25
|
+
texto?: string;
|
|
26
|
+
};
|
|
27
|
+
/** Cómo se cuentan: `["viaje", "viajes"]` → «128 viajes». */
|
|
28
|
+
nombres: [string, string];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Una lista **paginada con scroll infinito**: pide la página siguiente al acercarse
|
|
32
|
+
* al final, se refresca jalando hacia abajo y dice cuántos hay en total. Lo que la llena es de
|
|
33
|
+
* quien la usa (`renderItem`); el buscador y las pestañas van arriba, fuera de ella.
|
|
34
|
+
*
|
|
35
|
+
* Deja libre lo que tapa la barra de pestañas, que flota sobre la pantalla.
|
|
36
|
+
*/
|
|
37
|
+
export default function ListaPaginada<T>({ consulta, renderItem, llave, vacio, nombres, }: Props<T>): React.JSX.Element;
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=ListaPaginada.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListaPaginada.d.ts","sourceRoot":"","sources":["../../../../src/listas/ListaPaginada.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,sBAAsB,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAe,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAEtD,kEAAkE;AAClE,MAAM,WAAW,gBAAgB,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;KAAE,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,OAAO,CAAC;IAC7B,OAAO,EAAE,MAAM,OAAO,CAAC;CAC1B;AAED,UAAU,KAAK,CAAC,CAAC;IACb,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC9B,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,YAAY,CAAC;IAC5C,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC;IACpC,6DAA6D;IAC7D,KAAK,EAAE;QACH,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;QACnE,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,6DAA6D;IAC7D,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,EAAE,EACrC,QAAQ,EACR,UAAU,EACV,KAAK,EACL,KAAK,EACL,OAAO,GACV,EAAE,KAAK,CAAC,CAAC,CAAC,qBA2DV"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import MaterialCommunityIcons from "@expo/vector-icons/MaterialCommunityIcons";
|
|
2
|
+
import React from "react";
|
|
3
|
+
/**
|
|
4
|
+
* El color del panel. **Fijos y no de la paleta**: es un relleno con letra blanca, y los tonos del
|
|
5
|
+
* modo oscuro son claros, para leerse como texto; con blanco encima no se leerían.
|
|
6
|
+
*/
|
|
7
|
+
declare const COLORES: {
|
|
8
|
+
readonly exito: "#2e7d32";
|
|
9
|
+
readonly info: "#1565c0";
|
|
10
|
+
readonly peligro: "#c62828";
|
|
11
|
+
};
|
|
12
|
+
export interface AccionDeslizable {
|
|
13
|
+
etiqueta: string;
|
|
14
|
+
icono: React.ComponentProps<typeof MaterialCommunityIcons>["name"];
|
|
15
|
+
color: keyof typeof COLORES;
|
|
16
|
+
/** Lo que hace. Quien la da decide si pregunta antes (las que no se deshacen, sí). */
|
|
17
|
+
onAccion: () => void;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Un renglón de una lista que **hace algo al deslizarlo**: hacia la derecha asoma la acción de la
|
|
21
|
+
* izquierda (`alDeslizarALaDerecha`) y hacia la izquierda la otra. Se suelta pasado el umbral y la
|
|
22
|
+
* acción corre; la tarjeta regresa sola a su lugar. Con una vibración corta, para que se sienta
|
|
23
|
+
* que pasó algo.
|
|
24
|
+
*
|
|
25
|
+
* Sin acciones es la tarjeta de siempre: no hay nada que deslizar.
|
|
26
|
+
*/
|
|
27
|
+
export default function TarjetaDeslizable({ alDeslizarALaDerecha, alDeslizarALaIzquierda, children, }: {
|
|
28
|
+
alDeslizarALaDerecha?: AccionDeslizable | null;
|
|
29
|
+
alDeslizarALaIzquierda?: AccionDeslizable | null;
|
|
30
|
+
children: React.ReactNode;
|
|
31
|
+
}): React.JSX.Element;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=TarjetaDeslizable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TarjetaDeslizable.d.ts","sourceRoot":"","sources":["../../../../src/listas/TarjetaDeslizable.tsx"],"names":[],"mappings":"AAEA,OAAO,sBAAsB,MAAM,2CAA2C,CAAC;AAE/E,OAAO,KAAiB,MAAM,OAAO,CAAC;AAWtC;;;GAGG;AACH,QAAA,MAAM,OAAO;;;;CAIH,CAAC;AAEX,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;IACnE,KAAK,EAAE,MAAM,OAAO,OAAO,CAAC;IAC5B,sFAAsF;IACtF,QAAQ,EAAE,MAAM,IAAI,CAAC;CACxB;AAkBD;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACtC,oBAAoB,EACpB,sBAAsB,EACtB,QAAQ,GACX,EAAE;IACC,oBAAoB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC/C,sBAAsB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,qBAwCA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Una página de una lista del servidor (`CustomPagination` de los backends de ACV): `?page=N` y
|
|
3
|
+
* `?page_size=N`, y la respuesta `{count, next, previous, results}`. Las listas la leen de a poco,
|
|
4
|
+
* con scroll infinito (`ListaPaginada`).
|
|
5
|
+
*/
|
|
6
|
+
export interface Pagina<T> {
|
|
7
|
+
count: number;
|
|
8
|
+
next: string | null;
|
|
9
|
+
previous: string | null;
|
|
10
|
+
results: T[];
|
|
11
|
+
}
|
|
12
|
+
/** Todos los renglones cargados hasta ahora, de todas las páginas. */
|
|
13
|
+
export declare const renglonesDe: <T>(data: {
|
|
14
|
+
pages: Pagina<T>[];
|
|
15
|
+
} | undefined) => T[];
|
|
16
|
+
//# sourceMappingURL=paginado.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paginado.d.ts","sourceRoot":"","sources":["../../../../src/listas/paginado.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,CAAC,EAAE,CAAC;CAChB;AAED,sEAAsE;AACtE,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,MAAM;IAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;CAAE,GAAG,SAAS,KAAG,CAAC,EAC5B,CAAC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { type Pestana } from "../componentes/Pestanas";
|
|
2
|
+
import { type TonoDeChip } from "../componentes/Chip";
|
|
3
|
+
import MaterialCommunityIcons from "@expo/vector-icons/MaterialCommunityIcons";
|
|
4
|
+
import type { Href } from "expo-router";
|
|
5
|
+
import React from "react";
|
|
6
|
+
import { type StyleProp, type ViewStyle } from "react-native";
|
|
7
|
+
/**
|
|
8
|
+
* Las piezas de las listas y las fichas: la cabecera de una lista (buscador y pestañas), la
|
|
9
|
+
* tarjeta de un renglón y, en las fichas, las secciones, las ligas a otra ficha y los contactos.
|
|
10
|
+
* Todo es de lectura.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* El buscador de una lista y del mapa. Lo escrito se le pasa a la consulta con pausa
|
|
14
|
+
* (`useBusqueda`): no una petición por letra.
|
|
15
|
+
*
|
|
16
|
+
* **El texto de sugerencia va en un renglón, con «…» si no cabe.** Es un `Text` encima del campo y
|
|
17
|
+
* no el `placeholder` del `TextInput`: el de Android parte en dos renglones lo que no cabe, y el
|
|
18
|
+
* segundo queda cortado a la mitad.
|
|
19
|
+
*/
|
|
20
|
+
export declare function Buscador({ texto, onCambiar, placeholder, autoFocus, onBlur, style, }: {
|
|
21
|
+
texto: string;
|
|
22
|
+
onCambiar: (texto: string) => void;
|
|
23
|
+
placeholder: string;
|
|
24
|
+
autoFocus?: boolean;
|
|
25
|
+
onBlur?: () => void;
|
|
26
|
+
style?: StyleProp<ViewStyle>;
|
|
27
|
+
}): React.JSX.Element;
|
|
28
|
+
/** Lo que dice el botón de los filtros de una lista y qué abre. */
|
|
29
|
+
export interface FiltrosDeCabecera {
|
|
30
|
+
/** Cuántos filtros hay puestos: el globito. */
|
|
31
|
+
cuenta: number;
|
|
32
|
+
/** Si sólo cambió el orden: un punto. */
|
|
33
|
+
punto: boolean;
|
|
34
|
+
onPress: () => void;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Lo de arriba de una lista: el buscador, con el botón de sus filtros a la derecha si los tiene, y
|
|
38
|
+
* las pestañas que la cortan («En curso», «Por iniciar»). Con una sola pestaña no se pintan.
|
|
39
|
+
*/
|
|
40
|
+
export declare function CabeceraDeLista<K extends string>({ texto, onBuscar, placeholder, pestanas, activa, onPestana, filtros, }: {
|
|
41
|
+
texto: string;
|
|
42
|
+
onBuscar: (texto: string) => void;
|
|
43
|
+
placeholder: string;
|
|
44
|
+
pestanas?: readonly Pestana<K>[];
|
|
45
|
+
activa?: K;
|
|
46
|
+
onPestana?: (key: K) => void;
|
|
47
|
+
filtros?: FiltrosDeCabecera;
|
|
48
|
+
}): React.JSX.Element;
|
|
49
|
+
/**
|
|
50
|
+
* Un renglón de una lista como tarjeta: el título y, a su derecha, su estado (un `Chip`); debajo,
|
|
51
|
+
* lo que acompaña, un renglón por dato. Nada se recorta: con la letra al 180% parte en los
|
|
52
|
+
* renglones que haga falta.
|
|
53
|
+
*/
|
|
54
|
+
export declare function TarjetaDeLista({ titulo, estado, lineas, children, onPress, }: {
|
|
55
|
+
titulo: string;
|
|
56
|
+
estado?: React.ReactNode;
|
|
57
|
+
/** Los renglones de abajo; los vacíos no se pintan. */
|
|
58
|
+
lineas?: (string | null | undefined | false)[];
|
|
59
|
+
children?: React.ReactNode;
|
|
60
|
+
onPress?: () => void;
|
|
61
|
+
}): React.JSX.Element;
|
|
62
|
+
/** Una sección de una ficha: su rótulo y lo suyo debajo. */
|
|
63
|
+
export declare function SeccionDeFicha({ titulo, children, }: {
|
|
64
|
+
titulo: string;
|
|
65
|
+
children: React.ReactNode;
|
|
66
|
+
}): React.JSX.Element;
|
|
67
|
+
/**
|
|
68
|
+
* Un renglón que abre otra ficha: «Operador · Juan Pérez ›». Sin `href` (no hay a dónde, o no se
|
|
69
|
+
* tiene el permiso) se pinta igual pero sin la flecha y sin abrir nada.
|
|
70
|
+
*/
|
|
71
|
+
export declare function RenglonDeLiga({ etiqueta, valor, href, detalle, }: {
|
|
72
|
+
etiqueta: string;
|
|
73
|
+
valor: string;
|
|
74
|
+
href?: Href | null;
|
|
75
|
+
detalle?: string | null;
|
|
76
|
+
}): React.JSX.Element;
|
|
77
|
+
/**
|
|
78
|
+
* Un renglón que dice cuántos hay de algo y lo abre: «Excepciones 3 ›». Como los contenidos de una
|
|
79
|
+
* transferencia en la app de acv-wms. Lo que abre es de quien lo usa (una `HojaInferior`).
|
|
80
|
+
*/
|
|
81
|
+
export declare function FilaConContador({ icono, etiqueta, cuantos, detalle, onPress, }: {
|
|
82
|
+
icono: React.ComponentProps<typeof MaterialCommunityIcons>["name"];
|
|
83
|
+
etiqueta: string;
|
|
84
|
+
/** `null` mientras se cuenta. */
|
|
85
|
+
cuantos: number | null;
|
|
86
|
+
/** Lo que acompaña: «2 pendientes». */
|
|
87
|
+
detalle?: string | null;
|
|
88
|
+
onPress: () => void;
|
|
89
|
+
}): React.JSX.Element;
|
|
90
|
+
/**
|
|
91
|
+
* Una persona con su teléfono y su correo, **para llamarle o escribirle desde ahí**: cada uno es un
|
|
92
|
+
* botón. Sin teléfono ni correo, sólo su nombre.
|
|
93
|
+
*/
|
|
94
|
+
export declare function RenglonDeContacto({ nombre, detalle, telefono, correo, enHoja, }: {
|
|
95
|
+
nombre: string;
|
|
96
|
+
/** El puesto, el parentesco, el tipo de contacto. */
|
|
97
|
+
detalle?: string | null;
|
|
98
|
+
telefono?: string | null;
|
|
99
|
+
correo?: string | null;
|
|
100
|
+
/** En una hoja (`HojaInferior`), del color del fondo, como `RenglonDeHoja`: si no, no se distingue. */
|
|
101
|
+
enHoja?: boolean;
|
|
102
|
+
}): React.JSX.Element;
|
|
103
|
+
/**
|
|
104
|
+
* Un renglón de una hoja (`HojaInferior`): el título con su chip y lo que acompaña. **No es
|
|
105
|
+
* `TarjetaDeLista`**: ésa es del color de la hoja y adentro de ella no se distinguía un renglón del
|
|
106
|
+
* siguiente. Con `onPress` se toca (abre un archivo, una ficha) y lleva una flecha.
|
|
107
|
+
*/
|
|
108
|
+
export declare function RenglonDeHoja({ titulo, estado, lineas, atenuado, onPress, children, }: {
|
|
109
|
+
titulo: string;
|
|
110
|
+
estado?: {
|
|
111
|
+
texto: string;
|
|
112
|
+
tono: TonoDeChip;
|
|
113
|
+
} | null;
|
|
114
|
+
lineas: (string | null | undefined | false)[];
|
|
115
|
+
/** Lo que ya no cuenta (una excepción revocada, una vigencia reemplazada). */
|
|
116
|
+
atenuado?: boolean;
|
|
117
|
+
onPress?: () => void;
|
|
118
|
+
/** Lo que va debajo: el botón de una administrativa. */
|
|
119
|
+
children?: React.ReactNode;
|
|
120
|
+
}): React.JSX.Element;
|
|
121
|
+
/**
|
|
122
|
+
* Lo que se dice al pie de una hoja que no trae todos (las hojas piden los primeros 100): «Hay 140;
|
|
123
|
+
* aquí van los 100 más recientes.» Si están todos, nada.
|
|
124
|
+
*/
|
|
125
|
+
export declare function AvisoDeRecortados({ cuantos, traidos }: {
|
|
126
|
+
cuantos: number;
|
|
127
|
+
traidos: number;
|
|
128
|
+
}): React.JSX.Element | null;
|
|
129
|
+
/** Lo que dice una hoja mientras carga, si falló o si no hay nada. */
|
|
130
|
+
export declare function EstadoDeHoja({ cargando, fallo, vacio, }: {
|
|
131
|
+
cargando: boolean;
|
|
132
|
+
fallo: boolean;
|
|
133
|
+
vacio: string | null;
|
|
134
|
+
}): React.JSX.Element | null;
|
|
135
|
+
//# sourceMappingURL=piezas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"piezas.d.ts","sourceRoot":"","sources":["../../../../src/listas/piezas.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { type IconoDePestana } from "./BotonDeBarra";
|
|
2
|
+
/**
|
|
3
|
+
* Lo que una lista deja libre abajo para que su último renglón no quede debajo de la barra, que
|
|
4
|
+
* flota encima del contenido: lo que se separa del borde, lo que mide y un margen.
|
|
5
|
+
*/
|
|
6
|
+
export declare const HUECO_DE_LA_BARRA = 140;
|
|
7
|
+
interface Ruta {
|
|
8
|
+
key: string;
|
|
9
|
+
name: string;
|
|
10
|
+
params?: object;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Lo que la barra lee de las props del `tabBar` de `Tabs` (`BottomTabBarProps`). Escrito a mano y
|
|
14
|
+
* no importado: cada versión de expo-router lo exporta desde otro lado.
|
|
15
|
+
*/
|
|
16
|
+
interface PropsDelTabBar {
|
|
17
|
+
state: {
|
|
18
|
+
index: number;
|
|
19
|
+
routes: Ruta[];
|
|
20
|
+
};
|
|
21
|
+
navigation: {
|
|
22
|
+
emit: (evento: {
|
|
23
|
+
type: "tabPress" | "tabLongPress";
|
|
24
|
+
target: string;
|
|
25
|
+
canPreventDefault?: boolean;
|
|
26
|
+
}) => object;
|
|
27
|
+
navigate: (...args: any[]) => void;
|
|
28
|
+
};
|
|
29
|
+
descriptors?: Record<string, {
|
|
30
|
+
options: {
|
|
31
|
+
title?: string;
|
|
32
|
+
};
|
|
33
|
+
}>;
|
|
34
|
+
}
|
|
35
|
+
interface Props extends PropsDelTabBar {
|
|
36
|
+
/** El icono de cada pestaña, por nombre de ruta. Una ruta sin icono deja su hueco vacío. */
|
|
37
|
+
iconos: Record<string, IconoDePestana>;
|
|
38
|
+
/**
|
|
39
|
+
* Nombres de ruta que sí van en la barra. Las pestañas que el usuario no alcanza se
|
|
40
|
+
* montan igual pero con `href: null`, y expo-router las deja en `state.routes` (sólo
|
|
41
|
+
* les pone `tabBarItemStyle.display = "none"`), así que hay que filtrarlas aquí.
|
|
42
|
+
*/
|
|
43
|
+
visibles?: string[];
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* La barra de pestañas de abajo: una pastilla flotante con un icono por pestaña y la elegida
|
|
47
|
+
* resaltada en rojo. Va en el `tabBar` de `Tabs`:
|
|
48
|
+
*
|
|
49
|
+
* ```tsx
|
|
50
|
+
* <Tabs tabBar={(props) => <BarraDePestanas {...props} iconos={ICONOS} />}>
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* Flota encima del contenido: las listas dejan `HUECO_DE_LA_BARRA` abajo.
|
|
54
|
+
*/
|
|
55
|
+
declare const BarraDePestanas: ({ state, navigation, descriptors, iconos, visibles }: Props) => import("react").JSX.Element;
|
|
56
|
+
export default BarraDePestanas;
|
|
57
|
+
//# sourceMappingURL=BarraDePestanas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BarraDePestanas.d.ts","sourceRoot":"","sources":["../../../../src/navegacion/BarraDePestanas.tsx"],"names":[],"mappings":"AAKA,OAAqB,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AASrC,UAAU,IAAI;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,UAAU,cAAc;IACpB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,IAAI,EAAE,CAAA;KAAE,CAAC;IACzC,UAAU,EAAE;QACR,IAAI,EAAE,CAAC,MAAM,EAAE;YACX,IAAI,EAAE,UAAU,GAAG,cAAc,CAAC;YAClC,MAAM,EAAE,MAAM,CAAC;YACf,iBAAiB,CAAC,EAAE,OAAO,CAAC;SAC/B,KAAK,MAAM,CAAC;QACb,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;KACtC,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;CACjE;AAED,UAAU,KAAM,SAAQ,cAAc;IAClC,4FAA4F;IAC5F,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,eAAe,GAAI,sDAAsD,KAAK,gCAoGnF,CAAC;AAiCF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import MaterialIcons from "@expo/vector-icons/MaterialIcons";
|
|
2
|
+
import React from "react";
|
|
3
|
+
export type IconoDePestana = React.ComponentProps<typeof MaterialIcons>["name"];
|
|
4
|
+
interface Props {
|
|
5
|
+
onPress: () => void;
|
|
6
|
+
onLongPress: () => void;
|
|
7
|
+
isFocused: boolean;
|
|
8
|
+
icono: IconoDePestana | undefined;
|
|
9
|
+
etiqueta: string;
|
|
10
|
+
color: string;
|
|
11
|
+
}
|
|
12
|
+
/** Una pestaña de `BarraDePestanas`: su icono, que crece un poco al elegirla. */
|
|
13
|
+
declare const BotonDeBarra: ({ onPress, onLongPress, isFocused, icono, etiqueta, color }: Props) => React.JSX.Element;
|
|
14
|
+
export default BotonDeBarra;
|
|
15
|
+
//# sourceMappingURL=BotonDeBarra.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BotonDeBarra.d.ts","sourceRoot":"","sources":["../../../../src/navegacion/BotonDeBarra.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAC7D,OAAO,KAAoB,MAAM,OAAO,CAAC;AASzC,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhF,UAAU,KAAK;IACX,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,cAAc,GAAG,SAAS,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,iFAAiF;AACjF,QAAA,MAAM,YAAY,GAAI,6DAA6D,KAAK,sBA4BvF,CAAC;AAUF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Alto del header por debajo de la barra de estado. Iguala el de `CabeceraEmpujada` (10 de
|
|
4
|
+
* padding + la fila de 45 del botón de atrás + 13), y se suma al inset porque `headerStyle.height`
|
|
5
|
+
* de React Navigation incluye la franja de la barra de estado: un alto fijo salía bien en iOS
|
|
6
|
+
* —inset grande— y desproporcionado en Android.
|
|
7
|
+
*/
|
|
8
|
+
export declare const ALTO_DEL_ENCABEZADO = 76;
|
|
9
|
+
/**
|
|
10
|
+
* El título del header de las pestañas: un rótulo arriba (quién entró, la yarda, el nombre de la
|
|
11
|
+
* app) y el de la pestaña en rojo.
|
|
12
|
+
*/
|
|
13
|
+
export declare function TituloDelEncabezado({ eyebrow, children }: {
|
|
14
|
+
eyebrow: string;
|
|
15
|
+
children: string;
|
|
16
|
+
}): React.JSX.Element;
|
|
17
|
+
/**
|
|
18
|
+
* El header de las pestañas de una app, igual en todas: la bola a la izquierda, el rótulo y el
|
|
19
|
+
* título, y a la derecha lo que la app ponga (sus pendientes, el avatar). Va en el `screenOptions`
|
|
20
|
+
* de `Tabs`:
|
|
21
|
+
*
|
|
22
|
+
* ```tsx
|
|
23
|
+
* const encabezado = useOpcionesDelEncabezado({ eyebrow: "Operador", derecha: <BotonDeAvatar … /> });
|
|
24
|
+
* <Tabs screenOptions={encabezado} tabBar={…}>
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare function useOpcionesDelEncabezado({ eyebrow, derecha, }: {
|
|
28
|
+
eyebrow: string;
|
|
29
|
+
derecha?: React.ReactNode;
|
|
30
|
+
}): {
|
|
31
|
+
headerShadowVisible: boolean;
|
|
32
|
+
headerStyle: {
|
|
33
|
+
height: number;
|
|
34
|
+
backgroundColor: string;
|
|
35
|
+
};
|
|
36
|
+
headerTitleAlign: "left";
|
|
37
|
+
headerTitle: (props: {
|
|
38
|
+
children: string;
|
|
39
|
+
}) => React.JSX.Element;
|
|
40
|
+
headerLeft: () => React.JSX.Element;
|
|
41
|
+
headerRight: (() => React.JSX.Element) | undefined;
|
|
42
|
+
tabBarHideOnKeyboard: boolean;
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=encabezado.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encabezado.d.ts","sourceRoot":"","sources":["../../../../src/navegacion/encabezado.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,qBAc/F;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,EACrC,OAAO,EACP,OAAO,GACV,EAAE;IACC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;;;;;;;yBAQ4B;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE;;;;EAWhD"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/** Lo que se escribe, con los nombres del servidor: así `setErrors` lo cuelga de su campo. */
|
|
2
|
+
export interface DatosDeAcceso {
|
|
3
|
+
username: string;
|
|
4
|
+
password: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Lo que pasó al intentar entrar: `null` si entró (la app ya guardó la sesión y su layout la
|
|
8
|
+
* lleva adentro), o lo que se le dice a quien escribe.
|
|
9
|
+
*/
|
|
10
|
+
export type ResultadoDeAcceso = null | {
|
|
11
|
+
mensaje: string;
|
|
12
|
+
/** `aviso` para lo que no es un error suyo (cambiar la contraseña); por omisión, `error`. */
|
|
13
|
+
tono?: "aviso" | "error";
|
|
14
|
+
/** El rechazo del servidor, si trae motivos por campo (un 400): se cuelgan de cada uno. */
|
|
15
|
+
errorDelServidor?: unknown;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* La pantalla de entrada de las apps: el logo con el nombre de la app, usuario, contraseña e
|
|
19
|
+
* «Iniciar Sesión», y la versión abajo. En una tableta va en una tarjeta centrada; en un teléfono,
|
|
20
|
+
* directo sobre el fondo.
|
|
21
|
+
*
|
|
22
|
+
* Lo de cada app es `onEntrar`: llama a su login y dice qué contestar a cada respuesta (una cuenta
|
|
23
|
+
* deshabilitada, una que no tiene acceso a esta app). El aviso sale **arriba**, porque el teclado
|
|
24
|
+
* tapa uno anclado abajo, y dura lo que tarda en leerse.
|
|
25
|
+
*/
|
|
26
|
+
export default function PantallaDeAcceso({ nombre, version, onEntrar, }: {
|
|
27
|
+
/** Lo que va bajo el logo: «TMS». */
|
|
28
|
+
nombre: string;
|
|
29
|
+
version?: string | null;
|
|
30
|
+
onEntrar: (datos: DatosDeAcceso) => Promise<ResultadoDeAcceso>;
|
|
31
|
+
}): import("react").JSX.Element;
|
|
32
|
+
//# sourceMappingURL=PantallaDeAcceso.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PantallaDeAcceso.d.ts","sourceRoot":"","sources":["../../../../src/pantallas/PantallaDeAcceso.tsx"],"names":[],"mappings":"AAgBA,8FAA8F;AAC9F,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,6FAA6F;IAC7F,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,2FAA2F;IAC3F,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACrC,MAAM,EACN,OAAO,EACP,QAAQ,GACX,EAAE;IACC,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAClE,+BAiHA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* El armazón de una pantalla que edita algo (un viaje, un tracto, una caja, un operador). Dos
|
|
4
|
+
* partes, porque el formulario nace cuando ya llegó lo que edita (sus valores iniciales salen de
|
|
5
|
+
* ahí):
|
|
6
|
+
*
|
|
7
|
+
* - `EsperaDeEdicion`: lo que se ve antes: sin permiso, cargando o si falló, con «Reintentar».
|
|
8
|
+
* - `FormularioDeEdicion`: la cabecera, los campos en un scroll que esquiva el teclado, el error
|
|
9
|
+
* del último intento y «Guardar» abajo, fijo.
|
|
10
|
+
*/
|
|
11
|
+
/** Lo que la espera lee de un `use…Query` de RTK Query. */
|
|
12
|
+
interface ConsultaDeEdicion {
|
|
13
|
+
isError: boolean;
|
|
14
|
+
error?: unknown;
|
|
15
|
+
refetch: () => unknown;
|
|
16
|
+
}
|
|
17
|
+
export declare function EsperaDeEdicion({ eyebrow, puede, sinPermiso, consulta, queEs, }: {
|
|
18
|
+
eyebrow: string;
|
|
19
|
+
puede: boolean;
|
|
20
|
+
/** Qué permiso falta, dicho para quien lo lee. */
|
|
21
|
+
sinPermiso: string;
|
|
22
|
+
consulta: ConsultaDeEdicion;
|
|
23
|
+
/** «el viaje», «el tracto»: para «No se pudo cargar el tracto». */
|
|
24
|
+
queEs: string;
|
|
25
|
+
}): React.JSX.Element;
|
|
26
|
+
export declare function FormularioDeEdicion({ eyebrow, titulo, error, guardando, onGuardar, textoDeGuardar, children, }: {
|
|
27
|
+
eyebrow: string;
|
|
28
|
+
titulo: string;
|
|
29
|
+
/** Lo que dijo el servidor la última vez que no guardó. */
|
|
30
|
+
error: string | null;
|
|
31
|
+
guardando: boolean;
|
|
32
|
+
onGuardar: () => void;
|
|
33
|
+
/** Lo que dice el botón: «Guardar», o lo que haga («Registrar la renovación»). */
|
|
34
|
+
textoDeGuardar?: string;
|
|
35
|
+
children: React.ReactNode;
|
|
36
|
+
}): React.JSX.Element;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=PantallaDeEdicion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PantallaDeEdicion.d.ts","sourceRoot":"","sources":["../../../../src/pantallas/PantallaDeEdicion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B;;;;;;;;GAQG;AAEH,2DAA2D;AAC3D,UAAU,iBAAiB;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,OAAO,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,EAC5B,OAAO,EACP,KAAK,EACL,UAAU,EACV,QAAQ,EACR,KAAK,GACR,EAAE;IACC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;CACjB,qBAuBA;AAED,wBAAgB,mBAAmB,CAAC,EAChC,OAAO,EACP,MAAM,EACN,KAAK,EACL,SAAS,EACT,SAAS,EACT,cAA0B,EAC1B,QAAQ,GACX,EAAE;IACC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,qBAsBA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { AccionDelEncabezado } from "../componentes/AccionesDelEncabezado";
|
|
3
|
+
/** Lo que la ficha lee de un `use…Query` de RTK Query. */
|
|
4
|
+
interface ConsultaDeFicha {
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
isError: boolean;
|
|
7
|
+
isFetching: boolean;
|
|
8
|
+
refetch: () => unknown;
|
|
9
|
+
error?: unknown;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Una ficha de solo lectura (un viaje, un tracto, un cliente): la cabecera con atrás, y lo suyo en
|
|
13
|
+
* un scroll que se refresca jalando hacia abajo. Mientras carga, o si falla, lo dice en vez de
|
|
14
|
+
* pintar vacía.
|
|
15
|
+
*
|
|
16
|
+
* `children` sólo se pinta con datos: quien la usa no tiene que preguntar si ya llegaron.
|
|
17
|
+
*/
|
|
18
|
+
export default function PantallaDeFicha({ eyebrow, titulo, consulta, hayDatos, acciones, estado, encima, children, }: {
|
|
19
|
+
eyebrow: string;
|
|
20
|
+
titulo: string;
|
|
21
|
+
/** El estado de la ficha bajo su título (un `Chip`); sólo con datos. */
|
|
22
|
+
estado?: React.ReactNode;
|
|
23
|
+
/** Las acciones de la ficha, en su encabezado; sólo se ofrecen con datos. */
|
|
24
|
+
acciones?: AccionDelEncabezado[];
|
|
25
|
+
/**
|
|
26
|
+
* Lo que va encima de la ficha y no dentro de su scroll: sus hojas inferiores
|
|
27
|
+
* (`HojaInferior`) y diálogos. Sólo con datos.
|
|
28
|
+
*/
|
|
29
|
+
encima?: React.ReactNode;
|
|
30
|
+
consulta: ConsultaDeFicha;
|
|
31
|
+
hayDatos: boolean;
|
|
32
|
+
children: React.ReactNode;
|
|
33
|
+
}): React.JSX.Element;
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=PantallaDeFicha.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PantallaDeFicha.d.ts","sourceRoot":"","sources":["../../../../src/pantallas/PantallaDeFicha.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAMhF,0DAA0D;AAC1D,UAAU,eAAe;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAKD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACpC,OAAO,EACP,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,GACX,EAAE;IACC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACjC;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,qBAwDA"}
|