@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.
Files changed (297) hide show
  1. package/README.md +146 -2
  2. package/assets/fonts/Inter_400Regular.ttf +0 -0
  3. package/assets/fonts/Inter_500Medium.ttf +0 -0
  4. package/assets/fonts/Inter_600SemiBold.ttf +0 -0
  5. package/assets/fonts/Inter_700Bold.ttf +0 -0
  6. package/assets/fonts/Inter_800ExtraBold.ttf +0 -0
  7. package/assets/fonts/Inter_900Black.ttf +0 -0
  8. package/assets/fonts/OFL.txt +93 -0
  9. package/lib/module/componentes/AccionesDelEncabezado.js +212 -0
  10. package/lib/module/componentes/AccionesDelEncabezado.js.map +1 -0
  11. package/lib/module/componentes/BotonDeAvatar.js +55 -0
  12. package/lib/module/componentes/BotonDeAvatar.js.map +1 -0
  13. package/lib/module/componentes/BotonGrande.js +105 -0
  14. package/lib/module/componentes/BotonGrande.js.map +1 -0
  15. package/lib/module/componentes/CabeceraEmpujada.js +101 -0
  16. package/lib/module/componentes/CabeceraEmpujada.js.map +1 -0
  17. package/lib/module/componentes/Chip.js +77 -0
  18. package/lib/module/componentes/Chip.js.map +1 -0
  19. package/lib/module/componentes/ContenidoDePantalla.js +56 -0
  20. package/lib/module/componentes/ContenidoDePantalla.js.map +1 -0
  21. package/lib/module/componentes/EstadoVacio.js +65 -0
  22. package/lib/module/componentes/EstadoVacio.js.map +1 -0
  23. package/lib/module/componentes/Foto.js +106 -0
  24. package/lib/module/componentes/Foto.js.map +1 -0
  25. package/lib/module/componentes/IconoDeRenglon.js +44 -0
  26. package/lib/module/componentes/IconoDeRenglon.js.map +1 -0
  27. package/lib/module/componentes/Logo.js +44 -0
  28. package/lib/module/componentes/Logo.js.map +1 -0
  29. package/lib/module/componentes/Nota.js +51 -0
  30. package/lib/module/componentes/Nota.js.map +1 -0
  31. package/lib/module/componentes/OpcionesExcluyentes.js +69 -0
  32. package/lib/module/componentes/OpcionesExcluyentes.js.map +1 -0
  33. package/lib/module/componentes/PantallaDeError.js +84 -0
  34. package/lib/module/componentes/PantallaDeError.js.map +1 -0
  35. package/lib/module/componentes/Pestanas.js +87 -0
  36. package/lib/module/componentes/Pestanas.js.map +1 -0
  37. package/lib/module/componentes/Rotulo.js +28 -0
  38. package/lib/module/componentes/Rotulo.js.map +1 -0
  39. package/lib/module/componentes/RotuloDeSeccion.js +87 -0
  40. package/lib/module/componentes/RotuloDeSeccion.js.map +1 -0
  41. package/lib/module/componentes/Tarjeta.js +47 -0
  42. package/lib/module/componentes/Tarjeta.js.map +1 -0
  43. package/lib/module/componentes/TarjetaDeDatos.js +79 -0
  44. package/lib/module/componentes/TarjetaDeDatos.js.map +1 -0
  45. package/lib/module/componentes/TiraDeFotos.js +184 -0
  46. package/lib/module/componentes/TiraDeFotos.js.map +1 -0
  47. package/lib/module/componentes/VisorDeFoto.js +171 -0
  48. package/lib/module/componentes/VisorDeFoto.js.map +1 -0
  49. package/lib/module/componentes/logos/bola-blanca.png +0 -0
  50. package/lib/module/componentes/logos/bola.png +0 -0
  51. package/lib/module/componentes/logos/logo-blanco.png +0 -0
  52. package/lib/module/componentes/logos/logo.png +0 -0
  53. package/lib/module/dialogos/HostDeDialogos.js +170 -0
  54. package/lib/module/dialogos/HostDeDialogos.js.map +1 -0
  55. package/lib/module/dialogos/dialogos.js +112 -0
  56. package/lib/module/dialogos/dialogos.js.map +1 -0
  57. package/lib/module/formularios/CampoDeSeleccion.js +47 -0
  58. package/lib/module/formularios/CampoDeSeleccion.js.map +1 -0
  59. package/lib/module/formularios/SelectorDeOpcion.js +406 -0
  60. package/lib/module/formularios/SelectorDeOpcion.js.map +1 -0
  61. package/lib/module/formularios/TextoDeAccesoControlado.js +73 -0
  62. package/lib/module/formularios/TextoDeAccesoControlado.js.map +1 -0
  63. package/lib/module/formularios/campos.js +493 -0
  64. package/lib/module/formularios/campos.js.map +1 -0
  65. package/lib/module/formularios/controlados.js +197 -0
  66. package/lib/module/formularios/controlados.js.map +1 -0
  67. package/lib/module/formularios/errores.js +91 -0
  68. package/lib/module/formularios/errores.js.map +1 -0
  69. package/lib/module/formularios/guardado.js +78 -0
  70. package/lib/module/formularios/guardado.js.map +1 -0
  71. package/lib/module/formularios/useBusqueda.js +22 -0
  72. package/lib/module/formularios/useBusqueda.js.map +1 -0
  73. package/lib/module/fotos/elegir.js +178 -0
  74. package/lib/module/fotos/elegir.js.map +1 -0
  75. package/lib/module/fotos/index.js +8 -0
  76. package/lib/module/fotos/index.js.map +1 -0
  77. package/lib/module/fotos/reducir.js +93 -0
  78. package/lib/module/fotos/reducir.js.map +1 -0
  79. package/lib/module/hoja/HojaInferior.js +108 -0
  80. package/lib/module/hoja/HojaInferior.js.map +1 -0
  81. package/lib/module/hoja/index.js +7 -0
  82. package/lib/module/hoja/index.js.map +1 -0
  83. package/lib/module/hoja/useMasDeLaFicha.js +48 -0
  84. package/lib/module/hoja/useMasDeLaFicha.js.map +1 -0
  85. package/lib/module/index.js +66 -0
  86. package/lib/module/index.js.map +1 -0
  87. package/lib/module/listas/HojaDeFiltros.js +260 -0
  88. package/lib/module/listas/HojaDeFiltros.js.map +1 -0
  89. package/lib/module/listas/ListaPaginada.js +103 -0
  90. package/lib/module/listas/ListaPaginada.js.map +1 -0
  91. package/lib/module/listas/TarjetaDeslizable.js +118 -0
  92. package/lib/module/listas/TarjetaDeslizable.js.map +1 -0
  93. package/lib/module/listas/paginado.js +11 -0
  94. package/lib/module/listas/paginado.js.map +1 -0
  95. package/lib/module/listas/piezas.js +603 -0
  96. package/lib/module/listas/piezas.js.map +1 -0
  97. package/lib/module/navegacion/BarraDePestanas.js +162 -0
  98. package/lib/module/navegacion/BarraDePestanas.js.map +1 -0
  99. package/lib/module/navegacion/BotonDeBarra.js +58 -0
  100. package/lib/module/navegacion/BotonDeBarra.js.map +1 -0
  101. package/lib/module/navegacion/encabezado.js +103 -0
  102. package/lib/module/navegacion/encabezado.js.map +1 -0
  103. package/lib/module/pantallas/PantallaDeAcceso.js +195 -0
  104. package/lib/module/pantallas/PantallaDeAcceso.js.map +1 -0
  105. package/lib/module/pantallas/PantallaDeEdicion.js +121 -0
  106. package/lib/module/pantallas/PantallaDeEdicion.js.map +1 -0
  107. package/lib/module/pantallas/PantallaDeFicha.js +94 -0
  108. package/lib/module/pantallas/PantallaDeFicha.js.map +1 -0
  109. package/lib/module/pantallas/PantallaDePerfil.js +137 -0
  110. package/lib/module/pantallas/PantallaDePerfil.js.map +1 -0
  111. package/lib/module/tema/ProveedorDeTema.js +122 -0
  112. package/lib/module/tema/ProveedorDeTema.js.map +1 -0
  113. package/lib/module/tema/estilos.js +54 -0
  114. package/lib/module/tema/estilos.js.map +1 -0
  115. package/lib/module/tema/fuentes.js +28 -0
  116. package/lib/module/tema/fuentes.js.map +1 -0
  117. package/lib/module/tema/index.js +8 -0
  118. package/lib/module/tema/index.js.map +1 -0
  119. package/lib/module/tema/paleta.js +107 -0
  120. package/lib/module/tema/paleta.js.map +1 -0
  121. package/lib/module/tema/tipografia.js +32 -0
  122. package/lib/module/tema/tipografia.js.map +1 -0
  123. package/lib/module/texto.js +48 -0
  124. package/lib/module/texto.js.map +1 -0
  125. package/lib/typescript/src/componentes/AccionesDelEncabezado.d.ts +34 -0
  126. package/lib/typescript/src/componentes/AccionesDelEncabezado.d.ts.map +1 -0
  127. package/lib/typescript/src/componentes/BotonDeAvatar.d.ts +17 -0
  128. package/lib/typescript/src/componentes/BotonDeAvatar.d.ts.map +1 -0
  129. package/lib/typescript/src/componentes/BotonGrande.d.ts +26 -0
  130. package/lib/typescript/src/componentes/BotonGrande.d.ts.map +1 -0
  131. package/lib/typescript/src/componentes/CabeceraEmpujada.d.ts +18 -0
  132. package/lib/typescript/src/componentes/CabeceraEmpujada.d.ts.map +1 -0
  133. package/lib/typescript/src/componentes/Chip.d.ts +14 -0
  134. package/lib/typescript/src/componentes/Chip.d.ts.map +1 -0
  135. package/lib/typescript/src/componentes/ContenidoDePantalla.d.ts +17 -0
  136. package/lib/typescript/src/componentes/ContenidoDePantalla.d.ts.map +1 -0
  137. package/lib/typescript/src/componentes/EstadoVacio.d.ts +17 -0
  138. package/lib/typescript/src/componentes/EstadoVacio.d.ts.map +1 -0
  139. package/lib/typescript/src/componentes/Foto.d.ts +41 -0
  140. package/lib/typescript/src/componentes/Foto.d.ts.map +1 -0
  141. package/lib/typescript/src/componentes/IconoDeRenglon.d.ts +25 -0
  142. package/lib/typescript/src/componentes/IconoDeRenglon.d.ts.map +1 -0
  143. package/lib/typescript/src/componentes/Logo.d.ts +13 -0
  144. package/lib/typescript/src/componentes/Logo.d.ts.map +1 -0
  145. package/lib/typescript/src/componentes/Nota.d.ts +7 -0
  146. package/lib/typescript/src/componentes/Nota.d.ts.map +1 -0
  147. package/lib/typescript/src/componentes/OpcionesExcluyentes.d.ts +14 -0
  148. package/lib/typescript/src/componentes/OpcionesExcluyentes.d.ts.map +1 -0
  149. package/lib/typescript/src/componentes/PantallaDeError.d.ts +23 -0
  150. package/lib/typescript/src/componentes/PantallaDeError.d.ts.map +1 -0
  151. package/lib/typescript/src/componentes/Pestanas.d.ts +28 -0
  152. package/lib/typescript/src/componentes/Pestanas.d.ts.map +1 -0
  153. package/lib/typescript/src/componentes/Rotulo.d.ts +6 -0
  154. package/lib/typescript/src/componentes/Rotulo.d.ts.map +1 -0
  155. package/lib/typescript/src/componentes/RotuloDeSeccion.d.ts +20 -0
  156. package/lib/typescript/src/componentes/RotuloDeSeccion.d.ts.map +1 -0
  157. package/lib/typescript/src/componentes/Tarjeta.d.ts +15 -0
  158. package/lib/typescript/src/componentes/Tarjeta.d.ts.map +1 -0
  159. package/lib/typescript/src/componentes/TarjetaDeDatos.d.ts +13 -0
  160. package/lib/typescript/src/componentes/TarjetaDeDatos.d.ts.map +1 -0
  161. package/lib/typescript/src/componentes/TiraDeFotos.d.ts +36 -0
  162. package/lib/typescript/src/componentes/TiraDeFotos.d.ts.map +1 -0
  163. package/lib/typescript/src/componentes/VisorDeFoto.d.ts +23 -0
  164. package/lib/typescript/src/componentes/VisorDeFoto.d.ts.map +1 -0
  165. package/lib/typescript/src/dialogos/HostDeDialogos.d.ts +14 -0
  166. package/lib/typescript/src/dialogos/HostDeDialogos.d.ts.map +1 -0
  167. package/lib/typescript/src/dialogos/dialogos.d.ts +65 -0
  168. package/lib/typescript/src/dialogos/dialogos.d.ts.map +1 -0
  169. package/lib/typescript/src/formularios/CampoDeSeleccion.d.ts +22 -0
  170. package/lib/typescript/src/formularios/CampoDeSeleccion.d.ts.map +1 -0
  171. package/lib/typescript/src/formularios/SelectorDeOpcion.d.ts +59 -0
  172. package/lib/typescript/src/formularios/SelectorDeOpcion.d.ts.map +1 -0
  173. package/lib/typescript/src/formularios/TextoDeAccesoControlado.d.ts +18 -0
  174. package/lib/typescript/src/formularios/TextoDeAccesoControlado.d.ts.map +1 -0
  175. package/lib/typescript/src/formularios/campos.d.ts +107 -0
  176. package/lib/typescript/src/formularios/campos.d.ts.map +1 -0
  177. package/lib/typescript/src/formularios/controlados.d.ts +29 -0
  178. package/lib/typescript/src/formularios/controlados.d.ts.map +1 -0
  179. package/lib/typescript/src/formularios/errores.d.ts +36 -0
  180. package/lib/typescript/src/formularios/errores.d.ts.map +1 -0
  181. package/lib/typescript/src/formularios/guardado.d.ts +36 -0
  182. package/lib/typescript/src/formularios/guardado.d.ts.map +1 -0
  183. package/lib/typescript/src/formularios/useBusqueda.d.ts +7 -0
  184. package/lib/typescript/src/formularios/useBusqueda.d.ts.map +1 -0
  185. package/lib/typescript/src/fotos/elegir.d.ts +58 -0
  186. package/lib/typescript/src/fotos/elegir.d.ts.map +1 -0
  187. package/lib/typescript/src/fotos/index.d.ts +3 -0
  188. package/lib/typescript/src/fotos/index.d.ts.map +1 -0
  189. package/lib/typescript/src/fotos/reducir.d.ts +32 -0
  190. package/lib/typescript/src/fotos/reducir.d.ts.map +1 -0
  191. package/lib/typescript/src/hoja/HojaInferior.d.ts +21 -0
  192. package/lib/typescript/src/hoja/HojaInferior.d.ts.map +1 -0
  193. package/lib/typescript/src/hoja/index.d.ts +3 -0
  194. package/lib/typescript/src/hoja/index.d.ts.map +1 -0
  195. package/lib/typescript/src/hoja/useMasDeLaFicha.d.ts +27 -0
  196. package/lib/typescript/src/hoja/useMasDeLaFicha.d.ts.map +1 -0
  197. package/lib/typescript/src/index.d.ts +45 -0
  198. package/lib/typescript/src/index.d.ts.map +1 -0
  199. package/lib/typescript/src/listas/HojaDeFiltros.d.ts +60 -0
  200. package/lib/typescript/src/listas/HojaDeFiltros.d.ts.map +1 -0
  201. package/lib/typescript/src/listas/ListaPaginada.d.ts +39 -0
  202. package/lib/typescript/src/listas/ListaPaginada.d.ts.map +1 -0
  203. package/lib/typescript/src/listas/TarjetaDeslizable.d.ts +33 -0
  204. package/lib/typescript/src/listas/TarjetaDeslizable.d.ts.map +1 -0
  205. package/lib/typescript/src/listas/paginado.d.ts +16 -0
  206. package/lib/typescript/src/listas/paginado.d.ts.map +1 -0
  207. package/lib/typescript/src/listas/piezas.d.ts +135 -0
  208. package/lib/typescript/src/listas/piezas.d.ts.map +1 -0
  209. package/lib/typescript/src/navegacion/BarraDePestanas.d.ts +57 -0
  210. package/lib/typescript/src/navegacion/BarraDePestanas.d.ts.map +1 -0
  211. package/lib/typescript/src/navegacion/BotonDeBarra.d.ts +15 -0
  212. package/lib/typescript/src/navegacion/BotonDeBarra.d.ts.map +1 -0
  213. package/lib/typescript/src/navegacion/encabezado.d.ts +44 -0
  214. package/lib/typescript/src/navegacion/encabezado.d.ts.map +1 -0
  215. package/lib/typescript/src/pantallas/PantallaDeAcceso.d.ts +32 -0
  216. package/lib/typescript/src/pantallas/PantallaDeAcceso.d.ts.map +1 -0
  217. package/lib/typescript/src/pantallas/PantallaDeEdicion.d.ts +38 -0
  218. package/lib/typescript/src/pantallas/PantallaDeEdicion.d.ts.map +1 -0
  219. package/lib/typescript/src/pantallas/PantallaDeFicha.d.ts +35 -0
  220. package/lib/typescript/src/pantallas/PantallaDeFicha.d.ts.map +1 -0
  221. package/lib/typescript/src/pantallas/PantallaDePerfil.d.ts +19 -0
  222. package/lib/typescript/src/pantallas/PantallaDePerfil.d.ts.map +1 -0
  223. package/lib/typescript/src/tema/ProveedorDeTema.d.ts +32 -0
  224. package/lib/typescript/src/tema/ProveedorDeTema.d.ts.map +1 -0
  225. package/lib/typescript/src/tema/estilos.d.ts +31 -0
  226. package/lib/typescript/src/tema/estilos.d.ts.map +1 -0
  227. package/lib/typescript/src/tema/fuentes.d.ts +20 -0
  228. package/lib/typescript/src/tema/fuentes.d.ts.map +1 -0
  229. package/lib/typescript/src/tema/index.d.ts +6 -0
  230. package/lib/typescript/src/tema/index.d.ts.map +1 -0
  231. package/lib/typescript/src/tema/paleta.d.ts +86 -0
  232. package/lib/typescript/src/tema/paleta.d.ts.map +1 -0
  233. package/lib/typescript/src/tema/tipografia.d.ts +29 -0
  234. package/lib/typescript/src/tema/tipografia.d.ts.map +1 -0
  235. package/lib/typescript/src/texto.d.ts +16 -0
  236. package/lib/typescript/src/texto.d.ts.map +1 -0
  237. package/package.json +135 -5
  238. package/src/componentes/AccionesDelEncabezado.tsx +247 -0
  239. package/src/componentes/BotonDeAvatar.tsx +59 -0
  240. package/src/componentes/BotonGrande.tsx +100 -0
  241. package/src/componentes/CabeceraEmpujada.tsx +69 -0
  242. package/src/componentes/Chip.tsx +60 -0
  243. package/src/componentes/ContenidoDePantalla.tsx +53 -0
  244. package/src/componentes/EstadoVacio.tsx +45 -0
  245. package/src/componentes/Foto.tsx +92 -0
  246. package/src/componentes/IconoDeRenglon.tsx +42 -0
  247. package/src/componentes/Logo.tsx +34 -0
  248. package/src/componentes/Nota.tsx +37 -0
  249. package/src/componentes/OpcionesExcluyentes.tsx +62 -0
  250. package/src/componentes/PantallaDeError.tsx +76 -0
  251. package/src/componentes/Pestanas.tsx +86 -0
  252. package/src/componentes/Rotulo.tsx +21 -0
  253. package/src/componentes/RotuloDeSeccion.tsx +71 -0
  254. package/src/componentes/Tarjeta.tsx +44 -0
  255. package/src/componentes/TarjetaDeDatos.tsx +62 -0
  256. package/src/componentes/TiraDeFotos.tsx +189 -0
  257. package/src/componentes/VisorDeFoto.tsx +181 -0
  258. package/src/componentes/logos/bola-blanca.png +0 -0
  259. package/src/componentes/logos/bola.png +0 -0
  260. package/src/componentes/logos/logo-blanco.png +0 -0
  261. package/src/componentes/logos/logo.png +0 -0
  262. package/src/dialogos/HostDeDialogos.tsx +172 -0
  263. package/src/dialogos/dialogos.ts +148 -0
  264. package/src/formularios/CampoDeSeleccion.tsx +46 -0
  265. package/src/formularios/SelectorDeOpcion.tsx +407 -0
  266. package/src/formularios/TextoDeAccesoControlado.tsx +72 -0
  267. package/src/formularios/campos.tsx +483 -0
  268. package/src/formularios/controlados.tsx +198 -0
  269. package/src/formularios/errores.ts +105 -0
  270. package/src/formularios/guardado.ts +76 -0
  271. package/src/formularios/useBusqueda.ts +19 -0
  272. package/src/fotos/elegir.ts +194 -0
  273. package/src/fotos/index.ts +15 -0
  274. package/src/fotos/reducir.ts +87 -0
  275. package/src/hoja/HojaInferior.tsx +102 -0
  276. package/src/hoja/index.ts +4 -0
  277. package/src/hoja/useMasDeLaFicha.tsx +63 -0
  278. package/src/index.ts +143 -0
  279. package/src/listas/HojaDeFiltros.tsx +261 -0
  280. package/src/listas/ListaPaginada.tsx +117 -0
  281. package/src/listas/TarjetaDeslizable.tsx +126 -0
  282. package/src/listas/paginado.ts +15 -0
  283. package/src/listas/piezas.tsx +594 -0
  284. package/src/navegacion/BarraDePestanas.tsx +198 -0
  285. package/src/navegacion/BotonDeBarra.tsx +61 -0
  286. package/src/navegacion/encabezado.tsx +88 -0
  287. package/src/pantallas/PantallaDeAcceso.tsx +184 -0
  288. package/src/pantallas/PantallaDeEdicion.tsx +116 -0
  289. package/src/pantallas/PantallaDeFicha.tsx +115 -0
  290. package/src/pantallas/PantallaDePerfil.tsx +126 -0
  291. package/src/tema/ProveedorDeTema.tsx +150 -0
  292. package/src/tema/estilos.ts +51 -0
  293. package/src/tema/fuentes.ts +20 -0
  294. package/src/tema/index.ts +10 -0
  295. package/src/tema/paleta.ts +147 -0
  296. package/src/tema/tipografia.ts +29 -0
  297. package/src/texto.tsx +44 -0
@@ -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":"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","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":[]}