@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,493 @@
1
+ "use strict";
2
+
3
+ import DateTimePicker from "@react-native-community/datetimepicker";
4
+ import dayjs from "dayjs";
5
+ import React from "react";
6
+ import { Pressable, Switch, View } from "react-native";
7
+ import IconoDeRenglon from "../componentes/IconoDeRenglon";
8
+ import OpcionesExcluyentes from "../componentes/OpcionesExcluyentes";
9
+ import { crearEstilos, renglon, tipografia, usePaleta } from "../tema";
10
+ import { Text, TextInput } from "../texto";
11
+
12
+ /**
13
+ * Los campos de un formulario (un viaje, un tracto, un operador). Cada uno trae su rótulo arriba y
14
+ * su error abajo, para que la pantalla sólo los apile. Son controlados: atados a react-hook-form,
15
+ * van por `controlados.tsx`.
16
+ */
17
+
18
+ /** El error de un campo, en rojo y debajo de él. */
19
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
+ export function ErrorDelCampo({
21
+ error
22
+ }) {
23
+ const styles = useStyles();
24
+ return error ? /*#__PURE__*/_jsx(Text, {
25
+ style: styles.error,
26
+ children: error
27
+ }) : null;
28
+ }
29
+
30
+ /**
31
+ * El marco de un campo: el rótulo arriba, lo que se captura en medio, y debajo la ayuda y el error.
32
+ * Lo usan todos los campos de aquí, y una app lo usa para lo que no es un campo de la casa —una
33
+ * tira de fotos, el renglón de un escáner— sin que se vea distinto de los demás.
34
+ *
35
+ * Sin `etiqueta` no pinta rótulo: el interruptor lleva el suyo adentro.
36
+ */
37
+ export function Campo({
38
+ etiqueta,
39
+ ayuda,
40
+ error,
41
+ children
42
+ }) {
43
+ const styles = useStyles();
44
+ return /*#__PURE__*/_jsxs(View, {
45
+ style: styles.campo,
46
+ children: [etiqueta ? /*#__PURE__*/_jsx(Text, {
47
+ style: styles.etiqueta,
48
+ children: etiqueta
49
+ }) : null, children, ayuda ? /*#__PURE__*/_jsx(Text, {
50
+ style: styles.ayuda,
51
+ children: ayuda
52
+ }) : null, /*#__PURE__*/_jsx(ErrorDelCampo, {
53
+ error: error
54
+ })]
55
+ });
56
+ }
57
+
58
+ /**
59
+ * Un texto libre: una referencia (tope de 100), unas instrucciones (varios renglones), un VIN (en
60
+ * mayúsculas) o un año (`teclado="number-pad"`).
61
+ */
62
+ export function CampoDeTexto({
63
+ etiqueta,
64
+ valor,
65
+ onCambiar,
66
+ error,
67
+ multilinea,
68
+ maximo,
69
+ placeholder,
70
+ ayuda,
71
+ disabled,
72
+ teclado,
73
+ mayusculas
74
+ }) {
75
+ const styles = useStyles();
76
+ return /*#__PURE__*/_jsx(Campo, {
77
+ etiqueta: etiqueta,
78
+ ayuda: ayuda,
79
+ error: error,
80
+ children: /*#__PURE__*/_jsx(TextInput, {
81
+ value: valor,
82
+ onChangeText: onCambiar,
83
+ keyboardType: teclado,
84
+ autoCapitalize: mayusculas,
85
+ autoCorrect: mayusculas === "characters" ? false : undefined,
86
+ multiline: multilinea,
87
+ maxLength: maximo,
88
+ placeholder: placeholder,
89
+ editable: !disabled,
90
+ style: [styles.entrada, multilinea && styles.multilinea, !!error && styles.entradaError, disabled && styles.inactivo]
91
+ })
92
+ });
93
+ }
94
+
95
+ /**
96
+ * Una fecha con su hora: dos botones, el día y la hora, cada uno con el selector del sistema. **La
97
+ * hora es el dato** (contra ella se mide si un viaje va tarde o un equipo está comprometido), así
98
+ * que nunca se manda sólo el día.
99
+ *
100
+ * Vacío, un solo botón «Elegir»: abre el día y, al elegirlo, la hora. Si es `opcional`, «Quitar»
101
+ * lo deja vacío otra vez.
102
+ */
103
+ export function CampoDeFechaHora({
104
+ etiqueta,
105
+ valor,
106
+ onCambiar,
107
+ error,
108
+ opcional,
109
+ ayuda
110
+ }) {
111
+ const c = usePaleta();
112
+ const styles = useStyles();
113
+ const [eligiendo, setEligiendo] = React.useState(null);
114
+ // Vacío, el selector arranca en la próxima hora en punto: la hora de ahora no le sirve a nadie.
115
+ const base = valor ?? dayjs().add(1, "hour").startOf("hour").toDate();
116
+ return /*#__PURE__*/_jsxs(Campo, {
117
+ etiqueta: etiqueta,
118
+ ayuda: ayuda,
119
+ error: error,
120
+ children: [valor ? /*#__PURE__*/_jsxs(View, {
121
+ style: styles.fechaHora,
122
+ children: [/*#__PURE__*/_jsx(Pressable, {
123
+ onPress: () => setEligiendo("date"),
124
+ accessibilityRole: "button",
125
+ style: [styles.entrada, styles.mitad, !!error && styles.entradaError],
126
+ children: /*#__PURE__*/_jsx(Text, {
127
+ style: styles.textoFecha,
128
+ children: dayjs(valor).format("D MMM YYYY")
129
+ })
130
+ }), /*#__PURE__*/_jsx(Pressable, {
131
+ onPress: () => setEligiendo("time"),
132
+ accessibilityRole: "button",
133
+ style: [styles.entrada, styles.mitad, !!error && styles.entradaError],
134
+ children: /*#__PURE__*/_jsx(Text, {
135
+ style: styles.textoFecha,
136
+ children: dayjs(valor).format("HH:mm")
137
+ })
138
+ })]
139
+ }) : /*#__PURE__*/_jsx(Pressable, {
140
+ onPress: () => setEligiendo("date"),
141
+ accessibilityRole: "button",
142
+ style: [styles.entrada, !!error && styles.entradaError],
143
+ children: /*#__PURE__*/_jsxs(View, {
144
+ style: styles.renglon,
145
+ children: [/*#__PURE__*/_jsx(IconoDeRenglon, {
146
+ name: "calendar-clock",
147
+ fontSize: tipografia.subtitulo,
148
+ color: c.secondaryLight
149
+ }), /*#__PURE__*/_jsx(Text, {
150
+ style: [styles.textoFecha, styles.sinValor],
151
+ children: "Elegir\u2026"
152
+ })]
153
+ })
154
+ }), opcional && valor ? /*#__PURE__*/_jsxs(Pressable, {
155
+ onPress: () => onCambiar(null),
156
+ accessibilityRole: "button",
157
+ style: styles.quitar,
158
+ children: [/*#__PURE__*/_jsx(IconoDeRenglon, {
159
+ name: "close-circle-outline",
160
+ fontSize: tipografia.cuerpo,
161
+ color: c.secondary
162
+ }), /*#__PURE__*/_jsx(Text, {
163
+ style: styles.quitarTexto,
164
+ children: "Quitar"
165
+ })]
166
+ }) : null, eligiendo ? /*#__PURE__*/_jsx(DateTimePicker, {
167
+ value: base,
168
+ mode: eligiendo,
169
+ is24Hour: true,
170
+ onChange: (evento, elegida) => {
171
+ const paso = eligiendo;
172
+ setEligiendo(null);
173
+ if (evento.type !== "set" || !elegida) return;
174
+ const nueva = paso === "date" ? dayjs(base).year(elegida.getFullYear()).month(elegida.getMonth()).date(elegida.getDate()) : dayjs(base).hour(elegida.getHours()).minute(elegida.getMinutes()).second(0).millisecond(0);
175
+ onCambiar(nueva.toDate());
176
+ // Vacío, tras el día va la hora: sin ella el campo no está completo.
177
+ if (paso === "date" && !valor) setEligiendo("time");
178
+ }
179
+ }) : null]
180
+ });
181
+ }
182
+
183
+ /** Un interruptor con su texto y, si hace falta, por qué está como está. */
184
+ export function CampoInterruptor({
185
+ texto,
186
+ valor,
187
+ onCambiar,
188
+ ayuda,
189
+ error,
190
+ disabled
191
+ }) {
192
+ const c = usePaleta();
193
+ const styles = useStyles();
194
+ return /*#__PURE__*/_jsx(Campo, {
195
+ ayuda: ayuda,
196
+ error: error,
197
+ children: /*#__PURE__*/_jsxs(Pressable, {
198
+ onPress: () => onCambiar(!valor),
199
+ disabled: disabled,
200
+ accessibilityRole: "switch",
201
+ accessibilityState: {
202
+ checked: valor,
203
+ disabled: !!disabled
204
+ },
205
+ style: [styles.interruptor, disabled && styles.inactivo],
206
+ children: [/*#__PURE__*/_jsx(Text, {
207
+ style: styles.interruptorTexto,
208
+ children: texto
209
+ }), /*#__PURE__*/_jsx(Switch, {
210
+ value: valor,
211
+ onValueChange: onCambiar,
212
+ disabled: disabled,
213
+ trackColor: {
214
+ true: c.primaryLight
215
+ },
216
+ thumbColor: valor ? c.primary : undefined
217
+ })]
218
+ })
219
+ });
220
+ }
221
+
222
+ /**
223
+ * Una fecha sin hora (un nacimiento, el fin de una renta): un botón con el selector del sistema.
224
+ * El valor es el de la API, `YYYY-MM-DD`, para no pasar por una zona horaria que lo corra un día.
225
+ */
226
+ export function CampoDeFecha({
227
+ etiqueta,
228
+ valor,
229
+ onCambiar,
230
+ error,
231
+ opcional,
232
+ ayuda
233
+ }) {
234
+ const c = usePaleta();
235
+ const styles = useStyles();
236
+ const [eligiendo, setEligiendo] = React.useState(false);
237
+ const fecha = valor ? dayjs(valor) : null;
238
+ return /*#__PURE__*/_jsxs(Campo, {
239
+ etiqueta: etiqueta,
240
+ ayuda: ayuda,
241
+ error: error,
242
+ children: [/*#__PURE__*/_jsx(Pressable, {
243
+ onPress: () => setEligiendo(true),
244
+ accessibilityRole: "button",
245
+ style: [styles.entrada, !!error && styles.entradaError],
246
+ children: /*#__PURE__*/_jsxs(View, {
247
+ style: styles.renglon,
248
+ children: [/*#__PURE__*/_jsx(IconoDeRenglon, {
249
+ name: "calendar",
250
+ fontSize: tipografia.subtitulo,
251
+ color: fecha ? c.secondary : c.secondaryLight
252
+ }), /*#__PURE__*/_jsx(Text, {
253
+ style: [styles.textoFecha, !fecha && styles.sinValor],
254
+ children: fecha ? fecha.format("D MMM YYYY") : "Elegir…"
255
+ })]
256
+ })
257
+ }), opcional && valor ? /*#__PURE__*/_jsxs(Pressable, {
258
+ onPress: () => onCambiar(null),
259
+ accessibilityRole: "button",
260
+ style: styles.quitar,
261
+ children: [/*#__PURE__*/_jsx(IconoDeRenglon, {
262
+ name: "close-circle-outline",
263
+ fontSize: tipografia.cuerpo,
264
+ color: c.secondary
265
+ }), /*#__PURE__*/_jsx(Text, {
266
+ style: styles.quitarTexto,
267
+ children: "Quitar"
268
+ })]
269
+ }) : null, eligiendo ? /*#__PURE__*/_jsx(DateTimePicker, {
270
+ value: fecha?.toDate() ?? new Date(),
271
+ mode: "date",
272
+ onChange: (evento, elegida) => {
273
+ setEligiendo(false);
274
+ if (evento.type === "set" && elegida) {
275
+ onCambiar(dayjs(elegida).format("YYYY-MM-DD"));
276
+ }
277
+ }
278
+ }) : null]
279
+ });
280
+ }
281
+
282
+ /**
283
+ * Una de pocas opciones fijas (la cabina, la propiedad, la longitud): todas a la vista, una por
284
+ * renglón, en vez de un menú que con la letra al 180% deja ver dos.
285
+ */
286
+ export function CampoDeOpciones({
287
+ etiqueta,
288
+ opciones,
289
+ valor,
290
+ onElegir,
291
+ error,
292
+ ayuda
293
+ }) {
294
+ return /*#__PURE__*/_jsx(Campo, {
295
+ etiqueta: etiqueta,
296
+ ayuda: ayuda,
297
+ error: error,
298
+ children: /*#__PURE__*/_jsx(OpcionesExcluyentes, {
299
+ opciones: opciones.map(o => ({
300
+ valor: o.value,
301
+ texto: o.label
302
+ })),
303
+ valor: valor,
304
+ onElegir: onElegir
305
+ })
306
+ });
307
+ }
308
+
309
+ /** Los países de un teléfono: lo que la operación marca, de un lado y del otro. */
310
+ const LADAS = [{
311
+ pais: "MX",
312
+ lada: "+52",
313
+ texto: "MX +52"
314
+ }, {
315
+ pais: "US",
316
+ lada: "+1",
317
+ texto: "US +1"
318
+ }];
319
+
320
+ /** Un teléfono guardado (`+526641234567`) partido en su lada y sus dígitos. */
321
+ const partirTelefono = telefono => {
322
+ const limpio = (telefono ?? "").replace(/[^\d+]/g, "");
323
+ const lada = LADAS.find(l => limpio.startsWith(l.lada)) ?? LADAS[0];
324
+ return {
325
+ lada: lada.lada,
326
+ digitos: limpio.startsWith(lada.lada) ? limpio.slice(lada.lada.length) : limpio
327
+ };
328
+ };
329
+
330
+ /**
331
+ * Un teléfono, como el `ControlledPhoneNumber` del portal: la lada (México o Estados Unidos) y los
332
+ * diez dígitos. El valor es el del servidor (`PhoneNumberField`), en E.164: `+526641234567`; vacío
333
+ * es `null`.
334
+ */
335
+ export function CampoDeTelefono({
336
+ etiqueta,
337
+ valor,
338
+ onCambiar,
339
+ error,
340
+ ayuda
341
+ }) {
342
+ const c = usePaleta();
343
+ const styles = useStyles();
344
+ const {
345
+ lada,
346
+ digitos
347
+ } = partirTelefono(valor);
348
+ const armar = (nuevaLada, nuevosDigitos) => {
349
+ const solo = nuevosDigitos.replace(/\D/g, "");
350
+ onCambiar(solo ? `${nuevaLada}${solo}` : null);
351
+ };
352
+ return /*#__PURE__*/_jsxs(Campo, {
353
+ etiqueta: etiqueta,
354
+ ayuda: ayuda,
355
+ error: error,
356
+ children: [/*#__PURE__*/_jsx(View, {
357
+ style: styles.telefono,
358
+ children: LADAS.map(l => /*#__PURE__*/_jsx(Pressable, {
359
+ onPress: () => armar(l.lada, digitos),
360
+ accessibilityRole: "radio",
361
+ accessibilityState: {
362
+ selected: lada === l.lada
363
+ },
364
+ style: [styles.lada, lada === l.lada && styles.ladaElegida],
365
+ children: /*#__PURE__*/_jsx(Text, {
366
+ style: [styles.ladaTexto, lada === l.lada && {
367
+ color: c.primary
368
+ }],
369
+ children: l.texto
370
+ })
371
+ }, l.pais))
372
+ }), /*#__PURE__*/_jsx(TextInput, {
373
+ value: digitos,
374
+ onChangeText: texto => armar(lada, texto),
375
+ keyboardType: "phone-pad",
376
+ maxLength: 10,
377
+ placeholder: "10 d\xEDgitos",
378
+ style: [styles.entrada, !!error && styles.entradaError]
379
+ })]
380
+ });
381
+ }
382
+ const useStyles = crearEstilos(c => ({
383
+ campo: {
384
+ gap: 6
385
+ },
386
+ etiqueta: {
387
+ ...renglon(tipografia.etiqueta),
388
+ fontWeight: "800",
389
+ color: c.secondary,
390
+ textTransform: "uppercase",
391
+ letterSpacing: 0.8
392
+ },
393
+ entrada: {
394
+ borderWidth: 1.5,
395
+ borderColor: c.secondaryLight,
396
+ borderRadius: 12,
397
+ paddingHorizontal: 14,
398
+ paddingVertical: 12,
399
+ backgroundColor: c.superficie,
400
+ fontSize: tipografia.subtitulo,
401
+ color: c.texto
402
+ },
403
+ multilinea: {
404
+ minHeight: 100,
405
+ textAlignVertical: "top",
406
+ fontSize: tipografia.cuerpo
407
+ },
408
+ entradaError: {
409
+ borderColor: c.primary
410
+ },
411
+ inactivo: {
412
+ opacity: 0.5
413
+ },
414
+ fechaHora: {
415
+ flexDirection: "row",
416
+ gap: 12
417
+ },
418
+ mitad: {
419
+ flex: 1,
420
+ justifyContent: "center"
421
+ },
422
+ renglon: {
423
+ flexDirection: "row",
424
+ alignItems: "flex-start",
425
+ gap: 8
426
+ },
427
+ textoFecha: {
428
+ ...renglon(tipografia.cuerpo),
429
+ fontWeight: "700",
430
+ color: c.texto
431
+ },
432
+ sinValor: {
433
+ color: c.secondaryLight,
434
+ fontWeight: "600"
435
+ },
436
+ quitar: {
437
+ flexDirection: "row",
438
+ alignItems: "flex-start",
439
+ gap: 6,
440
+ alignSelf: "flex-start"
441
+ },
442
+ quitarTexto: {
443
+ ...renglon(tipografia.cuerpo),
444
+ fontWeight: "700",
445
+ color: c.secondary
446
+ },
447
+ ayuda: {
448
+ ...renglon(tipografia.secundario),
449
+ color: c.secondary
450
+ },
451
+ error: {
452
+ ...renglon(tipografia.secundario),
453
+ color: c.primary
454
+ },
455
+ telefono: {
456
+ flexDirection: "row",
457
+ gap: 10
458
+ },
459
+ lada: {
460
+ flex: 1,
461
+ alignItems: "center",
462
+ borderWidth: 2,
463
+ borderColor: c.secondaryLighter,
464
+ borderRadius: 12,
465
+ paddingVertical: 10,
466
+ backgroundColor: c.superficie
467
+ },
468
+ ladaElegida: {
469
+ borderColor: c.primary,
470
+ backgroundColor: c.primaryWash
471
+ },
472
+ ladaTexto: {
473
+ ...renglon(tipografia.cuerpo),
474
+ fontWeight: "800",
475
+ color: c.secondary
476
+ },
477
+ interruptor: {
478
+ flexDirection: "row",
479
+ alignItems: "center",
480
+ gap: 10,
481
+ backgroundColor: c.superficie,
482
+ borderRadius: 14,
483
+ paddingHorizontal: 14,
484
+ paddingVertical: 10
485
+ },
486
+ interruptorTexto: {
487
+ flex: 1,
488
+ ...renglon(tipografia.cuerpo),
489
+ fontWeight: "700",
490
+ color: c.texto
491
+ }
492
+ }));
493
+ //# sourceMappingURL=campos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DateTimePicker","dayjs","React","Pressable","Switch","View","IconoDeRenglon","OpcionesExcluyentes","crearEstilos","renglon","tipografia","usePaleta","Text","TextInput","jsx","_jsx","jsxs","_jsxs","ErrorDelCampo","error","styles","useStyles","style","children","Campo","etiqueta","ayuda","campo","CampoDeTexto","valor","onCambiar","multilinea","maximo","placeholder","disabled","teclado","mayusculas","value","onChangeText","keyboardType","autoCapitalize","autoCorrect","undefined","multiline","maxLength","editable","entrada","entradaError","inactivo","CampoDeFechaHora","opcional","c","eligiendo","setEligiendo","useState","base","add","startOf","toDate","fechaHora","onPress","accessibilityRole","mitad","textoFecha","format","name","fontSize","subtitulo","color","secondaryLight","sinValor","quitar","cuerpo","secondary","quitarTexto","mode","is24Hour","onChange","evento","elegida","paso","type","nueva","year","getFullYear","month","getMonth","date","getDate","hour","getHours","minute","getMinutes","second","millisecond","CampoInterruptor","texto","accessibilityState","checked","interruptor","interruptorTexto","onValueChange","trackColor","true","primaryLight","thumbColor","primary","CampoDeFecha","fecha","Date","CampoDeOpciones","opciones","onElegir","map","o","label","LADAS","pais","lada","partirTelefono","telefono","limpio","replace","find","l","startsWith","digitos","slice","length","CampoDeTelefono","armar","nuevaLada","nuevosDigitos","solo","selected","ladaElegida","ladaTexto","gap","fontWeight","textTransform","letterSpacing","borderWidth","borderColor","borderRadius","paddingHorizontal","paddingVertical","backgroundColor","superficie","minHeight","textAlignVertical","opacity","flexDirection","flex","justifyContent","alignItems","alignSelf","secundario","secondaryLighter","primaryWash"],"sourceRoot":"../../../src","sources":["formularios/campos.tsx"],"mappings":"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","ignoreList":[]}