@acvl/mobile-components 0.0.0-stage → 0.0.2
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 +147 -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/camara/CampoDeFotos.js +124 -0
- package/lib/module/camara/CampoDeFotos.js.map +1 -0
- package/lib/module/camara/elegir.js +104 -0
- package/lib/module/camara/elegir.js.map +1 -0
- package/lib/module/camara/index.js +10 -0
- package/lib/module/camara/index.js.map +1 -0
- package/lib/module/camara/reducir.js +93 -0
- package/lib/module/camara/reducir.js.map +1 -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 +63 -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 +72 -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 +501 -0
- package/lib/module/formularios/campos.js.map +1 -0
- package/lib/module/formularios/controlados.js +199 -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 +105 -0
- package/lib/module/fotos/elegir.js.map +1 -0
- package/lib/module/fotos/index.js +9 -0
- package/lib/module/fotos/index.js.map +1 -0
- package/lib/module/hoja/HojaDeLista.js +211 -0
- package/lib/module/hoja/HojaDeLista.js.map +1 -0
- package/lib/module/hoja/HojaInferior.js +112 -0
- package/lib/module/hoja/HojaInferior.js.map +1 -0
- package/lib/module/hoja/index.js +8 -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 +67 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/listas/HojaDeFiltros.js +270 -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 +666 -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/PantallaDeHistorial.js +328 -0
- package/lib/module/pantallas/PantallaDeHistorial.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/camara/CampoDeFotos.d.ts +30 -0
- package/lib/typescript/src/camara/CampoDeFotos.d.ts.map +1 -0
- package/lib/typescript/src/camara/elegir.d.ts +47 -0
- package/lib/typescript/src/camara/elegir.d.ts.map +1 -0
- package/lib/typescript/src/camara/index.d.ts +4 -0
- package/lib/typescript/src/camara/index.d.ts.map +1 -0
- package/lib/typescript/src/camara/reducir.d.ts +32 -0
- package/lib/typescript/src/camara/reducir.d.ts.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 +25 -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 +24 -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 +113 -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 +28 -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/hoja/HojaDeLista.d.ts +50 -0
- package/lib/typescript/src/hoja/HojaDeLista.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 +4 -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 +46 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/listas/HojaDeFiltros.d.ts +76 -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 +157 -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/PantallaDeHistorial.d.ts +65 -0
- package/lib/typescript/src/pantallas/PantallaDeHistorial.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 +140 -5
- package/src/camara/CampoDeFotos.tsx +132 -0
- package/src/camara/elegir.ts +113 -0
- package/src/camara/index.ts +15 -0
- package/src/camara/reducir.ts +87 -0
- 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 +58 -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 +60 -0
- package/src/formularios/SelectorDeOpcion.tsx +407 -0
- package/src/formularios/TextoDeAccesoControlado.tsx +72 -0
- package/src/formularios/campos.tsx +497 -0
- package/src/formularios/controlados.tsx +200 -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 +116 -0
- package/src/fotos/index.ts +6 -0
- package/src/hoja/HojaDeLista.tsx +214 -0
- package/src/hoja/HojaInferior.tsx +103 -0
- package/src/hoja/index.ts +5 -0
- package/src/hoja/useMasDeLaFicha.tsx +63 -0
- package/src/index.ts +151 -0
- package/src/listas/HojaDeFiltros.tsx +286 -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 +670 -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/PantallaDeHistorial.tsx +293 -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,270 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import BotonGrande from "../componentes/BotonGrande";
|
|
4
|
+
import IconoDeRenglon from "../componentes/IconoDeRenglon";
|
|
5
|
+
import { crearEstilos, renglon, tipografia, usePaleta } from "../tema";
|
|
6
|
+
import { Text } from "../texto";
|
|
7
|
+
import MaterialIcons from "@expo/vector-icons/MaterialIcons";
|
|
8
|
+
import React from "react";
|
|
9
|
+
import { Modal, Pressable, ScrollView, Switch, TouchableOpacity, View } from "react-native";
|
|
10
|
+
import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* La hoja de filtros y orden de una lista (viajes, recursos), a pantalla completa
|
|
14
|
+
* como la del mapa: con la letra al 180% un menú deja ver dos opciones. Se aplica al tocar, sin
|
|
15
|
+
* «Aplicar»; el botón de abajo dice cuántos renglones quedan. Cada lista pone sus secciones.
|
|
16
|
+
*/
|
|
17
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
18
|
+
export default function HojaDeFiltros({
|
|
19
|
+
abierta,
|
|
20
|
+
onCerrar,
|
|
21
|
+
hayAlgo,
|
|
22
|
+
onQuitar,
|
|
23
|
+
visibles,
|
|
24
|
+
nombres,
|
|
25
|
+
children
|
|
26
|
+
}) {
|
|
27
|
+
const c = usePaleta();
|
|
28
|
+
const styles = useStyles();
|
|
29
|
+
const insets = useSafeAreaInsets();
|
|
30
|
+
return /*#__PURE__*/_jsx(Modal, {
|
|
31
|
+
visible: abierta,
|
|
32
|
+
animationType: "slide",
|
|
33
|
+
onRequestClose: onCerrar,
|
|
34
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
35
|
+
style: [styles.hoja, {
|
|
36
|
+
paddingTop: insets.top + 10
|
|
37
|
+
}],
|
|
38
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
39
|
+
style: styles.cabecera,
|
|
40
|
+
children: [/*#__PURE__*/_jsx(TouchableOpacity, {
|
|
41
|
+
onPress: onCerrar,
|
|
42
|
+
accessibilityLabel: "Cerrar",
|
|
43
|
+
children: /*#__PURE__*/_jsx(MaterialIcons, {
|
|
44
|
+
name: "arrow-back",
|
|
45
|
+
size: 45,
|
|
46
|
+
color: c.primary
|
|
47
|
+
})
|
|
48
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
49
|
+
style: styles.titulo,
|
|
50
|
+
children: "Filtros"
|
|
51
|
+
}), hayAlgo ? /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
52
|
+
onPress: onQuitar,
|
|
53
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
54
|
+
style: styles.limpiar,
|
|
55
|
+
children: "Quitar"
|
|
56
|
+
})
|
|
57
|
+
}) : null]
|
|
58
|
+
}), /*#__PURE__*/_jsx(ScrollView, {
|
|
59
|
+
contentContainerStyle: styles.contenido,
|
|
60
|
+
children: children
|
|
61
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
62
|
+
style: {
|
|
63
|
+
paddingBottom: insets.bottom + 16
|
|
64
|
+
},
|
|
65
|
+
children: /*#__PURE__*/_jsx(BotonGrande, {
|
|
66
|
+
onPress: onCerrar,
|
|
67
|
+
children: visibles === null ? "Listo" : `Ver ${visibles} ${visibles === 1 ? nombres[0] : nombres[1]}`
|
|
68
|
+
})
|
|
69
|
+
})]
|
|
70
|
+
})
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/** El rótulo de una sección de la hoja. */
|
|
75
|
+
export function SeccionDeFiltros({
|
|
76
|
+
children
|
|
77
|
+
}) {
|
|
78
|
+
const styles = useStyles();
|
|
79
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
80
|
+
style: styles.seccion,
|
|
81
|
+
children: children
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/** Una opción como renglón: casilla (de varias) o círculo (de una), como la hoja del mapa. */
|
|
86
|
+
export function OpcionDeFiltro({
|
|
87
|
+
texto,
|
|
88
|
+
elegida,
|
|
89
|
+
unica = false,
|
|
90
|
+
onPress
|
|
91
|
+
}) {
|
|
92
|
+
const c = usePaleta();
|
|
93
|
+
const styles = useStyles();
|
|
94
|
+
return /*#__PURE__*/_jsxs(Pressable, {
|
|
95
|
+
onPress: onPress,
|
|
96
|
+
accessibilityRole: unica ? "radio" : "checkbox",
|
|
97
|
+
accessibilityState: {
|
|
98
|
+
checked: elegida
|
|
99
|
+
},
|
|
100
|
+
style: [styles.opcion, elegida && styles.opcionElegida],
|
|
101
|
+
children: [/*#__PURE__*/_jsx(IconoDeRenglon, {
|
|
102
|
+
name: unica ? elegida ? "radiobox-marked" : "radiobox-blank" : elegida ? "checkbox-marked" : "checkbox-blank-outline",
|
|
103
|
+
fontSize: tipografia.subtitulo,
|
|
104
|
+
color: elegida ? c.primary : c.secondary
|
|
105
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
106
|
+
style: styles.opcionTexto,
|
|
107
|
+
children: texto
|
|
108
|
+
})]
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/** Varias opciones de un mismo filtro, cada una se prende y se apaga sola. */
|
|
113
|
+
export function OpcionesMultiples({
|
|
114
|
+
titulo,
|
|
115
|
+
opciones,
|
|
116
|
+
elegidas,
|
|
117
|
+
onCambiar
|
|
118
|
+
}) {
|
|
119
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
120
|
+
children: [/*#__PURE__*/_jsx(SeccionDeFiltros, {
|
|
121
|
+
children: titulo
|
|
122
|
+
}), opciones.map(o => /*#__PURE__*/_jsx(OpcionDeFiltro, {
|
|
123
|
+
texto: o.label,
|
|
124
|
+
elegida: elegidas.includes(o.value),
|
|
125
|
+
onPress: () => onCambiar(elegidas.includes(o.value) ? elegidas.filter(v => v !== o.value) : [...elegidas, o.value])
|
|
126
|
+
}, String(o.value)))]
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/** Un filtro de sí o no: el renglón entero lo alterna, no sólo el interruptor. */
|
|
131
|
+
export function InterruptorDeFiltro({
|
|
132
|
+
texto,
|
|
133
|
+
prendido,
|
|
134
|
+
onCambiar
|
|
135
|
+
}) {
|
|
136
|
+
const c = usePaleta();
|
|
137
|
+
const styles = useStyles();
|
|
138
|
+
return /*#__PURE__*/_jsxs(Pressable, {
|
|
139
|
+
onPress: () => onCambiar(!prendido),
|
|
140
|
+
accessibilityRole: "switch",
|
|
141
|
+
accessibilityState: {
|
|
142
|
+
checked: prendido
|
|
143
|
+
},
|
|
144
|
+
style: [styles.opcion, styles.interruptor, prendido && styles.opcionElegida],
|
|
145
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
146
|
+
style: styles.opcionTexto,
|
|
147
|
+
children: texto
|
|
148
|
+
}), /*#__PURE__*/_jsx(Switch, {
|
|
149
|
+
value: prendido,
|
|
150
|
+
onValueChange: onCambiar,
|
|
151
|
+
trackColor: {
|
|
152
|
+
true: c.primaryLight
|
|
153
|
+
},
|
|
154
|
+
thumbColor: prendido ? c.primary : undefined
|
|
155
|
+
})]
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/** Un campo por el que se ordena una lista. */
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* «Ordenar por» y su sentido. `orden` es el `ordering` que se manda (`-codigo`), o `undefined` si
|
|
163
|
+
* se deja el del servidor; con `porOmision`, ese «sin orden» se ofrece como opción.
|
|
164
|
+
*/
|
|
165
|
+
export function OrdenDeLista({
|
|
166
|
+
campos,
|
|
167
|
+
orden,
|
|
168
|
+
onOrdenar,
|
|
169
|
+
porOmision
|
|
170
|
+
}) {
|
|
171
|
+
const descendente = orden?.startsWith("-") ?? false;
|
|
172
|
+
const campo = orden?.replace(/^-/, "");
|
|
173
|
+
const elegido = campos.find(c => c.value === campo);
|
|
174
|
+
const sentidos = elegido?.sentidos ?? {
|
|
175
|
+
asc: "Ascendente",
|
|
176
|
+
desc: "Descendente"
|
|
177
|
+
};
|
|
178
|
+
// El sentido con el que arranca va primero: en una fecha se lee «Recientes primero» antes
|
|
179
|
+
// que «Antiguos primero».
|
|
180
|
+
const ordenDeSentidos = elegido?.primero === "desc" ? ["desc", "asc"] : ["asc", "desc"];
|
|
181
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
182
|
+
children: [/*#__PURE__*/_jsx(SeccionDeFiltros, {
|
|
183
|
+
children: "Ordenar por"
|
|
184
|
+
}), porOmision ? /*#__PURE__*/_jsx(OpcionDeFiltro, {
|
|
185
|
+
texto: porOmision,
|
|
186
|
+
unica: true,
|
|
187
|
+
elegida: orden === undefined,
|
|
188
|
+
onPress: () => onOrdenar(null)
|
|
189
|
+
}) : null, campos.map(c => /*#__PURE__*/_jsx(OpcionDeFiltro, {
|
|
190
|
+
texto: c.label,
|
|
191
|
+
unica: true,
|
|
192
|
+
elegida: campo === c.value,
|
|
193
|
+
onPress: () => {
|
|
194
|
+
// Volver a tocar el elegido no le cambia el sentido.
|
|
195
|
+
if (campo === c.value) return;
|
|
196
|
+
const desc = c.primero ? c.primero === "desc" : descendente;
|
|
197
|
+
onOrdenar(`${desc ? "-" : ""}${c.value}`);
|
|
198
|
+
}
|
|
199
|
+
}, c.value)), campo !== undefined ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
200
|
+
children: [/*#__PURE__*/_jsx(SeccionDeFiltros, {
|
|
201
|
+
children: "Sentido"
|
|
202
|
+
}), ordenDeSentidos.map(sentido => /*#__PURE__*/_jsx(OpcionDeFiltro, {
|
|
203
|
+
texto: sentidos[sentido],
|
|
204
|
+
unica: true,
|
|
205
|
+
elegida: descendente === (sentido === "desc"),
|
|
206
|
+
onPress: () => onOrdenar(sentido === "desc" ? `-${campo}` : campo)
|
|
207
|
+
}, sentido))]
|
|
208
|
+
}) : null]
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
const useStyles = crearEstilos(c => ({
|
|
212
|
+
hoja: {
|
|
213
|
+
flex: 1,
|
|
214
|
+
backgroundColor: c.fondo,
|
|
215
|
+
paddingHorizontal: 18,
|
|
216
|
+
gap: 12
|
|
217
|
+
},
|
|
218
|
+
cabecera: {
|
|
219
|
+
flexDirection: "row",
|
|
220
|
+
alignItems: "center",
|
|
221
|
+
gap: 8
|
|
222
|
+
},
|
|
223
|
+
titulo: {
|
|
224
|
+
flex: 1,
|
|
225
|
+
fontSize: tipografia.titulo,
|
|
226
|
+
fontWeight: "900",
|
|
227
|
+
color: c.primary
|
|
228
|
+
},
|
|
229
|
+
limpiar: {
|
|
230
|
+
...renglon(tipografia.cuerpo),
|
|
231
|
+
fontWeight: "700",
|
|
232
|
+
color: c.primary
|
|
233
|
+
},
|
|
234
|
+
contenido: {
|
|
235
|
+
gap: 8,
|
|
236
|
+
paddingBottom: 16
|
|
237
|
+
},
|
|
238
|
+
seccion: {
|
|
239
|
+
...renglon(tipografia.etiqueta),
|
|
240
|
+
fontWeight: "800",
|
|
241
|
+
color: c.secondary,
|
|
242
|
+
textTransform: "uppercase",
|
|
243
|
+
letterSpacing: 0.8,
|
|
244
|
+
marginTop: 10
|
|
245
|
+
},
|
|
246
|
+
opcion: {
|
|
247
|
+
flexDirection: "row",
|
|
248
|
+
alignItems: "flex-start",
|
|
249
|
+
gap: 10,
|
|
250
|
+
backgroundColor: c.superficie,
|
|
251
|
+
borderRadius: 14,
|
|
252
|
+
borderWidth: 2,
|
|
253
|
+
borderColor: c.secondaryLighter,
|
|
254
|
+
padding: 12
|
|
255
|
+
},
|
|
256
|
+
opcionElegida: {
|
|
257
|
+
borderColor: c.primary,
|
|
258
|
+
backgroundColor: c.primaryWash
|
|
259
|
+
},
|
|
260
|
+
interruptor: {
|
|
261
|
+
alignItems: "center"
|
|
262
|
+
},
|
|
263
|
+
opcionTexto: {
|
|
264
|
+
flex: 1,
|
|
265
|
+
...renglon(tipografia.subtitulo),
|
|
266
|
+
fontWeight: "700",
|
|
267
|
+
color: c.texto
|
|
268
|
+
}
|
|
269
|
+
}));
|
|
270
|
+
//# sourceMappingURL=HojaDeFiltros.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BotonGrande","IconoDeRenglon","crearEstilos","renglon","tipografia","usePaleta","Text","MaterialIcons","React","Modal","Pressable","ScrollView","Switch","TouchableOpacity","View","useSafeAreaInsets","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","HojaDeFiltros","abierta","onCerrar","hayAlgo","onQuitar","visibles","nombres","children","c","styles","useStyles","insets","visible","animationType","onRequestClose","style","hoja","paddingTop","top","cabecera","onPress","accessibilityLabel","name","size","color","primary","titulo","limpiar","contentContainerStyle","contenido","paddingBottom","bottom","SeccionDeFiltros","seccion","OpcionDeFiltro","texto","elegida","unica","accessibilityRole","accessibilityState","checked","opcion","opcionElegida","fontSize","subtitulo","secondary","opcionTexto","OpcionesMultiples","opciones","elegidas","onCambiar","map","o","label","includes","value","filter","v","String","InterruptorDeFiltro","prendido","interruptor","onValueChange","trackColor","true","primaryLight","thumbColor","undefined","OrdenDeLista","campos","orden","onOrdenar","porOmision","descendente","startsWith","campo","replace","elegido","find","sentidos","asc","desc","ordenDeSentidos","primero","sentido","flex","backgroundColor","fondo","paddingHorizontal","gap","flexDirection","alignItems","fontWeight","cuerpo","etiqueta","textTransform","letterSpacing","marginTop","superficie","borderRadius","borderWidth","borderColor","secondaryLighter","padding","primaryWash"],"sourceRoot":"../../../src","sources":["listas/HojaDeFiltros.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import BotonGrande from "../componentes/BotonGrande";
|
|
4
|
+
import EstadoVacio from "../componentes/EstadoVacio";
|
|
5
|
+
import { crearEstilos, renglon, tipografia, usePaleta } from "../tema";
|
|
6
|
+
import { HUECO_DE_LA_BARRA } from "../navegacion/BarraDePestanas";
|
|
7
|
+
import { Text } from "../texto";
|
|
8
|
+
import React from "react";
|
|
9
|
+
import { ActivityIndicator, FlatList, RefreshControl } from "react-native";
|
|
10
|
+
import { renglonesDe } from "./paginado";
|
|
11
|
+
|
|
12
|
+
/** Lo que la lista lee de un `use…InfiniteQuery` de RTK Query. */
|
|
13
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
|
+
/**
|
|
15
|
+
* Una lista **paginada con scroll infinito**: pide la página siguiente al acercarse
|
|
16
|
+
* al final, se refresca jalando hacia abajo y dice cuántos hay en total. Lo que la llena es de
|
|
17
|
+
* quien la usa (`renderItem`); el buscador y las pestañas van arriba, fuera de ella.
|
|
18
|
+
*
|
|
19
|
+
* Deja libre lo que tapa la barra de pestañas, que flota sobre la pantalla.
|
|
20
|
+
*/
|
|
21
|
+
export default function ListaPaginada({
|
|
22
|
+
consulta,
|
|
23
|
+
renderItem,
|
|
24
|
+
llave,
|
|
25
|
+
vacio,
|
|
26
|
+
nombres
|
|
27
|
+
}) {
|
|
28
|
+
const c = usePaleta();
|
|
29
|
+
const styles = useStyles();
|
|
30
|
+
const renglones = renglonesDe(consulta.data);
|
|
31
|
+
const total = consulta.data?.pages[0]?.count;
|
|
32
|
+
if (consulta.isLoading) {
|
|
33
|
+
return /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
34
|
+
color: c.primary,
|
|
35
|
+
size: "large",
|
|
36
|
+
style: styles.cargando
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
if (consulta.isError && !consulta.data) {
|
|
40
|
+
return /*#__PURE__*/_jsx(EstadoVacio, {
|
|
41
|
+
icono: "cloud-off-outline",
|
|
42
|
+
titulo: "No se pudo cargar",
|
|
43
|
+
texto: "Revisa tu se\xF1al e intenta de nuevo.",
|
|
44
|
+
children: /*#__PURE__*/_jsx(BotonGrande, {
|
|
45
|
+
icono: "refresh",
|
|
46
|
+
onPress: () => consulta.refetch(),
|
|
47
|
+
children: "Reintentar"
|
|
48
|
+
})
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return /*#__PURE__*/_jsx(FlatList, {
|
|
52
|
+
data: renglones,
|
|
53
|
+
keyExtractor: item => String(llave(item)),
|
|
54
|
+
renderItem: ({
|
|
55
|
+
item
|
|
56
|
+
}) => renderItem(item),
|
|
57
|
+
contentContainerStyle: [styles.contenido, !renglones.length && styles.vacia],
|
|
58
|
+
ListHeaderComponent: total !== undefined && renglones.length ? /*#__PURE__*/_jsx(Text, {
|
|
59
|
+
style: styles.total,
|
|
60
|
+
children: total === 1 ? `1 ${nombres[0]}` : `${total} ${nombres[1]}`
|
|
61
|
+
}) : null,
|
|
62
|
+
ListEmptyComponent: /*#__PURE__*/_jsx(EstadoVacio, {
|
|
63
|
+
icono: vacio.icono,
|
|
64
|
+
titulo: vacio.titulo,
|
|
65
|
+
texto: vacio.texto
|
|
66
|
+
}),
|
|
67
|
+
ListFooterComponent: consulta.isFetchingNextPage ? /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
68
|
+
color: c.primary,
|
|
69
|
+
style: styles.mas
|
|
70
|
+
}) : null,
|
|
71
|
+
onEndReachedThreshold: 0.5,
|
|
72
|
+
onEndReached: () => {
|
|
73
|
+
if (consulta.hasNextPage && !consulta.isFetching) consulta.fetchNextPage();
|
|
74
|
+
},
|
|
75
|
+
refreshControl: /*#__PURE__*/_jsx(RefreshControl, {
|
|
76
|
+
refreshing: consulta.isFetching && !consulta.isFetchingNextPage,
|
|
77
|
+
onRefresh: () => consulta.refetch(),
|
|
78
|
+
colors: [c.primary],
|
|
79
|
+
progressBackgroundColor: c.superficie
|
|
80
|
+
}),
|
|
81
|
+
keyboardShouldPersistTaps: "handled"
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
const useStyles = crearEstilos(c => ({
|
|
85
|
+
cargando: {
|
|
86
|
+
marginTop: 40
|
|
87
|
+
},
|
|
88
|
+
contenido: {
|
|
89
|
+
gap: 10,
|
|
90
|
+
paddingBottom: HUECO_DE_LA_BARRA
|
|
91
|
+
},
|
|
92
|
+
vacia: {
|
|
93
|
+
flexGrow: 1
|
|
94
|
+
},
|
|
95
|
+
total: {
|
|
96
|
+
...renglon(tipografia.secundario),
|
|
97
|
+
color: c.secondary
|
|
98
|
+
},
|
|
99
|
+
mas: {
|
|
100
|
+
marginVertical: 16
|
|
101
|
+
}
|
|
102
|
+
}));
|
|
103
|
+
//# sourceMappingURL=ListaPaginada.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BotonGrande","EstadoVacio","crearEstilos","renglon","tipografia","usePaleta","HUECO_DE_LA_BARRA","Text","React","ActivityIndicator","FlatList","RefreshControl","renglonesDe","jsx","_jsx","ListaPaginada","consulta","renderItem","llave","vacio","nombres","c","styles","useStyles","renglones","data","total","pages","count","isLoading","color","primary","size","style","cargando","isError","icono","titulo","texto","children","onPress","refetch","keyExtractor","item","String","contentContainerStyle","contenido","length","vacia","ListHeaderComponent","undefined","ListEmptyComponent","ListFooterComponent","isFetchingNextPage","mas","onEndReachedThreshold","onEndReached","hasNextPage","isFetching","fetchNextPage","refreshControl","refreshing","onRefresh","colors","progressBackgroundColor","superficie","keyboardShouldPersistTaps","marginTop","gap","paddingBottom","flexGrow","secundario","secondary","marginVertical"],"sourceRoot":"../../../src","sources":["listas/ListaPaginada.tsx"],"mappings":";;AAAA,OAAOA,WAAW,MAAM,4BAA4B;AACpD,OAAOC,WAAW,MAAM,4BAA4B;AACpD,SAASC,YAAY,EAAEC,OAAO,EAAEC,UAAU,EAAEC,SAAS,QAAQ,SAAS;AACtE,SAASC,iBAAiB,QAAQ,+BAA+B;AACjE,SAASC,IAAI,QAAQ,UAAU;AAE/B,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,iBAAiB,EAAEC,QAAQ,EAAEC,cAAc,QAAQ,cAAc;AAC1E,SAASC,WAAW,QAAqB,YAAY;;AAErD;AAAA,SAAAC,GAAA,IAAAC,IAAA;AA0BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,aAAaA,CAAI;EACrCC,QAAQ;EACRC,UAAU;EACVC,KAAK;EACLC,KAAK;EACLC;AACM,CAAC,EAAE;EACT,MAAMC,CAAC,GAAGhB,SAAS,CAAC,CAAC;EACrB,MAAMiB,MAAM,GAAGC,SAAS,CAAC,CAAC;EAC1B,MAAMC,SAAS,GAAGZ,WAAW,CAACI,QAAQ,CAACS,IAAI,CAAC;EAC5C,MAAMC,KAAK,GAAGV,QAAQ,CAACS,IAAI,EAAEE,KAAK,CAAC,CAAC,CAAC,EAAEC,KAAK;EAE5C,IAAIZ,QAAQ,CAACa,SAAS,EAAE;IACpB,oBAAOf,IAAA,CAACL,iBAAiB;MAACqB,KAAK,EAAET,CAAC,CAACU,OAAQ;MAACC,IAAI,EAAC,OAAO;MAACC,KAAK,EAAEX,MAAM,CAACY;IAAS,CAAE,CAAC;EACvF;EACA,IAAIlB,QAAQ,CAACmB,OAAO,IAAI,CAACnB,QAAQ,CAACS,IAAI,EAAE;IACpC,oBACIX,IAAA,CAACb,WAAW;MACRmC,KAAK,EAAC,mBAAmB;MACzBC,MAAM,EAAC,mBAAmB;MAC1BC,KAAK,EAAC,wCAAqC;MAAAC,QAAA,eAE3CzB,IAAA,CAACd,WAAW;QAACoC,KAAK,EAAC,SAAS;QAACI,OAAO,EAAEA,CAAA,KAAMxB,QAAQ,CAACyB,OAAO,CAAC,CAAE;QAAAF,QAAA,EAAC;MAEhE,CAAa;IAAC,CACL,CAAC;EAEtB;EAEA,oBACIzB,IAAA,CAACJ,QAAQ;IACLe,IAAI,EAAED,SAAU;IAChBkB,YAAY,EAAGC,IAAI,IAAKC,MAAM,CAAC1B,KAAK,CAACyB,IAAI,CAAC,CAAE;IAC5C1B,UAAU,EAAEA,CAAC;MAAE0B;IAAK,CAAC,KAAK1B,UAAU,CAAC0B,IAAI,CAAE;IAC3CE,qBAAqB,EAAE,CAACvB,MAAM,CAACwB,SAAS,EAAE,CAACtB,SAAS,CAACuB,MAAM,IAAIzB,MAAM,CAAC0B,KAAK,CAAE;IAC7EC,mBAAmB,EACfvB,KAAK,KAAKwB,SAAS,IAAI1B,SAAS,CAACuB,MAAM,gBACnCjC,IAAA,CAACP,IAAI;MAAC0B,KAAK,EAAEX,MAAM,CAACI,KAAM;MAAAa,QAAA,EACrBb,KAAK,KAAK,CAAC,GAAG,KAAKN,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,GAAGM,KAAK,IAAIN,OAAO,CAAC,CAAC,CAAC;IAAE,CACzD,CAAC,GACP,IACP;IACD+B,kBAAkB,eACdrC,IAAA,CAACb,WAAW;MAACmC,KAAK,EAAEjB,KAAK,CAACiB,KAAM;MAACC,MAAM,EAAElB,KAAK,CAACkB,MAAO;MAACC,KAAK,EAAEnB,KAAK,CAACmB;IAAM,CAAE,CAC/E;IACDc,mBAAmB,EACfpC,QAAQ,CAACqC,kBAAkB,gBACvBvC,IAAA,CAACL,iBAAiB;MAACqB,KAAK,EAAET,CAAC,CAACU,OAAQ;MAACE,KAAK,EAAEX,MAAM,CAACgC;IAAI,CAAE,CAAC,GAC1D,IACP;IACDC,qBAAqB,EAAE,GAAI;IAC3BC,YAAY,EAAEA,CAAA,KAAM;MAChB,IAAIxC,QAAQ,CAACyC,WAAW,IAAI,CAACzC,QAAQ,CAAC0C,UAAU,EAAE1C,QAAQ,CAAC2C,aAAa,CAAC,CAAC;IAC9E,CAAE;IACFC,cAAc,eACV9C,IAAA,CAACH,cAAc;MACXkD,UAAU,EAAE7C,QAAQ,CAAC0C,UAAU,IAAI,CAAC1C,QAAQ,CAACqC,kBAAmB;MAChES,SAAS,EAAEA,CAAA,KAAM9C,QAAQ,CAACyB,OAAO,CAAC,CAAE;MACpCsB,MAAM,EAAE,CAAC1C,CAAC,CAACU,OAAO,CAAE;MACpBiC,uBAAuB,EAAE3C,CAAC,CAAC4C;IAAW,CACzC,CACJ;IACDC,yBAAyB,EAAC;EAAS,CACtC,CAAC;AAEV;AAEA,MAAM3C,SAAS,GAAGrB,YAAY,CAAEmB,CAAC,KAAM;EACnCa,QAAQ,EAAE;IAAEiC,SAAS,EAAE;EAAG,CAAC;EAC3BrB,SAAS,EAAE;IAAEsB,GAAG,EAAE,EAAE;IAAEC,aAAa,EAAE/D;EAAkB,CAAC;EACxD0C,KAAK,EAAE;IAAEsB,QAAQ,EAAE;EAAE,CAAC;EACtB5C,KAAK,EAAE;IAAE,GAAGvB,OAAO,CAACC,UAAU,CAACmE,UAAU,CAAC;IAAEzC,KAAK,EAAET,CAAC,CAACmD;EAAU,CAAC;EAChElB,GAAG,EAAE;IAAEmB,cAAc,EAAE;EAAG;AAC9B,CAAC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { crearEstilos, renglon, tipografia } from "../tema";
|
|
4
|
+
import { Text } from "../texto";
|
|
5
|
+
import MaterialCommunityIcons from "@expo/vector-icons/MaterialCommunityIcons";
|
|
6
|
+
import * as Haptics from "expo-haptics";
|
|
7
|
+
import React, { useRef } from "react";
|
|
8
|
+
import { View } from "react-native";
|
|
9
|
+
import ReanimatedSwipeable, { SwipeDirection } from "react-native-gesture-handler/ReanimatedSwipeable";
|
|
10
|
+
|
|
11
|
+
/** Lo que mide el panel que asoma al deslizar, y desde dónde ya cuenta como hecho. */
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
13
|
+
const ANCHO = 132;
|
|
14
|
+
const UMBRAL = 96;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* El color del panel. **Fijos y no de la paleta**: es un relleno con letra blanca, y los tonos del
|
|
18
|
+
* modo oscuro son claros, para leerse como texto; con blanco encima no se leerían.
|
|
19
|
+
*/
|
|
20
|
+
const COLORES = {
|
|
21
|
+
exito: "#2e7d32",
|
|
22
|
+
info: "#1565c0",
|
|
23
|
+
peligro: "#c62828"
|
|
24
|
+
};
|
|
25
|
+
const Panel = ({
|
|
26
|
+
accion,
|
|
27
|
+
lado
|
|
28
|
+
}) => {
|
|
29
|
+
const styles = useStyles();
|
|
30
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
31
|
+
style: [styles.panel, {
|
|
32
|
+
backgroundColor: COLORES[accion.color]
|
|
33
|
+
}, lado === "izquierda" ? styles.izquierda : styles.derecha],
|
|
34
|
+
children: [/*#__PURE__*/_jsx(MaterialCommunityIcons, {
|
|
35
|
+
name: accion.icono,
|
|
36
|
+
size: 26,
|
|
37
|
+
color: "#ffffff"
|
|
38
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
39
|
+
style: styles.etiqueta,
|
|
40
|
+
children: accion.etiqueta
|
|
41
|
+
})]
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Un renglón de una lista que **hace algo al deslizarlo**: hacia la derecha asoma la acción de la
|
|
47
|
+
* izquierda (`alDeslizarALaDerecha`) y hacia la izquierda la otra. Se suelta pasado el umbral y la
|
|
48
|
+
* acción corre; la tarjeta regresa sola a su lugar. Con una vibración corta, para que se sienta
|
|
49
|
+
* que pasó algo.
|
|
50
|
+
*
|
|
51
|
+
* Sin acciones es la tarjeta de siempre: no hay nada que deslizar.
|
|
52
|
+
*/
|
|
53
|
+
export default function TarjetaDeslizable({
|
|
54
|
+
alDeslizarALaDerecha,
|
|
55
|
+
alDeslizarALaIzquierda,
|
|
56
|
+
children
|
|
57
|
+
}) {
|
|
58
|
+
const styles = useStyles();
|
|
59
|
+
const deslizable = useRef(null);
|
|
60
|
+
if (!alDeslizarALaDerecha && !alDeslizarALaIzquierda) return /*#__PURE__*/_jsx(_Fragment, {
|
|
61
|
+
children: children
|
|
62
|
+
});
|
|
63
|
+
return /*#__PURE__*/_jsx(ReanimatedSwipeable, {
|
|
64
|
+
ref: deslizable,
|
|
65
|
+
friction: 1.5,
|
|
66
|
+
leftThreshold: UMBRAL,
|
|
67
|
+
rightThreshold: UMBRAL,
|
|
68
|
+
overshootLeft: false,
|
|
69
|
+
overshootRight: false,
|
|
70
|
+
containerStyle: styles.contenedor,
|
|
71
|
+
renderLeftActions: alDeslizarALaDerecha ? () => /*#__PURE__*/_jsx(Panel, {
|
|
72
|
+
accion: alDeslizarALaDerecha,
|
|
73
|
+
lado: "izquierda"
|
|
74
|
+
}) : undefined,
|
|
75
|
+
renderRightActions: alDeslizarALaIzquierda ? () => /*#__PURE__*/_jsx(Panel, {
|
|
76
|
+
accion: alDeslizarALaIzquierda,
|
|
77
|
+
lado: "derecha"
|
|
78
|
+
}) : undefined
|
|
79
|
+
// `RIGHT`: la tarjeta se fue a la derecha, así que asomó el panel de la izquierda.
|
|
80
|
+
,
|
|
81
|
+
onSwipeableWillOpen: direccion => {
|
|
82
|
+
const accion = direccion === SwipeDirection.RIGHT ? alDeslizarALaDerecha : alDeslizarALaIzquierda;
|
|
83
|
+
deslizable.current?.close();
|
|
84
|
+
if (!accion) return;
|
|
85
|
+
Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Medium);
|
|
86
|
+
accion.onAccion();
|
|
87
|
+
},
|
|
88
|
+
children: children
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
const useStyles = crearEstilos(() => ({
|
|
92
|
+
// El redondeo de la tarjeta, para que el panel que asoma no se vea cuadrado detrás.
|
|
93
|
+
contenedor: {
|
|
94
|
+
borderRadius: 14
|
|
95
|
+
},
|
|
96
|
+
panel: {
|
|
97
|
+
width: ANCHO,
|
|
98
|
+
alignItems: "center",
|
|
99
|
+
justifyContent: "center",
|
|
100
|
+
gap: 4,
|
|
101
|
+
paddingHorizontal: 8
|
|
102
|
+
},
|
|
103
|
+
izquierda: {
|
|
104
|
+
borderTopLeftRadius: 14,
|
|
105
|
+
borderBottomLeftRadius: 14
|
|
106
|
+
},
|
|
107
|
+
derecha: {
|
|
108
|
+
borderTopRightRadius: 14,
|
|
109
|
+
borderBottomRightRadius: 14
|
|
110
|
+
},
|
|
111
|
+
etiqueta: {
|
|
112
|
+
...renglon(tipografia.etiqueta),
|
|
113
|
+
fontWeight: "800",
|
|
114
|
+
color: "#ffffff",
|
|
115
|
+
textAlign: "center"
|
|
116
|
+
}
|
|
117
|
+
}));
|
|
118
|
+
//# sourceMappingURL=TarjetaDeslizable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["crearEstilos","renglon","tipografia","Text","MaterialCommunityIcons","Haptics","React","useRef","View","ReanimatedSwipeable","SwipeDirection","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ANCHO","UMBRAL","COLORES","exito","info","peligro","Panel","accion","lado","styles","useStyles","style","panel","backgroundColor","color","izquierda","derecha","children","name","icono","size","etiqueta","TarjetaDeslizable","alDeslizarALaDerecha","alDeslizarALaIzquierda","deslizable","ref","friction","leftThreshold","rightThreshold","overshootLeft","overshootRight","containerStyle","contenedor","renderLeftActions","undefined","renderRightActions","onSwipeableWillOpen","direccion","RIGHT","current","close","impactAsync","ImpactFeedbackStyle","Medium","onAccion","borderRadius","width","alignItems","justifyContent","gap","paddingHorizontal","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","fontWeight","textAlign"],"sourceRoot":"../../../src","sources":["listas/TarjetaDeslizable.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Una página de una lista del servidor (`CustomPagination` de los backends de ACV): `?page=N` y
|
|
5
|
+
* `?page_size=N`, y la respuesta `{count, next, previous, results}`. Las listas la leen de a poco,
|
|
6
|
+
* con scroll infinito (`ListaPaginada`).
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/** Todos los renglones cargados hasta ahora, de todas las páginas. */
|
|
10
|
+
export const renglonesDe = data => data?.pages.flatMap(p => p.results) ?? [];
|
|
11
|
+
//# sourceMappingURL=paginado.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["renglonesDe","data","pages","flatMap","p","results"],"sourceRoot":"../../../src","sources":["listas/paginado.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAQA;AACA,OAAO,MAAMA,WAAW,GAAOC,IAAwC,IACnEA,IAAI,EAAEC,KAAK,CAACC,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACC,OAAO,CAAC,IAAI,EAAE","ignoreList":[]}
|