orn-ui 0.1.1 → 0.2.0
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 +9 -2
- package/lib/commonjs/atoms/PressableScale.js +9 -10
- package/lib/commonjs/atoms/PressableScale.js.map +1 -1
- package/lib/commonjs/atoms/Skeleton.js +96 -0
- package/lib/commonjs/atoms/Skeleton.js.map +1 -0
- package/lib/commonjs/atoms/Transition.js +171 -0
- package/lib/commonjs/atoms/Transition.js.map +1 -0
- package/lib/commonjs/atoms/index.js +20 -0
- package/lib/commonjs/atoms/index.js.map +1 -1
- package/lib/commonjs/molecules/OptionCard.js +55 -22
- package/lib/commonjs/molecules/OptionCard.js.map +1 -1
- package/lib/commonjs/molecules/{ThemeToggle.js → SegmentedControl.js} +36 -36
- package/lib/commonjs/molecules/SegmentedControl.js.map +1 -0
- package/lib/commonjs/molecules/Stepper.js +124 -47
- package/lib/commonjs/molecules/Stepper.js.map +1 -1
- package/lib/commonjs/molecules/index.js +9 -3
- package/lib/commonjs/molecules/index.js.map +1 -1
- package/lib/commonjs/organisms/AlertProvider.js +26 -0
- package/lib/commonjs/organisms/AlertProvider.js.map +1 -1
- package/lib/commonjs/organisms/BottomSheet.js +118 -39
- package/lib/commonjs/organisms/BottomSheet.js.map +1 -1
- package/lib/commonjs/organisms/List.js +66 -44
- package/lib/commonjs/organisms/List.js.map +1 -1
- package/lib/commonjs/organisms/Modal.js +42 -87
- package/lib/commonjs/organisms/Modal.js.map +1 -1
- package/lib/commonjs/organisms/NavigationBar.js +205 -0
- package/lib/commonjs/organisms/NavigationBar.js.map +1 -0
- package/lib/commonjs/organisms/Screen.js +9 -2
- package/lib/commonjs/organisms/Screen.js.map +1 -1
- package/lib/commonjs/organisms/SearchList.js +97 -28
- package/lib/commonjs/organisms/SearchList.js.map +1 -1
- package/lib/commonjs/organisms/Select.js +222 -50
- package/lib/commonjs/organisms/Select.js.map +1 -1
- package/lib/commonjs/organisms/ThemeToggle.js +52 -0
- package/lib/commonjs/organisms/ThemeToggle.js.map +1 -0
- package/lib/commonjs/organisms/Toast.js +8 -22
- package/lib/commonjs/organisms/Toast.js.map +1 -1
- package/lib/commonjs/organisms/ToastProvider.js +24 -0
- package/lib/commonjs/organisms/ToastProvider.js.map +1 -1
- package/lib/commonjs/organisms/Wizard.js +22 -2
- package/lib/commonjs/organisms/Wizard.js.map +1 -1
- package/lib/commonjs/organisms/imperativeBridge.js +28 -0
- package/lib/commonjs/organisms/imperativeBridge.js.map +1 -0
- package/lib/commonjs/organisms/index.js +50 -0
- package/lib/commonjs/organisms/index.js.map +1 -1
- package/lib/commonjs/theme/colors.js +207 -0
- package/lib/commonjs/theme/colors.js.map +1 -0
- package/lib/commonjs/theme/createTheme.js +25 -2
- package/lib/commonjs/theme/createTheme.js.map +1 -1
- package/lib/commonjs/theme/index.js +25 -0
- package/lib/commonjs/theme/index.js.map +1 -1
- package/lib/commonjs/theme/palettes.js +5 -2
- package/lib/commonjs/theme/palettes.js.map +1 -1
- package/lib/module/atoms/PressableScale.js +9 -10
- package/lib/module/atoms/PressableScale.js.map +1 -1
- package/lib/module/atoms/Skeleton.js +91 -0
- package/lib/module/atoms/Skeleton.js.map +1 -0
- package/lib/module/atoms/Transition.js +165 -0
- package/lib/module/atoms/Transition.js.map +1 -0
- package/lib/module/atoms/index.js +2 -0
- package/lib/module/atoms/index.js.map +1 -1
- package/lib/module/molecules/OptionCard.js +56 -23
- package/lib/module/molecules/OptionCard.js.map +1 -1
- package/lib/module/molecules/{ThemeToggle.js → SegmentedControl.js} +36 -36
- package/lib/module/molecules/SegmentedControl.js.map +1 -0
- package/lib/module/molecules/Stepper.js +125 -49
- package/lib/module/molecules/Stepper.js.map +1 -1
- package/lib/module/molecules/index.js +2 -2
- package/lib/module/molecules/index.js.map +1 -1
- package/lib/module/organisms/AlertProvider.js +24 -1
- package/lib/module/organisms/AlertProvider.js.map +1 -1
- package/lib/module/organisms/BottomSheet.js +120 -41
- package/lib/module/organisms/BottomSheet.js.map +1 -1
- package/lib/module/organisms/List.js +68 -46
- package/lib/module/organisms/List.js.map +1 -1
- package/lib/module/organisms/Modal.js +44 -89
- package/lib/module/organisms/Modal.js.map +1 -1
- package/lib/module/organisms/NavigationBar.js +200 -0
- package/lib/module/organisms/NavigationBar.js.map +1 -0
- package/lib/module/organisms/Screen.js +9 -2
- package/lib/module/organisms/Screen.js.map +1 -1
- package/lib/module/organisms/SearchList.js +98 -29
- package/lib/module/organisms/SearchList.js.map +1 -1
- package/lib/module/organisms/Select.js +224 -52
- package/lib/module/organisms/Select.js.map +1 -1
- package/lib/module/organisms/ThemeToggle.js +47 -0
- package/lib/module/organisms/ThemeToggle.js.map +1 -0
- package/lib/module/organisms/Toast.js +10 -24
- package/lib/module/organisms/Toast.js.map +1 -1
- package/lib/module/organisms/ToastProvider.js +21 -0
- package/lib/module/organisms/ToastProvider.js.map +1 -1
- package/lib/module/organisms/Wizard.js +23 -3
- package/lib/module/organisms/Wizard.js.map +1 -1
- package/lib/module/organisms/imperativeBridge.js +24 -0
- package/lib/module/organisms/imperativeBridge.js.map +1 -0
- package/lib/module/organisms/index.js +4 -2
- package/lib/module/organisms/index.js.map +1 -1
- package/lib/module/theme/colors.js +194 -0
- package/lib/module/theme/colors.js.map +1 -0
- package/lib/module/theme/createTheme.js +25 -2
- package/lib/module/theme/createTheme.js.map +1 -1
- package/lib/module/theme/index.js +1 -0
- package/lib/module/theme/index.js.map +1 -1
- package/lib/module/theme/palettes.js +5 -2
- package/lib/module/theme/palettes.js.map +1 -1
- package/lib/typescript/atoms/PressableScale.d.ts +3 -2
- package/lib/typescript/atoms/PressableScale.d.ts.map +1 -1
- package/lib/typescript/atoms/Skeleton.d.ts +29 -0
- package/lib/typescript/atoms/Skeleton.d.ts.map +1 -0
- package/lib/typescript/atoms/Transition.d.ts +51 -0
- package/lib/typescript/atoms/Transition.d.ts.map +1 -0
- package/lib/typescript/atoms/index.d.ts +4 -0
- package/lib/typescript/atoms/index.d.ts.map +1 -1
- package/lib/typescript/molecules/OptionCard.d.ts +11 -6
- package/lib/typescript/molecules/OptionCard.d.ts.map +1 -1
- package/lib/typescript/molecules/SegmentedControl.d.ts +24 -0
- package/lib/typescript/molecules/SegmentedControl.d.ts.map +1 -0
- package/lib/typescript/molecules/Stepper.d.ts +35 -3
- package/lib/typescript/molecules/Stepper.d.ts.map +1 -1
- package/lib/typescript/molecules/index.d.ts +4 -4
- package/lib/typescript/molecules/index.d.ts.map +1 -1
- package/lib/typescript/organisms/AlertProvider.d.ts +9 -0
- package/lib/typescript/organisms/AlertProvider.d.ts.map +1 -1
- package/lib/typescript/organisms/BottomSheet.d.ts +26 -4
- package/lib/typescript/organisms/BottomSheet.d.ts.map +1 -1
- package/lib/typescript/organisms/List.d.ts +9 -2
- package/lib/typescript/organisms/List.d.ts.map +1 -1
- package/lib/typescript/organisms/Modal.d.ts +3 -5
- package/lib/typescript/organisms/Modal.d.ts.map +1 -1
- package/lib/typescript/organisms/NavigationBar.d.ts +32 -0
- package/lib/typescript/organisms/NavigationBar.d.ts.map +1 -0
- package/lib/typescript/organisms/Screen.d.ts +2 -1
- package/lib/typescript/organisms/Screen.d.ts.map +1 -1
- package/lib/typescript/organisms/SearchList.d.ts +21 -5
- package/lib/typescript/organisms/SearchList.d.ts.map +1 -1
- package/lib/typescript/organisms/Select.d.ts +19 -4
- package/lib/typescript/organisms/Select.d.ts.map +1 -1
- package/lib/typescript/{molecules → organisms}/ThemeToggle.d.ts +4 -4
- package/lib/typescript/organisms/ThemeToggle.d.ts.map +1 -0
- package/lib/typescript/organisms/Toast.d.ts.map +1 -1
- package/lib/typescript/organisms/ToastProvider.d.ts +8 -0
- package/lib/typescript/organisms/ToastProvider.d.ts.map +1 -1
- package/lib/typescript/organisms/Wizard.d.ts +7 -1
- package/lib/typescript/organisms/Wizard.d.ts.map +1 -1
- package/lib/typescript/organisms/imperativeBridge.d.ts +12 -0
- package/lib/typescript/organisms/imperativeBridge.d.ts.map +1 -0
- package/lib/typescript/organisms/index.d.ts +7 -3
- package/lib/typescript/organisms/index.d.ts.map +1 -1
- package/lib/typescript/theme/colors.d.ts +44 -0
- package/lib/typescript/theme/colors.d.ts.map +1 -0
- package/lib/typescript/theme/createTheme.d.ts +3 -0
- package/lib/typescript/theme/createTheme.d.ts.map +1 -1
- package/lib/typescript/theme/index.d.ts +3 -1
- package/lib/typescript/theme/index.d.ts.map +1 -1
- package/lib/typescript/theme/palettes.d.ts.map +1 -1
- package/lib/typescript/theme/types.d.ts +9 -0
- package/lib/typescript/theme/types.d.ts.map +1 -1
- package/package.json +67 -6
- package/registry/alert-provider.json +9 -2
- package/registry/bottom-sheet.json +6 -2
- package/registry/core.json +8 -4
- package/registry/date-field.json +1 -0
- package/registry/index.json +96 -27
- package/registry/list.json +2 -1
- package/registry/manifest.json +44 -6
- package/registry/modal.json +3 -2
- package/registry/navigation-bar.json +18 -0
- package/registry/option-card.json +3 -2
- package/registry/pressable-scale.json +1 -1
- package/registry/screen.json +1 -1
- package/registry/search-list.json +2 -1
- package/registry/segmented-control.json +18 -0
- package/registry/select.json +1 -1
- package/registry/skeleton.json +18 -0
- package/registry/stepper.json +3 -2
- package/registry/theme-toggle.json +5 -4
- package/registry/toast-provider.json +11 -3
- package/registry/toast.json +3 -2
- package/registry/transition.json +19 -0
- package/registry/wizard.json +3 -2
- package/src/atoms/PressableScale.tsx +16 -6
- package/src/atoms/Skeleton.tsx +114 -0
- package/src/atoms/Transition.tsx +189 -0
- package/src/atoms/index.ts +4 -0
- package/src/molecules/OptionCard.tsx +62 -25
- package/src/molecules/SegmentedControl.tsx +84 -0
- package/src/molecules/Stepper.tsx +147 -32
- package/src/molecules/index.ts +4 -4
- package/src/organisms/AlertProvider.tsx +26 -1
- package/src/organisms/BottomSheet.tsx +214 -62
- package/src/organisms/List.tsx +73 -41
- package/src/organisms/Modal.tsx +49 -61
- package/src/organisms/NavigationBar.tsx +223 -0
- package/src/organisms/Screen.tsx +11 -3
- package/src/organisms/SearchList.tsx +132 -36
- package/src/organisms/Select.tsx +223 -45
- package/src/organisms/ThemeToggle.tsx +30 -0
- package/src/organisms/Toast.tsx +8 -21
- package/src/organisms/ToastProvider.tsx +24 -0
- package/src/organisms/Wizard.tsx +36 -3
- package/src/organisms/imperativeBridge.ts +28 -0
- package/src/organisms/index.ts +7 -3
- package/src/theme/colors.ts +175 -0
- package/src/theme/createTheme.ts +38 -4
- package/src/theme/index.ts +3 -1
- package/src/theme/palettes.ts +5 -2
- package/src/theme/types.ts +10 -0
- package/lib/commonjs/molecules/ThemeToggle.js.map +0 -1
- package/lib/module/molecules/ThemeToggle.js.map +0 -1
- package/lib/typescript/molecules/ThemeToggle.d.ts.map +0 -1
- package/src/molecules/ThemeToggle.tsx +0 -67
|
@@ -3,18 +3,23 @@ import { type StyleProp, type ViewStyle } from 'react-native';
|
|
|
3
3
|
import type { IconName } from '../icons/types';
|
|
4
4
|
export interface OptionCardProps {
|
|
5
5
|
label: string;
|
|
6
|
-
|
|
6
|
+
/** Línea secundaria: el detalle que decide la elección ("llega en 3 días"). */
|
|
7
|
+
description?: string;
|
|
8
|
+
iconName?: IconName;
|
|
7
9
|
isSelected: boolean;
|
|
8
10
|
onPress: () => void;
|
|
9
|
-
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
/** 'vertical': ícono arriba, texto abajo centrado. 'horizontal': en fila. @default 'horizontal' */
|
|
10
13
|
layout?: 'vertical' | 'horizontal';
|
|
11
14
|
style?: StyleProp<ViewStyle>;
|
|
15
|
+
testID?: string;
|
|
12
16
|
}
|
|
13
17
|
/**
|
|
14
18
|
* OptionCard
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* de
|
|
19
|
+
* Opción excluyente con ícono y label que resalta cuando `isSelected`. Es un
|
|
20
|
+
* radio con cara de tarjeta, así que se anuncia como tal: envolver el grupo en
|
|
21
|
+
* una View con `accessibilityRole="radiogroup"` para que el lector de pantalla
|
|
22
|
+
* lea "1 de 3".
|
|
18
23
|
*/
|
|
19
|
-
export declare const OptionCard: React.MemoExoticComponent<({ label, iconName, isSelected, onPress, layout, style }: OptionCardProps) => React.JSX.Element>;
|
|
24
|
+
export declare const OptionCard: React.MemoExoticComponent<({ label, description, iconName, isSelected, onPress, disabled, layout, style, testID, }: OptionCardProps) => React.JSX.Element>;
|
|
20
25
|
//# sourceMappingURL=OptionCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptionCard.d.ts","sourceRoot":"","sources":["../../../src/molecules/OptionCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,
|
|
1
|
+
{"version":3,"file":"OptionCard.d.ts","sourceRoot":"","sources":["../../../src/molecules/OptionCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAK1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mGAAmG;IACnG,MAAM,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACnC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiCD;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,sHAWlB,eAAe,uBA8CnB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
export interface SegmentedControlOption<T extends string = string> {
|
|
4
|
+
value: T;
|
|
5
|
+
label: string;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface SegmentedControlProps<T extends string = string> {
|
|
9
|
+
options: SegmentedControlOption<T>[];
|
|
10
|
+
value: T;
|
|
11
|
+
onChange: (value: T) => void;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
style?: StyleProp<ViewStyle>;
|
|
14
|
+
testID?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* SegmentedControl
|
|
18
|
+
* Elige una opción entre pocas, todas visibles. No conoce ningún estado
|
|
19
|
+
* global: recibe `value` y avisa por `onChange`.
|
|
20
|
+
*/
|
|
21
|
+
declare function SegmentedControlInner<T extends string>({ options, value, onChange, disabled, style, testID, }: SegmentedControlProps<T>): React.JSX.Element;
|
|
22
|
+
export declare const SegmentedControl: typeof SegmentedControlInner;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=SegmentedControl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../../src/molecules/SegmentedControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAgC,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI5F,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAC/D,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAC9D,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAqBD;;;;GAIG;AACH,iBAAS,qBAAqB,CAAC,CAAC,SAAS,MAAM,EAAE,EAC/C,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,KAAK,EACL,MAAM,GACP,EAAE,qBAAqB,CAAC,CAAC,CAAC,qBA4B1B;AAID,eAAO,MAAM,gBAAgB,EAAkC,OAAO,qBAAqB,CAAC"}
|
|
@@ -1,15 +1,47 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
export type StepperSize = 'sm' | 'md' | 'lg';
|
|
3
4
|
export interface StepperProps {
|
|
4
5
|
value: string;
|
|
5
6
|
onChangeText: (text: string) => void;
|
|
6
7
|
onIncrement: () => void;
|
|
7
8
|
onDecrement: () => void;
|
|
8
|
-
|
|
9
|
+
/** Escala del control: alto, botones, ícono y tipografía. @default 'md' */
|
|
10
|
+
size?: StepperSize;
|
|
11
|
+
/** Ocupa todo el ancho disponible y el input se lleva el sobrante. @default false */
|
|
12
|
+
block?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* En false el valor sólo se cambia con los botones: el teclado no se abre y
|
|
15
|
+
* el campo pierde el fondo que lo anuncia como editable. @default true
|
|
16
|
+
*/
|
|
17
|
+
editable?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Mínimo permitido. Deshabilita "-" al alcanzarlo y acota lo tipeado al
|
|
20
|
+
* salir del campo. Los negativos se aceptan sólo si `min` es negativo.
|
|
21
|
+
*/
|
|
22
|
+
min?: number;
|
|
23
|
+
/** Máximo permitido. Deshabilita "+" al alcanzarlo y acota lo tipeado. */
|
|
24
|
+
max?: number;
|
|
25
|
+
/** Acepta un separador decimal, normalizando la coma a punto. @default false */
|
|
26
|
+
allowDecimals?: boolean;
|
|
9
27
|
style?: StyleProp<ViewStyle>;
|
|
10
28
|
incrementAccessibilityLabel?: string;
|
|
11
29
|
decrementAccessibilityLabel?: string;
|
|
30
|
+
testID?: string;
|
|
12
31
|
}
|
|
13
|
-
/**
|
|
14
|
-
export declare
|
|
32
|
+
/** Deja sólo lo que puede formar parte del número permitido por el rango. */
|
|
33
|
+
export declare function sanitizeNumeric(text: string, { allowDecimals, allowNegative }?: {
|
|
34
|
+
allowDecimals?: boolean | undefined;
|
|
35
|
+
allowNegative?: boolean | undefined;
|
|
36
|
+
}): string;
|
|
37
|
+
/**
|
|
38
|
+
* Stepper
|
|
39
|
+
* Botón "-" + input numérico editable + botón "+". `size` controla sólo la
|
|
40
|
+
* escala y `block` sólo el ancho, así que los dos ejes se combinan libremente.
|
|
41
|
+
*
|
|
42
|
+
* El componente no hace la aritmética de los botones —eso vive en
|
|
43
|
+
* `onIncrement`/`onDecrement`—, pero sí limpia lo que se tipea y avisa cuándo
|
|
44
|
+
* el valor llegó a un extremo del rango deshabilitando el botón que lo pasaría.
|
|
45
|
+
*/
|
|
46
|
+
export declare const Stepper: React.MemoExoticComponent<({ value, onChangeText, onIncrement, onDecrement, size, block, editable, min, max, allowDecimals, style, incrementAccessibilityLabel, decrementAccessibilityLabel, testID, }: StepperProps) => React.JSX.Element>;
|
|
15
47
|
//# sourceMappingURL=Stepper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stepper.d.ts","sourceRoot":"","sources":["../../../src/molecules/Stepper.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Stepper.d.ts","sourceRoot":"","sources":["../../../src/molecules/Stepper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyB,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAqC,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKjG,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,qFAAqF;IACrF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAgCD,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,aAAqB,EAAE,aAAqB,EAAE;;;CAAK,GAAG,MAAM,CAO3G;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,0MAgBf,YAAY,uBAuFhB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { Stepper } from './Stepper';
|
|
2
|
-
export type { StepperProps } from './Stepper';
|
|
1
|
+
export { Stepper, sanitizeNumeric } from './Stepper';
|
|
2
|
+
export type { StepperProps, StepperSize } from './Stepper';
|
|
3
3
|
export { OptionCard } from './OptionCard';
|
|
4
4
|
export type { OptionCardProps } from './OptionCard';
|
|
5
5
|
export { InfoRow } from './InfoRow';
|
|
@@ -8,8 +8,8 @@ export { FormActions } from './FormActions';
|
|
|
8
8
|
export type { FormActionsProps } from './FormActions';
|
|
9
9
|
export { AvatarHeader } from './AvatarHeader';
|
|
10
10
|
export type { AvatarHeaderProps } from './AvatarHeader';
|
|
11
|
-
export {
|
|
12
|
-
export type {
|
|
11
|
+
export { SegmentedControl } from './SegmentedControl';
|
|
12
|
+
export type { SegmentedControlProps, SegmentedControlOption } from './SegmentedControl';
|
|
13
13
|
export { Steps } from './Steps';
|
|
14
14
|
export type { StepsProps, StepItem, StepStatus } from './Steps';
|
|
15
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -18,6 +18,15 @@ interface AlertContextValue {
|
|
|
18
18
|
confirm: (options: ConfirmOptions) => Promise<boolean>;
|
|
19
19
|
hide: () => void;
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Abre un alert desde fuera del árbol de React —un servicio, un interceptor—
|
|
23
|
+
* sin pasar por el hook. Sin <AlertProvider> montado resuelve de inmediato, así
|
|
24
|
+
* que un `await` nunca queda colgado.
|
|
25
|
+
*/
|
|
26
|
+
export declare function showAlert(options: AlertOptions): Promise<void>;
|
|
27
|
+
/** Igual que showAlert, pero resuelve true/false. Sin provider, false. */
|
|
28
|
+
export declare function showConfirm(options: ConfirmOptions): Promise<boolean>;
|
|
29
|
+
export declare function hideAlert(): void;
|
|
21
30
|
/**
|
|
22
31
|
* AlertProvider
|
|
23
32
|
* Monta un único <Alert> controlado imperativamente. Colocar una vez cerca
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlertProvider.d.ts","sourceRoot":"","sources":["../../../src/organisms/AlertProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"AlertProvider.d.ts","sourceRoot":"","sources":["../../../src/organisms/AlertProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuF,MAAM,OAAO,CAAC;AAC5G,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAGlE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,UAAU,iBAAiB;IACzB,oEAAoE;IACpE,KAAK,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,qFAAqF;IACrF,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAKD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;AAED,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAErE;AAED,wBAAgB,SAAS,IAAI,IAAI,CAEhC;AAYD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBA+ExE;AAED,wBAAgB,QAAQ,IAAI,iBAAiB,CAM5C"}
|
|
@@ -1,15 +1,37 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { type ViewStyle } from 'react-native';
|
|
3
|
+
export type FooterPlacement = 'fixed' | 'scroll' | 'hide-with-keyboard';
|
|
2
4
|
export interface BottomSheetProps {
|
|
3
5
|
visible: boolean;
|
|
4
6
|
onClose: () => void;
|
|
5
7
|
children: React.ReactNode;
|
|
8
|
+
/** Con título aparece el header, con su botón de cerrar. */
|
|
9
|
+
title?: string;
|
|
10
|
+
/** Acciones de la hoja. Dónde vive lo decide `footerPlacement`. */
|
|
11
|
+
footer?: React.ReactNode;
|
|
12
|
+
/**
|
|
13
|
+
* 'fixed' lo ancla al pie de la hoja; 'scroll' lo deja al final del
|
|
14
|
+
* contenido; 'hide-with-keyboard' lo esconde mientras se escribe, que en un
|
|
15
|
+
* formulario largo le devuelve esa franja al campo enfocado. @default 'fixed'
|
|
16
|
+
*/
|
|
17
|
+
footerPlacement?: FooterPlacement;
|
|
18
|
+
/** El contenido scrollea cuando no entra. @default true */
|
|
19
|
+
scrollable?: boolean;
|
|
20
|
+
/** Arrastrar la hoja hacia abajo la cierra. @default true */
|
|
21
|
+
draggable?: boolean;
|
|
22
|
+
/** Fracción de la pantalla (0-1) o píxeles. @default 0.9 */
|
|
23
|
+
maxHeight?: number;
|
|
6
24
|
closeAccessibilityLabel?: string;
|
|
25
|
+
containerStyle?: ViewStyle;
|
|
26
|
+
contentStyle?: ViewStyle;
|
|
27
|
+
testID?: string;
|
|
7
28
|
}
|
|
8
29
|
/**
|
|
9
30
|
* BottomSheet
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
31
|
+
* Hoja que entra desde abajo, con arrastre para cerrar (PanResponder, no un
|
|
32
|
+
* gesture-handler externo: la librería es cero dependencias). Header, footer y
|
|
33
|
+
* scroll son opcionales, así que cubre tanto la hoja desnuda como el formulario
|
|
34
|
+
* completo.
|
|
13
35
|
*/
|
|
14
|
-
export declare const BottomSheet: React.MemoExoticComponent<({ visible, onClose, children, closeAccessibilityLabel }: BottomSheetProps) => React.JSX.Element | null>;
|
|
36
|
+
export declare const BottomSheet: React.MemoExoticComponent<({ visible, onClose, children, title, footer, footerPlacement, scrollable, draggable, maxHeight, closeAccessibilityLabel, containerStyle, contentStyle, testID, }: BottomSheetProps) => React.JSX.Element | null>;
|
|
15
37
|
//# sourceMappingURL=BottomSheet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../src/organisms/BottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../src/organisms/BottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AACjE,OAAO,EAWL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAUtB,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,oBAAoB,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;;;OAIG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAmCD;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,+LAenB,gBAAgB,8BA2IpB,CAAC"}
|
|
@@ -3,14 +3,21 @@ import { type FlatListProps, type ViewStyle } from 'react-native';
|
|
|
3
3
|
import type { IconName } from '../icons/types';
|
|
4
4
|
export interface ListProps<T> {
|
|
5
5
|
data: T[];
|
|
6
|
-
keyExtractor: (item: T) => string;
|
|
6
|
+
keyExtractor: (item: T, index: number) => string;
|
|
7
7
|
renderItem: FlatListProps<T>['renderItem'];
|
|
8
|
+
/** Carga inicial: mientras sea true y no haya datos, se muestran placeholders. */
|
|
8
9
|
isLoading: boolean;
|
|
10
|
+
/** Recarga con datos ya en pantalla (pull-to-refresh). @default false */
|
|
11
|
+
isRefreshing?: boolean;
|
|
9
12
|
isLoadingMore?: boolean;
|
|
10
13
|
/** Controlado por el consumidor: mientras es false, se muestra un spinner de pantalla completa. @default true */
|
|
11
14
|
isReady?: boolean;
|
|
12
15
|
loadingText?: string;
|
|
13
16
|
loadingMoreText?: string;
|
|
17
|
+
/** Filas fantasma de la carga inicial. @default 6 */
|
|
18
|
+
skeletonCount?: number;
|
|
19
|
+
/** Placeholder propio, para que calce con la forma real del ítem. */
|
|
20
|
+
renderSkeletonItem?: () => React.ReactElement;
|
|
14
21
|
onEndReached?: () => void;
|
|
15
22
|
onEndReachedThreshold?: number;
|
|
16
23
|
onRefresh?: () => void;
|
|
@@ -31,5 +38,5 @@ export interface ListProps<T> {
|
|
|
31
38
|
* expo-router ni a FlashList: `ListComponent` permite inyectar cualquiera
|
|
32
39
|
* (por defecto FlatList del propio React Native).
|
|
33
40
|
*/
|
|
34
|
-
export declare function List<T>({ data, keyExtractor, renderItem, isLoading, isLoadingMore, isReady, loadingText, loadingMoreText, onEndReached, onEndReachedThreshold, onRefresh, emptyTitle, emptyDescription, emptyIconName, ListHeaderComponent, ListFooterComponent, contentContainerStyle, containerStyle, ListComponent, listProps, }: ListProps<T>): React.JSX.Element;
|
|
41
|
+
export declare function List<T>({ data, keyExtractor, renderItem, isLoading, isRefreshing, isLoadingMore, isReady, loadingText, loadingMoreText, skeletonCount, renderSkeletonItem, onEndReached, onEndReachedThreshold, onRefresh, emptyTitle, emptyDescription, emptyIconName, ListHeaderComponent, ListFooterComponent, contentContainerStyle, containerStyle, ListComponent, listProps, }: ListProps<T>): React.JSX.Element;
|
|
35
42
|
//# sourceMappingURL=List.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../src/organisms/List.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../src/organisms/List.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAkC,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAMlG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAE3C,kFAAkF;IAClF,SAAS,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iHAAiH;IACjH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,MAAM,KAAK,CAAC,YAAY,CAAC;IAE9C,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,QAAQ,CAAC;IAEzB,mBAAmB,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAC9D,mBAAmB,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAE9D,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,cAAc,CAAC,EAAE,SAAS,CAAC;IAE3B,qEAAqE;IACrE,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAeD;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,EACtB,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,SAAS,EACT,YAAoB,EACpB,aAAqB,EACrB,OAAc,EACd,WAAW,EACX,eAAe,EACf,aAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,qBAA2B,EAC3B,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,aAAwB,EACxB,SAAS,GACV,EAAE,SAAS,CAAC,CAAC,CAAC,qBA8Fd"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type ModalProps as RNModalProps, type ViewStyle } from 'react-native';
|
|
3
|
-
export type ModalVariant = 'full' | 'overlay' | 'fullScreen'
|
|
3
|
+
export type ModalVariant = 'full' | 'overlay' | 'fullScreen';
|
|
4
4
|
export interface ModalProps extends Pick<RNModalProps, 'statusBarTranslucent' | 'onRequestClose' | 'hardwareAccelerated'> {
|
|
5
5
|
visible: boolean;
|
|
6
6
|
onClose?: () => void;
|
|
@@ -16,10 +16,8 @@ export interface ModalProps extends Pick<RNModalProps, 'statusBarTranslucent' |
|
|
|
16
16
|
/**
|
|
17
17
|
* Modal
|
|
18
18
|
* Un solo componente para todos los modales de la app: maneja scroll,
|
|
19
|
-
* teclado, insets y layout según `variant`.
|
|
20
|
-
*
|
|
21
|
-
* tarjeta: animar opacity ahí dispara un bug de Android donde los hijos con
|
|
22
|
-
* elevation parpadean/redibujan). El fondo semitransparente sí anima opacity.
|
|
19
|
+
* teclado, insets y layout según `variant`. Para una hoja desde abajo está
|
|
20
|
+
* BottomSheet, que además trae arrastre para cerrar.
|
|
23
21
|
*/
|
|
24
22
|
export declare const Modal: React.MemoExoticComponent<({ visible, onClose, title, closeAccessibilityLabel, children, footer, containerStyle, contentStyle, variant, scrollable, statusBarTranslucent, onRequestClose, hardwareAccelerated, }: ModalProps) => React.JSX.Element | null>;
|
|
25
23
|
//# sourceMappingURL=Modal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/organisms/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/organisms/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,EAQL,KAAK,UAAU,IAAI,YAAY,EAC/B,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAStB,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC;AAE7D,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,YAAY,EAAE,sBAAsB,GAAG,gBAAgB,GAAG,qBAAqB,CAAC;IAC7F,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAsCD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,oNAeb,UAAU,8BA8Id,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
import type { IconName } from '../icons/types';
|
|
4
|
+
export interface NavigationBarItem {
|
|
5
|
+
key: string;
|
|
6
|
+
label: string;
|
|
7
|
+
iconName?: IconName;
|
|
8
|
+
/** Contador sobre el ícono. `true` pinta sólo el punto. */
|
|
9
|
+
badge?: number | string | true;
|
|
10
|
+
}
|
|
11
|
+
export interface NavigationBarProps {
|
|
12
|
+
items: NavigationBarItem[];
|
|
13
|
+
activeKey: string;
|
|
14
|
+
onChange: (key: string) => void;
|
|
15
|
+
/** Borde de la pantalla donde vive la barra. @default 'bottom' */
|
|
16
|
+
position?: 'bottom' | 'top';
|
|
17
|
+
/** @default true */
|
|
18
|
+
showLabels?: boolean;
|
|
19
|
+
/** Suma el inset de safe area del borde donde vive la barra. @default true */
|
|
20
|
+
safeArea?: boolean;
|
|
21
|
+
style?: StyleProp<ViewStyle>;
|
|
22
|
+
testID?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* NavigationBar
|
|
26
|
+
* Barra de navegación por pestañas con la misma apariencia y las mismas
|
|
27
|
+
* transiciones en iOS y Android: el indicador se desliza hasta la pestaña
|
|
28
|
+
* activa y su contenido crece y toma el color de acento con un cross-fade.
|
|
29
|
+
* No navega por su cuenta — reporta la pestaña tocada y el consumidor decide.
|
|
30
|
+
*/
|
|
31
|
+
export declare const NavigationBar: React.MemoExoticComponent<({ items, activeKey, onChange, position, showLabels, safeArea, style, testID, }: NavigationBarProps) => React.JSX.Element>;
|
|
32
|
+
//# sourceMappingURL=NavigationBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationBar.d.ts","sourceRoot":"","sources":["../../../src/organisms/NavigationBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AACjE,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC5B,oBAAoB;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA8CD;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,6GAUrB,kBAAkB,uBA0HtB,CAAC"}
|
|
@@ -9,7 +9,8 @@ export interface ScreenProps {
|
|
|
9
9
|
/** Qué insets de safe area aplicar. @default ['top', 'bottom'] */
|
|
10
10
|
edges?: ScreenEdge[];
|
|
11
11
|
/**
|
|
12
|
-
* Compensa el teclado con
|
|
12
|
+
* Compensa el teclado: en iOS con scroll lo hace el propio ScrollView, en el
|
|
13
|
+
* resto de los casos con un KeyboardAvoidingView. Ponelo en false cuando
|
|
13
14
|
* el contenido ya trae su propio scroller que maneja el teclado (Wizard,
|
|
14
15
|
* List, SearchList): las dos compensaciones se suman y el campo enfocado
|
|
15
16
|
* termina empujado fuera de la pantalla.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Screen.d.ts","sourceRoot":"","sources":["../../../src/organisms/Screen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAoD,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAIhG,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,kEAAkE;IAClE,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB
|
|
1
|
+
{"version":3,"file":"Screen.d.ts","sourceRoot":"","sources":["../../../src/organisms/Screen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAoD,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAIhG,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,kEAAkE;IAClE,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAQD;;;;GAIG;AACH,eAAO,MAAM,MAAM,+GAOhB,WAAW,uBA+CZ,CAAC"}
|
|
@@ -12,21 +12,37 @@ export interface SearchListProps<T> {
|
|
|
12
12
|
scanAccessibilityLabel?: string;
|
|
13
13
|
extraActions?: React.ReactNode;
|
|
14
14
|
data: T[];
|
|
15
|
-
keyExtractor: (item: T) => string;
|
|
15
|
+
keyExtractor: (item: T, index: number) => string;
|
|
16
16
|
renderItem: FlatListProps<T>['renderItem'];
|
|
17
|
+
/** Carga inicial: mientras sea true y no haya datos, se muestran placeholders. */
|
|
17
18
|
isLoading?: boolean;
|
|
18
|
-
/** 'replace' cambia toda la lista por un spinner; 'overlay' lo muestra encima manteniendo el layout. */
|
|
19
|
+
/** 'replace' cambia toda la lista por un spinner/skeleton; 'overlay' lo muestra encima manteniendo el layout. */
|
|
19
20
|
loadingMode?: 'replace' | 'overlay';
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
/** Recarga con datos ya en pantalla (pull-to-refresh). @default false */
|
|
22
|
+
isRefreshing?: boolean;
|
|
22
23
|
isLoadingMore?: boolean;
|
|
24
|
+
/** Controlado por el consumidor: mientras es false, se muestra un spinner de pantalla completa. @default true */
|
|
25
|
+
isReady?: boolean;
|
|
26
|
+
loadingText?: string;
|
|
23
27
|
loadingMoreText?: string;
|
|
24
28
|
hasMore?: boolean;
|
|
25
29
|
noMoreText?: string;
|
|
30
|
+
/** Filas fantasma de la carga inicial. @default 6 */
|
|
31
|
+
skeletonCount?: number;
|
|
32
|
+
/** Placeholder propio, para que calce con la forma real del ítem. */
|
|
33
|
+
renderSkeletonItem?: () => React.ReactElement;
|
|
34
|
+
onLoadMore?: () => void;
|
|
35
|
+
onEndReached?: () => void;
|
|
36
|
+
onEndReachedThreshold?: number;
|
|
37
|
+
onRefresh?: () => void;
|
|
26
38
|
emptyTitle?: string;
|
|
27
39
|
emptyDescription?: string;
|
|
28
40
|
emptyIconName?: IconName;
|
|
41
|
+
ListHeaderComponent?: FlatListProps<T>['ListHeaderComponent'];
|
|
42
|
+
ListFooterComponent?: FlatListProps<T>['ListFooterComponent'];
|
|
29
43
|
contentContainerStyle?: StyleProp<ViewStyle>;
|
|
44
|
+
containerStyle?: ViewStyle;
|
|
45
|
+
/** Componente de lista a usar (FlashList, etc). @default FlatList */
|
|
30
46
|
ListComponent?: React.ComponentType<any>;
|
|
31
47
|
listProps?: Record<string, unknown>;
|
|
32
48
|
}
|
|
@@ -36,5 +52,5 @@ export interface SearchListProps<T> {
|
|
|
36
52
|
* cada ítem (renderItem) queda a cargo de quien la usa, ya que difiere por
|
|
37
53
|
* completo entre casos de uso.
|
|
38
54
|
*/
|
|
39
|
-
export declare function SearchList<T>({ header, searchValue, onSearchChange, searchPlaceholder, searchIsLoading, onScanPress, scanAccessibilityLabel, extraActions, data, keyExtractor, renderItem, isLoading, loadingMode,
|
|
55
|
+
export declare function SearchList<T>({ header, searchValue, onSearchChange, searchPlaceholder, searchIsLoading, onScanPress, scanAccessibilityLabel, extraActions, data, keyExtractor, renderItem, isLoading, loadingMode, isRefreshing, isLoadingMore, isReady, loadingText, loadingMoreText, hasMore, noMoreText, skeletonCount, renderSkeletonItem, onLoadMore, onEndReached, onEndReachedThreshold, onRefresh, emptyTitle, emptyDescription, emptyIconName, ListHeaderComponent, ListFooterComponent, contentContainerStyle, containerStyle, ListComponent, listProps, }: SearchListProps<T>): React.JSX.Element;
|
|
40
56
|
//# sourceMappingURL=SearchList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchList.d.ts","sourceRoot":"","sources":["../../../src/organisms/SearchList.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"SearchList.d.ts","sourceRoot":"","sources":["../../../src/organisms/SearchList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAC3C,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAQtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,sEAAsE;IACtE,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEzB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE/B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAE3C,kFAAkF;IAClF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iHAAiH;IACjH,WAAW,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACpC,yEAAyE;IACzE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iHAAiH;IACjH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,MAAM,KAAK,CAAC,YAAY,CAAC;IAE9C,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,QAAQ,CAAC;IAEzB,mBAAmB,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAC9D,mBAAmB,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAE9D,qBAAqB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,SAAS,CAAC;IAE3B,qEAAqE;IACrE,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AA+BD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,EAC5B,MAAM,EACN,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,eAAuB,EACvB,WAAW,EACX,sBAA+B,EAC/B,YAAY,EACZ,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,SAAiB,EACjB,WAAuB,EACvB,YAAoB,EACpB,aAAqB,EACrB,OAAc,EACd,WAAW,EACX,eAAe,EACf,OAAe,EACf,UAAU,EACV,aAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,qBAA2B,EAC3B,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,aAAwB,EACxB,SAAS,GACV,EAAE,eAAe,CAAC,CAAC,CAAC,qBAsIpB"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
import type { IconName } from '../icons/types';
|
|
3
4
|
export interface SelectOption<T> {
|
|
4
5
|
label: string;
|
|
5
6
|
value: T;
|
|
7
|
+
/** Glifo del set de la librería, a la izquierda del label. */
|
|
8
|
+
iconName?: IconName;
|
|
9
|
+
/** Emoji a la izquierda del label. Gana sobre `iconName`. */
|
|
10
|
+
emoji?: string;
|
|
11
|
+
disabled?: boolean;
|
|
6
12
|
}
|
|
7
13
|
export interface SelectProps<T> {
|
|
8
14
|
label?: string;
|
|
@@ -13,13 +19,22 @@ export interface SelectProps<T> {
|
|
|
13
19
|
placeholder?: string;
|
|
14
20
|
error?: string;
|
|
15
21
|
isLoading?: boolean;
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
/** Agrega un buscador dentro del desplegable. @default false */
|
|
24
|
+
searchable?: boolean;
|
|
25
|
+
searchPlaceholder?: string;
|
|
26
|
+
/** Alto máximo del desplegable, si el espacio disponible lo permite. @default 280 */
|
|
27
|
+
maxHeight?: number;
|
|
28
|
+
onOpenChange?: (open: boolean) => void;
|
|
16
29
|
containerStyle?: StyleProp<ViewStyle>;
|
|
30
|
+
testID?: string;
|
|
17
31
|
}
|
|
18
32
|
/**
|
|
19
33
|
* Select
|
|
20
|
-
* Dropdown
|
|
21
|
-
*
|
|
22
|
-
*
|
|
34
|
+
* Dropdown de una sola opción. La lista se mide contra la ventana y se dibuja
|
|
35
|
+
* dentro de un Modal, no en el árbol del campo: así ningún `overflow: hidden`
|
|
36
|
+
* la recorta, no depende del zIndex (poco confiable en Android) y el fondo del
|
|
37
|
+
* Modal resuelve cerrar tocando afuera y con el botón atrás.
|
|
23
38
|
*/
|
|
24
|
-
export declare function Select<T extends string | number>({ label, required, options, selectedValue, onSelect, placeholder, error, isLoading, containerStyle, }: SelectProps<T>): React.JSX.Element;
|
|
39
|
+
export declare function Select<T extends string | number>({ label, required, options, selectedValue, onSelect, placeholder, error, isLoading, disabled, searchable, searchPlaceholder, maxHeight, onOpenChange, containerStyle, testID, }: SelectProps<T>): React.JSX.Element;
|
|
25
40
|
//# sourceMappingURL=Select.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/organisms/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/organisms/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AACjF,OAAO,EAWL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;IACT,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,aAAa,EAAE,CAAC,GAAG,SAAS,CAAC;IAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gEAAgE;IAChE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA6ED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EAChD,KAAK,EACL,QAAgB,EAChB,OAAO,EACP,aAAa,EACb,QAAQ,EACR,WAAW,EACX,KAAK,EACL,SAAiB,EACjB,QAAgB,EAChB,UAAkB,EAClB,iBAAiB,EACjB,SAAe,EACf,YAAY,EACZ,cAAc,EACd,MAAM,GACP,EAAE,WAAW,CAAC,CAAC,CAAC,qBAyLhB"}
|
|
@@ -4,12 +4,12 @@ import { type ThemeMode } from '../theme/UIProvider';
|
|
|
4
4
|
export interface ThemeToggleProps {
|
|
5
5
|
style?: StyleProp<ViewStyle>;
|
|
6
6
|
labels?: Partial<Record<ThemeMode, string>>;
|
|
7
|
+
testID?: string;
|
|
7
8
|
}
|
|
8
9
|
/**
|
|
9
10
|
* ThemeToggle
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* onModeChange en <UIProvider>.
|
|
11
|
+
* Conecta un SegmentedControl con UIProvider.setMode. Sin persistencia — el
|
|
12
|
+
* consumidor la resuelve vía onModeChange en <UIProvider>.
|
|
13
13
|
*/
|
|
14
|
-
export declare const ThemeToggle: React.MemoExoticComponent<({ style, labels: labelOverrides }: ThemeToggleProps) => React.JSX.Element>;
|
|
14
|
+
export declare const ThemeToggle: React.MemoExoticComponent<({ style, labels: labelOverrides, testID }: ThemeToggleProps) => React.JSX.Element>;
|
|
15
15
|
//# sourceMappingURL=ThemeToggle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeToggle.d.ts","sourceRoot":"","sources":["../../../src/organisms/ThemeToggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGnE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAKD;;;;GAIG;AACH,eAAO,MAAM,WAAW,wEAAoD,gBAAgB,uBAS1F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/organisms/Toast.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/organisms/Toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAyB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAOrF,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEpE,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,yEAAyE;IACzE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAwCD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,8GAC2E,UAAU,uBAkDtG,CAAC;AAGF,sFAAsF;AACtF,eAAO,MAAM,aAAa,qDACC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,uBAKvF,CAAC"}
|
|
@@ -15,6 +15,14 @@ interface ToastContextValue {
|
|
|
15
15
|
hide: (id: string) => void;
|
|
16
16
|
hideAll: () => void;
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Muestra un toast desde fuera del árbol de React —un servicio, un
|
|
20
|
+
* interceptor— sin pasar por el hook. Devuelve el id, o '' si no hay
|
|
21
|
+
* <ToastProvider> montado.
|
|
22
|
+
*/
|
|
23
|
+
export declare function showToast(options: ToastOptions): string;
|
|
24
|
+
export declare function hideToast(id: string): void;
|
|
25
|
+
export declare function hideAllToasts(): void;
|
|
18
26
|
export interface ToastProviderProps {
|
|
19
27
|
children: React.ReactNode;
|
|
20
28
|
/** @default 'top' */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToastProvider.d.ts","sourceRoot":"","sources":["../../../src/organisms/ToastProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuF,MAAM,OAAO,CAAC;AAE5G,OAAO,EAAwB,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ToastProvider.d.ts","sourceRoot":"","sources":["../../../src/organisms/ToastProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuF,MAAM,OAAO,CAAC;AAE5G,OAAO,EAAwB,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAKlE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAMD,UAAU,iBAAiB;IACzB,kFAAkF;IAClF,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAKD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAEvD;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAE1C;AAED,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAMD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC5B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,QAAgB,EAChB,UAAc,EACd,eAAsB,GACvB,EAAE,kBAAkB,qBA4GpB;AAED,wBAAgB,QAAQ,IAAI,iBAAiB,CAM5C"}
|
|
@@ -27,6 +27,12 @@ export interface WizardProps {
|
|
|
27
27
|
* @default true
|
|
28
28
|
*/
|
|
29
29
|
scrollableContent?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* El contenido del paso entra deslizándose en el sentido de la navegación.
|
|
32
|
+
* Sólo opacity y transform, así que la animación corre en el hilo nativo.
|
|
33
|
+
* @default true
|
|
34
|
+
*/
|
|
35
|
+
animated?: boolean;
|
|
30
36
|
style?: StyleProp<ViewStyle>;
|
|
31
37
|
}
|
|
32
38
|
/**
|
|
@@ -36,5 +42,5 @@ export interface WizardProps {
|
|
|
36
42
|
* cuenta. `canGoNext: false` en un paso deshabilita el avance, que es donde
|
|
37
43
|
* se engancha la validación del formulario de ese paso.
|
|
38
44
|
*/
|
|
39
|
-
export declare function Wizard({ steps, current: controlledCurrent, onStepChange, onFinish, orientation, completedIndicator, allowStepNavigation, backLabel, nextLabel, finishLabel, scrollableContent, style, }: WizardProps): React.JSX.Element;
|
|
45
|
+
export declare function Wizard({ steps, current: controlledCurrent, onStepChange, onFinish, orientation, completedIndicator, allowStepNavigation, backLabel, nextLabel, finishLabel, scrollableContent, animated, style, }: WizardProps): React.JSX.Element;
|
|
40
46
|
//# sourceMappingURL=Wizard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wizard.d.ts","sourceRoot":"","sources":["../../../src/organisms/Wizard.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Wizard.d.ts","sourceRoot":"","sources":["../../../src/organisms/Wizard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AACjF,OAAO,EAAoB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,EAAS,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI1D,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAC1C,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,kBAAkB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACxC,sFAAsF;IACtF,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAUD;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,OAAO,EAAE,iBAAiB,EAC1B,YAAY,EACZ,QAAQ,EACR,WAA0B,EAC1B,kBAA4B,EAC5B,mBAA0B,EAC1B,SAAkB,EAClB,SAAkB,EAClB,WAAsB,EACtB,iBAAwB,EACxB,QAAe,EACf,KAAK,GACN,EAAE,WAAW,qBAiGb"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Puente entre el proveedor montado y el código que no es un componente
|
|
3
|
+
* (servicios, capa de API, interceptores). El proveedor se registra al montar y
|
|
4
|
+
* se borra al desmontar, así que fuera del árbol nunca queda una referencia
|
|
5
|
+
* viva a un contexto muerto.
|
|
6
|
+
*/
|
|
7
|
+
export interface ImperativeBridge<T> {
|
|
8
|
+
set: (value: T | null) => void;
|
|
9
|
+
get: () => T | null;
|
|
10
|
+
}
|
|
11
|
+
export declare function createImperativeBridge<T>(providerName: string): ImperativeBridge<T>;
|
|
12
|
+
//# sourceMappingURL=imperativeBridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imperativeBridge.d.ts","sourceRoot":"","sources":["../../../src/organisms/imperativeBridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/B,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CACrB;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAgBnF"}
|