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
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Fast, tree-shakeable, atomic-design component library for React Native.
|
|
|
6
6
|
35 components (atoms, molecules, organisms), fully typed, themeable
|
|
7
7
|
(light/dark), 246 tests, 90%/85% (lines/branches) coverage gate.
|
|
8
8
|
|
|
9
|
-
Docs, props tables and demo GIFs: **[orn-ui.
|
|
9
|
+
Docs, props tables and demo GIFs: **[orn-ui-docs.vercel.app](https://orn-ui-docs.vercel.app/)**
|
|
10
10
|
|
|
11
11
|
## Install
|
|
12
12
|
|
|
@@ -92,7 +92,14 @@ const insets = useSafeAreaInsets();
|
|
|
92
92
|
`Screen`, `List`, `SearchList`, `Toast`/`ToastProvider`, `DatePicker`,
|
|
93
93
|
`DateField`, `Wizard`
|
|
94
94
|
|
|
95
|
-
Every component's full prop table lives on [orn-ui.
|
|
95
|
+
Every component's full prop table lives on [orn-ui-docs.vercel.app](https://orn-ui-docs.vercel.app/).
|
|
96
|
+
|
|
97
|
+
### SearchList & List Features
|
|
98
|
+
- **Search & Scan**: Buscador integrado con soporte para acción de escaneo e ítem extra.
|
|
99
|
+
- **Carga inicial con Skeleton**: Soporta `skeletonCount` y `renderSkeletonItem` para placeholders animados.
|
|
100
|
+
- **Pull-to-Refresh**: Integración nativa mediante `onRefresh` e `isRefreshing`.
|
|
101
|
+
- **Paginación & Headers/Footers**: `ListHeaderComponent` y `ListFooterComponent` conviven limpiamente con el indicador `isLoadingMore` y `noMoreText`.
|
|
102
|
+
- **Estado vacío no destructivo**: `ListEmptyComponent` conserva el header, footer y gestos de scroll/refresh.
|
|
96
103
|
|
|
97
104
|
## Why zero dependencies
|
|
98
105
|
|
|
@@ -8,6 +8,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
10
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
11
|
+
const AnimatedPressable = _reactNative.Animated.createAnimatedComponent(_reactNative.Pressable);
|
|
12
|
+
|
|
11
13
|
/**
|
|
12
14
|
* PressableScale
|
|
13
15
|
* Feedback táctil de "achicarse" al presionar, con Animated.spring de RN
|
|
@@ -40,20 +42,17 @@ const PressableScale = exports.PressableScale = /*#__PURE__*/(0, _react.memo)(({
|
|
|
40
42
|
if (!disabled) animateTo(1);
|
|
41
43
|
onPressOut?.(e);
|
|
42
44
|
};
|
|
43
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
45
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedPressable, {
|
|
44
46
|
...props,
|
|
45
47
|
disabled: disabled,
|
|
46
48
|
onPressIn: handlePressIn,
|
|
47
49
|
onPressOut: handlePressOut,
|
|
48
|
-
style: style,
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
},
|
|
55
|
-
children: children
|
|
56
|
-
})
|
|
50
|
+
style: [style, {
|
|
51
|
+
transform: [{
|
|
52
|
+
scale
|
|
53
|
+
}]
|
|
54
|
+
}],
|
|
55
|
+
children: children
|
|
57
56
|
});
|
|
58
57
|
});
|
|
59
58
|
PressableScale.displayName = 'PressableScale';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PressableScale","exports","memo","scaleTo","style","children","onPressIn","onPressOut","disabled","props","scale","useRef","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AnimatedPressable","Animated","createAnimatedComponent","Pressable","PressableScale","exports","memo","scaleTo","style","children","onPressIn","onPressOut","disabled","props","scale","useRef","Value","current","animateTo","value","spring","toValue","useNativeDriver","speed","bounciness","start","handlePressIn","handlePressOut","jsx","transform","displayName"],"sourceRoot":"../../../src","sources":["atoms/PressableScale.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAOsB,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAStB,MAAMkB,iBAAiB,GAAGC,qBAAQ,CAACC,uBAAuB,CAACC,sBAAS,CAAC;;AAErE;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,cAAc,GAAAC,OAAA,CAAAD,cAAA,gBAAG,IAAAE,WAAI,EAChC,CAAC;EAAEC,OAAO,GAAG,IAAI;EAAEC,KAAK;EAAEC,QAAQ;EAAEC,SAAS;EAAEC,UAAU;EAAEC,QAAQ;EAAE,GAAGC;AAA2B,CAAC,KAAK;EACvG,MAAMC,KAAK,GAAG,IAAAC,aAAM,EAAC,IAAId,qBAAQ,CAACe,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;EAEnD,MAAMC,SAAS,GAAIC,KAAa,IAAK;IACnClB,qBAAQ,CAACmB,MAAM,CAACN,KAAK,EAAE;MACrBO,OAAO,EAAEF,KAAK;MACdG,eAAe,EAAE,IAAI;MACrBC,KAAK,EAAE,EAAE;MACTC,UAAU,EAAE;IACd,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;EACZ,CAAC;EAED,MAAMC,aAAa,GAAI7C,CAAwB,IAAK;IAClD,IAAI,CAAC+B,QAAQ,EAAEM,SAAS,CAACX,OAAO,CAAC;IACjCG,SAAS,GAAG7B,CAAC,CAAC;EAChB,CAAC;EAED,MAAM8C,cAAc,GAAI9C,CAAwB,IAAK;IACnD,IAAI,CAAC+B,QAAQ,EAAEM,SAAS,CAAC,CAAC,CAAC;IAC3BP,UAAU,GAAG9B,CAAC,CAAC;EACjB,CAAC;EAED,oBACE,IAAAD,WAAA,CAAAgD,GAAA,EAAC5B,iBAAiB;IAAA,GACZa,KAAK;IACTD,QAAQ,EAAEA,QAAS;IACnBF,SAAS,EAAEgB,aAAc;IACzBf,UAAU,EAAEgB,cAAe;IAC3BnB,KAAK,EAAE,CAACA,KAAK,EAAE;MAAEqB,SAAS,EAAE,CAAC;QAAEf;MAAM,CAAC;IAAE,CAAC,CAAE;IAAAL,QAAA,EAE1CA;EAAQ,CACQ,CAAC;AAExB,CACF,CAAC;AACDL,cAAc,CAAC0B,WAAW,GAAG,gBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Skeleton = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _createStyles = require("../theme/createStyles");
|
|
10
|
+
var _UIProvider = require("../theme/UIProvider");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
13
|
+
const useStyles = (0, _createStyles.createStyles)(theme => ({
|
|
14
|
+
block: {
|
|
15
|
+
backgroundColor: theme.colors.skeleton
|
|
16
|
+
},
|
|
17
|
+
lines: {
|
|
18
|
+
gap: theme.tokens.spacing.sm
|
|
19
|
+
}
|
|
20
|
+
}));
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Skeleton
|
|
24
|
+
* Placeholder que late mientras llega el contenido real. Reserva el espacio
|
|
25
|
+
* exacto de lo que reemplaza, así la pantalla no salta cuando aparecen los
|
|
26
|
+
* datos — que es justamente lo que un Spinner centrado no puede hacer.
|
|
27
|
+
*/
|
|
28
|
+
const Skeleton = exports.Skeleton = /*#__PURE__*/(0, _react.memo)(({
|
|
29
|
+
width = '100%',
|
|
30
|
+
height = 16,
|
|
31
|
+
variant = 'rect',
|
|
32
|
+
radius,
|
|
33
|
+
lines = 1,
|
|
34
|
+
lastLineWidth = '60%',
|
|
35
|
+
animated = true,
|
|
36
|
+
style,
|
|
37
|
+
testID
|
|
38
|
+
}) => {
|
|
39
|
+
const theme = (0, _UIProvider.useTheme)();
|
|
40
|
+
const styles = useStyles();
|
|
41
|
+
const pulse = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
42
|
+
(0, _react.useEffect)(() => {
|
|
43
|
+
if (!animated) return;
|
|
44
|
+
const loop = _reactNative.Animated.loop(_reactNative.Animated.sequence([_reactNative.Animated.timing(pulse, {
|
|
45
|
+
toValue: 1,
|
|
46
|
+
duration: 700,
|
|
47
|
+
useNativeDriver: true,
|
|
48
|
+
easing: _reactNative.Easing.inOut(_reactNative.Easing.quad)
|
|
49
|
+
}), _reactNative.Animated.timing(pulse, {
|
|
50
|
+
toValue: 0,
|
|
51
|
+
duration: 700,
|
|
52
|
+
useNativeDriver: true,
|
|
53
|
+
easing: _reactNative.Easing.inOut(_reactNative.Easing.quad)
|
|
54
|
+
})]));
|
|
55
|
+
loop.start();
|
|
56
|
+
return () => loop.stop();
|
|
57
|
+
}, [animated, pulse]);
|
|
58
|
+
const isCircle = variant === 'circle';
|
|
59
|
+
const isText = variant === 'text';
|
|
60
|
+
const opacity = animated ? pulse.interpolate({
|
|
61
|
+
inputRange: [0, 1],
|
|
62
|
+
outputRange: [1, 0.4]
|
|
63
|
+
}) : 1;
|
|
64
|
+
const resolvedHeight = isCircle ? width : isText ? theme.tokens.fontSize.md : height;
|
|
65
|
+
const resolvedRadius = radius ?? (isCircle ? theme.tokens.radius.full : isText ? theme.tokens.radius.xs : theme.tokens.radius.sm);
|
|
66
|
+
const barStyle = barWidth => [styles.block, {
|
|
67
|
+
width: barWidth,
|
|
68
|
+
height: resolvedHeight,
|
|
69
|
+
borderRadius: resolvedRadius,
|
|
70
|
+
opacity
|
|
71
|
+
}];
|
|
72
|
+
const a11y = {
|
|
73
|
+
accessibilityElementsHidden: true,
|
|
74
|
+
importantForAccessibility: 'no-hide-descendants'
|
|
75
|
+
};
|
|
76
|
+
if (isText && lines > 1) {
|
|
77
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
78
|
+
style: [styles.lines, style],
|
|
79
|
+
testID: testID,
|
|
80
|
+
...a11y,
|
|
81
|
+
children: Array.from({
|
|
82
|
+
length: lines
|
|
83
|
+
}, (_, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
84
|
+
testID: testID && `${testID}-${i}`,
|
|
85
|
+
style: barStyle(i === lines - 1 ? lastLineWidth : width)
|
|
86
|
+
}, i))
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
90
|
+
style: [barStyle(width), style],
|
|
91
|
+
testID: testID,
|
|
92
|
+
...a11y
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
Skeleton.displayName = 'Skeleton';
|
|
96
|
+
//# sourceMappingURL=Skeleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useStyles","createStyles","theme","block","backgroundColor","colors","skeleton","lines","gap","tokens","spacing","sm","Skeleton","exports","memo","width","height","variant","radius","lastLineWidth","animated","style","testID","useTheme","styles","pulse","useRef","Animated","Value","current","useEffect","loop","sequence","timing","toValue","duration","useNativeDriver","easing","Easing","inOut","quad","start","stop","isCircle","isText","opacity","interpolate","inputRange","outputRange","resolvedHeight","fontSize","md","resolvedRadius","full","xs","barStyle","barWidth","borderRadius","a11y","accessibilityElementsHidden","importantForAccessibility","jsx","View","children","Array","from","length","_","displayName"],"sourceRoot":"../../../src","sources":["atoms/Skeleton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Transition = void 0;
|
|
7
|
+
exports.useReduceMotion = useReduceMotion;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _reactNative = require("react-native");
|
|
10
|
+
var _UIProvider = require("../theme/UIProvider");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
13
|
+
const SCALE_FROM = {
|
|
14
|
+
scale: 0.92,
|
|
15
|
+
pop: 0.8
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Sigue el ajuste de "reducir movimiento" del sistema: con él activo las
|
|
20
|
+
* animaciones saltan al estado final en vez de desactivarse, así que los
|
|
21
|
+
* callbacks y el desmontaje siguen ocurriendo igual.
|
|
22
|
+
*/
|
|
23
|
+
function useReduceMotion() {
|
|
24
|
+
const [reduceMotion, setReduceMotion] = (0, _react.useState)(false);
|
|
25
|
+
(0, _react.useEffect)(() => {
|
|
26
|
+
let alive = true;
|
|
27
|
+
// Sólo se actualiza el estado si el ajuste está activo: el valor inicial ya
|
|
28
|
+
// es `false` y un setState de false a false costaría un render por montaje.
|
|
29
|
+
_reactNative.AccessibilityInfo.isReduceMotionEnabled().then(enabled => {
|
|
30
|
+
if (alive && enabled) setReduceMotion(true);
|
|
31
|
+
});
|
|
32
|
+
const sub = _reactNative.AccessibilityInfo.addEventListener('reduceMotionChanged', setReduceMotion);
|
|
33
|
+
return () => {
|
|
34
|
+
alive = false;
|
|
35
|
+
sub.remove();
|
|
36
|
+
};
|
|
37
|
+
}, []);
|
|
38
|
+
return reduceMotion;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Transition
|
|
43
|
+
* Envuelve cualquier árbol y lo anima al entrar y al salir. Todos los presets
|
|
44
|
+
* se reducen a `opacity` y `transform` sobre un único Animated.Value, que es
|
|
45
|
+
* lo que `useNativeDriver` sabe mandar al hilo nativo: la animación corre ahí
|
|
46
|
+
* y el hilo de JS no participa de ningún frame — por eso no hay presets de
|
|
47
|
+
* alto, ancho o color, que obligarían a volver a JS en cada frame.
|
|
48
|
+
*
|
|
49
|
+
* El nodo se mantiene montado hasta que termina la animación de salida, y el
|
|
50
|
+
* comportamiento es idéntico en iOS y Android: no hay ninguna rama por
|
|
51
|
+
* plataforma.
|
|
52
|
+
*/
|
|
53
|
+
const Transition = exports.Transition = /*#__PURE__*/(0, _react.memo)(({
|
|
54
|
+
children,
|
|
55
|
+
visible = true,
|
|
56
|
+
preset = 'fade',
|
|
57
|
+
duration,
|
|
58
|
+
delay = 0,
|
|
59
|
+
distance = 24,
|
|
60
|
+
spring,
|
|
61
|
+
appear = true,
|
|
62
|
+
keepMounted = false,
|
|
63
|
+
value,
|
|
64
|
+
onEntered,
|
|
65
|
+
onExited,
|
|
66
|
+
style,
|
|
67
|
+
testID
|
|
68
|
+
}) => {
|
|
69
|
+
const theme = (0, _UIProvider.useTheme)();
|
|
70
|
+
const reduceMotion = useReduceMotion();
|
|
71
|
+
const internal = (0, _react.useRef)(new _reactNative.Animated.Value(visible && !appear ? 1 : 0)).current;
|
|
72
|
+
const progress = value ?? internal;
|
|
73
|
+
const driven = value === undefined;
|
|
74
|
+
const [mounted, setMounted] = (0, _react.useState)(visible || keepMounted);
|
|
75
|
+
|
|
76
|
+
// Los callbacks viven en un ref: pasados inline cambian de identidad en
|
|
77
|
+
// cada render y, como dependencias del efecto, reiniciarían la animación.
|
|
78
|
+
const callbacks = (0, _react.useRef)({
|
|
79
|
+
onEntered,
|
|
80
|
+
onExited
|
|
81
|
+
});
|
|
82
|
+
(0, _react.useEffect)(() => {
|
|
83
|
+
callbacks.current = {
|
|
84
|
+
onEntered,
|
|
85
|
+
onExited
|
|
86
|
+
};
|
|
87
|
+
});
|
|
88
|
+
const presetKey = Array.isArray(preset) ? preset.join(' ') : preset;
|
|
89
|
+
const presets = (0, _react.useMemo)(() => presetKey.split(' '), [presetKey]);
|
|
90
|
+
(0, _react.useEffect)(() => {
|
|
91
|
+
if (visible) setMounted(true);
|
|
92
|
+
}, [visible]);
|
|
93
|
+
(0, _react.useEffect)(() => {
|
|
94
|
+
if (!driven) return;
|
|
95
|
+
const toValue = visible ? 1 : 0;
|
|
96
|
+
const useSpring = spring ?? presets.includes('pop');
|
|
97
|
+
const animation = reduceMotion ? _reactNative.Animated.timing(progress, {
|
|
98
|
+
toValue,
|
|
99
|
+
duration: 0,
|
|
100
|
+
delay,
|
|
101
|
+
useNativeDriver: true
|
|
102
|
+
}) : useSpring ? _reactNative.Animated.spring(progress, {
|
|
103
|
+
toValue,
|
|
104
|
+
delay,
|
|
105
|
+
friction: 9,
|
|
106
|
+
tension: 90,
|
|
107
|
+
useNativeDriver: true
|
|
108
|
+
}) : _reactNative.Animated.timing(progress, {
|
|
109
|
+
toValue,
|
|
110
|
+
delay,
|
|
111
|
+
duration: duration ?? theme.tokens.duration.base,
|
|
112
|
+
easing: visible ? _reactNative.Easing.out(_reactNative.Easing.cubic) : _reactNative.Easing.in(_reactNative.Easing.cubic),
|
|
113
|
+
useNativeDriver: true
|
|
114
|
+
});
|
|
115
|
+
animation.start(({
|
|
116
|
+
finished
|
|
117
|
+
}) => {
|
|
118
|
+
if (!finished) return;
|
|
119
|
+
if (visible) {
|
|
120
|
+
callbacks.current.onEntered?.();
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
callbacks.current.onExited?.();
|
|
124
|
+
if (!keepMounted) setMounted(false);
|
|
125
|
+
});
|
|
126
|
+
return () => animation.stop();
|
|
127
|
+
}, [visible, driven, reduceMotion, spring, delay, duration, keepMounted, presets, progress, theme]);
|
|
128
|
+
const animatedStyle = (0, _react.useMemo)(() => {
|
|
129
|
+
const transform = [];
|
|
130
|
+
let opacity;
|
|
131
|
+
for (const item of presets) {
|
|
132
|
+
if (item === 'fade') {
|
|
133
|
+
opacity = progress;
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
if (item === 'scale' || item === 'pop') {
|
|
137
|
+
transform.push({
|
|
138
|
+
scale: progress.interpolate({
|
|
139
|
+
inputRange: [0, 1],
|
|
140
|
+
outputRange: [SCALE_FROM[item], 1]
|
|
141
|
+
})
|
|
142
|
+
});
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
const vertical = item === 'slide-up' || item === 'slide-down';
|
|
146
|
+
const from = item === 'slide-up' || item === 'slide-left' ? distance : -distance;
|
|
147
|
+
const offset = progress.interpolate({
|
|
148
|
+
inputRange: [0, 1],
|
|
149
|
+
outputRange: [from, 0]
|
|
150
|
+
});
|
|
151
|
+
transform.push(vertical ? {
|
|
152
|
+
translateY: offset
|
|
153
|
+
} : {
|
|
154
|
+
translateX: offset
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
return {
|
|
158
|
+
opacity,
|
|
159
|
+
transform
|
|
160
|
+
};
|
|
161
|
+
}, [presets, progress, distance]);
|
|
162
|
+
if (!mounted) return null;
|
|
163
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
164
|
+
testID: testID,
|
|
165
|
+
pointerEvents: visible ? undefined : 'none',
|
|
166
|
+
style: [style, animatedStyle],
|
|
167
|
+
children: children
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
Transition.displayName = 'Transition';
|
|
171
|
+
//# sourceMappingURL=Transition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_UIProvider","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SCALE_FROM","scale","pop","useReduceMotion","reduceMotion","setReduceMotion","useState","useEffect","alive","AccessibilityInfo","isReduceMotionEnabled","then","enabled","sub","addEventListener","remove","Transition","exports","memo","children","visible","preset","duration","delay","distance","spring","appear","keepMounted","value","onEntered","onExited","style","testID","theme","useTheme","internal","useRef","Animated","Value","current","progress","driven","undefined","mounted","setMounted","callbacks","presetKey","Array","isArray","join","presets","useMemo","split","toValue","useSpring","includes","animation","timing","useNativeDriver","friction","tension","tokens","base","easing","Easing","out","cubic","in","start","finished","stop","animatedStyle","transform","opacity","item","push","interpolate","inputRange","outputRange","vertical","from","offset","translateY","translateX","jsx","View","pointerEvents","displayName"],"sourceRoot":"../../../src","sources":["atoms/Transition.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -93,6 +93,12 @@ Object.defineProperty(exports, "PressableScale", {
|
|
|
93
93
|
return _PressableScale.PressableScale;
|
|
94
94
|
}
|
|
95
95
|
});
|
|
96
|
+
Object.defineProperty(exports, "Skeleton", {
|
|
97
|
+
enumerable: true,
|
|
98
|
+
get: function () {
|
|
99
|
+
return _Skeleton.Skeleton;
|
|
100
|
+
}
|
|
101
|
+
});
|
|
96
102
|
Object.defineProperty(exports, "Spinner", {
|
|
97
103
|
enumerable: true,
|
|
98
104
|
get: function () {
|
|
@@ -111,12 +117,24 @@ Object.defineProperty(exports, "Title", {
|
|
|
111
117
|
return _Text.Title;
|
|
112
118
|
}
|
|
113
119
|
});
|
|
120
|
+
Object.defineProperty(exports, "Transition", {
|
|
121
|
+
enumerable: true,
|
|
122
|
+
get: function () {
|
|
123
|
+
return _Transition.Transition;
|
|
124
|
+
}
|
|
125
|
+
});
|
|
114
126
|
Object.defineProperty(exports, "prefetchImage", {
|
|
115
127
|
enumerable: true,
|
|
116
128
|
get: function () {
|
|
117
129
|
return _Image.prefetchImage;
|
|
118
130
|
}
|
|
119
131
|
});
|
|
132
|
+
Object.defineProperty(exports, "useReduceMotion", {
|
|
133
|
+
enumerable: true,
|
|
134
|
+
get: function () {
|
|
135
|
+
return _Transition.useReduceMotion;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
120
138
|
var _Text = require("./Text");
|
|
121
139
|
var _Button = require("./Button");
|
|
122
140
|
var _IconButton = require("./IconButton");
|
|
@@ -128,6 +146,8 @@ var _Divider = require("./Divider");
|
|
|
128
146
|
var _Avatar = require("./Avatar");
|
|
129
147
|
var _Image = require("./Image");
|
|
130
148
|
var _Spinner = require("./Spinner");
|
|
149
|
+
var _Skeleton = require("./Skeleton");
|
|
150
|
+
var _Transition = require("./Transition");
|
|
131
151
|
var _EmptyState = require("./EmptyState");
|
|
132
152
|
var _KeyValueRow = require("./KeyValueRow");
|
|
133
153
|
var _Fab = require("./Fab");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_Text","require","_Button","_IconButton","_Input","_Checkbox","_Badge","_Card","_Divider","_Avatar","_Image","_Spinner","_EmptyState","_KeyValueRow","_Fab","_PressableScale"],"sourceRoot":"../../../src","sources":["atoms/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_Text","require","_Button","_IconButton","_Input","_Checkbox","_Badge","_Card","_Divider","_Avatar","_Image","_Spinner","_Skeleton","_Transition","_EmptyState","_KeyValueRow","_Fab","_PressableScale"],"sourceRoot":"../../../src","sources":["atoms/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,SAAA,GAAAJ,OAAA;AAEA,IAAAK,MAAA,GAAAL,OAAA;AAEA,IAAAM,KAAA,GAAAN,OAAA;AAEA,IAAAO,QAAA,GAAAP,OAAA;AAEA,IAAAQ,OAAA,GAAAR,OAAA;AAEA,IAAAS,MAAA,GAAAT,OAAA;AAEA,IAAAU,QAAA,GAAAV,OAAA;AAEA,IAAAW,SAAA,GAAAX,OAAA;AAEA,IAAAY,WAAA,GAAAZ,OAAA;AAEA,IAAAa,WAAA,GAAAb,OAAA;AAEA,IAAAc,YAAA,GAAAd,OAAA;AAEA,IAAAe,IAAA,GAAAf,OAAA;AAEA,IAAAgB,eAAA,GAAAhB,OAAA","ignoreList":[]}
|
|
@@ -9,10 +9,13 @@ var _reactNative = require("react-native");
|
|
|
9
9
|
var _createStyles = require("../theme/createStyles");
|
|
10
10
|
var _UIProvider = require("../theme/UIProvider");
|
|
11
11
|
var _Icon = require("../icons/Icon");
|
|
12
|
+
var _PressableScale = require("../atoms/PressableScale");
|
|
12
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
14
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
15
|
const useStyles = (0, _createStyles.createStyles)(theme => ({
|
|
15
16
|
card: {
|
|
17
|
+
// Las tarjetas se reparten la fila que las contenga, sean dos o cinco.
|
|
18
|
+
flex: 1,
|
|
16
19
|
alignItems: 'center',
|
|
17
20
|
justifyContent: 'center',
|
|
18
21
|
backgroundColor: theme.colors.surface,
|
|
@@ -22,15 +25,13 @@ const useStyles = (0, _createStyles.createStyles)(theme => ({
|
|
|
22
25
|
...theme.tokens.shadow.sm
|
|
23
26
|
},
|
|
24
27
|
cardHorizontal: {
|
|
25
|
-
flex: 1,
|
|
26
28
|
flexDirection: 'row',
|
|
27
29
|
padding: theme.tokens.spacing.md - 2,
|
|
28
30
|
gap: theme.tokens.spacing.sm
|
|
29
31
|
},
|
|
30
32
|
cardVertical: {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
gap: 5,
|
|
33
|
+
padding: theme.tokens.spacing.md - 2,
|
|
34
|
+
gap: 6,
|
|
34
35
|
minHeight: 100
|
|
35
36
|
},
|
|
36
37
|
cardSelected: {
|
|
@@ -40,6 +41,15 @@ const useStyles = (0, _createStyles.createStyles)(theme => ({
|
|
|
40
41
|
elevation: 0,
|
|
41
42
|
shadowOpacity: 0
|
|
42
43
|
},
|
|
44
|
+
cardDisabled: {
|
|
45
|
+
opacity: 0.5
|
|
46
|
+
},
|
|
47
|
+
text: {
|
|
48
|
+
flexShrink: 1
|
|
49
|
+
},
|
|
50
|
+
textVertical: {
|
|
51
|
+
alignItems: 'center'
|
|
52
|
+
},
|
|
43
53
|
label: {
|
|
44
54
|
color: theme.colors.textLight,
|
|
45
55
|
fontWeight: theme.tokens.fontWeight.medium
|
|
@@ -50,47 +60,70 @@ const useStyles = (0, _createStyles.createStyles)(theme => ({
|
|
|
50
60
|
},
|
|
51
61
|
labelSelected: {
|
|
52
62
|
color: theme.colors.primaryText
|
|
63
|
+
},
|
|
64
|
+
description: {
|
|
65
|
+
fontSize: theme.tokens.fontSize.xs,
|
|
66
|
+
color: theme.colors.textLight,
|
|
67
|
+
marginTop: 2
|
|
68
|
+
},
|
|
69
|
+
descriptionVertical: {
|
|
70
|
+
textAlign: 'center'
|
|
53
71
|
}
|
|
54
72
|
}));
|
|
55
73
|
|
|
56
74
|
/**
|
|
57
75
|
* OptionCard
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* de
|
|
76
|
+
* Opción excluyente con ícono y label que resalta cuando `isSelected`. Es un
|
|
77
|
+
* radio con cara de tarjeta, así que se anuncia como tal: envolver el grupo en
|
|
78
|
+
* una View con `accessibilityRole="radiogroup"` para que el lector de pantalla
|
|
79
|
+
* lea "1 de 3".
|
|
61
80
|
*/
|
|
62
81
|
const OptionCard = exports.OptionCard = /*#__PURE__*/(0, _react.memo)(({
|
|
63
82
|
label,
|
|
83
|
+
description,
|
|
64
84
|
iconName,
|
|
65
85
|
isSelected,
|
|
66
86
|
onPress,
|
|
87
|
+
disabled = false,
|
|
67
88
|
layout = 'horizontal',
|
|
68
|
-
style
|
|
89
|
+
style,
|
|
90
|
+
testID
|
|
69
91
|
}) => {
|
|
70
92
|
const colors = (0, _UIProvider.useColors)();
|
|
71
93
|
const styles = useStyles();
|
|
72
94
|
const allowFontScaling = (0, _UIProvider.useAllowFontScaling)();
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
//
|
|
76
|
-
// sombra como un borde oscuro
|
|
77
|
-
, {
|
|
78
|
-
|
|
79
|
-
style: [styles.card, layout === 'vertical' ? styles.cardVertical : styles.cardHorizontal, isSelected && styles.cardSelected, style],
|
|
95
|
+
const isVertical = layout === 'vertical';
|
|
96
|
+
|
|
97
|
+
// Feedback por transform y no por opacity: con elevation, animar la opacity
|
|
98
|
+
// dispara un bug de Android que redibuja la sombra como un borde oscuro.
|
|
99
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_PressableScale.PressableScale, {
|
|
100
|
+
style: [styles.card, isVertical ? styles.cardVertical : styles.cardHorizontal, isSelected && styles.cardSelected, disabled && styles.cardDisabled, style],
|
|
80
101
|
onPress: onPress,
|
|
81
|
-
|
|
102
|
+
disabled: disabled,
|
|
103
|
+
accessibilityRole: "radio",
|
|
82
104
|
accessibilityState: {
|
|
83
|
-
selected: isSelected
|
|
105
|
+
selected: isSelected,
|
|
106
|
+
checked: isSelected,
|
|
107
|
+
disabled
|
|
84
108
|
},
|
|
85
109
|
accessibilityLabel: label,
|
|
86
|
-
|
|
110
|
+
accessibilityHint: description,
|
|
111
|
+
testID: testID,
|
|
112
|
+
children: [!!iconName && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
|
|
87
113
|
name: iconName,
|
|
88
114
|
size: 24,
|
|
89
115
|
color: isSelected ? colors.primary : colors.textLight
|
|
90
|
-
}), /*#__PURE__*/(0, _jsxRuntime.
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
116
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
117
|
+
style: [styles.text, isVertical && styles.textVertical],
|
|
118
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
119
|
+
allowFontScaling: allowFontScaling,
|
|
120
|
+
style: [styles.label, isVertical && styles.labelVertical, isSelected && styles.labelSelected],
|
|
121
|
+
children: label
|
|
122
|
+
}), !!description && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
123
|
+
allowFontScaling: allowFontScaling,
|
|
124
|
+
style: [styles.description, isVertical && styles.descriptionVertical],
|
|
125
|
+
children: description
|
|
126
|
+
})]
|
|
94
127
|
})]
|
|
95
128
|
});
|
|
96
129
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_Icon","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useStyles","createStyles","theme","card","alignItems","justifyContent","backgroundColor","colors","surface","borderRadius","tokens","radius","md","borderWidth","borderColor","border","shadow","sm","cardHorizontal","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_Icon","_PressableScale","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useStyles","createStyles","theme","card","flex","alignItems","justifyContent","backgroundColor","colors","surface","borderRadius","tokens","radius","md","borderWidth","borderColor","border","shadow","sm","cardHorizontal","flexDirection","padding","spacing","gap","cardVertical","minHeight","cardSelected","primary","primarySoft","elevation","shadowOpacity","cardDisabled","opacity","text","flexShrink","textVertical","label","color","textLight","fontWeight","medium","labelVertical","fontSize","xs","textAlign","labelSelected","primaryText","description","marginTop","descriptionVertical","OptionCard","exports","memo","iconName","isSelected","onPress","disabled","layout","style","testID","useColors","styles","allowFontScaling","useAllowFontScaling","isVertical","jsxs","PressableScale","accessibilityRole","accessibilityState","selected","checked","accessibilityLabel","accessibilityHint","children","jsx","Icon","name","size","View","Text","displayName"],"sourceRoot":"../../../src","sources":["molecules/OptionCard.tsx"],"mappings":"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","ignoreList":[]}
|