@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,406 @@
1
+ "use strict";
2
+
3
+ import MaterialIcons from "@expo/vector-icons/MaterialIcons";
4
+ import React from "react";
5
+ import { ActivityIndicator, FlatList, Modal, Pressable, TouchableOpacity, View } from "react-native";
6
+ import { useSafeAreaInsets } from "react-native-safe-area-context";
7
+ import BotonGrande from "../componentes/BotonGrande";
8
+ import EstadoVacio from "../componentes/EstadoVacio";
9
+ import IconoDeRenglon from "../componentes/IconoDeRenglon";
10
+ import { crearEstilos, renglon, tipografia, usePaleta } from "../tema";
11
+ import { Text, TextInput } from "../texto";
12
+
13
+ /** Una opción de una lista: lo que se guarda (`value`) y lo que se lee (`label`). */
14
+
15
+ /** Lo que tienen en común el selector de una y el de varias: de dónde salen las opciones. */
16
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
17
+ /** Para comparar lo escrito con una opción sin que estorben los acentos ni las mayúsculas. */
18
+ const normalizar = texto => texto.normalize("NFD").replace(/[̀-ͯ]/g, "").toLowerCase().trim();
19
+
20
+ /**
21
+ * La búsqueda de un selector: la de quien llama si trae `onBuscar`, o una propia que filtra la
22
+ * lista fija aquí mismo.
23
+ */
24
+ function useBuscador({
25
+ opciones,
26
+ texto,
27
+ onBuscar
28
+ }) {
29
+ const [propio, setPropio] = React.useState("");
30
+ const fija = !onBuscar;
31
+ const actual = fija ? propio : texto ?? "";
32
+ const visibles = React.useMemo(() => {
33
+ if (!fija || !propio.trim()) return opciones;
34
+ const buscado = normalizar(propio);
35
+ return opciones.filter(opcion => normalizar(opcion.label).includes(buscado));
36
+ }, [fija, propio, opciones]);
37
+ return {
38
+ texto: actual,
39
+ buscar: fija ? setPropio : onBuscar,
40
+ visibles
41
+ };
42
+ }
43
+
44
+ /**
45
+ * La lista a pantalla completa de los dos selectores: la cabecera con la flecha, el buscador, y
46
+ * las opciones como tarjetas. Lo que pasa al tocar una —elegirla y cerrar, o marcarla— y lo que
47
+ * va al pie es de cada selector.
48
+ */
49
+ function HojaDeOpciones({
50
+ etiqueta,
51
+ abierto,
52
+ onCerrar,
53
+ texto,
54
+ onBuscar,
55
+ cargando,
56
+ opciones,
57
+ marcada,
58
+ onTocar,
59
+ detalle,
60
+ grupo,
61
+ vacio = "Nada que coincida.",
62
+ encabezado,
63
+ pie
64
+ }) {
65
+ const c = usePaleta();
66
+ const styles = useStyles();
67
+ const insets = useSafeAreaInsets();
68
+ return /*#__PURE__*/_jsx(Modal, {
69
+ visible: abierto,
70
+ animationType: "slide",
71
+ onRequestClose: onCerrar,
72
+ children: /*#__PURE__*/_jsxs(View, {
73
+ style: [styles.hoja, {
74
+ paddingTop: insets.top + 10
75
+ }],
76
+ children: [/*#__PURE__*/_jsxs(View, {
77
+ style: styles.cabecera,
78
+ children: [/*#__PURE__*/_jsx(TouchableOpacity, {
79
+ onPress: onCerrar,
80
+ children: /*#__PURE__*/_jsx(MaterialIcons, {
81
+ name: "arrow-back",
82
+ size: 45,
83
+ color: c.primary
84
+ })
85
+ }), /*#__PURE__*/_jsx(Text, {
86
+ style: styles.titulo,
87
+ children: etiqueta
88
+ })]
89
+ }), /*#__PURE__*/_jsx(TextInput, {
90
+ value: texto,
91
+ onChangeText: onBuscar,
92
+ placeholder: "Buscar",
93
+ placeholderTextColor: c.secondaryLight,
94
+ autoCorrect: false,
95
+ autoCapitalize: "characters",
96
+ style: styles.buscador
97
+ }), cargando ? /*#__PURE__*/_jsx(ActivityIndicator, {
98
+ color: c.primary
99
+ }) : null, /*#__PURE__*/_jsx(FlatList, {
100
+ data: opciones,
101
+ keyExtractor: opcion => String(opcion.value),
102
+ keyboardShouldPersistTaps: "handled",
103
+ contentContainerStyle: {
104
+ gap: 10,
105
+ paddingBottom: pie ? 24 : insets.bottom + 24
106
+ },
107
+ ListHeaderComponent: encabezado,
108
+ ListEmptyComponent: cargando ? null : /*#__PURE__*/_jsx(EstadoVacio, {
109
+ icono: "magnify",
110
+ titulo: vacio
111
+ }),
112
+ renderItem: ({
113
+ item,
114
+ index
115
+ }) => {
116
+ const rotulo = grupo?.(item);
117
+ const nuevoGrupo = rotulo !== undefined && (index === 0 || grupo?.(opciones[index - 1]) !== rotulo);
118
+ const elegida = marcada(item);
119
+ return /*#__PURE__*/_jsxs(_Fragment, {
120
+ children: [nuevoGrupo ? /*#__PURE__*/_jsx(Text, {
121
+ style: styles.grupo,
122
+ children: rotulo
123
+ }) : null, /*#__PURE__*/_jsxs(Pressable, {
124
+ onPress: () => onTocar(item),
125
+ accessibilityState: {
126
+ selected: elegida
127
+ },
128
+ style: [styles.opcion, elegida && styles.opcionElegida],
129
+ children: [/*#__PURE__*/_jsx(Text, {
130
+ style: styles.opcionNombre,
131
+ children: item.label
132
+ }), detalle?.(item) ? /*#__PURE__*/_jsx(Text, {
133
+ style: styles.detalle,
134
+ children: detalle(item)
135
+ }) : null]
136
+ })]
137
+ });
138
+ }
139
+ }), pie ? /*#__PURE__*/_jsx(View, {
140
+ style: [styles.pie, {
141
+ paddingBottom: insets.bottom + 16
142
+ }],
143
+ children: pie
144
+ }) : null]
145
+ })
146
+ });
147
+ }
148
+
149
+ /** El renglón cerrado de un selector: el rótulo, lo elegido y la flecha. */
150
+ function RenglonDelSelector({
151
+ etiqueta,
152
+ texto,
153
+ detalle,
154
+ disabled,
155
+ onPress
156
+ }) {
157
+ const c = usePaleta();
158
+ const styles = useStyles();
159
+ return /*#__PURE__*/_jsxs(Pressable, {
160
+ onPress: onPress,
161
+ disabled: disabled,
162
+ accessibilityRole: "button",
163
+ style: [styles.campo, disabled && styles.campoInactivo],
164
+ children: [/*#__PURE__*/_jsx(Text, {
165
+ style: styles.etiqueta,
166
+ children: etiqueta
167
+ }), /*#__PURE__*/_jsxs(View, {
168
+ style: styles.renglon,
169
+ children: [/*#__PURE__*/_jsx(Text, {
170
+ style: [styles.valor, !texto && styles.sinValor],
171
+ children: texto ?? "Elegir…"
172
+ }), /*#__PURE__*/_jsx(IconoDeRenglon, {
173
+ name: "chevron-down",
174
+ fontSize: tipografia.subtitulo,
175
+ color: c.secondary
176
+ })]
177
+ }), detalle ? /*#__PURE__*/_jsx(Text, {
178
+ style: styles.detalle,
179
+ children: detalle
180
+ }) : null]
181
+ });
182
+ }
183
+
184
+ /**
185
+ * Un campo que se elige de una lista: el renglón con lo elegido y, al tocarlo, la lista a pantalla
186
+ * completa con su buscador. **A pantalla completa y no un menú**: con la letra al 180% un menú
187
+ * desplegable deja ver dos opciones, y quien la usa elige de pie.
188
+ */
189
+ export default function SelectorDeOpcion(props) {
190
+ const {
191
+ etiqueta,
192
+ valor,
193
+ onElegir,
194
+ cargando,
195
+ detalle,
196
+ grupo,
197
+ opcional,
198
+ textoDeNinguno = "Ninguno",
199
+ vacio,
200
+ disabled
201
+ } = props;
202
+ const styles = useStyles();
203
+ const [abierto, setAbierto] = React.useState(false);
204
+ const {
205
+ texto,
206
+ buscar,
207
+ visibles
208
+ } = useBuscador(props);
209
+ const elegir = opcion => {
210
+ onElegir(opcion);
211
+ setAbierto(false);
212
+ buscar("");
213
+ };
214
+ return /*#__PURE__*/_jsxs(_Fragment, {
215
+ children: [/*#__PURE__*/_jsx(RenglonDelSelector, {
216
+ etiqueta: etiqueta,
217
+ texto: valor ? valor.label : null,
218
+ detalle: valor ? detalle?.(valor) : null,
219
+ disabled: disabled,
220
+ onPress: () => setAbierto(true)
221
+ }), /*#__PURE__*/_jsx(HojaDeOpciones, {
222
+ etiqueta: etiqueta,
223
+ abierto: abierto,
224
+ onCerrar: () => setAbierto(false),
225
+ texto: texto,
226
+ onBuscar: buscar,
227
+ cargando: cargando,
228
+ opciones: visibles,
229
+ marcada: opcion => valor?.value === opcion.value,
230
+ onTocar: elegir,
231
+ detalle: detalle,
232
+ grupo: grupo,
233
+ vacio: vacio,
234
+ encabezado: opcional ? /*#__PURE__*/_jsx(Pressable, {
235
+ onPress: () => elegir(null),
236
+ style: styles.opcion,
237
+ children: /*#__PURE__*/_jsx(Text, {
238
+ style: styles.opcionNombre,
239
+ children: textoDeNinguno
240
+ })
241
+ }) : null
242
+ })]
243
+ });
244
+ }
245
+
246
+ /**
247
+ * Lo mismo que `SelectorDeOpcion`, pero se marcan varias: tocar una la pone o la quita, y la
248
+ * elección se confirma con el botón del pie. Se confirma y no se guarda a cada toque para que
249
+ * salir con la flecha deje lo que había —igual que en el selector de una, donde salir no cambia
250
+ * nada—.
251
+ *
252
+ * Cerrado dice lo elegido separado por comas, que con la letra grande parte en los renglones que
253
+ * haga falta en vez de recortarse.
254
+ */
255
+ export function SelectorDeVarias(props) {
256
+ const {
257
+ etiqueta,
258
+ valor,
259
+ onElegir,
260
+ cargando,
261
+ detalle,
262
+ grupo,
263
+ vacio,
264
+ disabled
265
+ } = props;
266
+ const [abierto, setAbierto] = React.useState(false);
267
+ const [marcadas, setMarcadas] = React.useState(valor);
268
+ const {
269
+ texto,
270
+ buscar,
271
+ visibles
272
+ } = useBuscador(props);
273
+ const abrir = () => {
274
+ setMarcadas(valor);
275
+ setAbierto(true);
276
+ };
277
+ const cerrar = () => {
278
+ setAbierto(false);
279
+ buscar("");
280
+ };
281
+ const tocar = opcion => setMarcadas(previas => previas.some(p => p.value === opcion.value) ? previas.filter(p => p.value !== opcion.value) : [...previas, opcion]);
282
+ return /*#__PURE__*/_jsxs(_Fragment, {
283
+ children: [/*#__PURE__*/_jsx(RenglonDelSelector, {
284
+ etiqueta: etiqueta,
285
+ texto: valor.length ? valor.map(o => o.label).join(", ") : null,
286
+ disabled: disabled,
287
+ onPress: abrir
288
+ }), /*#__PURE__*/_jsx(HojaDeOpciones, {
289
+ etiqueta: etiqueta,
290
+ abierto: abierto,
291
+ onCerrar: cerrar,
292
+ texto: texto,
293
+ onBuscar: buscar,
294
+ cargando: cargando,
295
+ opciones: visibles,
296
+ marcada: opcion => marcadas.some(m => m.value === opcion.value),
297
+ onTocar: tocar,
298
+ detalle: detalle,
299
+ grupo: grupo,
300
+ vacio: vacio,
301
+ pie: /*#__PURE__*/_jsx(BotonGrande, {
302
+ icono: "check",
303
+ onPress: () => {
304
+ onElegir(marcadas);
305
+ cerrar();
306
+ },
307
+ children: marcadas.length ? `Listo (${marcadas.length})` : "Listo"
308
+ })
309
+ })]
310
+ });
311
+ }
312
+ const useStyles = crearEstilos(c => ({
313
+ campo: {
314
+ backgroundColor: c.superficie,
315
+ borderRadius: 14,
316
+ borderWidth: 2,
317
+ borderColor: c.secondaryLighter,
318
+ padding: 14,
319
+ gap: 4
320
+ },
321
+ campoInactivo: {
322
+ opacity: 0.5
323
+ },
324
+ etiqueta: {
325
+ ...renglon(tipografia.etiqueta),
326
+ fontWeight: "800",
327
+ color: c.secondary,
328
+ textTransform: "uppercase",
329
+ letterSpacing: 0.8
330
+ },
331
+ renglon: {
332
+ flexDirection: "row",
333
+ alignItems: "flex-start",
334
+ gap: 8
335
+ },
336
+ valor: {
337
+ flex: 1,
338
+ ...renglon(tipografia.subtitulo),
339
+ fontWeight: "800",
340
+ color: c.texto
341
+ },
342
+ sinValor: {
343
+ color: c.secondaryLight,
344
+ fontWeight: "600"
345
+ },
346
+ detalle: {
347
+ ...renglon(tipografia.secundario),
348
+ color: c.secondary
349
+ },
350
+ hoja: {
351
+ flex: 1,
352
+ backgroundColor: c.fondo,
353
+ paddingHorizontal: 18,
354
+ gap: 12
355
+ },
356
+ cabecera: {
357
+ flexDirection: "row",
358
+ alignItems: "center",
359
+ gap: 8
360
+ },
361
+ titulo: {
362
+ flex: 1,
363
+ fontSize: tipografia.titulo,
364
+ fontWeight: "900",
365
+ color: c.primary
366
+ },
367
+ buscador: {
368
+ borderWidth: 1.5,
369
+ borderColor: c.secondaryLight,
370
+ borderRadius: 12,
371
+ paddingHorizontal: 14,
372
+ paddingVertical: 12,
373
+ backgroundColor: c.superficie,
374
+ fontSize: tipografia.subtitulo,
375
+ color: c.texto
376
+ },
377
+ grupo: {
378
+ ...renglon(tipografia.etiqueta),
379
+ fontWeight: "800",
380
+ color: c.secondary,
381
+ textTransform: "uppercase",
382
+ letterSpacing: 0.8,
383
+ marginTop: 8
384
+ },
385
+ opcion: {
386
+ backgroundColor: c.superficie,
387
+ borderRadius: 14,
388
+ borderWidth: 2,
389
+ borderColor: c.secondaryLighter,
390
+ padding: 14,
391
+ gap: 4
392
+ },
393
+ opcionElegida: {
394
+ borderColor: c.primary,
395
+ backgroundColor: c.primaryWash
396
+ },
397
+ opcionNombre: {
398
+ ...renglon(tipografia.subtitulo),
399
+ fontWeight: "800",
400
+ color: c.texto
401
+ },
402
+ pie: {
403
+ paddingTop: 12
404
+ }
405
+ }));
406
+ //# sourceMappingURL=SelectorDeOpcion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MaterialIcons","React","ActivityIndicator","FlatList","Modal","Pressable","TouchableOpacity","View","useSafeAreaInsets","BotonGrande","EstadoVacio","IconoDeRenglon","crearEstilos","renglon","tipografia","usePaleta","Text","TextInput","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","normalizar","texto","normalize","replace","toLowerCase","trim","useBuscador","opciones","onBuscar","propio","setPropio","useState","fija","actual","visibles","useMemo","buscado","filter","opcion","label","includes","buscar","HojaDeOpciones","etiqueta","abierto","onCerrar","cargando","marcada","onTocar","detalle","grupo","vacio","encabezado","pie","c","styles","useStyles","insets","visible","animationType","onRequestClose","children","style","hoja","paddingTop","top","cabecera","onPress","name","size","color","primary","titulo","value","onChangeText","placeholder","placeholderTextColor","secondaryLight","autoCorrect","autoCapitalize","buscador","data","keyExtractor","String","keyboardShouldPersistTaps","contentContainerStyle","gap","paddingBottom","bottom","ListHeaderComponent","ListEmptyComponent","icono","renderItem","item","index","rotulo","nuevoGrupo","undefined","elegida","accessibilityState","selected","opcionElegida","opcionNombre","RenglonDelSelector","disabled","accessibilityRole","campo","campoInactivo","valor","sinValor","fontSize","subtitulo","secondary","SelectorDeOpcion","props","onElegir","opcional","textoDeNinguno","setAbierto","elegir","SelectorDeVarias","marcadas","setMarcadas","abrir","cerrar","tocar","previas","some","p","length","map","o","join","m","backgroundColor","superficie","borderRadius","borderWidth","borderColor","secondaryLighter","padding","opacity","fontWeight","textTransform","letterSpacing","flexDirection","alignItems","flex","secundario","fondo","paddingHorizontal","paddingVertical","marginTop","primaryWash"],"sourceRoot":"../../../src","sources":["formularios/SelectorDeOpcion.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ import { useState } from "react";
4
+ import { Controller } from "react-hook-form";
5
+ import { View } from "react-native";
6
+ import { HelperText, TextInput } from "react-native-paper";
7
+ import { crearEstilos } from "../tema";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ /**
10
+ * Un campo del login (el usuario, la contraseña), atado a react-hook-form: el `TextInput` de Paper
11
+ * con contorno y la etiqueta que sube al escribir. Con `contrasena`, oculta lo escrito y lleva el
12
+ * ojo para verlo.
13
+ *
14
+ * Es de Paper y no `TextoControlado`, que lleva su rótulo arriba, porque así es la pantalla de
15
+ * entrada de las apps.
16
+ */
17
+ export default function TextoDeAccesoControlado({
18
+ control,
19
+ name,
20
+ etiqueta,
21
+ contrasena = false,
22
+ entrada
23
+ }) {
24
+ const styles = useStyles();
25
+ const [verla, setVerla] = useState(false);
26
+ return /*#__PURE__*/_jsx(Controller, {
27
+ name: name,
28
+ control: control,
29
+ render: ({
30
+ field: {
31
+ onChange,
32
+ value
33
+ },
34
+ fieldState: {
35
+ error
36
+ }
37
+ }) => /*#__PURE__*/_jsxs(View, {
38
+ children: [/*#__PURE__*/_jsx(TextInput, {
39
+ label: etiqueta,
40
+ value: value,
41
+ onChangeText: onChange,
42
+ mode: "outlined",
43
+ error: !!error,
44
+ secureTextEntry: contrasena && !verla,
45
+ right: contrasena ? /*#__PURE__*/_jsx(TextInput.Icon, {
46
+ icon: verla ? "eye-off" : "eye",
47
+ onPress: () => setVerla(!verla)
48
+ }) : undefined,
49
+ outlineStyle: styles.contorno,
50
+ style: styles.caja,
51
+ contentStyle: styles.contenido,
52
+ ...entrada
53
+ }), error ? /*#__PURE__*/_jsx(HelperText, {
54
+ type: "error",
55
+ visible: true,
56
+ children: error.message
57
+ }) : null]
58
+ })
59
+ });
60
+ }
61
+ const useStyles = crearEstilos(c => ({
62
+ contorno: {
63
+ backgroundColor: c.superficie,
64
+ borderRadius: 12
65
+ },
66
+ caja: {
67
+ height: 64
68
+ },
69
+ contenido: {
70
+ fontSize: 18
71
+ }
72
+ }));
73
+ //# sourceMappingURL=TextoDeAccesoControlado.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","Controller","View","HelperText","TextInput","crearEstilos","jsx","_jsx","jsxs","_jsxs","TextoDeAccesoControlado","control","name","etiqueta","contrasena","entrada","styles","useStyles","verla","setVerla","render","field","onChange","value","fieldState","error","children","label","onChangeText","mode","secureTextEntry","right","Icon","icon","onPress","undefined","outlineStyle","contorno","style","caja","contentStyle","contenido","type","visible","message","c","backgroundColor","superficie","borderRadius","height","fontSize"],"sourceRoot":"../../../src","sources":["formularios/TextoDeAccesoControlado.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,OAAO;AAChC,SAASC,UAAU,QAA0B,iBAAiB;AAC9D,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,UAAU,EAAEC,SAAS,QAA6B,oBAAoB;AAC/E,SAASC,YAAY,QAAQ,SAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,uBAAuBA,CAAwB;EACnEC,OAAO;EACPC,IAAI;EACJC,QAAQ;EACRC,UAAU,GAAG,KAAK;EAClBC;AAMJ,CAAC,EAAE;EACC,MAAMC,MAAM,GAAGC,SAAS,CAAC,CAAC;EAC1B,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGnB,QAAQ,CAAC,KAAK,CAAC;EAEzC,oBACIO,IAAA,CAACN,UAAU;IACPW,IAAI,EAAEA,IAAK;IACXD,OAAO,EAAEA,OAAQ;IACjBS,MAAM,EAAEA,CAAC;MAAEC,KAAK,EAAE;QAAEC,QAAQ;QAAEC;MAAM,CAAC;MAAEC,UAAU,EAAE;QAAEC;MAAM;IAAE,CAAC,kBAC1DhB,KAAA,CAACP,IAAI;MAAAwB,QAAA,gBACDnB,IAAA,CAACH,SAAS;QACNuB,KAAK,EAAEd,QAAS;QAChBU,KAAK,EAAEA,KAAM;QACbK,YAAY,EAAEN,QAAS;QACvBO,IAAI,EAAE,UAAW;QACjBJ,KAAK,EAAE,CAAC,CAACA,KAAM;QACfK,eAAe,EAAEhB,UAAU,IAAI,CAACI,KAAM;QACtCa,KAAK,EACDjB,UAAU,gBACNP,IAAA,CAACH,SAAS,CAAC4B,IAAI;UACXC,IAAI,EAAEf,KAAK,GAAG,SAAS,GAAG,KAAM;UAChCgB,OAAO,EAAEA,CAAA,KAAMf,QAAQ,CAAC,CAACD,KAAK;QAAE,CACnC,CAAC,GACFiB,SACP;QACDC,YAAY,EAAEpB,MAAM,CAACqB,QAAS;QAC9BC,KAAK,EAAEtB,MAAM,CAACuB,IAAK;QACnBC,YAAY,EAAExB,MAAM,CAACyB,SAAU;QAAA,GAC3B1B;MAAO,CACd,CAAC,EACDU,KAAK,gBACFlB,IAAA,CAACJ,UAAU;QAACuC,IAAI,EAAE,OAAQ;QAACC,OAAO;QAAAjB,QAAA,EAC7BD,KAAK,CAACmB;MAAO,CACN,CAAC,GACb,IAAI;IAAA,CACN;EACR,CACL,CAAC;AAEV;AAEA,MAAM3B,SAAS,GAAGZ,YAAY,CAAEwC,CAAC,KAAM;EACnCR,QAAQ,EAAE;IAAES,eAAe,EAAED,CAAC,CAACE,UAAU;IAAEC,YAAY,EAAE;EAAG,CAAC;EAC7DT,IAAI,EAAE;IAAEU,MAAM,EAAE;EAAG,CAAC;EACpBR,SAAS,EAAE;IAAES,QAAQ,EAAE;EAAG;AAC9B,CAAC,CAAC,CAAC","ignoreList":[]}