@acvl/mobile-components 0.0.4 → 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 CHANGED
@@ -14,7 +14,7 @@ un renglón, y todo listo para la letra del teléfono al 180%.
14
14
  | Área | Qué |
15
15
  | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
16
16
  | **Tema** | `ProveedorDeTema`, `usePreferenciaDeTema`, `PALETA_CLARA`/`PALETA_OSCURA`, `usePaleta`, `crearEstilos`, `useEsOscuro`, `tipografia`, `renglon`, `Text`, `TextInput` |
17
- | **Componentes** | `BotonGrande`, `Chip` (con su tono `morado`), `EstadoVacio`, `IconoDeRenglon`, `Nota`, `OpcionesExcluyentes`, `Pestanas`, `Rotulo`, `RotuloDeSeccion` (con su `accion`), `Tarjeta`, `TarjetaDeDatos`, `Logo`, `LogoCompleto`, `ContenidoDePantalla` |
17
+ | **Componentes** | `BotonFlotante` (con `HUECO_DEL_BOTON_FLOTANTE`), `BotonGrande`, `Chip` (con su tono `morado`), `EstadoVacio`, `IconoDeRenglon`, `Nota`, `OpcionesExcluyentes`, `Pestanas`, `Rotulo`, `RotuloDeSeccion` (con su `accion`), `Tarjeta`, `TarjetaDeDatos`, `Logo`, `LogoCompleto`, `ContenidoDePantalla` |
18
18
  | **Navegación** | `useOpcionesDelEncabezado` (el header de las pestañas), `BarraDePestanas`, `CabeceraEmpujada`, `AccionesDelEncabezado` (con `insignia`), `BotonDeAvatar` |
19
19
  | **Diálogos** | `mostrarDialogo`, `confirmar`, `avisar` y su `HostDeDialogos` |
