@acvl/mobile-components 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/lib/module/camara/CampoDeFotos.js +34 -12
- package/lib/module/camara/CampoDeFotos.js.map +1 -1
- package/lib/module/camara/index.js.map +1 -1
- package/lib/module/componentes/BotonFlotante.js +71 -0
- package/lib/module/componentes/BotonFlotante.js.map +1 -0
- package/lib/module/formularios/SelectorDeOpcion.js +19 -27
- package/lib/module/formularios/SelectorDeOpcion.js.map +1 -1
- package/lib/module/formularios/TextoDeAccesoControlado.js +1 -1
- package/lib/module/formularios/campos.js +257 -129
- package/lib/module/formularios/campos.js.map +1 -1
- package/lib/module/hoja/HojaDeLista.js +8 -3
- package/lib/module/hoja/HojaDeLista.js.map +1 -1
- package/lib/module/hoja/HojaInferior.js +8 -3
- package/lib/module/hoja/HojaInferior.js.map +1 -1
- package/lib/module/index.js +2 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/camara/CampoDeFotos.d.ts +17 -4
- package/lib/typescript/src/camara/CampoDeFotos.d.ts.map +1 -1
- package/lib/typescript/src/camara/index.d.ts +1 -1
- package/lib/typescript/src/camara/index.d.ts.map +1 -1
- package/lib/typescript/src/componentes/BotonFlotante.d.ts +21 -0
- package/lib/typescript/src/componentes/BotonFlotante.d.ts.map +1 -0
- package/lib/typescript/src/formularios/SelectorDeOpcion.d.ts +10 -0
- package/lib/typescript/src/formularios/SelectorDeOpcion.d.ts.map +1 -1
- package/lib/typescript/src/formularios/TextoDeAccesoControlado.d.ts +1 -1
- package/lib/typescript/src/formularios/campos.d.ts +43 -8
- package/lib/typescript/src/formularios/campos.d.ts.map +1 -1
- package/lib/typescript/src/hoja/HojaDeLista.d.ts.map +1 -1
- package/lib/typescript/src/hoja/HojaInferior.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/camara/CampoDeFotos.tsx +41 -12
- package/src/camara/index.ts +6 -1
- package/src/componentes/BotonFlotante.tsx +65 -0
- package/src/formularios/SelectorDeOpcion.tsx +40 -22
- package/src/formularios/TextoDeAccesoControlado.tsx +1 -1
- package/src/formularios/campos.tsx +276 -123
- package/src/hoja/HojaDeLista.tsx +15 -9
- package/src/hoja/HojaInferior.tsx +15 -9
- package/src/index.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BottomSheet","BottomSheetBackdrop","BottomSheetFlatList","BottomSheetTextInput","React","useEffect","useRef","useState","ActivityIndicator","BackHandler","View","useSafeAreaInsets","BotonGrande","EnHoja","Buscador","crearEstilos","renglon","tipografia","usePaleta","Text","jsx","_jsx","jsxs","_jsxs","ALTO","HojaDeLista","abierta","onCerrar","titulo","subtitulo","buscador","acciones","lista","llave","renderItem","vacio","nombres","c","styles","useStyles","hoja","insets","montada","setMontada","current","close","sub","addEventListener","remove","renglones","total","cabecera","style","children","titulos","texto","onCambiar","placeholder","entrada","length","cuenta","sinRenglones","cargando","color","primary","espera","fallo","linea","icono","modo","onPress","onReintentar","ref","index","animateOnMount","snapPoints","enableDynamicSizing","enablePanDownToClose","onClose","keyboardBehavior","keyboardBlurBehavior","android_keyboardInputMode","backdropComponent","props","appearsOnIndex","disappearsOnIndex","pressBehavior","backgroundStyle","fondo","handleIndicatorStyle","agarradera","Provider","value","data","keyExtractor","item","String","ListHeaderComponent","ListEmptyComponent","ListFooterComponent","cargandoMas","onEndReachedThreshold","onEndReached","hayMas","onMas","keyboardShouldPersistTaps","contentContainerStyle","contenido","paddingBottom","bottom","backgroundColor","superficie","borderWidth","esOscuro","borderColor","secondaryLighter","secondaryLight","paddingHorizontal","gap","fontWeight","secundario","secondary","paddingVertical","marginVertical"],"sourceRoot":"../../../src","sources":["hoja/HojaDeLista.tsx"],"mappings":";;AAAA,OAAOA,WAAW,IACdC,mBAAmB,EACnBC,mBAAmB,EACnBC,oBAAoB,QAEjB,sBAAsB;AAC7B,OAAOC,KAAK,IAAIC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;
|
|
1
|
+
{"version":3,"names":["BottomSheet","BottomSheetBackdrop","BottomSheetFlatList","BottomSheetTextInput","useFocusEffect","React","useCallback","useEffect","useRef","useState","ActivityIndicator","BackHandler","View","useSafeAreaInsets","BotonGrande","EnHoja","Buscador","crearEstilos","renglon","tipografia","usePaleta","Text","jsx","_jsx","jsxs","_jsxs","ALTO","HojaDeLista","abierta","onCerrar","titulo","subtitulo","buscador","acciones","lista","llave","renderItem","vacio","nombres","c","styles","useStyles","hoja","insets","montada","setMontada","current","close","sub","addEventListener","remove","renglones","total","cabecera","style","children","titulos","texto","onCambiar","placeholder","entrada","length","cuenta","sinRenglones","cargando","color","primary","espera","fallo","linea","icono","modo","onPress","onReintentar","ref","index","animateOnMount","snapPoints","enableDynamicSizing","enablePanDownToClose","onClose","keyboardBehavior","keyboardBlurBehavior","android_keyboardInputMode","backdropComponent","props","appearsOnIndex","disappearsOnIndex","pressBehavior","backgroundStyle","fondo","handleIndicatorStyle","agarradera","Provider","value","data","keyExtractor","item","String","ListHeaderComponent","ListEmptyComponent","ListFooterComponent","cargandoMas","onEndReachedThreshold","onEndReached","hayMas","onMas","keyboardShouldPersistTaps","contentContainerStyle","contenido","paddingBottom","bottom","backgroundColor","superficie","borderWidth","esOscuro","borderColor","secondaryLighter","secondaryLight","paddingHorizontal","gap","fontWeight","secundario","secondary","paddingVertical","marginVertical"],"sourceRoot":"../../../src","sources":["hoja/HojaDeLista.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,8 @@ import { crearEstilos, renglon, tipografia } from "../tema";
|
|
|
4
4
|
import { EnHoja } from "../componentes/Tarjeta";
|
|
5
5
|
import { Text } from "../texto";
|
|
6
6
|
import BottomSheet, { BottomSheetBackdrop, BottomSheetScrollView } from "@gorhom/bottom-sheet";
|
|
7
|
-
import
|
|
7
|
+
import { useFocusEffect } from "expo-router";
|
|
8
|
+
import React, { useCallback, useEffect, useRef } from "react";
|
|
8
9
|
import { BackHandler, useWindowDimensions, View } from "react-native";
|
|
9
10
|
import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|
10
11
|
|
|
@@ -40,14 +41,18 @@ export default function HojaInferior({
|
|
|
40
41
|
useEffect(() => {
|
|
41
42
|
if (abierta) hoja.current?.snapToIndex(0);else hoja.current?.close();
|
|
42
43
|
}, [abierta]);
|
|
43
|
-
|
|
44
|
+
|
|
45
|
+
// Atrás la cierra **sólo con su pantalla al frente**: si desde la hoja se abre una ficha, la
|
|
46
|
+
// hoja sigue abierta debajo, y sin esto el primer atrás de la ficha la cerraba a ella en vez de
|
|
47
|
+
// regresar. La flecha del encabezado no pasa por aquí (`router.back()`), por eso ésa sí servía.
|
|
48
|
+
useFocusEffect(useCallback(() => {
|
|
44
49
|
if (!abierta) return;
|
|
45
50
|
const sub = BackHandler.addEventListener("hardwareBackPress", () => {
|
|
46
51
|
onCerrar();
|
|
47
52
|
return true;
|
|
48
53
|
});
|
|
49
54
|
return () => sub.remove();
|
|
50
|
-
}, [abierta, onCerrar]);
|
|
55
|
+
}, [abierta, onCerrar]));
|
|
51
56
|
return /*#__PURE__*/_jsx(BottomSheet, {
|
|
52
57
|
ref: hoja,
|
|
53
58
|
index: -1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["crearEstilos","renglon","tipografia","EnHoja","Text","BottomSheet","BottomSheetBackdrop","BottomSheetScrollView","React","useEffect","useRef","BackHandler","useWindowDimensions","View","useSafeAreaInsets","jsx","_jsx","jsxs","_jsxs","ALTO_MAXIMO","HojaInferior","abierta","onCerrar","titulo","subtitulo","children","styles","useStyles","hoja","insets","height","current","snapToIndex","close","sub","addEventListener","remove","ref","index","enableDynamicSizing","maxDynamicContentSize","enablePanDownToClose","onClose","backdropComponent","props","appearsOnIndex","disappearsOnIndex","pressBehavior","backgroundStyle","fondo","handleIndicatorStyle","agarradera","contentContainerStyle","contenido","paddingBottom","bottom","style","cabecera","Provider","value","c","backgroundColor","superficie","borderWidth","esOscuro","borderColor","secondaryLighter","secondaryLight","paddingHorizontal","gap","fontWeight","color","texto","secundario","secondary"],"sourceRoot":"../../../src","sources":["hoja/HojaInferior.tsx"],"mappings":";;AAAA,SAASA,YAAY,EAAEC,OAAO,EAAEC,UAAU,QAAQ,SAAS;AAC3D,SAASC,MAAM,QAAQ,wBAAwB;AAC/C,SAASC,IAAI,QAAQ,UAAU;AAC/B,OAAOC,WAAW,IACdC,mBAAmB,EACnBC,qBAAqB,QAElB,sBAAsB;AAC7B,OAAOC,KAAK,IAAIC,SAAS,EAAEC,MAAM,QAAQ,OAAO;
|
|
1
|
+
{"version":3,"names":["crearEstilos","renglon","tipografia","EnHoja","Text","BottomSheet","BottomSheetBackdrop","BottomSheetScrollView","useFocusEffect","React","useCallback","useEffect","useRef","BackHandler","useWindowDimensions","View","useSafeAreaInsets","jsx","_jsx","jsxs","_jsxs","ALTO_MAXIMO","HojaInferior","abierta","onCerrar","titulo","subtitulo","children","styles","useStyles","hoja","insets","height","current","snapToIndex","close","sub","addEventListener","remove","ref","index","enableDynamicSizing","maxDynamicContentSize","enablePanDownToClose","onClose","backdropComponent","props","appearsOnIndex","disappearsOnIndex","pressBehavior","backgroundStyle","fondo","handleIndicatorStyle","agarradera","contentContainerStyle","contenido","paddingBottom","bottom","style","cabecera","Provider","value","c","backgroundColor","superficie","borderWidth","esOscuro","borderColor","secondaryLighter","secondaryLight","paddingHorizontal","gap","fontWeight","color","texto","secundario","secondary"],"sourceRoot":"../../../src","sources":["hoja/HojaInferior.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -9,6 +9,7 @@ export { Text, TextInput } from "./texto";
|
|
|
9
9
|
|
|
10
10
|
export { default as AccionesDelEncabezado } from "./componentes/AccionesDelEncabezado";
|
|
11
11
|
export { default as BotonDeAvatar, inicialesDe } from "./componentes/BotonDeAvatar";
|
|
12
|
+
export { default as BotonFlotante, HUECO_DEL_BOTON_FLOTANTE } from "./componentes/BotonFlotante";
|
|
12
13
|
export { default as BotonGrande } from "./componentes/BotonGrande";
|
|
13
14
|
export { default as CabeceraEmpujada } from "./componentes/CabeceraEmpujada";
|
|
14
15
|
export { default as Chip } from "./componentes/Chip";
|
|
@@ -40,7 +41,7 @@ export { ALTO_DEL_ENCABEZADO, TituloDelEncabezado, useOpcionesDelEncabezado } fr
|
|
|
40
41
|
|
|
41
42
|
// ==============================|| FORMULARIOS ||============================== //
|
|
42
43
|
|
|
43
|
-
export { CampoDeFecha, CampoDeFechaHora, CampoDeOpciones, CampoDeTelefono, CampoDeTexto, CampoInterruptor, Campo, ErrorDelCampo } from "./formularios/campos";
|
|
44
|
+
export { CajaDeCampo, CampoDeFecha, CampoDeFechaHora, CampoDeOpciones, CampoDeTelefono, CampoDeTexto, CampoInterruptor, Campo, ErrorDelCampo } from "./formularios/campos";
|
|
44
45
|
export { default as CampoDeSeleccion, CampoDeVarias } from "./formularios/CampoDeSeleccion";
|
|
45
46
|
export { FechaControlada, FechaHoraControlada, InterruptorControlado, OpcionesControladas, SeleccionControlada, TelefonoControlado, TextoControlado, VariasControladas } from "./formularios/controlados";
|
|
46
47
|
export { mensajeDeError, setErrors } from "./formularios/errores";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Text","TextInput","default","AccionesDelEncabezado","BotonDeAvatar","inicialesDe","BotonGrande","CabeceraEmpujada","Chip","ContenidoDePantalla","EstadoVacio","Foto","ProveedorDeFotos","IconoDeRenglon","Logo","LogoCompleto","Nota","OpcionesExcluyentes","PantallaDeError","Pestanas","Rotulo","RotuloDeSeccion","Tarjeta","TarjetaDeDatos","TiraDeFotos","VisorDeFoto","avisar","confirmar","mostrarDialogo","HostDeDialogos","BarraDePestanas","HUECO_DE_LA_BARRA","ALTO_DEL_ENCABEZADO","TituloDelEncabezado","useOpcionesDelEncabezado","CampoDeFecha","CampoDeFechaHora","CampoDeOpciones","CampoDeTelefono","CampoDeTexto","CampoInterruptor","Campo","ErrorDelCampo","CampoDeSeleccion","CampoDeVarias","FechaControlada","FechaHoraControlada","InterruptorControlado","OpcionesControladas","SeleccionControlada","TelefonoControlado","TextoControlado","VariasControladas","mensajeDeError","setErrors","fechaONula","isoONulo","mismoInstante","soloLoQueCambio","textoONulo","useGuardado","volcarErrores","SelectorDeOpcion","SelectorDeVarias","TextoDeAccesoControlado","useBusqueda","HojaDeFiltros","InterruptorDeFiltro","OpcionDeFiltro","OpcionesMultiples","OrdenDeLista","SeccionDeFiltros","ListaPaginada","renglonesDe","AvisoDeRecortados","Buscador","CabeceraDeLista","EstadoDeHoja","FilaConContador","RenglonDeContacto","RenglonDeDireccion","RenglonDeHoja","RenglonDeLiga","SeccionDeFicha","TarjetaDeLista","TarjetaDeslizable","PantallaDeAcceso","EsperaDeEdicion","FormularioDeEdicion","PantallaDeFicha","PantallaDeHistorial","TarjetaDeEvento","PantallaDePerfil"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;;AAEA,cAAc,QAAQ;AACtB,SAASA,IAAI,EAAEC,SAAS,QAAQ,SAAS;;AAEzC;;AAEA,SACIC,OAAO,IAAIC,qBAAqB,QAE7B,qCAAqC;AAC5C,SAASD,OAAO,IAAIE,aAAa,EAAEC,WAAW,QAAQ,6BAA6B;AACnF,SAASH,OAAO,IAAII,WAAW,QAAQ,2BAA2B;AAClE,
|
|
1
|
+
{"version":3,"names":["Text","TextInput","default","AccionesDelEncabezado","BotonDeAvatar","inicialesDe","BotonFlotante","HUECO_DEL_BOTON_FLOTANTE","BotonGrande","CabeceraEmpujada","Chip","ContenidoDePantalla","EstadoVacio","Foto","ProveedorDeFotos","IconoDeRenglon","Logo","LogoCompleto","Nota","OpcionesExcluyentes","PantallaDeError","Pestanas","Rotulo","RotuloDeSeccion","Tarjeta","TarjetaDeDatos","TiraDeFotos","VisorDeFoto","avisar","confirmar","mostrarDialogo","HostDeDialogos","BarraDePestanas","HUECO_DE_LA_BARRA","ALTO_DEL_ENCABEZADO","TituloDelEncabezado","useOpcionesDelEncabezado","CajaDeCampo","CampoDeFecha","CampoDeFechaHora","CampoDeOpciones","CampoDeTelefono","CampoDeTexto","CampoInterruptor","Campo","ErrorDelCampo","CampoDeSeleccion","CampoDeVarias","FechaControlada","FechaHoraControlada","InterruptorControlado","OpcionesControladas","SeleccionControlada","TelefonoControlado","TextoControlado","VariasControladas","mensajeDeError","setErrors","fechaONula","isoONulo","mismoInstante","soloLoQueCambio","textoONulo","useGuardado","volcarErrores","SelectorDeOpcion","SelectorDeVarias","TextoDeAccesoControlado","useBusqueda","HojaDeFiltros","InterruptorDeFiltro","OpcionDeFiltro","OpcionesMultiples","OrdenDeLista","SeccionDeFiltros","ListaPaginada","renglonesDe","AvisoDeRecortados","Buscador","CabeceraDeLista","EstadoDeHoja","FilaConContador","RenglonDeContacto","RenglonDeDireccion","RenglonDeHoja","RenglonDeLiga","SeccionDeFicha","TarjetaDeLista","TarjetaDeslizable","PantallaDeAcceso","EsperaDeEdicion","FormularioDeEdicion","PantallaDeFicha","PantallaDeHistorial","TarjetaDeEvento","PantallaDePerfil"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,11 +2,24 @@ import React from "react";
|
|
|
2
2
|
import { type FieldValues } from "react-hook-form";
|
|
3
3
|
import type { CampoAtado, SinValor } from "../formularios/controlados";
|
|
4
4
|
import { type AlTomarFoto, type ArchivoElegido, type PermisoDeCamara } from "./elegir";
|
|
5
|
+
/**
|
|
6
|
+
* Una foto que ya está en el servidor (la de una captura que se vuelve a abrir): se enseña con su
|
|
7
|
+
* nube verde y se puede quitar, pero no se vuelve a subir. Quien guarda distingue las dos por `id`.
|
|
8
|
+
*/
|
|
9
|
+
export interface FotoGuardada {
|
|
10
|
+
id: number | string;
|
|
11
|
+
/** La foto completa. */
|
|
12
|
+
ruta: string;
|
|
13
|
+
/** Una previa chica, si el servidor la da. */
|
|
14
|
+
miniatura?: string | null;
|
|
15
|
+
}
|
|
16
|
+
/** Lo que guarda el campo: las que ya estaban y las que se acaban de tomar o elegir. */
|
|
17
|
+
export type FotoDelCampo = FotoGuardada | ArchivoElegido;
|
|
5
18
|
/**
|
|
6
19
|
* Fotos que se capturan con un formulario y suben al guardarlo (la evidencia de un alta, el cierre
|
|
7
20
|
* de una revisión): sus miniaturas, cada una con su «×» y abriendo el visor, y debajo **Tomar foto**
|
|
8
|
-
* y **De la galería**. Lo que se guarda es la lista de `ArchivoElegido` ya reducidos
|
|
9
|
-
* de quien guarda.
|
|
21
|
+
* y **De la galería**. Lo que se guarda es la lista de `ArchivoElegido` ya reducidos —más las
|
|
22
|
+
* `FotoGuardada` que ya estaban, si la captura se vuelve a abrir—; subirlos es de quien guarda.
|
|
10
23
|
*
|
|
11
24
|
* Las que suben al momento, sin esperar a un formulario (las de una ficha que ya existe), no van
|
|
12
25
|
* aquí: ésas son una `TiraDeFotos` con sus botones.
|
|
@@ -15,8 +28,8 @@ export declare function CampoDeFotos({ etiqueta, ayuda, error, valor, onCambiar,
|
|
|
15
28
|
etiqueta?: string;
|
|
16
29
|
ayuda?: string;
|
|
17
30
|
error?: string;
|
|
18
|
-
valor:
|
|
19
|
-
onCambiar: (valor:
|
|
31
|
+
valor: FotoDelCampo[];
|
|
32
|
+
onCambiar: (valor: FotoDelCampo[]) => void;
|
|
20
33
|
/** Para qué se pide la cámara, si todavía no hay permiso. */
|
|
21
34
|
permiso: PermisoDeCamara;
|
|
22
35
|
/** Con `false`, una nueva reemplaza a la que había. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CampoDeFotos.d.ts","sourceRoot":"","sources":["../../../../src/camara/CampoDeFotos.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAK/D,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,EAGH,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,eAAe,EACvB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"CampoDeFotos.d.ts","sourceRoot":"","sources":["../../../../src/camara/CampoDeFotos.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAK/D,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,EAGH,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,eAAe,EACvB,MAAM,UAAU,CAAC;AAElB;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,wFAAwF;AACxF,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,cAAc,CAAC;AAOzD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EACzB,QAAQ,EACR,KAAK,EACL,KAAK,EACL,KAAK,EACL,SAAS,EACT,OAAO,EACP,MAAa,EACb,OAAO,EACP,QAAQ,GACX,EAAE;IACC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,SAAS,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IAC3C,6DAA6D;IAC7D,OAAO,EAAE,eAAe,CAAC;IACzB,uDAAuD;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gGAAgG;IAChG,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,qBAiEA;AAED,wFAAwF;AACxF,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,WAAW,EAAE,EACpD,OAAO,EACP,IAAI,EACJ,GAAG,KAAK,EACX,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC,qBAerE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { CampoDeFotos, FotosControladas } from "./CampoDeFotos";
|
|
1
|
+
export { CampoDeFotos, FotosControladas, type FotoDelCampo, type FotoGuardada, } from "./CampoDeFotos";
|
|
2
2
|
export { deFotos, elegirDeGaleria, pedirPermisoDeCamara, tomarFoto, type AlTomarFoto, type ArchivoElegido, type PermisoDeCamara, } from "./elegir";
|
|
3
3
|
export { LADO_MAXIMO, reducirFoto, reducirImagenAdjunta } from "./reducir";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/camara/index.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/camara/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,YAAY,EACZ,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,OAAO,EACP,eAAe,EACf,oBAAoB,EACpB,SAAS,EACT,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,eAAe,GACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import MaterialCommunityIcons from "@expo/vector-icons/MaterialCommunityIcons";
|
|
2
|
+
import React from "react";
|
|
3
|
+
/**
|
|
4
|
+
* Lo que una lista con `BotonFlotante` deja abajo **además** de `HUECO_DE_LA_BARRA`, para que el
|
|
5
|
+
* botón no tape su última tarjeta.
|
|
6
|
+
*/
|
|
7
|
+
export declare const HUECO_DEL_BOTON_FLOTANTE = 80;
|
|
8
|
+
/**
|
|
9
|
+
* El botón redondo de una pantalla que da de alta («Registrar vigencia», «Solicitar accesorio»):
|
|
10
|
+
* abajo a la derecha, encima de la barra de pestañas y de la lista. Va en la pantalla de la
|
|
11
|
+
* pestaña, que decide cuándo enseñarlo (con el permiso de dar de alta, o cuando hay de qué).
|
|
12
|
+
*
|
|
13
|
+
* Sólo lleva icono: `etiqueta` es lo que dice el lector de pantalla.
|
|
14
|
+
*/
|
|
15
|
+
export default function BotonFlotante({ icono, etiqueta, onPress, }: {
|
|
16
|
+
icono?: React.ComponentProps<typeof MaterialCommunityIcons>["name"];
|
|
17
|
+
/** Lo que dice el lector de pantalla: «Registrar vigencia». */
|
|
18
|
+
etiqueta: string;
|
|
19
|
+
onPress: () => void;
|
|
20
|
+
}): React.JSX.Element;
|
|
21
|
+
//# sourceMappingURL=BotonFlotante.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BotonFlotante.d.ts","sourceRoot":"","sources":["../../../../src/componentes/BotonFlotante.tsx"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B;;;GAGG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAClC,KAAc,EACd,QAAQ,EACR,OAAO,GACV,EAAE;IACC,KAAK,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;IACpE,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB,qBAaA"}
|
|
@@ -26,6 +26,16 @@ interface FuenteDeOpciones<T extends Opcion> {
|
|
|
26
26
|
grupo?: (opcion: T) => string;
|
|
27
27
|
vacio?: string;
|
|
28
28
|
disabled?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Lo que va a la derecha del rótulo: un «No aplica» que apaga el campo. No se apaga con él,
|
|
31
|
+
* porque es lo que lo vuelve a prender.
|
|
32
|
+
*/
|
|
33
|
+
accesorio?: React.ReactNode;
|
|
34
|
+
/**
|
|
35
|
+
* Señala el campo mientras no tenga nada elegido: lo que falta capturar en un formulario largo.
|
|
36
|
+
* En ámbar y no en rojo, que es del error.
|
|
37
|
+
*/
|
|
38
|
+
resaltarVacio?: boolean;
|
|
29
39
|
}
|
|
30
40
|
export interface PropsDeSelectorDeOpcion<T extends Opcion> extends FuenteDeOpciones<T> {
|
|
31
41
|
valor: T | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectorDeOpcion.d.ts","sourceRoot":"","sources":["../../../../src/formularios/SelectorDeOpcion.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"SelectorDeOpcion.d.ts","sourceRoot":"","sources":["../../../../src/formularios/SelectorDeOpcion.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAiB1B,qFAAqF;AACrF,MAAM,WAAW,MAAM;IACnB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,6FAA6F;AAC7F,UAAU,gBAAgB,CAAC,CAAC,SAAS,MAAM;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,2EAA2E;IAC3E,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,CAAC;IACvC,8EAA8E;IAC9E,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IAClF,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IACrC,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IAClF,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACrC;AA2KD;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,qBA2D3F;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,qBAqEnF"}
|
|
@@ -6,7 +6,7 @@ import type { CampoAtado } from "./controlados";
|
|
|
6
6
|
* con contorno y la etiqueta que sube al escribir. Con `contrasena`, oculta lo escrito y lleva el
|
|
7
7
|
* ojo para verlo.
|
|
8
8
|
*
|
|
9
|
-
* Es de Paper y no `TextoControlado`, que lleva su rótulo
|
|
9
|
+
* Es de Paper y no `TextoControlado`, que lleva su rótulo dentro de la caja, porque así es la pantalla de
|
|
10
10
|
* entrada de las apps.
|
|
11
11
|
*/
|
|
12
12
|
export default function TextoDeAccesoControlado<T extends FieldValues>({ control, name, etiqueta, contrasena, entrada, }: CampoAtado<T> & {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { type KeyboardTypeOptions } from "react-native";
|
|
2
|
+
import { type AccessibilityRole, type KeyboardTypeOptions } from "react-native";
|
|
3
3
|
/**
|
|
4
|
-
* Los campos de un formulario (un viaje, un tracto, un operador). Cada uno
|
|
5
|
-
* su error abajo, para que la pantalla sólo los apile. Son controlados: atados a react-hook-form,
|
|
4
|
+
* Los campos de un formulario (un viaje, un tracto, un operador). Cada uno es una caja con su
|
|
5
|
+
* rótulo adentro (`CajaDeCampo`) y su error abajo, para que la pantalla sólo los apile. Son controlados: atados a react-hook-form,
|
|
6
6
|
* van por `controlados.tsx`.
|
|
7
7
|
*/
|
|
8
8
|
/** El error de un campo, en rojo y debajo de él. */
|
|
@@ -10,23 +10,51 @@ export declare function ErrorDelCampo({ error }: {
|
|
|
10
10
|
error?: string;
|
|
11
11
|
}): React.JSX.Element | null;
|
|
12
12
|
/**
|
|
13
|
-
* El marco de un campo: el rótulo arriba
|
|
13
|
+
* El marco de un campo: el rótulo arriba (si no va en su `CajaDeCampo`), lo que se captura en
|
|
14
|
+
* medio, y debajo la ayuda y el error.
|
|
14
15
|
* Lo usan todos los campos de aquí, y una app lo usa para lo que no es un campo de la casa —una
|
|
15
16
|
* tira de fotos, el renglón de un escáner— sin que se vea distinto de los demás.
|
|
16
17
|
*
|
|
17
18
|
* Sin `etiqueta` no pinta rótulo: el interruptor lleva el suyo adentro.
|
|
19
|
+
*
|
|
20
|
+
* `accesorio` va a la derecha del rótulo: un «No aplica» que apaga el campo, por ejemplo. Queda
|
|
21
|
+
* fuera de lo que se apaga, porque es justo lo que lo vuelve a prender.
|
|
18
22
|
*/
|
|
19
|
-
export declare function Campo({ etiqueta, ayuda, error, children, }: {
|
|
23
|
+
export declare function Campo({ etiqueta, ayuda, error, accesorio, children, }: {
|
|
20
24
|
etiqueta?: string;
|
|
21
25
|
ayuda?: string;
|
|
22
26
|
error?: string;
|
|
27
|
+
accesorio?: React.ReactNode;
|
|
28
|
+
children: React.ReactNode;
|
|
29
|
+
}): React.JSX.Element;
|
|
30
|
+
/**
|
|
31
|
+
* La caja de un campo: el rótulo adentro, arriba de lo que se captura, con un borde tenue. Es la
|
|
32
|
+
* forma del texto, la fecha, el teléfono y el selector, y una app la usa para los suyos (el
|
|
33
|
+
* renglón de un escáner) sin que se vean distintos. Va dentro de un `Campo` sin `etiqueta`, que
|
|
34
|
+
* pone la ayuda y el error debajo.
|
|
35
|
+
*
|
|
36
|
+
* Tocarla en cualquier parte es `onPress`: enfocar lo que se escribe, abrir la lista. Apagada se
|
|
37
|
+
* atenúa lo de adentro y no el `accesorio`, que es justo lo que la vuelve a prender.
|
|
38
|
+
*/
|
|
39
|
+
export declare function CajaDeCampo({ etiqueta, accesorio, onPress, accessibilityRole, disabled, enfocada, pendiente, conError, children, }: {
|
|
40
|
+
etiqueta?: string;
|
|
41
|
+
accesorio?: React.ReactNode;
|
|
42
|
+
onPress?: () => void;
|
|
43
|
+
accessibilityRole?: AccessibilityRole;
|
|
44
|
+
disabled?: boolean;
|
|
45
|
+
/** Se escribe en ella: el borde se marca. */
|
|
46
|
+
enfocada?: boolean;
|
|
47
|
+
/** Vacía y se pidió resaltarla (`resaltarVacio`): el borde en ámbar. */
|
|
48
|
+
pendiente?: boolean;
|
|
49
|
+
/** El borde en rojo; el texto del error lo pone el `Campo`. */
|
|
50
|
+
conError?: boolean;
|
|
23
51
|
children: React.ReactNode;
|
|
24
52
|
}): React.JSX.Element;
|
|
25
53
|
/**
|
|
26
54
|
* Un texto libre: una referencia (tope de 100), unas instrucciones (varios renglones), un VIN (en
|
|
27
55
|
* mayúsculas) o un año (`teclado="number-pad"`).
|
|
28
56
|
*/
|
|
29
|
-
export declare function CampoDeTexto({ etiqueta, valor, onCambiar, error, multilinea, maximo, placeholder, ayuda, disabled, teclado, mayusculas, }: {
|
|
57
|
+
export declare function CampoDeTexto({ etiqueta, valor, onCambiar, error, multilinea, maximo, placeholder, ayuda, disabled, teclado, mayusculas, accesorio, resaltarVacio, }: {
|
|
30
58
|
etiqueta: string;
|
|
31
59
|
valor: string;
|
|
32
60
|
onCambiar: (valor: string) => void;
|
|
@@ -39,14 +67,21 @@ export declare function CampoDeTexto({ etiqueta, valor, onCambiar, error, multil
|
|
|
39
67
|
teclado?: KeyboardTypeOptions;
|
|
40
68
|
/** Cómo pone mayúsculas el teclado; un VIN o una placa, `characters`. */
|
|
41
69
|
mayusculas?: "none" | "sentences" | "words" | "characters";
|
|
70
|
+
/** Lo que va a la derecha del rótulo (ver `Campo`). */
|
|
71
|
+
accesorio?: React.ReactNode;
|
|
72
|
+
/**
|
|
73
|
+
* Señala el campo mientras esté vacío: lo que falta capturar en un formulario largo (una
|
|
74
|
+
* revisión) se ve sin buscarlo. En ámbar y no en rojo, que es del error.
|
|
75
|
+
*/
|
|
76
|
+
resaltarVacio?: boolean;
|
|
42
77
|
}): React.JSX.Element;
|
|
43
78
|
/**
|
|
44
79
|
* Una fecha con su hora: dos botones, el día y la hora, cada uno con el selector del sistema. **La
|
|
45
80
|
* hora es el dato** (contra ella se mide si un viaje va tarde o un equipo está comprometido), así
|
|
46
81
|
* que nunca se manda sólo el día.
|
|
47
82
|
*
|
|
48
|
-
* Vacío, un solo botón «Elegir»: abre el día y, al elegirlo, la hora. Si es `opcional`,
|
|
49
|
-
* lo deja vacío otra vez.
|
|
83
|
+
* Vacío, un solo botón «Elegir»: abre el día y, al elegirlo, la hora. Si es `opcional`, la ✕ del
|
|
84
|
+
* rótulo lo deja vacío otra vez.
|
|
50
85
|
*/
|
|
51
86
|
export declare function CampoDeFechaHora({ etiqueta, valor, onCambiar, error, opcional, ayuda, desde, hasta, }: {
|
|
52
87
|
etiqueta: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"campos.d.ts","sourceRoot":"","sources":["../../../../src/formularios/campos.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"campos.d.ts","sourceRoot":"","sources":["../../../../src/formularios/campos.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HojaDeLista.d.ts","sourceRoot":"","sources":["../../../../src/hoja/HojaDeLista.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HojaDeLista.d.ts","sourceRoot":"","sources":["../../../../src/hoja/HojaDeLista.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAYxE,0FAA0F;AAC1F,MAAM,WAAW,aAAa,CAAC,CAAC;IAC5B,oDAAoD;IACpD,SAAS,EAAE,CAAC,EAAE,CAAC;IACf,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,yDAAyD;IACzD,QAAQ,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,CAAC,EAAE,EACnC,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,KAAK,EACL,UAAU,EACV,KAAK,EACL,OAAO,GACV,EAAE;IACC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACtF,oEAAoE;IACpE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACxB,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC;IACpC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,YAAY,CAAC;IAC5C,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,4BA4HA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HojaInferior.d.ts","sourceRoot":"","sources":["../../../../src/hoja/HojaInferior.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HojaInferior.d.ts","sourceRoot":"","sources":["../../../../src/hoja/HojaInferior.tsx"],"names":[],"mappings":"AASA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAO9D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACjC,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,EACT,QAAQ,GACX,EAAE;IACC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,qBAuDA"}
|
|
@@ -2,6 +2,7 @@ export * from "./tema";
|
|
|
2
2
|
export { Text, TextInput } from "./texto";
|
|
3
3
|
export { default as AccionesDelEncabezado, type AccionDelEncabezado, } from "./componentes/AccionesDelEncabezado";
|
|
4
4
|
export { default as BotonDeAvatar, inicialesDe } from "./componentes/BotonDeAvatar";
|
|
5
|
+
export { default as BotonFlotante, HUECO_DEL_BOTON_FLOTANTE } from "./componentes/BotonFlotante";
|
|
5
6
|
export { default as BotonGrande } from "./componentes/BotonGrande";
|
|
6
7
|
export { default as CabeceraEmpujada } from "./componentes/CabeceraEmpujada";
|
|
7
8
|
export { default as Chip, type TonoDeChip } from "./componentes/Chip";
|
|
@@ -25,7 +26,7 @@ export { default as HostDeDialogos } from "./dialogos/HostDeDialogos";
|
|
|
25
26
|
export { default as BarraDePestanas, HUECO_DE_LA_BARRA } from "./navegacion/BarraDePestanas";
|
|
26
27
|
export type { IconoDePestana } from "./navegacion/BotonDeBarra";
|
|
27
28
|
export { ALTO_DEL_ENCABEZADO, TituloDelEncabezado, useOpcionesDelEncabezado, } from "./navegacion/encabezado";
|
|
28
|
-
export { CampoDeFecha, CampoDeFechaHora, CampoDeOpciones, CampoDeTelefono, CampoDeTexto, CampoInterruptor, Campo, ErrorDelCampo, } from "./formularios/campos";
|
|
29
|
+
export { CajaDeCampo, CampoDeFecha, CampoDeFechaHora, CampoDeOpciones, CampoDeTelefono, CampoDeTexto, CampoInterruptor, Campo, ErrorDelCampo, } from "./formularios/campos";
|
|
29
30
|
export { default as CampoDeSeleccion, CampoDeVarias } from "./formularios/CampoDeSeleccion";
|
|
30
31
|
export { FechaControlada, FechaHoraControlada, InterruptorControlado, OpcionesControladas, SeleccionControlada, TelefonoControlado, TextoControlado, VariasControladas, type CampoAtado, type SinValor, } from "./formularios/controlados";
|
|
31
32
|
export { mensajeDeError, setErrors } from "./formularios/errores";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -14,14 +14,31 @@ import {
|
|
|
14
14
|
type PermisoDeCamara,
|
|
15
15
|
} from "./elegir";
|
|
16
16
|
|
|
17
|
+
/**
|
|
18
|
+
* Una foto que ya está en el servidor (la de una captura que se vuelve a abrir): se enseña con su
|
|
19
|
+
* nube verde y se puede quitar, pero no se vuelve a subir. Quien guarda distingue las dos por `id`.
|
|
20
|
+
*/
|
|
21
|
+
export interface FotoGuardada {
|
|
22
|
+
id: number | string;
|
|
23
|
+
/** La foto completa. */
|
|
24
|
+
ruta: string;
|
|
25
|
+
/** Una previa chica, si el servidor la da. */
|
|
26
|
+
miniatura?: string | null;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/** Lo que guarda el campo: las que ya estaban y las que se acaban de tomar o elegir. */
|
|
30
|
+
export type FotoDelCampo = FotoGuardada | ArchivoElegido;
|
|
31
|
+
|
|
32
|
+
const esGuardada = (foto: FotoDelCampo): foto is FotoGuardada => "id" in foto;
|
|
33
|
+
|
|
17
34
|
/** El lado de cada miniatura: cabe un renglón de tres en un teléfono angosto. */
|
|
18
35
|
const LADO = 96;
|
|
19
36
|
|
|
20
37
|
/**
|
|
21
38
|
* Fotos que se capturan con un formulario y suben al guardarlo (la evidencia de un alta, el cierre
|
|
22
39
|
* de una revisión): sus miniaturas, cada una con su «×» y abriendo el visor, y debajo **Tomar foto**
|
|
23
|
-
* y **De la galería**. Lo que se guarda es la lista de `ArchivoElegido` ya reducidos
|
|
24
|
-
* de quien guarda.
|
|
40
|
+
* y **De la galería**. Lo que se guarda es la lista de `ArchivoElegido` ya reducidos —más las
|
|
41
|
+
* `FotoGuardada` que ya estaban, si la captura se vuelve a abrir—; subirlos es de quien guarda.
|
|
25
42
|
*
|
|
26
43
|
* Las que suben al momento, sin esperar a un formulario (las de una ficha que ya existe), no van
|
|
27
44
|
* aquí: ésas son una `TiraDeFotos` con sus botones.
|
|
@@ -40,8 +57,8 @@ export function CampoDeFotos({
|
|
|
40
57
|
etiqueta?: string;
|
|
41
58
|
ayuda?: string;
|
|
42
59
|
error?: string;
|
|
43
|
-
valor:
|
|
44
|
-
onCambiar: (valor:
|
|
60
|
+
valor: FotoDelCampo[];
|
|
61
|
+
onCambiar: (valor: FotoDelCampo[]) => void;
|
|
45
62
|
/** Para qué se pide la cámara, si todavía no hay permiso. */
|
|
46
63
|
permiso: PermisoDeCamara;
|
|
47
64
|
/** Con `false`, una nueva reemplaza a la que había. */
|
|
@@ -67,13 +84,25 @@ export function CampoDeFotos({
|
|
|
67
84
|
}
|
|
68
85
|
};
|
|
69
86
|
|
|
70
|
-
const fotos: FotoDeLaTira[] = valor.map((f, i) =>
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
87
|
+
const fotos: FotoDeLaTira[] = valor.map((f, i) => {
|
|
88
|
+
const onQuitar = disabled ? undefined : () => onCambiar(valor.filter((_, j) => j !== i));
|
|
89
|
+
return esGuardada(f)
|
|
90
|
+
? {
|
|
91
|
+
llave: `g-${f.id}`,
|
|
92
|
+
esFoto: true,
|
|
93
|
+
miniatura: { ruta: f.miniatura || f.ruta },
|
|
94
|
+
completa: { ruta: f.ruta },
|
|
95
|
+
marca: "enviada",
|
|
96
|
+
onQuitar,
|
|
97
|
+
}
|
|
98
|
+
: {
|
|
99
|
+
llave: `n-${f.uri}-${i}`,
|
|
100
|
+
esFoto: f.esFoto,
|
|
101
|
+
miniatura: { uri: f.uri },
|
|
102
|
+
nombre: f.nombre,
|
|
103
|
+
onQuitar,
|
|
104
|
+
};
|
|
105
|
+
});
|
|
77
106
|
|
|
78
107
|
return (
|
|
79
108
|
<Campo etiqueta={etiqueta} ayuda={ayuda} error={error}>
|
|
@@ -117,7 +146,7 @@ export function FotosControladas<T extends FieldValues>({
|
|
|
117
146
|
render={({ field: { value, onChange }, fieldState }) => (
|
|
118
147
|
<CampoDeFotos
|
|
119
148
|
{...props}
|
|
120
|
-
valor={(value as
|
|
149
|
+
valor={(value as FotoDelCampo[] | null) ?? []}
|
|
121
150
|
onCambiar={onChange}
|
|
122
151
|
error={fieldState.error?.message}
|
|
123
152
|
/>
|
package/src/camara/index.ts
CHANGED
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
// formulario. Va aparte de la entrada principal porque usa expo-image-picker y
|
|
3
3
|
// expo-image-manipulator, que sólo instala la app que sube fotos; y aparte de `fotos` porque ésa
|
|
4
4
|
// además elige documentos, con expo-document-picker.
|
|
5
|
-
export {
|
|
5
|
+
export {
|
|
6
|
+
CampoDeFotos,
|
|
7
|
+
FotosControladas,
|
|
8
|
+
type FotoDelCampo,
|
|
9
|
+
type FotoGuardada,
|
|
10
|
+
} from "./CampoDeFotos";
|
|
6
11
|
export {
|
|
7
12
|
deFotos,
|
|
8
13
|
elegirDeGaleria,
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import MaterialCommunityIcons from "@expo/vector-icons/MaterialCommunityIcons";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { Pressable } from "react-native";
|
|
4
|
+
import { HUECO_DE_LA_BARRA } from "../navegacion/BarraDePestanas";
|
|
5
|
+
import { crearEstilos, usePaleta } from "../tema";
|
|
6
|
+
|
|
7
|
+
/** Lo que el botón deja libre sobre la barra de pestañas, que flota encima de la lista. */
|
|
8
|
+
const SOBRE_LA_BARRA = HUECO_DE_LA_BARRA - 24;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Lo que una lista con `BotonFlotante` deja abajo **además** de `HUECO_DE_LA_BARRA`, para que el
|
|
12
|
+
* botón no tape su última tarjeta.
|
|
13
|
+
*/
|
|
14
|
+
export const HUECO_DEL_BOTON_FLOTANTE = 80;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* El botón redondo de una pantalla que da de alta («Registrar vigencia», «Solicitar accesorio»):
|
|
18
|
+
* abajo a la derecha, encima de la barra de pestañas y de la lista. Va en la pantalla de la
|
|
19
|
+
* pestaña, que decide cuándo enseñarlo (con el permiso de dar de alta, o cuando hay de qué).
|
|
20
|
+
*
|
|
21
|
+
* Sólo lleva icono: `etiqueta` es lo que dice el lector de pantalla.
|
|
22
|
+
*/
|
|
23
|
+
export default function BotonFlotante({
|
|
24
|
+
icono = "plus",
|
|
25
|
+
etiqueta,
|
|
26
|
+
onPress,
|
|
27
|
+
}: {
|
|
28
|
+
icono?: React.ComponentProps<typeof MaterialCommunityIcons>["name"];
|
|
29
|
+
/** Lo que dice el lector de pantalla: «Registrar vigencia». */
|
|
30
|
+
etiqueta: string;
|
|
31
|
+
onPress: () => void;
|
|
32
|
+
}) {
|
|
33
|
+
const c = usePaleta();
|
|
34
|
+
const styles = useStyles();
|
|
35
|
+
return (
|
|
36
|
+
<Pressable
|
|
37
|
+
onPress={onPress}
|
|
38
|
+
accessibilityRole="button"
|
|
39
|
+
accessibilityLabel={etiqueta}
|
|
40
|
+
style={({ pressed }) => [styles.boton, pressed && styles.presionado]}
|
|
41
|
+
>
|
|
42
|
+
<MaterialCommunityIcons name={icono} size={32} color={c.sobrePrimario} />
|
|
43
|
+
</Pressable>
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const useStyles = crearEstilos((c) => ({
|
|
48
|
+
boton: {
|
|
49
|
+
position: "absolute",
|
|
50
|
+
right: 20,
|
|
51
|
+
bottom: SOBRE_LA_BARRA,
|
|
52
|
+
width: 64,
|
|
53
|
+
height: 64,
|
|
54
|
+
borderRadius: 32,
|
|
55
|
+
backgroundColor: c.primary,
|
|
56
|
+
alignItems: "center",
|
|
57
|
+
justifyContent: "center",
|
|
58
|
+
elevation: 6,
|
|
59
|
+
shadowColor: c.sombra,
|
|
60
|
+
shadowOpacity: 0.25,
|
|
61
|
+
shadowRadius: 6,
|
|
62
|
+
shadowOffset: { width: 0, height: 3 },
|
|
63
|
+
},
|
|
64
|
+
presionado: { opacity: 0.8 },
|
|
65
|
+
}));
|