orn-ui 0.1.0 → 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/Avatar.js +1 -1
- package/lib/commonjs/atoms/Avatar.js.map +1 -1
- package/lib/commonjs/atoms/Badge.js +10 -8
- package/lib/commonjs/atoms/Badge.js.map +1 -1
- package/lib/commonjs/atoms/Button.js +8 -6
- package/lib/commonjs/atoms/Button.js.map +1 -1
- package/lib/commonjs/atoms/Checkbox.js +4 -1
- package/lib/commonjs/atoms/Checkbox.js.map +1 -1
- package/lib/commonjs/atoms/Fab.js +1 -1
- package/lib/commonjs/atoms/Fab.js.map +1 -1
- package/lib/commonjs/atoms/Image.js +2 -2
- package/lib/commonjs/atoms/Image.js.map +1 -1
- package/lib/commonjs/atoms/Input.js +2 -2
- package/lib/commonjs/atoms/Input.js.map +1 -1
- 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/AvatarHeader.js +2 -2
- package/lib/commonjs/molecules/AvatarHeader.js.map +1 -1
- package/lib/commonjs/molecules/OptionCard.js +57 -24
- package/lib/commonjs/molecules/OptionCard.js.map +1 -1
- package/lib/commonjs/molecules/{ThemeToggle.js → SegmentedControl.js} +37 -37
- 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/Steps.js +2 -2
- package/lib/commonjs/molecules/Steps.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/Alert.js +6 -5
- package/lib/commonjs/organisms/Alert.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/DateField.js +2 -2
- package/lib/commonjs/organisms/DateField.js.map +1 -1
- package/lib/commonjs/organisms/DatePicker.js +3 -3
- package/lib/commonjs/organisms/DatePicker.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 +99 -30
- package/lib/commonjs/organisms/SearchList.js.map +1 -1
- package/lib/commonjs/organisms/Select.js +226 -54
- 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 +20 -25
- 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/safe-area/SafeAreaUIProvider.js +65 -0
- package/lib/commonjs/safe-area/SafeAreaUIProvider.js.map +1 -0
- package/lib/commonjs/safe-area/index.js +13 -0
- package/lib/commonjs/safe-area/index.js.map +1 -0
- package/lib/commonjs/theme/UIProvider.js +11 -0
- package/lib/commonjs/theme/UIProvider.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 +73 -11
- package/lib/commonjs/theme/palettes.js.map +1 -1
- package/lib/module/atoms/Avatar.js +1 -1
- package/lib/module/atoms/Avatar.js.map +1 -1
- package/lib/module/atoms/Badge.js +10 -8
- package/lib/module/atoms/Badge.js.map +1 -1
- package/lib/module/atoms/Button.js +8 -6
- package/lib/module/atoms/Button.js.map +1 -1
- package/lib/module/atoms/Checkbox.js +4 -1
- package/lib/module/atoms/Checkbox.js.map +1 -1
- package/lib/module/atoms/Fab.js +1 -1
- package/lib/module/atoms/Fab.js.map +1 -1
- package/lib/module/atoms/Image.js +2 -2
- package/lib/module/atoms/Image.js.map +1 -1
- package/lib/module/atoms/Input.js +2 -2
- package/lib/module/atoms/Input.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/AvatarHeader.js +2 -2
- package/lib/module/molecules/AvatarHeader.js.map +1 -1
- package/lib/module/molecules/OptionCard.js +58 -25
- package/lib/module/molecules/OptionCard.js.map +1 -1
- package/lib/module/molecules/{ThemeToggle.js → SegmentedControl.js} +37 -37
- 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/Steps.js +2 -2
- package/lib/module/molecules/Steps.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/Alert.js +6 -5
- package/lib/module/organisms/Alert.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/DateField.js +2 -2
- package/lib/module/organisms/DateField.js.map +1 -1
- package/lib/module/organisms/DatePicker.js +3 -3
- package/lib/module/organisms/DatePicker.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 +100 -31
- package/lib/module/organisms/SearchList.js.map +1 -1
- package/lib/module/organisms/Select.js +228 -56
- 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 +22 -27
- 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/safe-area/SafeAreaUIProvider.js +60 -0
- package/lib/module/safe-area/SafeAreaUIProvider.js.map +1 -0
- package/lib/module/safe-area/index.js +4 -0
- package/lib/module/safe-area/index.js.map +1 -0
- package/lib/module/theme/UIProvider.js +11 -0
- package/lib/module/theme/UIProvider.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 +73 -11
- package/lib/module/theme/palettes.js.map +1 -1
- package/lib/typescript/atoms/Badge.d.ts.map +1 -1
- package/lib/typescript/atoms/Button.d.ts.map +1 -1
- package/lib/typescript/atoms/Checkbox.d.ts.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/Alert.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/safe-area/SafeAreaUIProvider.d.ts +46 -0
- package/lib/typescript/safe-area/SafeAreaUIProvider.d.ts.map +1 -0
- package/lib/typescript/safe-area/index.d.ts +3 -0
- package/lib/typescript/safe-area/index.d.ts.map +1 -0
- package/lib/typescript/theme/UIProvider.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 +41 -3
- 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 +101 -18
- package/registry/alert-provider.json +9 -2
- package/registry/alert.json +1 -1
- package/registry/avatar-header.json +1 -1
- package/registry/avatar.json +1 -1
- package/registry/badge.json +1 -1
- package/registry/bottom-sheet.json +6 -2
- package/registry/button.json +1 -1
- package/registry/checkbox.json +1 -1
- package/registry/core.json +9 -5
- package/registry/date-field.json +2 -1
- package/registry/date-picker.json +1 -1
- package/registry/fab.json +1 -1
- package/registry/image.json +1 -1
- package/registry/index.json +108 -39
- package/registry/input.json +1 -1
- 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/steps.json +1 -1
- 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/Avatar.tsx +1 -1
- package/src/atoms/Badge.tsx +6 -4
- package/src/atoms/Button.tsx +8 -6
- package/src/atoms/Checkbox.tsx +4 -1
- package/src/atoms/Fab.tsx +1 -1
- package/src/atoms/Image.tsx +2 -2
- package/src/atoms/Input.tsx +2 -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/AvatarHeader.tsx +2 -2
- package/src/molecules/OptionCard.tsx +64 -27
- package/src/molecules/SegmentedControl.tsx +84 -0
- package/src/molecules/Stepper.tsx +147 -32
- package/src/molecules/Steps.tsx +2 -2
- package/src/molecules/index.ts +4 -4
- package/src/organisms/Alert.tsx +6 -5
- package/src/organisms/AlertProvider.tsx +26 -1
- package/src/organisms/BottomSheet.tsx +214 -62
- package/src/organisms/DateField.tsx +2 -2
- package/src/organisms/DatePicker.tsx +3 -3
- 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 +134 -38
- package/src/organisms/Select.tsx +227 -49
- package/src/organisms/ThemeToggle.tsx +30 -0
- package/src/organisms/Toast.tsx +19 -24
- 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/safe-area/SafeAreaUIProvider.tsx +67 -0
- package/src/safe-area/index.ts +2 -0
- package/src/theme/UIProvider.tsx +15 -0
- 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 +108 -11
- 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
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "SafeAreaUIProvider", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _SafeAreaUIProvider.SafeAreaUIProvider;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _SafeAreaUIProvider = require("./SafeAreaUIProvider");
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_SafeAreaUIProvider","require"],"sourceRoot":"../../../src","sources":["safe-area/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -21,6 +21,9 @@ var _defaultIcons = require("../icons/defaultIcons");
|
|
|
21
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
22
|
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); }
|
|
23
23
|
const UIContext = /*#__PURE__*/(0, _react.createContext)(undefined);
|
|
24
|
+
|
|
25
|
+
/** Una sola vez por sesión: en un re-render el aviso no aporta nada nuevo. */
|
|
26
|
+
let warnedAboutInsets = false;
|
|
24
27
|
/**
|
|
25
28
|
* UIProvider
|
|
26
29
|
* Único punto de entrada de la librería: resuelve el theme activo (sistema u
|
|
@@ -47,6 +50,14 @@ function UIProvider({
|
|
|
47
50
|
if (!isControlled) setUncontrolledMode(next);
|
|
48
51
|
onModeChange?.(next);
|
|
49
52
|
}, [isControlled, onModeChange]);
|
|
53
|
+
|
|
54
|
+
// Olvidar `insets` no rompe nada visible al montar: el default de ceros
|
|
55
|
+
// recién se nota cuando abrís un Modal `full` (se mete abajo del notch) o un
|
|
56
|
+
// BottomSheet (queda pegado a la barra de gestos). El aviso llega antes.
|
|
57
|
+
if (__DEV__ && insets === _insets.zeroInsets && !warnedAboutInsets) {
|
|
58
|
+
warnedAboutInsets = true;
|
|
59
|
+
console.warn('orn-ui: <UIProvider> sin `insets`, se usan {top:0,bottom:0,left:0,right:0}. ' + 'Los modales y el Screen quedan sin safe area. Pasá `insets={useSafeAreaInsets()}` ' + "o usá <SafeAreaUIProvider> de 'orn-ui/safe-area', que lo cablea solo.");
|
|
60
|
+
}
|
|
50
61
|
const scheme = mode === 'system' ? systemScheme === 'dark' ? 'dark' : 'light' : mode;
|
|
51
62
|
const resolvedTheme = theme[scheme];
|
|
52
63
|
const labels = (0, _react.useMemo)(() => labelOverrides ? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createTheme","_labels","_insets","_defaultIcons","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","UIContext","createContext","undefined","UIProvider","children","theme","defaultTheme","defaultMode","mode","controlledMode","onModeChange","icons","renderDefaultIcon","insets","zeroInsets","labels","labelOverrides","allowFontScaling","systemScheme","useColorScheme","uncontrolledMode","setUncontrolledMode","useState","isControlled","setMode","useCallback","next","scheme","resolvedTheme","useMemo","defaultLabels","value","jsx","Provider","useUIContext","ctx","useContext","Error","useTheme","useColors","colors","useThemeMode","useIcons","useInsets","useLabels","useAllowFontScaling","__testUtils","exports","Appearance"],"sourceRoot":"../../../src","sources":["theme/UIProvider.tsx"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,IAAAK,aAAA,GAAAL,OAAA;AAA0D,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,wBAAAQ,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAQ,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;AAe1D,MAAMkB,SAAS,gBAAG,IAAAC,oBAAa,EAA6BC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createTheme","_labels","_insets","_defaultIcons","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","UIContext","createContext","undefined","warnedAboutInsets","UIProvider","children","theme","defaultTheme","defaultMode","mode","controlledMode","onModeChange","icons","renderDefaultIcon","insets","zeroInsets","labels","labelOverrides","allowFontScaling","systemScheme","useColorScheme","uncontrolledMode","setUncontrolledMode","useState","isControlled","setMode","useCallback","next","__DEV__","console","warn","scheme","resolvedTheme","useMemo","defaultLabels","value","jsx","Provider","useUIContext","ctx","useContext","Error","useTheme","useColors","colors","useThemeMode","useIcons","useInsets","useLabels","useAllowFontScaling","__testUtils","exports","Appearance"],"sourceRoot":"../../../src","sources":["theme/UIProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.AA_CONTRAST = void 0;
|
|
7
|
+
exports.contrast = contrast;
|
|
8
|
+
exports.deriveAccent = deriveAccent;
|
|
9
|
+
exports.hexToRgb = hexToRgb;
|
|
10
|
+
exports.hslToRgb = hslToRgb;
|
|
11
|
+
exports.luminance = luminance;
|
|
12
|
+
exports.rgbToHex = rgbToHex;
|
|
13
|
+
exports.rgbToHsl = rgbToHsl;
|
|
14
|
+
exports.toHex = toHex;
|
|
15
|
+
exports.toHsl = toHsl;
|
|
16
|
+
/**
|
|
17
|
+
* Utilidades de color sin dependencias, usadas para derivar una familia de
|
|
18
|
+
* roles (relleno / encima / tenue / legible) a partir de un solo hex de marca.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/** Contraste mínimo AA para texto normal. */
|
|
22
|
+
const AA_CONTRAST = exports.AA_CONTRAST = 4.5;
|
|
23
|
+
|
|
24
|
+
/** Roles que necesita un acento del theme, en un esquema concreto. */
|
|
25
|
+
|
|
26
|
+
const HEX = /^#?([0-9a-f]{3}|[0-9a-f]{6})$/i;
|
|
27
|
+
function hexToRgb(hex) {
|
|
28
|
+
const match = HEX.exec(hex.trim());
|
|
29
|
+
if (!match) {
|
|
30
|
+
throw new Error(`orn-ui: se esperaba un color hex como "#7c3aed", se recibió "${hex}".`);
|
|
31
|
+
}
|
|
32
|
+
const digits = match[1];
|
|
33
|
+
const full = digits.length === 3 ? digits.replace(/./g, c => c + c) : digits;
|
|
34
|
+
return {
|
|
35
|
+
r: parseInt(full.slice(0, 2), 16),
|
|
36
|
+
g: parseInt(full.slice(2, 4), 16),
|
|
37
|
+
b: parseInt(full.slice(4, 6), 16)
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
const toHexPair = value => Math.round(clamp(value, 0, 255)).toString(16).padStart(2, '0');
|
|
41
|
+
function rgbToHex({
|
|
42
|
+
r,
|
|
43
|
+
g,
|
|
44
|
+
b
|
|
45
|
+
}) {
|
|
46
|
+
return `#${toHexPair(r)}${toHexPair(g)}${toHexPair(b)}`;
|
|
47
|
+
}
|
|
48
|
+
function clamp(value, min, max) {
|
|
49
|
+
return Math.min(max, Math.max(min, value));
|
|
50
|
+
}
|
|
51
|
+
function rgbToHsl({
|
|
52
|
+
r,
|
|
53
|
+
g,
|
|
54
|
+
b
|
|
55
|
+
}) {
|
|
56
|
+
const rn = r / 255;
|
|
57
|
+
const gn = g / 255;
|
|
58
|
+
const bn = b / 255;
|
|
59
|
+
const max = Math.max(rn, gn, bn);
|
|
60
|
+
const min = Math.min(rn, gn, bn);
|
|
61
|
+
const delta = max - min;
|
|
62
|
+
const l = (max + min) / 2;
|
|
63
|
+
if (delta === 0) return {
|
|
64
|
+
h: 0,
|
|
65
|
+
s: 0,
|
|
66
|
+
l
|
|
67
|
+
};
|
|
68
|
+
const s = delta / (1 - Math.abs(2 * l - 1));
|
|
69
|
+
let h;
|
|
70
|
+
if (max === rn) h = (gn - bn) / delta % 6;else if (max === gn) h = (bn - rn) / delta + 2;else h = (rn - gn) / delta + 4;
|
|
71
|
+
h *= 60;
|
|
72
|
+
return {
|
|
73
|
+
h: h < 0 ? h + 360 : h,
|
|
74
|
+
s,
|
|
75
|
+
l
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
function hslToRgb({
|
|
79
|
+
h,
|
|
80
|
+
s,
|
|
81
|
+
l
|
|
82
|
+
}) {
|
|
83
|
+
const c = (1 - Math.abs(2 * l - 1)) * s;
|
|
84
|
+
const hp = (h % 360 + 360) % 360 / 60;
|
|
85
|
+
const x = c * (1 - Math.abs(hp % 2 - 1));
|
|
86
|
+
const [r1, g1, b1] = hp < 1 ? [c, x, 0] : hp < 2 ? [x, c, 0] : hp < 3 ? [0, c, x] : hp < 4 ? [0, x, c] : hp < 5 ? [x, 0, c] : [c, 0, x];
|
|
87
|
+
const m = l - c / 2;
|
|
88
|
+
return {
|
|
89
|
+
r: (r1 + m) * 255,
|
|
90
|
+
g: (g1 + m) * 255,
|
|
91
|
+
b: (b1 + m) * 255
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
function toHsl(hex) {
|
|
95
|
+
return rgbToHsl(hexToRgb(hex));
|
|
96
|
+
}
|
|
97
|
+
function toHex(hsl) {
|
|
98
|
+
return rgbToHex(hslToRgb({
|
|
99
|
+
...hsl,
|
|
100
|
+
s: clamp(hsl.s, 0, 1),
|
|
101
|
+
l: clamp(hsl.l, 0, 1)
|
|
102
|
+
}));
|
|
103
|
+
}
|
|
104
|
+
function channelLuminance(value) {
|
|
105
|
+
const c = value / 255;
|
|
106
|
+
return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/** Luminancia relativa WCAG de un hex. */
|
|
110
|
+
function luminance(hex) {
|
|
111
|
+
const {
|
|
112
|
+
r,
|
|
113
|
+
g,
|
|
114
|
+
b
|
|
115
|
+
} = hexToRgb(hex);
|
|
116
|
+
return 0.2126 * channelLuminance(r) + 0.7152 * channelLuminance(g) + 0.0722 * channelLuminance(b);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/** Ratio de contraste WCAG entre dos hex: 1 (igual) a 21 (blanco sobre negro). */
|
|
120
|
+
function contrast(a, b) {
|
|
121
|
+
const la = luminance(a);
|
|
122
|
+
const lb = luminance(b);
|
|
123
|
+
return (Math.max(la, lb) + 0.05) / (Math.min(la, lb) + 0.05);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Blanco si alcanza el contraste AA —es lo que se espera encima de un relleno
|
|
128
|
+
* de color— y si no, el extremo que más contraste dé.
|
|
129
|
+
*/
|
|
130
|
+
function bestOnColor(background, light, dark) {
|
|
131
|
+
if (contrast(background, light) >= AA_CONTRAST) return light;
|
|
132
|
+
return contrast(background, dark) >= contrast(background, light) ? dark : light;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Mueve la luminosidad del tono hasta alcanzar el contraste pedido contra
|
|
137
|
+
* `against`. Si ni el extremo llega —un amarillo puro sobre blanco, por
|
|
138
|
+
* ejemplo— devuelve el más contrastado que encontró en el camino.
|
|
139
|
+
*/
|
|
140
|
+
function reachContrast(hsl, against, target, direction) {
|
|
141
|
+
const step = direction === 'darker' ? -0.02 : 0.02;
|
|
142
|
+
let best = toHex(hsl);
|
|
143
|
+
let bestRatio = contrast(best, against);
|
|
144
|
+
for (let l = hsl.l; l >= 0 && l <= 1; l += step) {
|
|
145
|
+
const candidate = toHex({
|
|
146
|
+
...hsl,
|
|
147
|
+
l
|
|
148
|
+
});
|
|
149
|
+
const ratio = contrast(candidate, against);
|
|
150
|
+
if (ratio > bestRatio) {
|
|
151
|
+
best = candidate;
|
|
152
|
+
bestRatio = ratio;
|
|
153
|
+
}
|
|
154
|
+
if (ratio >= target) return candidate;
|
|
155
|
+
}
|
|
156
|
+
return best;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Deriva los cuatro roles de un acento a partir de un hex, para un esquema.
|
|
161
|
+
* `surface` es el fondo sobre el que tiene que leerse el rol `text`, así que
|
|
162
|
+
* cada esquema pasa el suyo.
|
|
163
|
+
*/
|
|
164
|
+
function deriveAccent(hex, scheme, surface) {
|
|
165
|
+
const hsl = toHsl(hex);
|
|
166
|
+
if (scheme === 'light') {
|
|
167
|
+
const base = toHex(hsl);
|
|
168
|
+
return {
|
|
169
|
+
base,
|
|
170
|
+
on: bestOnColor(base, '#ffffff', '#1a1a1a'),
|
|
171
|
+
soft: toHex({
|
|
172
|
+
h: hsl.h,
|
|
173
|
+
s: Math.min(hsl.s, 0.85),
|
|
174
|
+
l: 0.94
|
|
175
|
+
}),
|
|
176
|
+
text: reachContrast({
|
|
177
|
+
...hsl,
|
|
178
|
+
l: Math.min(hsl.l, 0.38)
|
|
179
|
+
}, surface, AA_CONTRAST, 'darker')
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// En oscuro el acento sube de luminosidad y lo que va encima baja: un
|
|
184
|
+
// #004cef sobre #1e1e1e no se distingue del fondo.
|
|
185
|
+
const base = toHex({
|
|
186
|
+
...hsl,
|
|
187
|
+
l: 0.72
|
|
188
|
+
});
|
|
189
|
+
return {
|
|
190
|
+
base,
|
|
191
|
+
on: bestOnColor(base, '#ffffff', toHex({
|
|
192
|
+
...hsl,
|
|
193
|
+
s: Math.min(hsl.s, 0.9),
|
|
194
|
+
l: 0.16
|
|
195
|
+
})),
|
|
196
|
+
soft: toHex({
|
|
197
|
+
h: hsl.h,
|
|
198
|
+
s: Math.min(hsl.s, 0.35),
|
|
199
|
+
l: 0.18
|
|
200
|
+
}),
|
|
201
|
+
text: reachContrast({
|
|
202
|
+
...hsl,
|
|
203
|
+
l: Math.max(hsl.l, 0.74)
|
|
204
|
+
}, surface, AA_CONTRAST, 'lighter')
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=colors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AA_CONTRAST","exports","HEX","hexToRgb","hex","match","exec","trim","Error","digits","full","length","replace","c","r","parseInt","slice","g","b","toHexPair","value","Math","round","clamp","toString","padStart","rgbToHex","min","max","rgbToHsl","rn","gn","bn","delta","l","h","s","abs","hslToRgb","hp","x","r1","g1","b1","m","toHsl","toHex","hsl","channelLuminance","luminance","contrast","a","la","lb","bestOnColor","background","light","dark","reachContrast","against","target","direction","step","best","bestRatio","candidate","ratio","deriveAccent","scheme","surface","base","on","soft","text"],"sourceRoot":"../../../src","sources":["theme/colors.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ exports.createTheme = createTheme;
|
|
|
7
7
|
exports.defaultTheme = void 0;
|
|
8
8
|
var _palettes = require("./palettes");
|
|
9
9
|
var _tokens = require("./tokens");
|
|
10
|
+
var _colors = require("./colors");
|
|
10
11
|
function mergeDeep(base, patch) {
|
|
11
12
|
if (!patch) return base;
|
|
12
13
|
const out = {
|
|
@@ -23,21 +24,43 @@ function mergeDeep(base, patch) {
|
|
|
23
24
|
}
|
|
24
25
|
return out;
|
|
25
26
|
}
|
|
27
|
+
const capitalize = name => name.charAt(0).toUpperCase() + name.slice(1);
|
|
28
|
+
|
|
29
|
+
/** Expande cada hex de `brand` a los cuatro roles del acento en un esquema. */
|
|
30
|
+
function brandColors(brand, scheme, palette) {
|
|
31
|
+
if (!brand) return {};
|
|
32
|
+
const accents = typeof brand === 'string' ? {
|
|
33
|
+
primary: brand
|
|
34
|
+
} : brand;
|
|
35
|
+
const out = {};
|
|
36
|
+
for (const [name, hex] of Object.entries(accents)) {
|
|
37
|
+
if (!hex) continue;
|
|
38
|
+
const roles = (0, _colors.deriveAccent)(hex, scheme, palette.surface);
|
|
39
|
+
out[name] = roles.base;
|
|
40
|
+
out[`on${capitalize(name)}`] = roles.on;
|
|
41
|
+
out[`${name}Soft`] = roles.soft;
|
|
42
|
+
out[`${name}Text`] = roles.text;
|
|
43
|
+
}
|
|
44
|
+
return out;
|
|
45
|
+
}
|
|
26
46
|
|
|
27
47
|
/**
|
|
28
48
|
* Construye el par de themes light/dark que consume <UIProvider theme={...}>.
|
|
29
49
|
* Nunca muta los defaults: cada llamada produce objetos nuevos, seguros de
|
|
30
50
|
* compartir entre providers distintos (tests, multi-brand en el mismo árbol).
|
|
51
|
+
*
|
|
52
|
+
* `brand` se aplica antes que `colors`, así que un rol escrito a mano siempre
|
|
53
|
+
* gana sobre el derivado.
|
|
31
54
|
*/
|
|
32
55
|
function createTheme(overrides) {
|
|
33
56
|
const tokens = mergeDeep(_tokens.tokens, overrides?.tokens);
|
|
34
57
|
const light = {
|
|
35
|
-
colors: mergeDeep(_palettes.lightPalette, overrides?.colors?.light),
|
|
58
|
+
colors: mergeDeep(mergeDeep(_palettes.lightPalette, brandColors(overrides?.brand, 'light', _palettes.lightPalette)), overrides?.colors?.light),
|
|
36
59
|
tokens,
|
|
37
60
|
scheme: 'light'
|
|
38
61
|
};
|
|
39
62
|
const dark = {
|
|
40
|
-
colors: mergeDeep(_palettes.darkPalette, overrides?.colors?.dark),
|
|
63
|
+
colors: mergeDeep(mergeDeep(_palettes.darkPalette, brandColors(overrides?.brand, 'dark', _palettes.darkPalette)), overrides?.colors?.dark),
|
|
41
64
|
tokens,
|
|
42
65
|
scheme: 'dark'
|
|
43
66
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_palettes","require","_tokens","mergeDeep","base","patch","out","key","Object","keys","patchVal","baseVal","Array","isArray","undefined","createTheme","overrides","tokens","defaultTokens","light","colors","lightPalette","
|
|
1
|
+
{"version":3,"names":["_palettes","require","_tokens","_colors","mergeDeep","base","patch","out","key","Object","keys","patchVal","baseVal","Array","isArray","undefined","capitalize","name","charAt","toUpperCase","slice","brandColors","brand","scheme","palette","accents","primary","hex","entries","roles","deriveAccent","surface","on","soft","text","createTheme","overrides","tokens","defaultTokens","light","colors","lightPalette","dark","darkPalette","defaultTheme","exports"],"sourceRoot":"../../../src","sources":["theme/createTheme.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,12 +3,24 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "AA_CONTRAST", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _colors.AA_CONTRAST;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
6
12
|
Object.defineProperty(exports, "UIProvider", {
|
|
7
13
|
enumerable: true,
|
|
8
14
|
get: function () {
|
|
9
15
|
return _UIProvider.UIProvider;
|
|
10
16
|
}
|
|
11
17
|
});
|
|
18
|
+
Object.defineProperty(exports, "contrast", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _colors.contrast;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
12
24
|
Object.defineProperty(exports, "createStyles", {
|
|
13
25
|
enumerable: true,
|
|
14
26
|
get: function () {
|
|
@@ -39,6 +51,12 @@ Object.defineProperty(exports, "defaultTheme", {
|
|
|
39
51
|
return _createTheme.defaultTheme;
|
|
40
52
|
}
|
|
41
53
|
});
|
|
54
|
+
Object.defineProperty(exports, "deriveAccent", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _colors.deriveAccent;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
42
60
|
Object.defineProperty(exports, "duration", {
|
|
43
61
|
enumerable: true,
|
|
44
62
|
get: function () {
|
|
@@ -69,6 +87,12 @@ Object.defineProperty(exports, "lineHeight", {
|
|
|
69
87
|
return _tokens.lineHeight;
|
|
70
88
|
}
|
|
71
89
|
});
|
|
90
|
+
Object.defineProperty(exports, "luminance", {
|
|
91
|
+
enumerable: true,
|
|
92
|
+
get: function () {
|
|
93
|
+
return _colors.luminance;
|
|
94
|
+
}
|
|
95
|
+
});
|
|
72
96
|
Object.defineProperty(exports, "radius", {
|
|
73
97
|
enumerable: true,
|
|
74
98
|
get: function () {
|
|
@@ -144,6 +168,7 @@ Object.defineProperty(exports, "zeroInsets", {
|
|
|
144
168
|
var _tokens = require("./tokens");
|
|
145
169
|
var _palettes = require("./palettes");
|
|
146
170
|
var _createTheme = require("./createTheme");
|
|
171
|
+
var _colors = require("./colors");
|
|
147
172
|
var _labels = require("./labels");
|
|
148
173
|
var _insets = require("./insets");
|
|
149
174
|
var _createStyles = require("./createStyles");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_tokens","require","_palettes","_createTheme","_labels","_insets","_createStyles","_UIProvider"],"sourceRoot":"../../../src","sources":["theme/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_tokens","require","_palettes","_createTheme","_colors","_labels","_insets","_createStyles","_UIProvider"],"sourceRoot":"../../../src","sources":["theme/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,YAAA,GAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,IAAAK,OAAA,GAAAL,OAAA;AAEA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA","ignoreList":[]}
|
|
@@ -8,35 +8,97 @@ exports.lightPalette = exports.darkPalette = void 0;
|
|
|
8
8
|
* Cada color es `string`, no un literal (`as const`): light y dark tienen
|
|
9
9
|
* valores distintos para la misma clave, y createTheme() debe poder
|
|
10
10
|
* aceptar cualquier hex/rgba en los overrides — literal typing lo impediría.
|
|
11
|
+
*
|
|
12
|
+
* Cada acento viene en cuatro roles, y no son intercambiables:
|
|
13
|
+
*
|
|
14
|
+
* `primary` relleno sólido (fondo de botón, día seleccionado, FAB).
|
|
15
|
+
* `onPrimary` texto/ícono *encima* de ese relleno.
|
|
16
|
+
* `primarySoft` fondo teñido para estados seleccionados y pills.
|
|
17
|
+
* `primaryText` texto/ícono del acento sobre `surface`, `background`
|
|
18
|
+
* o sobre su propio `primarySoft`.
|
|
19
|
+
*
|
|
20
|
+
* El motivo es el contraste: un acento que se lee bien como relleno no se
|
|
21
|
+
* lee como texto. Antes los componentes usaban `colors.primary` para las dos
|
|
22
|
+
* cosas y lo teñían concatenando alpha al hex (`colors.primary + '15'`), lo
|
|
23
|
+
* que en dark daba 2.6:1 sobre la superficie — muy por debajo del 4.5:1 de
|
|
24
|
+
* WCAG AA. Todos los pares de esta paleta pasan AA en ambos esquemas.
|
|
11
25
|
*/
|
|
12
26
|
|
|
13
|
-
const
|
|
14
|
-
primary: '#004cef',
|
|
15
|
-
secondary: '#00cae1',
|
|
27
|
+
const neutral = {
|
|
16
28
|
white: '#ffffff',
|
|
17
|
-
black: '#000000'
|
|
18
|
-
error: '#ff3b30',
|
|
19
|
-
success: '#34c759',
|
|
20
|
-
warning: '#f59e0b'
|
|
29
|
+
black: '#000000'
|
|
21
30
|
};
|
|
22
31
|
const lightPalette = exports.lightPalette = {
|
|
23
|
-
...
|
|
32
|
+
...neutral,
|
|
33
|
+
primary: '#004cef',
|
|
34
|
+
onPrimary: '#ffffff',
|
|
35
|
+
primarySoft: '#e6edfe',
|
|
36
|
+
primaryText: '#00369f',
|
|
37
|
+
secondary: '#00cae1',
|
|
38
|
+
onSecondary: '#00363d',
|
|
39
|
+
secondarySoft: '#dcf6f9',
|
|
40
|
+
secondaryText: '#00707d',
|
|
41
|
+
success: '#34c759',
|
|
42
|
+
onSuccess: '#00320f',
|
|
43
|
+
successSoft: '#e3f6e9',
|
|
44
|
+
successText: '#116a30',
|
|
45
|
+
// El rojo va con texto blanco, que es lo que la gente espera de un botón
|
|
46
|
+
// destructivo. #ff3b30 no llega a 4.5:1 con blanco y obligaba a texto casi
|
|
47
|
+
// negro sobre rojo; este tono sí, y sigue leyéndose como rojo de alerta.
|
|
48
|
+
error: '#dc2626',
|
|
49
|
+
onError: '#ffffff',
|
|
50
|
+
errorSoft: '#fdeaea',
|
|
51
|
+
errorText: '#c62222',
|
|
52
|
+
warning: '#f59e0b',
|
|
53
|
+
onWarning: '#3d2600',
|
|
54
|
+
warningSoft: '#fdf1de',
|
|
55
|
+
warningText: '#8a4b00',
|
|
24
56
|
background: '#f8f9fa',
|
|
25
57
|
surface: '#ffffff',
|
|
26
58
|
text: '#333333',
|
|
27
59
|
textLight: '#666666',
|
|
28
60
|
border: '#e5e7eb',
|
|
29
61
|
inputBackground: '#f5f7fa',
|
|
30
|
-
overlay: 'rgba(0,0,0,0.5)'
|
|
62
|
+
overlay: 'rgba(0,0,0,0.5)',
|
|
63
|
+
scrim: 'rgba(248,249,250,0.8)',
|
|
64
|
+
skeleton: '#eceef1'
|
|
31
65
|
};
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Los acentos de dark NO son los de light: sobre `#1e1e1e` hay que subir la
|
|
69
|
+
* luminosidad del acento y bajar la del texto que va encima (por eso
|
|
70
|
+
* `onPrimary` es azul oscuro acá y blanco en light).
|
|
71
|
+
*/
|
|
32
72
|
const darkPalette = exports.darkPalette = {
|
|
33
|
-
...
|
|
73
|
+
...neutral,
|
|
74
|
+
primary: '#7ba4ff',
|
|
75
|
+
onPrimary: '#00205c',
|
|
76
|
+
primarySoft: '#1b2740',
|
|
77
|
+
primaryText: '#a9c3ff',
|
|
78
|
+
secondary: '#4dd8e8',
|
|
79
|
+
onSecondary: '#00363d',
|
|
80
|
+
secondarySoft: '#12333a',
|
|
81
|
+
secondaryText: '#7fe6f2',
|
|
82
|
+
success: '#5ddb84',
|
|
83
|
+
onSuccess: '#003514',
|
|
84
|
+
successSoft: '#13301e',
|
|
85
|
+
successText: '#7fe6a1',
|
|
86
|
+
error: '#ff7b72',
|
|
87
|
+
onError: '#4d0500',
|
|
88
|
+
errorSoft: '#3a1c1a',
|
|
89
|
+
errorText: '#ffa9a3',
|
|
90
|
+
warning: '#f0b458',
|
|
91
|
+
onWarning: '#3d2600',
|
|
92
|
+
warningSoft: '#33260f',
|
|
93
|
+
warningText: '#f5c97e',
|
|
34
94
|
background: '#121212',
|
|
35
95
|
surface: '#1e1e1e',
|
|
36
96
|
text: '#ecedee',
|
|
37
97
|
textLight: '#9ba1a6',
|
|
38
98
|
border: '#2a2a2e',
|
|
39
99
|
inputBackground: '#232326',
|
|
40
|
-
overlay: 'rgba(0,0,0,0.6)'
|
|
100
|
+
overlay: 'rgba(0,0,0,0.6)',
|
|
101
|
+
scrim: 'rgba(18,18,18,0.8)',
|
|
102
|
+
skeleton: '#26262a'
|
|
41
103
|
};
|
|
42
104
|
//# sourceMappingURL=palettes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["neutral","white","black","lightPalette","exports","primary","onPrimary","primarySoft","primaryText","secondary","onSecondary","secondarySoft","secondaryText","success","onSuccess","successSoft","successText","error","onError","errorSoft","errorText","warning","onWarning","warningSoft","warningText","background","surface","text","textLight","border","inputBackground","overlay","scrim","skeleton","darkPalette"],"sourceRoot":"../../../src","sources":["theme/palettes.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA0CA,MAAMA,OAAO,GAAG;EACdC,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE;AACT,CAAC;AAEM,MAAMC,YAAyB,GAAAC,OAAA,CAAAD,YAAA,GAAG;EACvC,GAAGH,OAAO;EAEVK,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,SAAS;EAEtBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,aAAa,EAAE,SAAS;EACxBC,aAAa,EAAE,SAAS;EAExBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,SAAS;EAEtB;EACA;EACA;EACAC,KAAK,EAAE,SAAS;EAChBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,SAAS,EAAE,SAAS;EAEpBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,SAAS;EAEtBC,UAAU,EAAE,SAAS;EACrBC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,SAAS;EACfC,SAAS,EAAE,SAAS;EACpBC,MAAM,EAAE,SAAS;EACjBC,eAAe,EAAE,SAAS;EAC1BC,OAAO,EAAE,iBAAiB;EAC1BC,KAAK,EAAE,uBAAuB;EAC9BC,QAAQ,EAAE;AACZ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMC,WAAwB,GAAA9B,OAAA,CAAA8B,WAAA,GAAG;EACtC,GAAGlC,OAAO;EAEVK,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,SAAS;EAEtBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,aAAa,EAAE,SAAS;EACxBC,aAAa,EAAE,SAAS;EAExBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,SAAS;EAEtBC,KAAK,EAAE,SAAS;EAChBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,SAAS,EAAE,SAAS;EAEpBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,SAAS;EACpBC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,SAAS;EAEtBC,UAAU,EAAE,SAAS;EACrBC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,SAAS;EACfC,SAAS,EAAE,SAAS;EACpBC,MAAM,EAAE,SAAS;EACjBC,eAAe,EAAE,SAAS;EAC1BC,OAAO,EAAE,iBAAiB;EAC1BC,KAAK,EAAE,oBAAoB;EAC3BC,QAAQ,EAAE;AACZ,CAAC","ignoreList":[]}
|
|
@@ -28,7 +28,7 @@ export const Avatar = /*#__PURE__*/memo(({
|
|
|
28
28
|
width: size,
|
|
29
29
|
height: size,
|
|
30
30
|
borderRadius: size / 2,
|
|
31
|
-
backgroundColor: backgroundColor || colors.
|
|
31
|
+
backgroundColor: backgroundColor || colors.primarySoft
|
|
32
32
|
}, style],
|
|
33
33
|
children: children
|
|
34
34
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","StyleSheet","View","useColors","jsx","_jsx","styles","create","circle","justifyContent","alignItems","Avatar","size","backgroundColor","children","style","colors","width","height","borderRadius","
|
|
1
|
+
{"version":3,"names":["React","memo","StyleSheet","View","useColors","jsx","_jsx","styles","create","circle","justifyContent","alignItems","Avatar","size","backgroundColor","children","style","colors","width","height","borderRadius","primarySoft","displayName"],"sourceRoot":"../../../src","sources":["atoms/Avatar.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,UAAU,EAAEC,IAAI,QAAwC,cAAc;AAC/E,SAASC,SAAS,QAAQ,qBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAShD,MAAMC,MAAM,GAAGL,UAAU,CAACM,MAAM,CAAC;EAC/BC,MAAM,EAAE;IAAEC,cAAc,EAAE,QAAQ;IAAEC,UAAU,EAAE;EAAS;AAC3D,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,MAAM,gBAAGX,IAAI,CAAC,CAAC;EAAEY,IAAI,GAAG,EAAE;EAAEC,eAAe;EAAEC,QAAQ;EAAEC;AAAmB,CAAC,KAAK;EAC3F,MAAMC,MAAM,GAAGb,SAAS,CAAC,CAAC;EAC1B,oBACEE,IAAA,CAACH,IAAI;IACHa,KAAK,EAAE,CACLT,MAAM,CAACE,MAAM,EACb;MACES,KAAK,EAAEL,IAAI;MACXM,MAAM,EAAEN,IAAI;MACZO,YAAY,EAAEP,IAAI,GAAG,CAAC;MACtBC,eAAe,EAAEA,eAAe,IAAIG,MAAM,CAACI;IAC7C,CAAC,EACDL,KAAK,CACL;IAAAD,QAAA,EAEDA;EAAQ,CACL,CAAC;AAEX,CAAC,CAAC;AACFH,MAAM,CAACU,WAAW,GAAG,QAAQ","ignoreList":[]}
|
|
@@ -39,21 +39,23 @@ export const Badge = /*#__PURE__*/memo(({
|
|
|
39
39
|
colors
|
|
40
40
|
} = theme;
|
|
41
41
|
const palette = {
|
|
42
|
+
// fg es el rol `*Text`, no el acento pleno: el acento sobre su propio
|
|
43
|
+
// tinte da ~2.2:1 en light — el label quedaba ilegible.
|
|
42
44
|
success: {
|
|
43
|
-
bg: colors.
|
|
44
|
-
fg: colors.
|
|
45
|
+
bg: colors.successSoft,
|
|
46
|
+
fg: colors.successText
|
|
45
47
|
},
|
|
46
48
|
error: {
|
|
47
|
-
bg: colors.
|
|
48
|
-
fg: colors.
|
|
49
|
+
bg: colors.errorSoft,
|
|
50
|
+
fg: colors.errorText
|
|
49
51
|
},
|
|
50
52
|
warning: {
|
|
51
|
-
bg: colors.
|
|
52
|
-
fg: colors.
|
|
53
|
+
bg: colors.warningSoft,
|
|
54
|
+
fg: colors.warningText
|
|
53
55
|
},
|
|
54
56
|
info: {
|
|
55
|
-
bg: colors.
|
|
56
|
-
fg: colors.
|
|
57
|
+
bg: colors.secondarySoft,
|
|
58
|
+
fg: colors.secondaryText
|
|
57
59
|
},
|
|
58
60
|
neutral: {
|
|
59
61
|
bg: colors.inputBackground,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","Text","View","createStyles","useAllowFontScaling","useTheme","jsx","_jsx","useStyles","theme","badge","paddingHorizontal","tokens","spacing","md","paddingVertical","xs","borderRadius","radius","full","alignSelf","text","fontSize","fontWeight","bold","letterSpacing","Badge","label","variant","backgroundColor","textColor","style","styles","allowFontScaling","colors","palette","success","bg","fg","error","warning","info","
|
|
1
|
+
{"version":3,"names":["React","memo","Text","View","createStyles","useAllowFontScaling","useTheme","jsx","_jsx","useStyles","theme","badge","paddingHorizontal","tokens","spacing","md","paddingVertical","xs","borderRadius","radius","full","alignSelf","text","fontSize","fontWeight","bold","letterSpacing","Badge","label","variant","backgroundColor","textColor","style","styles","allowFontScaling","colors","palette","success","bg","successSoft","fg","successText","error","errorSoft","errorText","warning","warningSoft","warningText","info","secondarySoft","secondaryText","neutral","inputBackground","textLight","children","color","displayName"],"sourceRoot":"../../../src","sources":["atoms/Badge.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,IAAI,EAAEC,IAAI,QAAwC,cAAc;AACzE,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,mBAAmB,EAAEC,QAAQ,QAAQ,qBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAapE,MAAMC,SAAS,GAAGL,YAAY,CAAEM,KAAK,KAAM;EACzCC,KAAK,EAAE;IACLC,iBAAiB,EAAEF,KAAK,CAACG,MAAM,CAACC,OAAO,CAACC,EAAE,GAAG,CAAC;IAC9CC,eAAe,EAAEN,KAAK,CAACG,MAAM,CAACC,OAAO,CAACG,EAAE,GAAG,CAAC;IAC5CC,YAAY,EAAER,KAAK,CAACG,MAAM,CAACM,MAAM,CAACC,IAAI;IACtCC,SAAS,EAAE;EACb,CAAC;EACDC,IAAI,EAAE;IAAEC,QAAQ,EAAEb,KAAK,CAACG,MAAM,CAACU,QAAQ,CAACN,EAAE;IAAEO,UAAU,EAAEd,KAAK,CAACG,MAAM,CAACW,UAAU,CAACC,IAAI;IAAEC,aAAa,EAAE;EAAI;AAC3G,CAAC,CAAC,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,KAAK,gBAAG1B,IAAI,CAAC,CAAC;EAAE2B,KAAK;EAAEC,OAAO,GAAG,SAAS;EAAEC,eAAe;EAAEC,SAAS;EAAEC;AAAkB,CAAC,KAAK;EAC3G,MAAMtB,KAAK,GAAGJ,QAAQ,CAAC,CAAC;EACxB,MAAM2B,MAAM,GAAGxB,SAAS,CAAC,CAAC;EAC1B,MAAMyB,gBAAgB,GAAG7B,mBAAmB,CAAC,CAAC;EAC9C,MAAM;IAAE8B;EAAO,CAAC,GAAGzB,KAAK;EAExB,MAAM0B,OAAyD,GAAG;IAChE;IACA;IACAC,OAAO,EAAE;MAAEC,EAAE,EAAEH,MAAM,CAACI,WAAW;MAAEC,EAAE,EAAEL,MAAM,CAACM;IAAY,CAAC;IAC3DC,KAAK,EAAE;MAAEJ,EAAE,EAAEH,MAAM,CAACQ,SAAS;MAAEH,EAAE,EAAEL,MAAM,CAACS;IAAU,CAAC;IACrDC,OAAO,EAAE;MAAEP,EAAE,EAAEH,MAAM,CAACW,WAAW;MAAEN,EAAE,EAAEL,MAAM,CAACY;IAAY,CAAC;IAC3DC,IAAI,EAAE;MAAEV,EAAE,EAAEH,MAAM,CAACc,aAAa;MAAET,EAAE,EAAEL,MAAM,CAACe;IAAc,CAAC;IAC5DC,OAAO,EAAE;MAAEb,EAAE,EAAEH,MAAM,CAACiB,eAAe;MAAEZ,EAAE,EAAEL,MAAM,CAACkB;IAAU;EAC9D,CAAC;EAED,oBACE7C,IAAA,CAACL,IAAI;IAAC6B,KAAK,EAAE,CAACC,MAAM,CAACtB,KAAK,EAAE;MAAEmB,eAAe,EAAEA,eAAe,IAAIM,OAAO,CAACP,OAAO,CAAC,CAACS;IAAG,CAAC,EAAEN,KAAK,CAAE;IAAAsB,QAAA,eAC9F9C,IAAA,CAACN,IAAI;MAACgC,gBAAgB,EAAEA,gBAAiB;MAACF,KAAK,EAAE,CAACC,MAAM,CAACX,IAAI,EAAE;QAAEiC,KAAK,EAAExB,SAAS,IAAIK,OAAO,CAACP,OAAO,CAAC,CAACW;MAAG,CAAC,CAAE;MAAAc,QAAA,EACzG1B;IAAK,CACF;EAAC,CACH,CAAC;AAEX,CAAC,CAAC;AACFD,KAAK,CAAC6B,WAAW,GAAG,OAAO","ignoreList":[]}
|