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