@retray-dev/ui-kit 12.1.0 → 13.0.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/COMPONENTS.md +183 -147
- package/CONSUMER.md +2 -2
- package/DESIGN.md +2 -2
- package/README.md +13 -8
- package/dist/Accordion.d.mts +6 -0
- package/dist/Accordion.d.ts +6 -0
- package/dist/Accordion.js +62 -208
- package/dist/Accordion.mjs +6 -5
- package/dist/AlertBanner.js +29 -151
- package/dist/AlertBanner.mjs +3 -3
- package/dist/AppHeader.js +37 -233
- package/dist/AppHeader.mjs +6 -7
- package/dist/Avatar.d.mts +17 -1
- package/dist/Avatar.d.ts +17 -1
- package/dist/Avatar.js +80 -113
- package/dist/Avatar.mjs +2 -2
- package/dist/Badge.js +24 -147
- package/dist/Badge.mjs +3 -3
- package/dist/Button.js +86 -274
- package/dist/Button.mjs +6 -6
- package/dist/Card.js +15 -198
- package/dist/Card.mjs +4 -5
- package/dist/CategoryStrip.d.mts +0 -5
- package/dist/CategoryStrip.d.ts +0 -5
- package/dist/CategoryStrip.js +47 -263
- package/dist/CategoryStrip.mjs +6 -6
- package/dist/Checkbox.js +15 -198
- package/dist/Checkbox.mjs +5 -5
- package/dist/Chip.js +44 -234
- package/dist/Chip.mjs +7 -6
- package/dist/ConfirmDialog.js +100 -296
- package/dist/ConfirmDialog.mjs +7 -7
- package/dist/CurrencyDisplay.js +1 -112
- package/dist/CurrencyDisplay.mjs +2 -2
- package/dist/CurrencyInput.js +35 -160
- package/dist/CurrencyInput.mjs +5 -5
- package/dist/DetailRow.js +25 -148
- package/dist/DetailRow.mjs +3 -3
- package/dist/EmptyState.js +87 -275
- package/dist/EmptyState.mjs +7 -7
- package/dist/ErrorBoundary.js +32 -197
- package/dist/ErrorBoundary.mjs +4 -4
- package/dist/Form.js +1 -112
- package/dist/Form.mjs +2 -2
- package/dist/HolographicCard.d.mts +0 -28
- package/dist/HolographicCard.d.ts +0 -28
- package/dist/HolographicCard.js +20 -130
- package/dist/HolographicCard.mjs +9 -32
- package/dist/IconButton.js +36 -232
- package/dist/IconButton.mjs +5 -6
- package/dist/IconPicker.js +222 -927
- package/dist/IconPicker.mjs +5 -5
- package/dist/ImageUpload.d.mts +5 -1
- package/dist/ImageUpload.d.ts +5 -1
- package/dist/ImageUpload.js +32 -215
- package/dist/ImageUpload.mjs +5 -6
- package/dist/ImageViewer.js +75 -264
- package/dist/ImageViewer.mjs +8 -8
- package/dist/Input.d.mts +1 -1
- package/dist/Input.d.ts +1 -1
- package/dist/Input.js +35 -160
- package/dist/Input.mjs +4 -4
- package/dist/LabelValue.js +24 -147
- package/dist/LabelValue.mjs +3 -3
- package/dist/ListGroup.js +1 -112
- package/dist/ListGroup.mjs +2 -2
- package/dist/ListItem.js +38 -233
- package/dist/ListItem.mjs +5 -6
- package/dist/MediaCard.d.mts +0 -14
- package/dist/MediaCard.d.ts +0 -14
- package/dist/MediaCard.js +69 -313
- package/dist/MediaCard.mjs +5 -6
- package/dist/MenuGroup.js +1 -112
- package/dist/MenuGroup.mjs +2 -2
- package/dist/MenuItem.js +36 -232
- package/dist/MenuItem.mjs +5 -6
- package/dist/MonthPicker.js +8 -161
- package/dist/MonthPicker.mjs +3 -3
- package/dist/NumberStepper.js +40 -236
- package/dist/NumberStepper.mjs +5 -6
- package/dist/PagerDots.d.mts +1 -1
- package/dist/PagerDots.d.ts +1 -1
- package/dist/PagerDots.js +69 -222
- package/dist/PagerDots.mjs +6 -5
- package/dist/Pressable.js +14 -85
- package/dist/Pressable.mjs +4 -4
- package/dist/PricingCard.js +94 -279
- package/dist/PricingCard.mjs +8 -8
- package/dist/Progress.js +3 -121
- package/dist/Progress.mjs +3 -3
- package/dist/RadioGroup.js +52 -263
- package/dist/RadioGroup.mjs +5 -5
- package/dist/RetrayProvider.d.mts +1 -1
- package/dist/RetrayProvider.d.ts +1 -1
- package/dist/RetrayProvider.js +5 -6
- package/dist/RetrayProvider.mjs +3 -3
- package/dist/Select.d.mts +2 -1
- package/dist/Select.d.ts +2 -1
- package/dist/Select.js +24 -230
- package/dist/Select.mjs +4 -5
- package/dist/SelectableCard.d.mts +27 -0
- package/dist/SelectableCard.d.ts +27 -0
- package/dist/SelectableCard.js +335 -0
- package/dist/SelectableCard.mjs +8 -0
- package/dist/SelectableGrid.d.mts +0 -21
- package/dist/SelectableGrid.d.ts +0 -21
- package/dist/SelectableGrid.js +49 -269
- package/dist/SelectableGrid.mjs +5 -6
- package/dist/Separator.js +1 -112
- package/dist/Separator.mjs +2 -2
- package/dist/Sheet.js +16 -163
- package/dist/Sheet.mjs +3 -3
- package/dist/SheetSelect.js +39 -234
- package/dist/SheetSelect.mjs +6 -6
- package/dist/Skeleton.d.mts +3 -1
- package/dist/Skeleton.d.ts +3 -1
- package/dist/Skeleton.js +7 -124
- package/dist/Skeleton.mjs +3 -3
- package/dist/Slider.js +6 -159
- package/dist/Slider.mjs +3 -3
- package/dist/Spinner.js +3 -114
- package/dist/Spinner.mjs +2 -2
- package/dist/Stats.d.mts +4 -1
- package/dist/Stats.d.ts +4 -1
- package/dist/Stats.js +60 -234
- package/dist/Stats.mjs +5 -6
- package/dist/Switch.js +24 -173
- package/dist/Switch.mjs +5 -4
- package/dist/TabBar.js +43 -198
- package/dist/TabBar.mjs +5 -4
- package/dist/Tabs.js +15 -197
- package/dist/Tabs.mjs +5 -5
- package/dist/Text.js +9 -128
- package/dist/Text.mjs +2 -2
- package/dist/Textarea.d.mts +2 -1
- package/dist/Textarea.d.ts +2 -1
- package/dist/Textarea.js +71 -217
- package/dist/Textarea.mjs +4 -4
- package/dist/Toast.js +1 -112
- package/dist/Toast.mjs +2 -2
- package/dist/Toggle.js +39 -234
- package/dist/Toggle.mjs +6 -6
- package/dist/{chunk-FFTYLPSB.mjs → chunk-2QOHHBJC.mjs} +13 -7
- package/dist/{chunk-BCWEHE34.mjs → chunk-2VIDP72N.mjs} +3 -3
- package/dist/{chunk-PGERH3P7.mjs → chunk-4NQFTHN3.mjs} +13 -7
- package/dist/{chunk-3N2M3WZL.mjs → chunk-4ZO5PTKF.mjs} +4 -4
- package/dist/{chunk-MYZ2EDYU.mjs → chunk-5MYNAAFE.mjs} +13 -17
- package/dist/{chunk-E7NEHHXV.mjs → chunk-62BBSSUF.mjs} +3 -3
- package/dist/{chunk-ISY26JQJ.mjs → chunk-6CR4S6W2.mjs} +3 -3
- package/dist/{chunk-FUVYSVGR.mjs → chunk-6QLBHUEG.mjs} +8 -7
- package/dist/chunk-ARONDO7M.mjs +40 -0
- package/dist/{chunk-3UYAZ7I4.mjs → chunk-AZV7KNJI.mjs} +3 -3
- package/dist/{chunk-HLMPMUK2.mjs → chunk-BTUW5LSG.mjs} +11 -8
- package/dist/chunk-BULKGOIZ.mjs +235 -0
- package/dist/{chunk-265G6A46.mjs → chunk-CBIZLRYH.mjs} +29 -12
- package/dist/chunk-CM2DG4MR.mjs +142 -0
- package/dist/{chunk-2I2AYECM.mjs → chunk-DBHSUUKU.mjs} +2 -2
- package/dist/{chunk-P64WHW4A.mjs → chunk-DE25XTVQ.mjs} +3 -3
- package/dist/{chunk-DI7CBDL6.mjs → chunk-E4EQSCKR.mjs} +5 -5
- package/dist/{chunk-357YO24D.mjs → chunk-EHGBHFMH.mjs} +9 -17
- package/dist/{chunk-GK4VRMNE.mjs → chunk-EROPDCB5.mjs} +24 -27
- package/dist/{chunk-XBAGGKLW.mjs → chunk-ERWJPVX7.mjs} +2 -2
- package/dist/{chunk-LRM4AVYY.mjs → chunk-ESQDPO5E.mjs} +7 -7
- package/dist/{chunk-EFLFRAHD.mjs → chunk-EW2FIDSM.mjs} +1 -1
- package/dist/{chunk-7HSILTC4.mjs → chunk-FTTI6T5Q.mjs} +4 -4
- package/dist/{chunk-X26S5EVZ.mjs → chunk-HUSSF6TF.mjs} +1 -1
- package/dist/chunk-IFYMBOEN.mjs +14 -0
- package/dist/{chunk-S3KJCPEJ.mjs → chunk-IGU223UM.mjs} +80 -4
- package/dist/chunk-IJCMPVW5.mjs +121 -0
- package/dist/{chunk-I4V5XZPS.mjs → chunk-ITG4JQM3.mjs} +4 -4
- package/dist/{chunk-F4V6XLP4.mjs → chunk-K3QX2M26.mjs} +11 -8
- package/dist/{chunk-V6NFJXKO.mjs → chunk-K7TKID3V.mjs} +8 -7
- package/dist/{chunk-ZHMSAYLT.mjs → chunk-KAGADD2O.mjs} +4 -4
- package/dist/{chunk-3GEYJ7I5.mjs → chunk-KC5QDYGZ.mjs} +4 -4
- package/dist/{chunk-HJ46DTJE.mjs → chunk-KPTY7UYQ.mjs} +1 -1
- package/dist/{chunk-EMUWGDWC.mjs → chunk-KSSVIFYR.mjs} +11 -12
- package/dist/chunk-L3YKPTJQ.mjs +119 -0
- package/dist/chunk-M53LC4Q7.mjs +35 -0
- package/dist/{chunk-NXI4YDZ2.mjs → chunk-MP7GLMIR.mjs} +17 -25
- package/dist/chunk-MZ6WRTD2.mjs +40 -0
- package/dist/chunk-NGEN2EES.mjs +581 -0
- package/dist/{chunk-JULSIZDM.mjs → chunk-OBV72JD4.mjs} +1 -1
- package/dist/{chunk-2A2LEFZG.mjs → chunk-PGQ6FMXS.mjs} +6 -5
- package/dist/{chunk-BQZE3HAW.mjs → chunk-PI6RULJX.mjs} +1 -1
- package/dist/{chunk-FA2KMTH5.mjs → chunk-RA6SAAFE.mjs} +9 -8
- package/dist/{chunk-FVTVCJAH.mjs → chunk-RRKM4MKB.mjs} +7 -7
- package/dist/{chunk-AKM4EPOT.mjs → chunk-S2VGME7X.mjs} +1 -1
- package/dist/{chunk-OULVKTWL.mjs → chunk-S44XWTTC.mjs} +35 -25
- package/dist/{chunk-QSFV2P7O.mjs → chunk-SZEKQAOY.mjs} +1 -1
- package/dist/{chunk-N4ZPVCJH.mjs → chunk-TETMEKZE.mjs} +9 -9
- package/dist/{chunk-2CBQKU7H.mjs → chunk-TMH263OK.mjs} +5 -4
- package/dist/{chunk-D3Y2T42P.mjs → chunk-U6DEBYU5.mjs} +10 -9
- package/dist/{chunk-4WFMPFZB.mjs → chunk-UOKFSFNJ.mjs} +2 -2
- package/dist/{chunk-WOEWGSTU.mjs → chunk-URIH43IJ.mjs} +13 -21
- package/dist/{chunk-JCZQOY4O.mjs → chunk-V2ZB2XNS.mjs} +16 -10
- package/dist/{chunk-P73V2EKS.mjs → chunk-WIPEDNSD.mjs} +7 -7
- package/dist/{chunk-BOVUP27T.mjs → chunk-XCIG6HT2.mjs} +6 -5
- package/dist/chunk-Y6YS33GM.mjs +131 -0
- package/dist/{chunk-5OLNXP3S.mjs → chunk-ZKDKKQCE.mjs} +29 -7
- package/dist/{chunk-DF6DU42P.mjs → chunk-ZTPYUU5C.mjs} +5 -5
- package/dist/{index-wt-orHUi.d.ts → index-CY34hxPN.d.mts} +1 -0
- package/dist/{index-wt-orHUi.d.mts → index-CY34hxPN.d.ts} +1 -0
- package/dist/index.d.mts +15 -74
- package/dist/index.d.ts +15 -74
- package/dist/index.js +1055 -1562
- package/dist/index.mjs +81 -84
- package/package.json +8 -10
- package/src/components/Accordion/Accordion.tsx +32 -9
- package/src/components/AlertBanner/AlertBanner.tsx +7 -6
- package/src/components/AppHeader/AppHeader.tsx +1 -1
- package/src/components/Avatar/Avatar.tsx +92 -1
- package/src/components/Avatar/index.ts +2 -2
- package/src/components/Badge/Badge.tsx +2 -2
- package/src/components/Button/Button.tsx +64 -57
- package/src/components/Card/Card.tsx +1 -0
- package/src/components/CategoryStrip/CategoryStrip.tsx +36 -49
- package/src/components/Chip/Chip.tsx +5 -4
- package/src/components/ConfirmDialog/ConfirmDialog.tsx +13 -6
- package/src/components/DetailRow/DetailRow.tsx +3 -3
- package/src/components/EmptyState/EmptyState.tsx +2 -2
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +6 -6
- package/src/components/HolographicCard/HolographicCard.tsx +14 -95
- package/src/components/IconButton/IconButton.tsx +2 -2
- package/src/components/IconPicker/IconPicker.tsx +13 -12
- package/src/components/ImageUpload/ImageUpload.tsx +24 -28
- package/src/components/ImageViewer/ImageViewer.tsx +3 -3
- package/src/components/Input/Input.tsx +11 -5
- package/src/components/LabelValue/LabelValue.tsx +2 -2
- package/src/components/ListItem/ListItem.tsx +4 -4
- package/src/components/MediaCard/MediaCard.tsx +21 -59
- package/src/components/MenuItem/MenuItem.tsx +2 -2
- package/src/components/MonthPicker/MonthPicker.tsx +2 -2
- package/src/components/NumberStepper/NumberStepper.tsx +6 -6
- package/src/components/PagerDots/PagerDots.tsx +38 -28
- package/src/components/PricingCard/PricingCard.tsx +6 -6
- package/src/components/RadioGroup/RadioGroup.tsx +18 -31
- package/src/components/Select/Select.tsx +32 -39
- package/src/components/SelectableCard/SelectableCard.tsx +302 -0
- package/src/components/SelectableCard/index.ts +1 -0
- package/src/components/SelectableGrid/SelectableGrid.tsx +38 -72
- package/src/components/Sheet/Sheet.tsx +11 -4
- package/src/components/SheetSelect/SheetSelect.tsx +3 -3
- package/src/components/Skeleton/Skeleton.tsx +6 -3
- package/src/components/Spinner/Spinner.tsx +2 -2
- package/src/components/Stats/Stats.tsx +36 -8
- package/src/components/Switch/Switch.tsx +9 -6
- package/src/components/TabBar/TabBar.tsx +9 -8
- package/src/components/Text/Text.tsx +12 -1
- package/src/components/Textarea/Textarea.tsx +18 -32
- package/src/components/Toggle/Toggle.tsx +3 -3
- package/src/hooks/useConfirmDialog.ts +31 -42
- package/src/index.ts +4 -4
- package/src/theme/ThemeProvider.tsx +1 -4
- package/src/theme/colorUtils.ts +1 -72
- package/src/theme/colors.ts +47 -1
- package/src/theme/types.ts +6 -3
- package/src/utils/animations.ts +0 -47
- package/src/utils/curatedIcons.ts +93 -801
- package/src/utils/haptics.ts +13 -208
- package/src/utils/icons.ts +27 -91
- package/src/utils/pressable.ts +10 -61
- package/dist/VirtualList.d.mts +0 -19
- package/dist/VirtualList.d.ts +0 -19
- package/dist/VirtualList.js +0 -38
- package/dist/VirtualList.mjs +0 -2
- package/dist/chunk-3DKJ2GIC.mjs +0 -30
- package/dist/chunk-AQEVCEXV.mjs +0 -164
- package/dist/chunk-DOGIPOF5.mjs +0 -131
- package/dist/chunk-DVK4G2GT.mjs +0 -59
- package/dist/chunk-EJ7ZPXOH.mjs +0 -163
- package/dist/chunk-J6Q2YJEV.mjs +0 -134
- package/dist/chunk-JNVAIDLK.mjs +0 -136
- package/dist/chunk-KA7LTET3.mjs +0 -71
- package/dist/chunk-KHYX4IOM.mjs +0 -1114
- package/dist/chunk-NC5ZTR2Y.mjs +0 -32
- package/dist/chunk-YNROWHQJ.mjs +0 -46
- package/src/components/VirtualList/VirtualList.tsx +0 -60
- package/src/components/VirtualList/index.ts +0 -1
- package/src/utils/fontGuard.ts +0 -35
- package/src/utils/hover.ts +0 -25
- package/src/utils/useColorTransition.ts +0 -40
- package/src/utils/usePressScale.ts +0 -75
package/dist/SelectableGrid.js
CHANGED
|
@@ -2,19 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
var React3 = require('react');
|
|
4
4
|
var reactNative = require('react-native');
|
|
5
|
-
var Animated = require('react-native-reanimated');
|
|
6
5
|
var AntDesign = require('@expo/vector-icons/AntDesign');
|
|
7
6
|
var Entypo = require('@expo/vector-icons/Entypo');
|
|
8
7
|
var Feather = require('@expo/vector-icons/Feather');
|
|
9
8
|
var FontAwesome5 = require('@expo/vector-icons/FontAwesome5');
|
|
10
9
|
var MaterialIcons = require('@expo/vector-icons/MaterialIcons');
|
|
11
10
|
var Ionicons = require('@expo/vector-icons/Ionicons');
|
|
11
|
+
var pressto = require('pressto');
|
|
12
12
|
var reactNativeSizeMatters = require('react-native-size-matters');
|
|
13
13
|
|
|
14
14
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
15
|
|
|
16
16
|
var React3__default = /*#__PURE__*/_interopDefault(React3);
|
|
17
|
-
var Animated__default = /*#__PURE__*/_interopDefault(Animated);
|
|
18
17
|
var AntDesign__default = /*#__PURE__*/_interopDefault(AntDesign);
|
|
19
18
|
var Entypo__default = /*#__PURE__*/_interopDefault(Entypo);
|
|
20
19
|
var Feather__default = /*#__PURE__*/_interopDefault(Feather);
|
|
@@ -22,124 +21,8 @@ var FontAwesome5__default = /*#__PURE__*/_interopDefault(FontAwesome5);
|
|
|
22
21
|
var MaterialIcons__default = /*#__PURE__*/_interopDefault(MaterialIcons);
|
|
23
22
|
var Ionicons__default = /*#__PURE__*/_interopDefault(Ionicons);
|
|
24
23
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}) : x)(function(x) {
|
|
28
|
-
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
29
|
-
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
// src/theme/colorUtils.ts
|
|
33
|
-
function hexToRgb(hex) {
|
|
34
|
-
const clean = hex.replace("#", "");
|
|
35
|
-
const full = clean.length === 3 ? clean.split("").map((c) => c + c).join("") : clean;
|
|
36
|
-
if (full.length !== 6) return null;
|
|
37
|
-
return {
|
|
38
|
-
r: parseInt(full.slice(0, 2), 16),
|
|
39
|
-
g: parseInt(full.slice(2, 4), 16),
|
|
40
|
-
b: parseInt(full.slice(4, 6), 16)
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
function componentToHex(c) {
|
|
44
|
-
return Math.round(Math.max(0, Math.min(255, c))).toString(16).padStart(2, "0");
|
|
45
|
-
}
|
|
46
|
-
function rgbToHex(r, g, b) {
|
|
47
|
-
return `#${componentToHex(r)}${componentToHex(g)}${componentToHex(b)}`;
|
|
48
|
-
}
|
|
49
|
-
function withAlphaOnWhite(hex, alpha) {
|
|
50
|
-
const rgb = hexToRgb(hex);
|
|
51
|
-
if (!rgb) return hex;
|
|
52
|
-
const r = rgb.r * alpha + 255 * (1 - alpha);
|
|
53
|
-
const g = rgb.g * alpha + 255 * (1 - alpha);
|
|
54
|
-
const b = rgb.b * alpha + 255 * (1 - alpha);
|
|
55
|
-
return rgbToHex(r, g, b);
|
|
56
|
-
}
|
|
57
|
-
function withAlphaOnDark(hex, alpha, bgHex = "#0f0f0f") {
|
|
58
|
-
const rgb = hexToRgb(hex);
|
|
59
|
-
const bg = hexToRgb(bgHex);
|
|
60
|
-
if (!rgb || !bg) return hex;
|
|
61
|
-
const r = rgb.r * alpha + bg.r * (1 - alpha);
|
|
62
|
-
const g = rgb.g * alpha + bg.g * (1 - alpha);
|
|
63
|
-
const b = rgb.b * alpha + bg.b * (1 - alpha);
|
|
64
|
-
return rgbToHex(r, g, b);
|
|
65
|
-
}
|
|
66
|
-
function mixWithBackground(fgHex, bgHex, opacity) {
|
|
67
|
-
const fg = hexToRgb(fgHex);
|
|
68
|
-
const bg = hexToRgb(bgHex);
|
|
69
|
-
if (!fg || !bg) return fgHex;
|
|
70
|
-
const r = fg.r * opacity + bg.r * (1 - opacity);
|
|
71
|
-
const g = fg.g * opacity + bg.g * (1 - opacity);
|
|
72
|
-
const b = fg.b * opacity + bg.b * (1 - opacity);
|
|
73
|
-
return rgbToHex(r, g, b);
|
|
74
|
-
}
|
|
75
|
-
function lighten(hex, amount) {
|
|
76
|
-
return withAlphaOnWhite(hex, 1 - amount);
|
|
77
|
-
}
|
|
78
|
-
function darken(hex, amount) {
|
|
79
|
-
const rgb = hexToRgb(hex);
|
|
80
|
-
if (!rgb) return hex;
|
|
81
|
-
return rgbToHex(rgb.r * (1 - amount), rgb.g * (1 - amount), rgb.b * (1 - amount));
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// src/theme/colors.ts
|
|
85
|
-
var defaultLight = {
|
|
86
|
-
background: "#ffffff",
|
|
87
|
-
foreground: "#1a1a1a",
|
|
88
|
-
card: "#ffffff",
|
|
89
|
-
primary: "#1a1a1a",
|
|
90
|
-
primaryForeground: "#ffffff",
|
|
91
|
-
// AUDIT FIX: brand accent — was undefined; falls back to primary when omitted
|
|
92
|
-
accent: "#d4561d",
|
|
93
|
-
accentForeground: "#ffffff",
|
|
94
|
-
border: "#dddddd",
|
|
95
|
-
// AUDIT FIX: was #e53935 (4.22:1 on white — fails AA); #c72828 = 5.59:1 ✓
|
|
96
|
-
destructive: "#c72828",
|
|
97
|
-
destructiveForeground: "#ffffff",
|
|
98
|
-
success: "#1a7a45",
|
|
99
|
-
successForeground: "#ffffff",
|
|
100
|
-
// AUDIT FIX: was #e67e00 (2.86:1 — severe fail); #9a5200 = 5.86:1 ✓ AAA-near
|
|
101
|
-
warning: "#9a5200",
|
|
102
|
-
warningForeground: "#ffffff"
|
|
103
|
-
};
|
|
104
|
-
function deriveColors(t, scheme) {
|
|
105
|
-
const dark = scheme === "dark";
|
|
106
|
-
const bg = t.background;
|
|
107
|
-
const foregroundSubtle = mixWithBackground(t.foreground, bg, 0.7);
|
|
108
|
-
const foregroundMuted = mixWithBackground(t.foreground, bg, 0.62);
|
|
109
|
-
const surface = dark ? lighten(bg, -0.06) : darken(bg, 0.04);
|
|
110
|
-
const surfaceStrong = dark ? lighten(bg, -0.12) : darken(bg, 0.08);
|
|
111
|
-
const destructiveTint = dark ? withAlphaOnDark(t.destructive, 0.15, bg) : withAlphaOnWhite(t.destructive, 0.08);
|
|
112
|
-
const destructiveBorder = dark ? withAlphaOnDark(t.destructive, 0.45, bg) : withAlphaOnWhite(t.destructive, 0.3);
|
|
113
|
-
const successTint = dark ? withAlphaOnDark(t.success, 0.15, bg) : withAlphaOnWhite(t.success, 0.08);
|
|
114
|
-
const successBorder = dark ? withAlphaOnDark(t.success, 0.45, bg) : withAlphaOnWhite(t.success, 0.3);
|
|
115
|
-
const warningTint = dark ? withAlphaOnDark(t.warning, 0.15, bg) : withAlphaOnWhite(t.warning, 0.08);
|
|
116
|
-
const warningBorder = dark ? withAlphaOnDark(t.warning, 0.45, bg) : withAlphaOnWhite(t.warning, 0.3);
|
|
117
|
-
return {
|
|
118
|
-
...t,
|
|
119
|
-
foregroundSubtle,
|
|
120
|
-
foregroundMuted,
|
|
121
|
-
surface,
|
|
122
|
-
surfaceStrong,
|
|
123
|
-
destructiveTint,
|
|
124
|
-
destructiveBorder,
|
|
125
|
-
successTint,
|
|
126
|
-
successBorder,
|
|
127
|
-
warningTint,
|
|
128
|
-
warningBorder,
|
|
129
|
-
overlay: t.overlay ?? "rgba(0,0,0,0.45)",
|
|
130
|
-
accentResolved: t.accent ?? t.primary,
|
|
131
|
-
accentForegroundResolved: t.accentForeground ?? t.primaryForeground,
|
|
132
|
-
ring: t.accent ?? t.primary,
|
|
133
|
-
input: t.border,
|
|
134
|
-
separator: dark ? lighten(t.border, 0.22) : darken(t.border, 0.16)
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
// src/theme/ThemeProvider.tsx
|
|
139
|
-
var ThemeContext = React3.createContext({
|
|
140
|
-
colors: deriveColors(defaultLight, "light"),
|
|
141
|
-
colorScheme: "light"
|
|
142
|
-
});
|
|
24
|
+
// src/components/SelectableGrid/SelectableGrid.tsx
|
|
25
|
+
var ThemeContext = React3.createContext(void 0);
|
|
143
26
|
function useTheme() {
|
|
144
27
|
const context = React3.useContext(ThemeContext);
|
|
145
28
|
if (!context) {
|
|
@@ -147,110 +30,50 @@ function useTheme() {
|
|
|
147
30
|
}
|
|
148
31
|
return context;
|
|
149
32
|
}
|
|
150
|
-
var glyphMapOf = (mod) => mod.glyphMap ?? {};
|
|
151
33
|
var ALL_FAMILIES = [
|
|
152
|
-
{ name: "
|
|
153
|
-
{ name: "
|
|
154
|
-
{ name: "
|
|
155
|
-
{ name: "
|
|
156
|
-
{ name: "
|
|
157
|
-
{ name: "
|
|
34
|
+
{ name: "Feather", component: Feather__default.default },
|
|
35
|
+
{ name: "AntDesign", component: AntDesign__default.default },
|
|
36
|
+
{ name: "Entypo", component: Entypo__default.default },
|
|
37
|
+
{ name: "FontAwesome5", component: FontAwesome5__default.default },
|
|
38
|
+
{ name: "MaterialIcons", component: MaterialIcons__default.default },
|
|
39
|
+
{ name: "Ionicons", component: Ionicons__default.default }
|
|
158
40
|
];
|
|
159
|
-
var
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
for (const
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
41
|
+
var glyphCacheInitialized = false;
|
|
42
|
+
function ensureGlyphCache() {
|
|
43
|
+
if (glyphCacheInitialized) return;
|
|
44
|
+
glyphCacheInitialized = true;
|
|
45
|
+
for (const entry of ALL_FAMILIES) {
|
|
46
|
+
try {
|
|
47
|
+
entry.glyphMap = entry.component.glyphMap;
|
|
48
|
+
} catch {
|
|
49
|
+
entry.glyphMap = {};
|
|
167
50
|
}
|
|
168
51
|
}
|
|
169
|
-
return cache;
|
|
170
|
-
}
|
|
171
|
-
function resolveFamily(name) {
|
|
172
|
-
if (!resolvedCache) {
|
|
173
|
-
resolvedCache = buildCache();
|
|
174
|
-
}
|
|
175
|
-
return resolvedCache.get(name) ?? null;
|
|
176
52
|
}
|
|
177
53
|
function Icon({ name, size, color, family }) {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
const Component = resolved.component;
|
|
186
|
-
return React3__default.default.createElement(Component, { name, size, color });
|
|
187
|
-
}
|
|
188
|
-
function renderIcon(name, size, color) {
|
|
189
|
-
return React3__default.default.createElement(Icon, { name, size, color });
|
|
54
|
+
ensureGlyphCache();
|
|
55
|
+
const entry = family ? ALL_FAMILIES.find((f) => f.name === family) : ALL_FAMILIES.find((f) => {
|
|
56
|
+
const glyphMap = f.glyphMap;
|
|
57
|
+
return glyphMap ? name in glyphMap : false;
|
|
58
|
+
});
|
|
59
|
+
if (!entry) return null;
|
|
60
|
+
return React3__default.default.createElement(entry.component, { name, size, color });
|
|
190
61
|
}
|
|
191
|
-
var
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
pressOut: { stiffness: 280, damping: 22, mass: 0.8 }};
|
|
195
|
-
({
|
|
196
|
-
/** Material-style ease-out — natural deceleration for state changes. */
|
|
197
|
-
standard: Animated.Easing.bezier(0.2, 0, 0, 1),
|
|
198
|
-
/** Strong ease-out for expanding surfaces (Accordion open). */
|
|
199
|
-
expand: Animated.Easing.bezier(0.23, 1, 0.32, 1),
|
|
200
|
-
/** Quick ease-in for collapsing. */
|
|
201
|
-
collapse: Animated.Easing.in(Animated.Easing.ease)
|
|
62
|
+
var makePressable = (scale2) => pressto.createAnimatedPressable((progress) => {
|
|
63
|
+
"worklet";
|
|
64
|
+
return { transform: [{ scale: 1 - (1 - scale2) * progress }] };
|
|
202
65
|
});
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
const [hovered, setHovered] = React3.useState(false);
|
|
209
|
-
const onMouseEnter = React3.useCallback(() => setHovered(true), []);
|
|
210
|
-
const onMouseLeave = React3.useCallback(() => setHovered(false), []);
|
|
211
|
-
if (reactNative.Platform.OS !== "web") {
|
|
212
|
-
return { hovered: false, hoverHandlers: {} };
|
|
213
|
-
}
|
|
214
|
-
return { hovered, hoverHandlers: { onMouseEnter, onMouseLeave } };
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
// src/utils/usePressScale.ts
|
|
218
|
-
function usePressScale({
|
|
219
|
-
pressScale = PRESS_SCALE.button,
|
|
220
|
-
hoverScale = 1.02,
|
|
221
|
-
pressInSpring = SPRINGS.pressIn,
|
|
222
|
-
pressOutSpring = SPRINGS.pressOut,
|
|
223
|
-
disabled = false
|
|
224
|
-
} = {}) {
|
|
225
|
-
const scale2 = Animated.useSharedValue(1);
|
|
226
|
-
const { hovered, hoverHandlers } = useHover();
|
|
227
|
-
const onPressIn = React3.useCallback(() => {
|
|
228
|
-
if (disabled) return;
|
|
229
|
-
scale2.value = Animated.withSpring(pressScale, pressInSpring);
|
|
230
|
-
}, [disabled, pressScale, pressInSpring, scale2]);
|
|
231
|
-
const onPressOut = React3.useCallback(() => {
|
|
232
|
-
if (disabled) return;
|
|
233
|
-
scale2.value = Animated.withSpring(1, pressOutSpring);
|
|
234
|
-
}, [disabled, pressOutSpring, scale2]);
|
|
235
|
-
const hoverActive = reactNative.Platform.OS === "web" && hovered && hoverScale !== 1 && !disabled;
|
|
236
|
-
const animatedStyle = Animated.useAnimatedStyle(() => ({
|
|
237
|
-
transform: [
|
|
238
|
-
{ scale: scale2.value * (hoverActive ? hoverScale : 1) }
|
|
239
|
-
]
|
|
240
|
-
}));
|
|
241
|
-
return {
|
|
242
|
-
animatedStyle,
|
|
243
|
-
onPressIn,
|
|
244
|
-
onPressOut,
|
|
245
|
-
hoverHandlers
|
|
246
|
-
};
|
|
247
|
-
}
|
|
66
|
+
makePressable(0.95);
|
|
67
|
+
makePressable(0.98);
|
|
68
|
+
makePressable(0.97);
|
|
69
|
+
var PressableChip = makePressable(0.94);
|
|
70
|
+
makePressable(0.95);
|
|
248
71
|
var _haptics = null;
|
|
249
|
-
var
|
|
72
|
+
var _loaded = false;
|
|
250
73
|
async function getHaptics() {
|
|
251
74
|
if (reactNative.Platform.OS === "web") return null;
|
|
252
|
-
if (!
|
|
253
|
-
|
|
75
|
+
if (!_loaded) {
|
|
76
|
+
_loaded = true;
|
|
254
77
|
try {
|
|
255
78
|
_haptics = await import('expo-haptics');
|
|
256
79
|
} catch {
|
|
@@ -259,45 +82,8 @@ async function getHaptics() {
|
|
|
259
82
|
}
|
|
260
83
|
return _haptics;
|
|
261
84
|
}
|
|
262
|
-
var _pulsar = null;
|
|
263
|
-
var _pulsarChecked = false;
|
|
264
|
-
var _pulsarAvailable = false;
|
|
265
|
-
function isPulsarNativeRegistered() {
|
|
266
|
-
try {
|
|
267
|
-
const g = globalThis;
|
|
268
|
-
if (typeof g.__turboModuleProxy === "function") {
|
|
269
|
-
return g.__turboModuleProxy("RNPulsar") != null;
|
|
270
|
-
}
|
|
271
|
-
return reactNative.NativeModules?.RNPulsar != null;
|
|
272
|
-
} catch {
|
|
273
|
-
return false;
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
function getPulsar() {
|
|
277
|
-
if (reactNative.Platform.OS === "web") return null;
|
|
278
|
-
if (!_pulsarChecked) {
|
|
279
|
-
_pulsarChecked = true;
|
|
280
|
-
try {
|
|
281
|
-
if (isPulsarNativeRegistered()) {
|
|
282
|
-
_pulsar = __require("react-native-pulsar");
|
|
283
|
-
_pulsarAvailable = true;
|
|
284
|
-
}
|
|
285
|
-
} catch {
|
|
286
|
-
_pulsar = null;
|
|
287
|
-
_pulsarAvailable = false;
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
return _pulsarAvailable ? _pulsar : null;
|
|
291
|
-
}
|
|
292
85
|
function selectionAsync() {
|
|
293
|
-
|
|
294
|
-
getHaptics().then((h) => {
|
|
295
|
-
if (h) {
|
|
296
|
-
h.selectionAsync();
|
|
297
|
-
} else {
|
|
298
|
-
getPulsar()?.Presets.System.selection();
|
|
299
|
-
}
|
|
300
|
-
});
|
|
86
|
+
getHaptics().then((h) => h?.selectionAsync());
|
|
301
87
|
}
|
|
302
88
|
var isWeb = reactNative.Platform.OS === "web";
|
|
303
89
|
var s = isWeb ? (n) => n : reactNativeSizeMatters.scale;
|
|
@@ -316,26 +102,21 @@ function isSelected(value, candidate) {
|
|
|
316
102
|
}
|
|
317
103
|
function Cell({ item, selected, width, onPress }) {
|
|
318
104
|
const { colors } = useTheme();
|
|
319
|
-
const { animatedStyle, onPressIn, onPressOut, hoverHandlers } = usePressScale({
|
|
320
|
-
pressScale: PRESS_SCALE.chip,
|
|
321
|
-
disabled: item.disabled
|
|
322
|
-
});
|
|
323
105
|
const iconColor = selected ? colors.primary : colors.foregroundSubtle;
|
|
324
|
-
const iconNode = item.icon ?? (item.iconName ?
|
|
325
|
-
return /* @__PURE__ */ React3__default.default.createElement(
|
|
326
|
-
|
|
106
|
+
const iconNode = item.icon ?? (item.iconName ? /* @__PURE__ */ React3__default.default.createElement(Icon, { name: item.iconName, size: ms(24), color: iconColor }) : null);
|
|
107
|
+
return /* @__PURE__ */ React3__default.default.createElement(
|
|
108
|
+
PressableChip,
|
|
327
109
|
{
|
|
328
110
|
onPress,
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
disabled: item.disabled,
|
|
332
|
-
activeOpacity: 1,
|
|
111
|
+
enabled: !item.disabled,
|
|
112
|
+
rippleColor: "transparent",
|
|
333
113
|
touchSoundDisabled: true,
|
|
114
|
+
activateOnHover: true,
|
|
334
115
|
accessibilityRole: "button",
|
|
335
116
|
accessibilityState: { selected, disabled: item.disabled },
|
|
336
117
|
accessibilityLabel: item.label ?? String(item.value),
|
|
337
|
-
...hoverHandlers,
|
|
338
118
|
style: [
|
|
119
|
+
{ width },
|
|
339
120
|
styles.cell,
|
|
340
121
|
{
|
|
341
122
|
backgroundColor: selected ? colors.primary + "14" : colors.surface,
|
|
@@ -354,7 +135,7 @@ function Cell({ item, selected, width, onPress }) {
|
|
|
354
135
|
},
|
|
355
136
|
item.label
|
|
356
137
|
) : null
|
|
357
|
-
)
|
|
138
|
+
);
|
|
358
139
|
}
|
|
359
140
|
function SelectableGrid({
|
|
360
141
|
items,
|
|
@@ -425,22 +206,21 @@ var styles = reactNative.StyleSheet.create({
|
|
|
425
206
|
paddingHorizontal: s(4)
|
|
426
207
|
},
|
|
427
208
|
cell: {
|
|
428
|
-
flex: 1,
|
|
429
209
|
borderRadius: RADIUS.md,
|
|
430
210
|
borderWidth: 2,
|
|
431
211
|
alignItems: "center",
|
|
432
212
|
justifyContent: "center",
|
|
433
213
|
gap: vs(4),
|
|
434
|
-
paddingHorizontal: s(
|
|
435
|
-
paddingVertical: vs(
|
|
214
|
+
paddingHorizontal: s(8),
|
|
215
|
+
paddingVertical: vs(10)
|
|
436
216
|
},
|
|
437
217
|
cellDisabled: {
|
|
438
218
|
opacity: 0.4
|
|
439
219
|
},
|
|
440
220
|
label: {
|
|
441
221
|
fontFamily: "Sohne-Medium",
|
|
442
|
-
fontSize: ms(
|
|
443
|
-
lineHeight: mvs(
|
|
222
|
+
fontSize: ms(11),
|
|
223
|
+
lineHeight: mvs(14),
|
|
444
224
|
textAlign: "center"
|
|
445
225
|
}
|
|
446
226
|
});
|
package/dist/SelectableGrid.mjs
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
export { SelectableGrid } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-DVK4G2GT.mjs';
|
|
1
|
+
export { SelectableGrid } from './chunk-MP7GLMIR.mjs';
|
|
2
|
+
import './chunk-IFYMBOEN.mjs';
|
|
3
|
+
import './chunk-ARONDO7M.mjs';
|
|
5
4
|
import './chunk-QY3X2UYR.mjs';
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
5
|
+
import './chunk-MZ6WRTD2.mjs';
|
|
6
|
+
import './chunk-KSSVIFYR.mjs';
|
|
8
7
|
import './chunk-2CE3TQVY.mjs';
|
|
9
8
|
import './chunk-Y6FXYEAI.mjs';
|
package/dist/Separator.js
CHANGED
|
@@ -8,118 +8,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
8
8
|
var React2__default = /*#__PURE__*/_interopDefault(React2);
|
|
9
9
|
|
|
10
10
|
// src/components/Separator/Separator.tsx
|
|
11
|
-
|
|
12
|
-
// src/theme/colorUtils.ts
|
|
13
|
-
function hexToRgb(hex) {
|
|
14
|
-
const clean = hex.replace("#", "");
|
|
15
|
-
const full = clean.length === 3 ? clean.split("").map((c) => c + c).join("") : clean;
|
|
16
|
-
if (full.length !== 6) return null;
|
|
17
|
-
return {
|
|
18
|
-
r: parseInt(full.slice(0, 2), 16),
|
|
19
|
-
g: parseInt(full.slice(2, 4), 16),
|
|
20
|
-
b: parseInt(full.slice(4, 6), 16)
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
function componentToHex(c) {
|
|
24
|
-
return Math.round(Math.max(0, Math.min(255, c))).toString(16).padStart(2, "0");
|
|
25
|
-
}
|
|
26
|
-
function rgbToHex(r, g, b) {
|
|
27
|
-
return `#${componentToHex(r)}${componentToHex(g)}${componentToHex(b)}`;
|
|
28
|
-
}
|
|
29
|
-
function withAlphaOnWhite(hex, alpha) {
|
|
30
|
-
const rgb = hexToRgb(hex);
|
|
31
|
-
if (!rgb) return hex;
|
|
32
|
-
const r = rgb.r * alpha + 255 * (1 - alpha);
|
|
33
|
-
const g = rgb.g * alpha + 255 * (1 - alpha);
|
|
34
|
-
const b = rgb.b * alpha + 255 * (1 - alpha);
|
|
35
|
-
return rgbToHex(r, g, b);
|
|
36
|
-
}
|
|
37
|
-
function withAlphaOnDark(hex, alpha, bgHex = "#0f0f0f") {
|
|
38
|
-
const rgb = hexToRgb(hex);
|
|
39
|
-
const bg = hexToRgb(bgHex);
|
|
40
|
-
if (!rgb || !bg) return hex;
|
|
41
|
-
const r = rgb.r * alpha + bg.r * (1 - alpha);
|
|
42
|
-
const g = rgb.g * alpha + bg.g * (1 - alpha);
|
|
43
|
-
const b = rgb.b * alpha + bg.b * (1 - alpha);
|
|
44
|
-
return rgbToHex(r, g, b);
|
|
45
|
-
}
|
|
46
|
-
function mixWithBackground(fgHex, bgHex, opacity) {
|
|
47
|
-
const fg = hexToRgb(fgHex);
|
|
48
|
-
const bg = hexToRgb(bgHex);
|
|
49
|
-
if (!fg || !bg) return fgHex;
|
|
50
|
-
const r = fg.r * opacity + bg.r * (1 - opacity);
|
|
51
|
-
const g = fg.g * opacity + bg.g * (1 - opacity);
|
|
52
|
-
const b = fg.b * opacity + bg.b * (1 - opacity);
|
|
53
|
-
return rgbToHex(r, g, b);
|
|
54
|
-
}
|
|
55
|
-
function lighten(hex, amount) {
|
|
56
|
-
return withAlphaOnWhite(hex, 1 - amount);
|
|
57
|
-
}
|
|
58
|
-
function darken(hex, amount) {
|
|
59
|
-
const rgb = hexToRgb(hex);
|
|
60
|
-
if (!rgb) return hex;
|
|
61
|
-
return rgbToHex(rgb.r * (1 - amount), rgb.g * (1 - amount), rgb.b * (1 - amount));
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
// src/theme/colors.ts
|
|
65
|
-
var defaultLight = {
|
|
66
|
-
background: "#ffffff",
|
|
67
|
-
foreground: "#1a1a1a",
|
|
68
|
-
card: "#ffffff",
|
|
69
|
-
primary: "#1a1a1a",
|
|
70
|
-
primaryForeground: "#ffffff",
|
|
71
|
-
// AUDIT FIX: brand accent — was undefined; falls back to primary when omitted
|
|
72
|
-
accent: "#d4561d",
|
|
73
|
-
accentForeground: "#ffffff",
|
|
74
|
-
border: "#dddddd",
|
|
75
|
-
// AUDIT FIX: was #e53935 (4.22:1 on white — fails AA); #c72828 = 5.59:1 ✓
|
|
76
|
-
destructive: "#c72828",
|
|
77
|
-
destructiveForeground: "#ffffff",
|
|
78
|
-
success: "#1a7a45",
|
|
79
|
-
successForeground: "#ffffff",
|
|
80
|
-
// AUDIT FIX: was #e67e00 (2.86:1 — severe fail); #9a5200 = 5.86:1 ✓ AAA-near
|
|
81
|
-
warning: "#9a5200",
|
|
82
|
-
warningForeground: "#ffffff"
|
|
83
|
-
};
|
|
84
|
-
function deriveColors(t, scheme) {
|
|
85
|
-
const dark = scheme === "dark";
|
|
86
|
-
const bg = t.background;
|
|
87
|
-
const foregroundSubtle = mixWithBackground(t.foreground, bg, 0.7);
|
|
88
|
-
const foregroundMuted = mixWithBackground(t.foreground, bg, 0.62);
|
|
89
|
-
const surface = dark ? lighten(bg, -0.06) : darken(bg, 0.04);
|
|
90
|
-
const surfaceStrong = dark ? lighten(bg, -0.12) : darken(bg, 0.08);
|
|
91
|
-
const destructiveTint = dark ? withAlphaOnDark(t.destructive, 0.15, bg) : withAlphaOnWhite(t.destructive, 0.08);
|
|
92
|
-
const destructiveBorder = dark ? withAlphaOnDark(t.destructive, 0.45, bg) : withAlphaOnWhite(t.destructive, 0.3);
|
|
93
|
-
const successTint = dark ? withAlphaOnDark(t.success, 0.15, bg) : withAlphaOnWhite(t.success, 0.08);
|
|
94
|
-
const successBorder = dark ? withAlphaOnDark(t.success, 0.45, bg) : withAlphaOnWhite(t.success, 0.3);
|
|
95
|
-
const warningTint = dark ? withAlphaOnDark(t.warning, 0.15, bg) : withAlphaOnWhite(t.warning, 0.08);
|
|
96
|
-
const warningBorder = dark ? withAlphaOnDark(t.warning, 0.45, bg) : withAlphaOnWhite(t.warning, 0.3);
|
|
97
|
-
return {
|
|
98
|
-
...t,
|
|
99
|
-
foregroundSubtle,
|
|
100
|
-
foregroundMuted,
|
|
101
|
-
surface,
|
|
102
|
-
surfaceStrong,
|
|
103
|
-
destructiveTint,
|
|
104
|
-
destructiveBorder,
|
|
105
|
-
successTint,
|
|
106
|
-
successBorder,
|
|
107
|
-
warningTint,
|
|
108
|
-
warningBorder,
|
|
109
|
-
overlay: t.overlay ?? "rgba(0,0,0,0.45)",
|
|
110
|
-
accentResolved: t.accent ?? t.primary,
|
|
111
|
-
accentForegroundResolved: t.accentForeground ?? t.primaryForeground,
|
|
112
|
-
ring: t.accent ?? t.primary,
|
|
113
|
-
input: t.border,
|
|
114
|
-
separator: dark ? lighten(t.border, 0.22) : darken(t.border, 0.16)
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
// src/theme/ThemeProvider.tsx
|
|
119
|
-
var ThemeContext = React2.createContext({
|
|
120
|
-
colors: deriveColors(defaultLight, "light"),
|
|
121
|
-
colorScheme: "light"
|
|
122
|
-
});
|
|
11
|
+
var ThemeContext = React2.createContext(void 0);
|
|
123
12
|
function useTheme() {
|
|
124
13
|
const context = React2.useContext(ThemeContext);
|
|
125
14
|
if (!context) {
|
package/dist/Separator.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { Separator } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { Separator } from './chunk-EW2FIDSM.mjs';
|
|
2
|
+
import './chunk-KSSVIFYR.mjs';
|
|
3
3
|
import './chunk-Y6FXYEAI.mjs';
|