@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,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { fuenteBase, usePaleta } from "./tema";
|
|
4
|
+
import { forwardRef } from "react";
|
|
5
|
+
import { Text as RNText, TextInput as RNTextInput } from "react-native";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* `Text` y `TextInput` con la tipografía de la app ya puesta.
|
|
9
|
+
*
|
|
10
|
+
* React Native no tiene una fuente por defecto para todo el árbol —y `defaultProps` dejó de
|
|
11
|
+
* aplicarse a componentes de función en React 19—, así que la familia se inyecta aquí y las
|
|
12
|
+
* pantallas importan estos dos en lugar de los de "react-native". Los componentes de Paper no
|
|
13
|
+
* pasan por aquí: esos leen la escala tipográfica del tema (`ProveedorDeTema`).
|
|
14
|
+
*
|
|
15
|
+
* La familia va primero en el arreglo de estilos para que cualquier `style` de quien lo use
|
|
16
|
+
* la pueda pisar. **También el color del texto** (`c.texto`): el `Text` de React Native es negro
|
|
17
|
+
* por omisión, y en el modo oscuro cada texto sin color propio desaparecía sobre el fondo.
|
|
18
|
+
*/
|
|
19
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
20
|
+
export const Text = /*#__PURE__*/forwardRef(function Text({
|
|
21
|
+
style,
|
|
22
|
+
...props
|
|
23
|
+
}, ref) {
|
|
24
|
+
const c = usePaleta();
|
|
25
|
+
return /*#__PURE__*/_jsx(RNText, {
|
|
26
|
+
ref: ref,
|
|
27
|
+
style: [fuenteBase, {
|
|
28
|
+
color: c.texto
|
|
29
|
+
}, style],
|
|
30
|
+
...props
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
export const TextInput = /*#__PURE__*/forwardRef(function TextInput({
|
|
34
|
+
style,
|
|
35
|
+
...props
|
|
36
|
+
}, ref) {
|
|
37
|
+
const c = usePaleta();
|
|
38
|
+
return /*#__PURE__*/_jsx(RNTextInput, {
|
|
39
|
+
ref: ref,
|
|
40
|
+
placeholderTextColor: c.secondaryLight,
|
|
41
|
+
selectionColor: c.primary,
|
|
42
|
+
style: [fuenteBase, {
|
|
43
|
+
color: c.texto
|
|
44
|
+
}, style],
|
|
45
|
+
...props
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=texto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["fuenteBase","usePaleta","forwardRef","Text","RNText","TextInput","RNTextInput","jsx","_jsx","style","props","ref","c","color","texto","placeholderTextColor","secondaryLight","selectionColor","primary"],"sourceRoot":"../../src","sources":["texto.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,SAAS,QAAQ,QAAQ;AAC9C,SAASC,UAAU,QAA2B,OAAO;AACrD,SACIC,IAAI,IAAIC,MAAM,EACdC,SAAS,IAAIC,WAAW,QAGrB,cAAc;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAXA,SAAAC,GAAA,IAAAC,IAAA;AAaA,OAAO,MAAML,IAAI,gBAAGD,UAAU,CAAyC,SAASC,IAAIA,CAChF;EAAEM,KAAK;EAAE,GAAGC;AAAM,CAAC,EACnBC,GAAG,EACL;EACE,MAAMC,CAAC,GAAGX,SAAS,CAAC,CAAC;EACrB,oBAAOO,IAAA,CAACJ,MAAM;IAACO,GAAG,EAAEA,GAAI;IAACF,KAAK,EAAE,CAACT,UAAU,EAAE;MAAEa,KAAK,EAAED,CAAC,CAACE;IAAM,CAAC,EAAEL,KAAK,CAAE;IAAA,GAAKC;EAAK,CAAG,CAAC;AAC1F,CAAC,CAAC;AAEF,OAAO,MAAML,SAAS,gBAAGH,UAAU,CAC/B,SAASG,SAASA,CAAC;EAAEI,KAAK;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,EAAE;EACzC,MAAMC,CAAC,GAAGX,SAAS,CAAC,CAAC;EACrB,oBACIO,IAAA,CAACF,WAAW;IACRK,GAAG,EAAEA,GAAI;IACTI,oBAAoB,EAAEH,CAAC,CAACI,cAAe;IACvCC,cAAc,EAAEL,CAAC,CAACM,OAAQ;IAC1BT,KAAK,EAAE,CAACT,UAAU,EAAE;MAAEa,KAAK,EAAED,CAAC,CAACE;IAAM,CAAC,EAAEL,KAAK,CAAE;IAAA,GAC3CC;EAAK,CACZ,CAAC;AAEV,CACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import MaterialCommunityIcons from "@expo/vector-icons/MaterialCommunityIcons";
|
|
2
|
+
import React from "react";
|
|
3
|
+
export interface AccionDelEncabezado {
|
|
4
|
+
/** El texto del renglón del menú y lo que lee el lector de pantalla. */
|
|
5
|
+
etiqueta: string;
|
|
6
|
+
icono: React.ComponentProps<typeof MaterialCommunityIcons>["name"];
|
|
7
|
+
onPress: () => void;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
/** Un indicador en vez del icono, y la acción bloqueada mientras corre. */
|
|
10
|
+
cargando?: boolean;
|
|
11
|
+
/** Para la que borra o cancela: en rojo, en el botón y en el menú. */
|
|
12
|
+
destructiva?: boolean;
|
|
13
|
+
/** Las fijadas son las últimas en irse al menú (Editar). */
|
|
14
|
+
fijada?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Una cifra pendiente de la acción: los mensajes sin leer de un hilo. Va sobre su botón o, si
|
|
17
|
+
* la acción se fue al menú, en su renglón — y entonces los tres puntos la suman, porque una
|
|
18
|
+
* cifra escondida no avisa de nada.
|
|
19
|
+
*/
|
|
20
|
+
insignia?: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Las acciones de una ficha en su encabezado: **las que quepan como botones y las demás en el menú
|
|
24
|
+
* de los tres puntos**. Es el `ResponsiveActions` de la app de acv-wms con la paleta de la casa.
|
|
25
|
+
*
|
|
26
|
+
* No mide los botones: mide el hueco que le deja el título (`onLayout`) y cuenta cuántos de
|
|
27
|
+
* `LADO` caben. Si caben todas, van todas; si no, una menos y el menú. Las `fijadas` son las
|
|
28
|
+
* últimas en irse, sin cambiar el orden en que se ven. Quien la pone le da al título
|
|
29
|
+
* `flexShrink: 1` y no `flex: 1`, para que le deje espacio.
|
|
30
|
+
*/
|
|
31
|
+
export default function AccionesDelEncabezado({ acciones }: {
|
|
32
|
+
acciones: AccionDelEncabezado[];
|
|
33
|
+
}): React.JSX.Element | null;
|
|
34
|
+
//# sourceMappingURL=AccionesDelEncabezado.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccionesDelEncabezado.d.ts","sourceRoot":"","sources":["../../../../src/componentes/AccionesDelEncabezado.tsx"],"names":[],"mappings":"AAEA,OAAO,sBAAsB,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,MAAM,OAAO,CAAC;AAiB1B,MAAM,WAAW,mBAAmB;IAChC,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;IACnE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AA2DD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAA;CAAE,4BAmG9F"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* La inicial de cada parte, hasta dos: `inicialesDe(nombre, apellidos)` da «JP»; con sólo el nombre
|
|
3
|
+
* de la cuenta, su primera letra; sin nada, una inicial neutra.
|
|
4
|
+
*/
|
|
5
|
+
export declare const inicialesDe: (...partes: (string | null | undefined)[]) => string;
|
|
6
|
+
/**
|
|
7
|
+
* El avatar de quien entró, en el header de las pestañas: el acceso al perfil (y a cerrar sesión).
|
|
8
|
+
* Quien lo pone decide las iniciales y a dónde lleva.
|
|
9
|
+
*/
|
|
10
|
+
declare const BotonDeAvatar: ({ iniciales, onPress, etiqueta, }: {
|
|
11
|
+
iniciales: string;
|
|
12
|
+
onPress: () => void;
|
|
13
|
+
/** Lo que lee el lector de pantalla. */
|
|
14
|
+
etiqueta?: string;
|
|
15
|
+
}) => import("react").JSX.Element;
|
|
16
|
+
export default BotonDeAvatar;
|
|
17
|
+
//# sourceMappingURL=BotonDeAvatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BotonDeAvatar.d.ts","sourceRoot":"","sources":["../../../../src/componentes/BotonDeAvatar.tsx"],"names":[],"mappings":"AAIA;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,GAAG,QAAQ,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,KAAG,MAOpD,CAAC;AAEpB;;;GAGG;AACH,QAAA,MAAM,aAAa,GAAI,mCAIpB;IACC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,gCAgBA,CAAC;AAYF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import MaterialCommunityIcons from "@expo/vector-icons/MaterialCommunityIcons";
|
|
2
|
+
import React from "react";
|
|
3
|
+
interface Props {
|
|
4
|
+
children: string;
|
|
5
|
+
icono?: React.ComponentProps<typeof MaterialCommunityIcons>["name"];
|
|
6
|
+
onPress: () => void;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
cargando?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* `relleno` para la acción principal; `contorno` para las de apoyo; `destructivo` para la que
|
|
11
|
+
* borra o deshace algo (Deshacer, Descartar, Cerrar sesión), en rojo oscuro; `listo` para algo
|
|
12
|
+
* ya cumplido que todavía se puede abrir (la evidencia completa), en verde.
|
|
13
|
+
*/
|
|
14
|
+
modo?: "relleno" | "contorno" | "destructivo" | "listo";
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* El botón de una acción del flujo (Iniciar, Completar, Reintentar): ancho completo, alto
|
|
18
|
+
* generoso y letra de subtítulo, para atinarle de pie y con la letra del teléfono al 180%.
|
|
19
|
+
*
|
|
20
|
+
* Es propio y no el `Button` de Paper porque ése corta su texto a un renglón: con la letra grande
|
|
21
|
+
* «Iniciar asignación desde donde estás» quedaba en «Iniciar asignac…». Aquí el texto parte en los
|
|
22
|
+
* renglones que haga falta y el botón crece con él.
|
|
23
|
+
*/
|
|
24
|
+
declare const BotonGrande: ({ children, icono, onPress, disabled, cargando, modo }: Props) => React.JSX.Element;
|
|
25
|
+
export default BotonGrande;
|
|
26
|
+
//# sourceMappingURL=BotonGrande.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BotonGrande.d.ts","sourceRoot":"","sources":["../../../../src/componentes/BotonGrande.tsx"],"names":[],"mappings":"AAGA,OAAO,sBAAsB,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,KAAK;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;IACpE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,OAAO,CAAC;CAC3D;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,WAAW,GAAI,wDAAoE,KAAK,sBA4C7F,CAAC;AA0BF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type AccionDelEncabezado } from "../componentes/AccionesDelEncabezado";
|
|
2
|
+
import type React from "react";
|
|
3
|
+
/**
|
|
4
|
+
* La cabecera de una pantalla empujada encima de las pestañas: atrás, el rótulo, el título y, si
|
|
5
|
+
* hay, sus acciones a la derecha (`AccionesDelEncabezado`). La usan las fichas, las
|
|
6
|
+
* pantallas de edición y el perfil.
|
|
7
|
+
*
|
|
8
|
+
* `estado` va debajo del título —el estado de la ficha, normalmente un `Chip`— y no a su lado: con
|
|
9
|
+
* acciones a la derecha, un folio largo y su chip en el mismo renglón se peleaban el ancho.
|
|
10
|
+
*/
|
|
11
|
+
declare const CabeceraEmpujada: ({ eyebrow, titulo, acciones, estado, }: {
|
|
12
|
+
eyebrow: string;
|
|
13
|
+
titulo: string;
|
|
14
|
+
acciones?: AccionDelEncabezado[];
|
|
15
|
+
estado?: React.ReactNode;
|
|
16
|
+
}) => React.JSX.Element;
|
|
17
|
+
export default CabeceraEmpujada;
|
|
18
|
+
//# sourceMappingURL=CabeceraEmpujada.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CabeceraEmpujada.d.ts","sourceRoot":"","sources":["../../../../src/componentes/CabeceraEmpujada.tsx"],"names":[],"mappings":"AAAA,OAA8B,EAC1B,KAAK,mBAAmB,EAC3B,MAAM,sCAAsC,CAAC;AAK9C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;;;;;;GAOG;AACH,QAAA,MAAM,gBAAgB,GAAI,wCAKvB;IACC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,sBAoBA,CAAC;AAmBF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type StyleProp, type ViewStyle } from "react-native";
|
|
2
|
+
/**
|
|
3
|
+
* El tono de un chip, por lo que quiere decir y no por su color: así un estado se ve igual en
|
|
4
|
+
* claro y en oscuro, y dos pantallas no le ponen dos colores a lo mismo.
|
|
5
|
+
*/
|
|
6
|
+
export type TonoDeChip = "exito" | "aviso" | "info" | "error" | "morado" | "neutro" | "primario";
|
|
7
|
+
/** Un estado en una pastilla: «En progreso», «Por vencer», «En viaje». */
|
|
8
|
+
declare const Chip: ({ texto, tono, style, }: {
|
|
9
|
+
texto: string;
|
|
10
|
+
tono?: TonoDeChip;
|
|
11
|
+
style?: StyleProp<ViewStyle>;
|
|
12
|
+
}) => import("react").JSX.Element;
|
|
13
|
+
export default Chip;
|
|
14
|
+
//# sourceMappingURL=Chip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../../../src/componentes/Chip.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAqBjG,0EAA0E;AAC1E,QAAA,MAAM,IAAI,GAAI,yBAIX;IACC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAChC,gCASA,CAAC;AAYF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface Props {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
paddingBottom?: number;
|
|
5
|
+
/**
|
|
6
|
+
* Cuando el hijo ya maneja el teclado por su cuenta (p. ej. un `KeyboardAwareScrollView`),
|
|
7
|
+
* `false` quita el `KeyboardAvoidingView` para no encimar dos manejadores del teclado.
|
|
8
|
+
*/
|
|
9
|
+
avoidKeyboard?: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* El cuerpo de una pantalla debajo de su header: el fondo, el margen a los lados (el doble en una
|
|
13
|
+
* tableta, más lo que pida la muesca) y, por omisión, que esquive el teclado.
|
|
14
|
+
*/
|
|
15
|
+
declare const ContenidoDePantalla: ({ paddingBottom, avoidKeyboard, children }: Props) => React.JSX.Element;
|
|
16
|
+
export default ContenidoDePantalla;
|
|
17
|
+
//# sourceMappingURL=ContenidoDePantalla.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContenidoDePantalla.d.ts","sourceRoot":"","sources":["../../../../src/componentes/ContenidoDePantalla.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,UAAU,KAAK;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAID;;;GAGG;AACH,QAAA,MAAM,mBAAmB,GAAI,4CAAmD,KAAK,sBAwBpF,CAAC;AAMF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import MaterialCommunityIcons from "@expo/vector-icons/MaterialCommunityIcons";
|
|
2
|
+
import React from "react";
|
|
3
|
+
interface Props {
|
|
4
|
+
icono: React.ComponentProps<typeof MaterialCommunityIcons>["name"];
|
|
5
|
+
titulo: string;
|
|
6
|
+
texto?: string;
|
|
7
|
+
/** Una acción («Reintentar») que va debajo del texto, centrada con él. */
|
|
8
|
+
children?: React.ReactNode;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Lo que se pinta cuando una lista no tiene nada que enseñar. Ocupa todo el alto y centra lo suyo,
|
|
12
|
+
* así que una acción va como hijo: puesta después, como hermano, quedaba hasta abajo de la
|
|
13
|
+
* pantalla, debajo de la barra de pestañas.
|
|
14
|
+
*/
|
|
15
|
+
declare const EstadoVacio: ({ icono, titulo, texto, children }: Props) => React.JSX.Element;
|
|
16
|
+
export default EstadoVacio;
|
|
17
|
+
//# sourceMappingURL=EstadoVacio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EstadoVacio.d.ts","sourceRoot":"","sources":["../../../../src/componentes/EstadoVacio.tsx"],"names":[],"mappings":"AAEA,OAAO,sBAAsB,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,KAAK;IACX,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AAED;;;;GAIG;AACH,QAAA,MAAM,WAAW,GAAI,oCAAoC,KAAK,sBAW7D,CAAC;AAcF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { type ImageProps } from "react-native";
|
|
3
|
+
/**
|
|
4
|
+
* Una foto: del servidor (`ruta`, la que da el API) o del teléfono (`uri` local, que todavía no
|
|
5
|
+
* sube).
|
|
6
|
+
*/
|
|
7
|
+
export type FotoAVer = {
|
|
8
|
+
ruta: string;
|
|
9
|
+
} | {
|
|
10
|
+
uri: string;
|
|
11
|
+
};
|
|
12
|
+
/** Cómo baja la app una foto del servidor: la `uri` local donde quedó. Rechaza si no se pudo. */
|
|
13
|
+
export type BajarFoto = (ruta: string) => Promise<string>;
|
|
14
|
+
/**
|
|
15
|
+
* Cómo se bajan las fotos del servidor en esta app. Va en el layout raíz, una vez.
|
|
16
|
+
*
|
|
17
|
+
* Es de la app y no de la librería porque las fotos piden la sesión: en Android, con la nueva
|
|
18
|
+
* arquitectura, el `Image` de React Native **no manda las `headers` del `source`**, así que una
|
|
19
|
+
* foto con `Authorization` se baja primero con `fetch` a un archivo (con el refresh del token de
|
|
20
|
+
* cada app) y se pinta el archivo. Sin proveedor, la `ruta` se pinta tal cual, como URL pública.
|
|
21
|
+
*/
|
|
22
|
+
export declare function ProveedorDeFotos({ bajar, children, }: {
|
|
23
|
+
bajar: BajarFoto;
|
|
24
|
+
children: React.ReactNode;
|
|
25
|
+
}): React.JSX.Element;
|
|
26
|
+
interface Props extends Omit<ImageProps, "source"> {
|
|
27
|
+
foto: FotoAVer;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Pinta una foto, venga de donde venga: la misma en una tira, el visor o una lista.
|
|
31
|
+
*
|
|
32
|
+
* Las del servidor se bajan primero con el `ProveedorDeFotos` de la app y se pinta el archivo
|
|
33
|
+
* local. Mientras baja, un indicador; si no se pudo, un icono de foto rota en vez de un cuadro gris
|
|
34
|
+
* sin explicación.
|
|
35
|
+
*
|
|
36
|
+
* Una miniatura lleva `resizeMethod="resize"`: en Android, sin él, cada cuadrito de 72 px
|
|
37
|
+
* decodifica la foto entera de 1920 px en memoria, y con varias la lista se arrastra.
|
|
38
|
+
*/
|
|
39
|
+
declare const Foto: ({ foto, style, onError, ...props }: Props) => React.JSX.Element;
|
|
40
|
+
export default Foto;
|
|
41
|
+
//# sourceMappingURL=Foto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Foto.d.ts","sourceRoot":"","sources":["../../../../src/componentes/Foto.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAA4B,KAAK,UAAU,EAAoB,MAAM,cAAc,CAAC;AAG3F;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1D,iGAAiG;AACjG,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAI1D;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,EAC7B,KAAK,EACL,QAAQ,GACX,EAAE;IACC,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,qBAEA;AAED,UAAU,KAAM,SAAQ,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC9C,IAAI,EAAE,QAAQ,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,IAAI,GAAI,oCAAoC,KAAK,sBAqCtD,CAAC;AAMF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import MaterialCommunityIcons from "@expo/vector-icons/MaterialCommunityIcons";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { type StyleProp, type ViewStyle } from "react-native";
|
|
4
|
+
interface Props {
|
|
5
|
+
name: React.ComponentProps<typeof MaterialCommunityIcons>["name"];
|
|
6
|
+
color: string;
|
|
7
|
+
/** El `fontSize` del texto que acompaña. Su estilo tiene que llevar `...renglon(fontSize)`. */
|
|
8
|
+
fontSize: number;
|
|
9
|
+
/** El tamaño del icono a escala 1. Por omisión, el de la letra. */
|
|
10
|
+
size?: number;
|
|
11
|
+
style?: StyleProp<ViewStyle>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Un icono que acompaña a un renglón de texto y **se queda centrado en él aunque el operador
|
|
15
|
+
* agrande la letra del teléfono**.
|
|
16
|
+
*
|
|
17
|
+
* El texto crece con la escala del sistema (Ajustes › Tamaño de fuente; hay quien la trae al
|
|
18
|
+
* 180%) y un icono de tamaño fijo no: se quedaba chico y desfasado hacia arriba. Aquí el icono
|
|
19
|
+
* crece con la misma escala y va en una caja del alto del primer renglón, así que queda centrado
|
|
20
|
+
* contra la primera línea aunque el texto parta en varias. Para eso el texto necesita un alto de
|
|
21
|
+
* renglón explícito: el de `renglon()`, que es el mismo que usa esta caja.
|
|
22
|
+
*/
|
|
23
|
+
declare const IconoDeRenglon: ({ name, color, fontSize, size, style }: Props) => React.JSX.Element;
|
|
24
|
+
export default IconoDeRenglon;
|
|
25
|
+
//# sourceMappingURL=IconoDeRenglon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconoDeRenglon.d.ts","sourceRoot":"","sources":["../../../../src/componentes/IconoDeRenglon.tsx"],"names":[],"mappings":"AACA,OAAO,sBAAsB,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAA6B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzF,UAAU,KAAK;IACX,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,+FAA+F;IAC/F,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAChC;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,cAAc,GAAI,wCAAmD,KAAK,sBAc/E,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* La bola del header, de los archivos de marca (`O:\Logo ACV`): **a color** en claro
|
|
3
|
+
* (`bola.png`, el «standalone») y **toda en blanco** en oscuro (`bola-blanca.png`, sacada del
|
|
4
|
+
* mismo archivo: lo rojo opaco y los trazos huecos), como el `Logo` del portal en oscuro.
|
|
5
|
+
*/
|
|
6
|
+
export declare const Logo: () => import("react").JSX.Element;
|
|
7
|
+
/**
|
|
8
|
+
* El logo con las letras: el del login. En oscuro va **todo en blanco**, como el `Logo` del
|
|
9
|
+
* portal: `logo-blanco.png` sale del archivo de marca en blanco sobre negro
|
|
10
|
+
* (`O:\Logo ACV\acv-logo_2012-whitereversed`), con el negro vuelto transparente.
|
|
11
|
+
*/
|
|
12
|
+
export declare const LogoCompleto: () => import("react").JSX.Element;
|
|
13
|
+
//# sourceMappingURL=Logo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Logo.d.ts","sourceRoot":"","sources":["../../../../src/componentes/Logo.tsx"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,eAAO,MAAM,IAAI,mCAShB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,mCASxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Nota.d.ts","sourceRoot":"","sources":["../../../../src/componentes/Nota.tsx"],"names":[],"mappings":"AAKA,+EAA+E;AAC/E,QAAA,MAAM,IAAI,GAAI,iBAA0B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,gCAcjF,CAAC;AAgBF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Opciones excluyentes como tarjetas, una por renglón: la carga y la razón del cambio de sello en
|
|
3
|
+
* la caseta, la razón de un rechazo en la oficina.
|
|
4
|
+
*/
|
|
5
|
+
declare const OpcionesExcluyentes: <V extends string | boolean>({ opciones, valor, onElegir, }: {
|
|
6
|
+
opciones: readonly {
|
|
7
|
+
valor: V;
|
|
8
|
+
texto: string;
|
|
9
|
+
}[];
|
|
10
|
+
valor: V | null;
|
|
11
|
+
onElegir: (valor: V) => void;
|
|
12
|
+
}) => import("react").JSX.Element;
|
|
13
|
+
export default OpcionesExcluyentes;
|
|
14
|
+
//# sourceMappingURL=OpcionesExcluyentes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpcionesExcluyentes.d.ts","sourceRoot":"","sources":["../../../../src/componentes/OpcionesExcluyentes.tsx"],"names":[],"mappings":"AAKA;;;GAGG;AACH,QAAA,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,GAAG,OAAO,EAAE,gCAItD;IACC,QAAQ,EAAE,SAAS;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjD,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;CAChC,gCA0BA,CAAC;AAkBF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** Lo que expo-router le pasa al `ErrorBoundary` de un layout. */
|
|
2
|
+
export interface PropsDePantallaDeError {
|
|
3
|
+
error: Error;
|
|
4
|
+
retry: () => Promise<void>;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Lo que se ve cuando una pantalla truena al pintarse, en vez de la pantalla roja (en desarrollo) o
|
|
8
|
+
* de una app que se cierra sola (en producción). Es el `ErrorBoundary` de expo-router: lo exporta el
|
|
9
|
+
* layout raíz, envuelto para pasarle `onError`.
|
|
10
|
+
*
|
|
11
|
+
* El error se reporta aquí (`onError`, a Sentry): React no lo deja llegar al manejador global una
|
|
12
|
+
* vez que una frontera lo atrapa. «Reintentar» vuelve a montar la pantalla.
|
|
13
|
+
*
|
|
14
|
+
* No usa nada de Paper ni de un proveedor: si lo que tronó es el layout raíz, aquí no hay
|
|
15
|
+
* proveedores.
|
|
16
|
+
*/
|
|
17
|
+
declare const PantallaDeError: ({ error, retry, onError, mensaje, }: PropsDePantallaDeError & {
|
|
18
|
+
onError?: (error: Error) => void;
|
|
19
|
+
/** Lo que se le dice a quien la ve: qué no se perdió y a quién avisar. */
|
|
20
|
+
mensaje?: string;
|
|
21
|
+
}) => import("react").JSX.Element;
|
|
22
|
+
export default PantallaDeError;
|
|
23
|
+
//# sourceMappingURL=PantallaDeError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PantallaDeError.d.ts","sourceRoot":"","sources":["../../../../src/componentes/PantallaDeError.tsx"],"names":[],"mappings":"AAQA,kEAAkE;AAClE,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;;;;;;;;;GAUG;AACH,QAAA,MAAM,eAAe,GAAI,qCAKtB,sBAAsB,GAAG;IACxB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,gCAqBA,CAAC;AAoBF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import MaterialCommunityIcons from "@expo/vector-icons/MaterialCommunityIcons";
|
|
2
|
+
import React from "react";
|
|
3
|
+
export interface Pestana<K extends string> {
|
|
4
|
+
key: K;
|
|
5
|
+
label: string;
|
|
6
|
+
icono: React.ComponentProps<typeof MaterialCommunityIcons>["name"];
|
|
7
|
+
}
|
|
8
|
+
interface Props<K extends string> {
|
|
9
|
+
pestanas: readonly Pestana<K>[];
|
|
10
|
+
activa: K;
|
|
11
|
+
onSelect: (key: K) => void;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* La tira de pestañas dentro de una pantalla: la misma de las listas de acv-wms (Cobranza,
|
|
15
|
+
* Importaciones), con su icono, y la elegida en rojo sobre un lavado rojo. Allá se repite en
|
|
16
|
+
* cada pantalla; aquí es un componente para que cada sección nueva la reutilice.
|
|
17
|
+
*
|
|
18
|
+
* Los iconos son de MaterialCommunityIcons, la familia de Paper, y no de MaterialIcons como en
|
|
19
|
+
* wms: es la que tiene `progress-clock`, el de Actual.
|
|
20
|
+
*
|
|
21
|
+
* **El icono va arriba del texto**, no al lado como en wms: con la letra del operador
|
|
22
|
+
* (`tipografia.etiqueta`) tres rótulos en fila no caben en un teléfono, y el botón más alto
|
|
23
|
+
* también se atina mejor con prisa. El rótulo no se encoge por debajo de `etiqueta`, que es el
|
|
24
|
+
* mínimo: con la letra muy grande, parte en otro renglón.
|
|
25
|
+
*/
|
|
26
|
+
declare const Pestanas: <K extends string>({ pestanas, activa, onSelect }: Props<K>) => React.JSX.Element;
|
|
27
|
+
export default Pestanas;
|
|
28
|
+
//# sourceMappingURL=Pestanas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pestanas.d.ts","sourceRoot":"","sources":["../../../../src/componentes/Pestanas.tsx"],"names":[],"mappings":"AAEA,OAAO,sBAAsB,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,MAAM;IACrC,GAAG,EAAE,CAAC,CAAC;IACP,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;CACtE;AAED,UAAU,KAAK,CAAC,CAAC,SAAS,MAAM;IAC5B,QAAQ,EAAE,SAAS,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC;IACV,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,EAAE,gCAAgC,KAAK,CAAC,CAAC,CAAC,sBA0B3E,CAAC;AA4BF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Rotulo.d.ts","sourceRoot":"","sources":["../../../../src/componentes/Rotulo.tsx"],"names":[],"mappings":"AAGA,wFAAwF;AACxF,QAAA,MAAM,MAAM,GAAI,cAAc;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,gCAGjD,CAAC;AAaF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
children: string;
|
|
3
|
+
/** El número de la sección, en un círculo rojo (gris si es cero). Sin él, sólo el rótulo. */
|
|
4
|
+
cuantas?: number;
|
|
5
|
+
/**
|
|
6
|
+
* La puerta a lo que la sección resume, a la derecha: «Editar ›», «Ver todos ›». Va en el rótulo
|
|
7
|
+
* y no como botón aparte para que no le robe un renglón a la lista.
|
|
8
|
+
*/
|
|
9
|
+
accion?: {
|
|
10
|
+
texto: string;
|
|
11
|
+
onPress: () => void;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* El rótulo de una sección de lista —«EN CURSO», «PENDIENTES 3»—, el `SectionLabel` de las
|
|
16
|
+
* revisiones de wms con la letra grande de las apps.
|
|
17
|
+
*/
|
|
18
|
+
declare const RotuloDeSeccion: ({ children, cuantas, accion }: Props) => import("react").JSX.Element;
|
|
19
|
+
export default RotuloDeSeccion;
|
|
20
|
+
//# sourceMappingURL=RotuloDeSeccion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RotuloDeSeccion.d.ts","sourceRoot":"","sources":["../../../../src/componentes/RotuloDeSeccion.tsx"],"names":[],"mappings":"AAIA,UAAU,KAAK;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;CACnD;AAED;;;GAGG;AACH,QAAA,MAAM,eAAe,GAAI,+BAA+B,KAAK,gCAiC5D,CAAC;AAkBF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type StyleProp, type ViewStyle } from "react-native";
|
|
2
|
+
/**
|
|
3
|
+
* La tarjeta de la casa, sola: la superficie, sus esquinas y su aire, con lo que se le ponga
|
|
4
|
+
* adentro. Es de lo que están hechas `TarjetaDeLista` y las fichas; una pantalla la usa para lo que
|
|
5
|
+
* no es un renglón de lista —un bloque de fotos, el resumen de un cobro, un grupo de campos—.
|
|
6
|
+
*
|
|
7
|
+
* **Sin sombra**: en oscuro casi no se ve, así que lo que separa la tarjeta del fondo es el color
|
|
8
|
+
* de la superficie y, en oscuro, un borde. Con `onPress` se toca y se atenúa al presionarla.
|
|
9
|
+
*/
|
|
10
|
+
export default function Tarjeta({ children, onPress, style, }: {
|
|
11
|
+
children: React.ReactNode;
|
|
12
|
+
onPress?: () => void;
|
|
13
|
+
style?: StyleProp<ViewStyle>;
|
|
14
|
+
}): import("react").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=Tarjeta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tarjeta.d.ts","sourceRoot":"","sources":["../../../../src/componentes/Tarjeta.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAG/E;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC5B,QAAQ,EACR,OAAO,EACP,KAAK,GACR,EAAE;IACC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAChC,+BAYA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Datos de solo lectura, cada uno con su rótulo arriba: la ficha de una estancia de caseta, la de
|
|
3
|
+
* un viaje o un tracto en la oficina.
|
|
4
|
+
*
|
|
5
|
+
* **En una pantalla ancha van a dos columnas**; en un teléfono, uno debajo del otro. Los vacíos no
|
|
6
|
+
* se pintan. `atenuada` es la de algo que ya no cuenta (un movimiento anulado).
|
|
7
|
+
*/
|
|
8
|
+
declare const TarjetaDeDatos: ({ datos, atenuada, }: {
|
|
9
|
+
datos: [string, string | null | undefined][];
|
|
10
|
+
atenuada?: boolean;
|
|
11
|
+
}) => import("react").JSX.Element;
|
|
12
|
+
export default TarjetaDeDatos;
|
|
13
|
+
//# sourceMappingURL=TarjetaDeDatos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TarjetaDeDatos.d.ts","sourceRoot":"","sources":["../../../../src/componentes/TarjetaDeDatos.tsx"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,QAAA,MAAM,cAAc,GAAI,sBAGrB;IACC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,gCAsBA,CAAC;AAmBF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { type FotoAVer } from "./Foto";
|
|
3
|
+
/** Una miniatura de la tira: qué se pinta, qué abre el visor y qué se puede hacer con ella. */
|
|
4
|
+
export interface FotoDeLaTira {
|
|
5
|
+
llave: string;
|
|
6
|
+
/** Un archivo que no es foto (un PDF) se ve con su icono y no entra al visor. */
|
|
7
|
+
esFoto: boolean;
|
|
8
|
+
miniatura: FotoAVer;
|
|
9
|
+
/** La foto completa, si la miniatura es una previa chica del servidor. Por omisión, ésa. */
|
|
10
|
+
completa?: FotoAVer;
|
|
11
|
+
/** El nombre del archivo: se ve en un documento que no es foto. */
|
|
12
|
+
nombre?: string;
|
|
13
|
+
/** Una nube en la esquina: verde si ya está en el servidor, ámbar si sigue en el teléfono. */
|
|
14
|
+
marca?: "enviada" | "sinSubir";
|
|
15
|
+
/** Con esto lleva su «×» para quitarla. */
|
|
16
|
+
onQuitar?: () => void;
|
|
17
|
+
/** Con esto, el visor lleva «descargar» en ella. Rechaza si no se pudo. */
|
|
18
|
+
onDescargar?: () => Promise<void>;
|
|
19
|
+
/** Lo que dice el lector de pantalla, si no basta con «Ver la foto». */
|
|
20
|
+
etiqueta?: string;
|
|
21
|
+
}
|
|
22
|
+
interface Props {
|
|
23
|
+
fotos: FotoDeLaTira[];
|
|
24
|
+
/** El lado de cada miniatura. */
|
|
25
|
+
lado: number;
|
|
26
|
+
/** En cuadrícula (una hoja, donde hay lugar) o en un renglón que se desliza a los lados. */
|
|
27
|
+
cuadricula?: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Unas fotos en miniatura; tocar una abre el visor en ésa y se desliza entre las demás, **en el
|
|
31
|
+
* mismo orden** que las miniaturas. Quien la usa arma las piezas con lo suyo (lo del servidor
|
|
32
|
+
* primero y lo del teléfono después, por ejemplo) y les pone su marca y sus acciones.
|
|
33
|
+
*/
|
|
34
|
+
declare const TiraDeFotos: ({ fotos: piezas, lado, cuadricula }: Props) => React.JSX.Element | null;
|
|
35
|
+
export default TiraDeFotos;
|
|
36
|
+
//# sourceMappingURL=TiraDeFotos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TiraDeFotos.d.ts","sourceRoot":"","sources":["../../../../src/componentes/TiraDeFotos.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAG7C,+FAA+F;AAC/F,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,QAAQ,CAAC;IACpB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8FAA8F;IAC9F,KAAK,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,KAAK;IACX,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,4FAA4F;IAC5F,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,QAAA,MAAM,WAAW,GAAI,qCAA6C,KAAK,6BAoFtE,CAAC;AA+DF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { type FotoAVer } from "./Foto";
|
|
3
|
+
export type { FotoAVer };
|
|
4
|
+
interface Props {
|
|
5
|
+
/** Las fotos, en el orden de sus miniaturas. Los archivos que no son foto no entran. */
|
|
6
|
+
fotos: FotoAVer[];
|
|
7
|
+
/** La que se tocó; `null` cierra el visor. */
|
|
8
|
+
inicio: number | null;
|
|
9
|
+
onCerrar: () => void;
|
|
10
|
+
/**
|
|
11
|
+
* Con esto, la barra lleva «descargar» para la foto que se ve.
|
|
12
|
+
* Recibe su lugar en `fotos`; rechaza si no se pudo.
|
|
13
|
+
*/
|
|
14
|
+
onDescargar?: (indice: number) => Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Unas fotos a pantalla completa, sobre fondo negro: se abre en la que se tocó y se pasa a la
|
|
18
|
+
* siguiente o la anterior deslizando a los lados, con «2 de 4» arriba. Mezcla las subidas y las del
|
|
19
|
+
* teléfono. Se cierra con la X o con atrás. Lo abre `TiraDeFotos`.
|
|
20
|
+
*/
|
|
21
|
+
declare const VisorDeFoto: ({ fotos, inicio, onCerrar, onDescargar }: Props) => React.JSX.Element;
|
|
22
|
+
export default VisorDeFoto;
|
|
23
|
+
//# sourceMappingURL=VisorDeFoto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VisorDeFoto.d.ts","sourceRoot":"","sources":["../../../../src/componentes/VisorDeFoto.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,OAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAE7C,YAAY,EAAE,QAAQ,EAAE,CAAC;AAEzB,UAAU,KAAK;IACX,wFAAwF;IACxF,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAYD;;;;GAIG;AACH,QAAA,MAAM,WAAW,GAAI,0CAA0C,KAAK,sBAmBnE,CAAC;AAmHF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Pinta los diálogos que abre `mostrarDialogo` (`dialogos.ts`), de uno en uno. Se monta una
|
|
4
|
+
* sola vez, en el layout raíz de la app.
|
|
5
|
+
*
|
|
6
|
+
* Es el diálogo de la casa —el `ConfirmDialog` de las revisiones de wms— con la letra grande de las apps:
|
|
7
|
+
* una tarjeta blanca sobre fondo oscuro, el icono arriba, título y mensaje sin recortar, y los
|
|
8
|
+
* botones **apilados a lo ancho**: lado a lado no caben con la letra al 180%. «Cancelar» va como
|
|
9
|
+
* texto discreto al pie. Atrás y el toque fuera cierran como cancelar, salvo que el diálogo diga
|
|
10
|
+
* que no es cancelable.
|
|
11
|
+
*/
|
|
12
|
+
declare const HostDeDialogos: () => React.JSX.Element | null;
|
|
13
|
+
export default HostDeDialogos;
|
|
14
|
+
//# sourceMappingURL=HostDeDialogos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HostDeDialogos.d.ts","sourceRoot":"","sources":["../../../../src/dialogos/HostDeDialogos.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;;;;;GASG;AACH,QAAA,MAAM,cAAc,gCA2EnB,CAAC;AAyEF,eAAe,cAAc,CAAC"}
|