20
20
  | **Formularios** | `CampoDeTexto`, `CampoDeFecha`, `CampoDeFechaHora`, `CampoInterruptor`, `CampoDeOpciones`, `CampoDeTelefono`, `CampoDeSeleccion` (del servidor o de una lista fija), `CampoDeVarias`, `SelectorDeOpcion`, `SelectorDeVarias`, `Campo` (el marco de un campo propio; con `accesorio` junto al rótulo), `CajaDeCampo` (la caja con el rótulo adentro que usan todos), `resaltarVacio` en el texto y los selectores, sus `…Controlado` de react-hook-form, `TextoDeAccesoControlado` (el login), `useGuardado`, `soloLoQueCambio`, `mensajeDeError`, `setErrors`, `useBusqueda` |
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ import MaterialCommunityIcons from "@expo/vector-icons/MaterialCommunityIcons";
4
+ import React from "react";
5
+ import { Pressable } from "react-native";
6
+ import { HUECO_DE_LA_BARRA } from "../navegacion/BarraDePestanas";
7
+ import { crearEstilos, usePaleta } from "../tema";
8
+
9
+ /** Lo que el botón deja libre sobre la barra de pestañas, que flota encima de la lista. */
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ const SOBRE_LA_BARRA = HUECO_DE_LA_BARRA - 24;
12
+
13
+ /**
14
+ * Lo que una lista con `BotonFlotante` deja abajo **además** de `HUECO_DE_LA_BARRA`, para que el
15
+ * botón no tape su última tarjeta.
16
+ */
17
+ export const HUECO_DEL_BOTON_FLOTANTE = 80;
18
+
19
+ /**
20
+ * El botón redondo de una pantalla que da de alta («Registrar vigencia», «Solicitar accesorio»):
21
+ * abajo a la derecha, encima de la barra de pestañas y de la lista. Va en la pantalla de la
22
+ * pestaña, que decide cuándo enseñarlo (con el permiso de dar de alta, o cuando hay de qué).
23
+ *
24
+ * Sólo lleva icono: `etiqueta` es lo que dice el lector de pantalla.
25
+ */
26
+ export default function BotonFlotante({
27
+ icono = "plus",
28
+ etiqueta,
29
+ onPress
30
+ }) {
31
+ const c = usePaleta();
32
+ const styles = useStyles();
33
+ return /*#__PURE__*/_jsx(Pressable, {
34
+ onPress: onPress,
35
+ accessibilityRole: "button",
36
+ accessibilityLabel: etiqueta,
37
+ style: ({
38
+ pressed
39
+ }) => [styles.boton, pressed && styles.presionado],
40
+ children: /*#__PURE__*/_jsx(MaterialCommunityIcons, {
41
+ name: icono,
42
+ size: 32,
43
+ color: c.sobrePrimario
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: {
63
+ width: 0,
64
+ height: 3
65
+ }
66
+ },
67
+ presionado: {
68
+ opacity: 0.8
69
+ }
70
+ }));
71
+ //# sourceMappingURL=BotonFlotante.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MaterialCommunityIcons","React","Pressable","HUECO_DE_LA_BARRA","crearEstilos","usePaleta","jsx","_jsx","SOBRE_LA_BARRA","HUECO_DEL_BOTON_FLOTANTE","BotonFlotante","icono","etiqueta","onPress","c","styles","useStyles","accessibilityRole","accessibilityLabel","style","pressed","boton","presionado","children","name","size","color","sobrePrimario","position","right","bottom","width","height","borderRadius","backgroundColor","primary","alignItems","justifyContent","elevation","shadowColor","sombra","shadowOpacity","shadowRadius","shadowOffset","opacity"],"sourceRoot":"../../../src","sources":["componentes/BotonFlotante.tsx"],"mappings":";;AAAA,OAAOA,sBAAsB,MAAM,2CAA2C;AAC9E,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,iBAAiB,QAAQ,+BAA+B;AACjE,SAASC,YAAY,EAAEC,SAAS,QAAQ,SAAS;;AAEjD;AAAA,SAAAC,GAAA,IAAAC,IAAA;AACA,MAAMC,cAAc,GAAGL,iBAAiB,GAAG,EAAE;;AAE7C;AACA;AACA;AACA;AACA,OAAO,MAAMM,wBAAwB,GAAG,EAAE;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,aAAaA,CAAC;EAClCC,KAAK,GAAG,MAAM;EACdC,QAAQ;EACRC;AAMJ,CAAC,EAAE;EACC,MAAMC,CAAC,GAAGT,SAAS,CAAC,CAAC;EACrB,MAAMU,MAAM,GAAGC,SAAS,CAAC,CAAC;EAC1B,oBACIT,IAAA,CAACL,SAAS;IACNW,OAAO,EAAEA,OAAQ;IACjBI,iBAAiB,EAAC,QAAQ;IAC1BC,kBAAkB,EAAEN,QAAS;IAC7BO,KAAK,EAAEA,CAAC;MAAEC;IAAQ,CAAC,KAAK,CAACL,MAAM,CAACM,KAAK,EAAED,OAAO,IAAIL,MAAM,CAACO,UAAU,CAAE;IAAAC,QAAA,eAErEhB,IAAA,CAACP,sBAAsB;MAACwB,IAAI,EAAEb,KAAM;MAACc,IAAI,EAAE,EAAG;MAACC,KAAK,EAAEZ,CAAC,CAACa;IAAc,CAAE;EAAC,CAClE,CAAC;AAEpB;AAEA,MAAMX,SAAS,GAAGZ,YAAY,CAAEU,CAAC,KAAM;EACnCO,KAAK,EAAE;IACHO,QAAQ,EAAE,UAAU;IACpBC,KAAK,EAAE,EAAE;IACTC,MAAM,EAAEtB,cAAc;IACtBuB,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAEpB,CAAC,CAACqB,OAAO;IAC1BC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,SAAS,EAAE,CAAC;IACZC,WAAW,EAAEzB,CAAC,CAAC0B,MAAM;IACrBC,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,CAAC;IACfC,YAAY,EAAE;MAAEZ,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE;EACxC,CAAC;EACDV,UAAU,EAAE;IAAEsB,OAAO,EAAE;EAAI;AAC/B,CAAC,CAAC,CAAC","ignoreList":[]}
@@ -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";
@@ -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","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":[]}
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":[]}
@@ -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"}
@@ -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";
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acvl/mobile-components",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "description": "Librería de componentes de las apps móviles de ACV (Expo / React Native).",
5
5
  "homepage": "https://github.com/ACV-Logistics/acv-mobile-components#readme",
6
6
  "bugs": {
@@ -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
+ }));
package/src/index.ts CHANGED
@@ -10,6 +10,7 @@ export {
10
10
  type AccionDelEncabezado,
11
11
  } from "./componentes/AccionesDelEncabezado";
12
12
  export { default as BotonDeAvatar, inicialesDe } from "./componentes/BotonDeAvatar";
13
+ export { default as BotonFlotante, HUECO_DEL_BOTON_FLOTANTE } from "./componentes/BotonFlotante";
13
14
  export { default as BotonGrande } from "./componentes/BotonGrande";
14
15
  export { default as CabeceraEmpujada } from "./componentes/CabeceraEmpujada";
15
16
  export { default as Chip, type TonoDeChip } from "./componentes/Chip";