@retray-dev/ui-kit 10.2.0 → 12.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.
Files changed (220) hide show
  1. package/COMPONENTS.md +384 -40
  2. package/README.md +14 -5
  3. package/dist/Accordion.d.mts +6 -0
  4. package/dist/Accordion.d.ts +6 -0
  5. package/dist/Accordion.js +16 -0
  6. package/dist/Accordion.mjs +2 -2
  7. package/dist/AlertBanner.js +2 -0
  8. package/dist/AlertBanner.mjs +2 -2
  9. package/dist/AppHeader.js +2 -0
  10. package/dist/AppHeader.mjs +3 -3
  11. package/dist/Avatar.js +2 -0
  12. package/dist/Avatar.mjs +2 -2
  13. package/dist/Badge.js +2 -0
  14. package/dist/Badge.mjs +2 -2
  15. package/dist/Button.js +17 -17
  16. package/dist/Button.mjs +2 -2
  17. package/dist/Card.js +2 -0
  18. package/dist/Card.mjs +2 -2
  19. package/dist/CategoryStrip.js +2 -0
  20. package/dist/CategoryStrip.mjs +2 -2
  21. package/dist/Checkbox.js +2 -0
  22. package/dist/Checkbox.mjs +2 -2
  23. package/dist/Chip.js +2 -0
  24. package/dist/Chip.mjs +2 -2
  25. package/dist/ConfirmDialog.d.mts +1 -6
  26. package/dist/ConfirmDialog.d.ts +1 -6
  27. package/dist/ConfirmDialog.js +53 -41
  28. package/dist/ConfirmDialog.mjs +3 -3
  29. package/dist/CurrencyDisplay.js +2 -0
  30. package/dist/CurrencyDisplay.mjs +2 -2
  31. package/dist/CurrencyInput.d.mts +3 -8
  32. package/dist/CurrencyInput.d.ts +3 -8
  33. package/dist/CurrencyInput.js +5 -1
  34. package/dist/CurrencyInput.mjs +3 -3
  35. package/dist/DetailRow.js +2 -0
  36. package/dist/DetailRow.mjs +2 -2
  37. package/dist/EmptyState.js +17 -17
  38. package/dist/EmptyState.mjs +3 -3
  39. package/dist/ErrorBoundary.js +2 -0
  40. package/dist/ErrorBoundary.mjs +2 -2
  41. package/dist/Form.js +2 -0
  42. package/dist/Form.mjs +2 -2
  43. package/dist/IconButton.js +2 -0
  44. package/dist/IconButton.mjs +2 -2
  45. package/dist/IconPicker.js +677 -248
  46. package/dist/IconPicker.mjs +3 -2
  47. package/dist/ImageUpload.d.mts +3 -1
  48. package/dist/ImageUpload.d.ts +3 -1
  49. package/dist/ImageUpload.js +10 -3
  50. package/dist/ImageUpload.mjs +3 -3
  51. package/dist/ImageViewer.js +2 -0
  52. package/dist/ImageViewer.mjs +4 -4
  53. package/dist/Input.js +2 -0
  54. package/dist/Input.mjs +2 -2
  55. package/dist/LabelValue.js +2 -0
  56. package/dist/LabelValue.mjs +2 -2
  57. package/dist/ListGroup.js +2 -0
  58. package/dist/ListGroup.mjs +2 -2
  59. package/dist/ListItem.d.mts +7 -7
  60. package/dist/ListItem.d.ts +7 -7
  61. package/dist/ListItem.js +14 -7
  62. package/dist/ListItem.mjs +2 -2
  63. package/dist/MediaCard.js +2 -0
  64. package/dist/MediaCard.mjs +2 -2
  65. package/dist/MenuGroup.js +2 -0
  66. package/dist/MenuGroup.mjs +2 -2
  67. package/dist/MenuItem.js +2 -0
  68. package/dist/MenuItem.mjs +2 -2
  69. package/dist/MonthPicker.js +2 -0
  70. package/dist/MonthPicker.mjs +2 -2
  71. package/dist/NumberStepper.js +2 -0
  72. package/dist/NumberStepper.mjs +2 -2
  73. package/dist/PagerDots.js +2 -0
  74. package/dist/PagerDots.mjs +2 -2
  75. package/dist/Pressable.d.mts +15 -7
  76. package/dist/Pressable.d.ts +15 -7
  77. package/dist/Pressable.js +7 -3
  78. package/dist/Pressable.mjs +1 -1
  79. package/dist/PricingCard.js +17 -17
  80. package/dist/PricingCard.mjs +4 -4
  81. package/dist/Progress.js +2 -0
  82. package/dist/Progress.mjs +2 -2
  83. package/dist/RadioGroup.js +2 -0
  84. package/dist/RadioGroup.mjs +2 -2
  85. package/dist/RetrayProvider.d.mts +1 -1
  86. package/dist/RetrayProvider.d.ts +1 -1
  87. package/dist/RetrayProvider.js +2 -0
  88. package/dist/RetrayProvider.mjs +3 -3
  89. package/dist/Select.js +2 -0
  90. package/dist/Select.mjs +2 -2
  91. package/dist/SelectableCard.d.mts +27 -0
  92. package/dist/SelectableCard.d.ts +27 -0
  93. package/dist/SelectableCard.js +511 -0
  94. package/dist/SelectableCard.mjs +8 -0
  95. package/dist/SelectableGrid.js +2 -0
  96. package/dist/SelectableGrid.mjs +2 -2
  97. package/dist/Separator.js +2 -0
  98. package/dist/Separator.mjs +2 -2
  99. package/dist/Sheet.d.mts +4 -46
  100. package/dist/Sheet.d.ts +4 -46
  101. package/dist/Sheet.js +55 -115
  102. package/dist/Sheet.mjs +2 -3
  103. package/dist/SheetSelect.js +2 -0
  104. package/dist/SheetSelect.mjs +2 -2
  105. package/dist/Skeleton.d.mts +3 -1
  106. package/dist/Skeleton.d.ts +3 -1
  107. package/dist/Skeleton.js +5 -2
  108. package/dist/Skeleton.mjs +2 -2
  109. package/dist/Slider.js +2 -0
  110. package/dist/Slider.mjs +2 -2
  111. package/dist/Spinner.js +2 -0
  112. package/dist/Spinner.mjs +2 -2
  113. package/dist/Stats.d.mts +33 -0
  114. package/dist/Stats.d.ts +33 -0
  115. package/dist/Stats.js +453 -0
  116. package/dist/Stats.mjs +9 -0
  117. package/dist/Switch.js +2 -0
  118. package/dist/Switch.mjs +2 -2
  119. package/dist/TabBar.js +2 -0
  120. package/dist/TabBar.mjs +2 -2
  121. package/dist/Tabs.js +2 -0
  122. package/dist/Tabs.mjs +2 -2
  123. package/dist/Text.d.mts +3 -1
  124. package/dist/Text.d.ts +3 -1
  125. package/dist/Text.js +5 -3
  126. package/dist/Text.mjs +2 -2
  127. package/dist/Textarea.js +2 -0
  128. package/dist/Textarea.mjs +2 -2
  129. package/dist/Toast.js +2 -0
  130. package/dist/Toast.mjs +2 -2
  131. package/dist/Toggle.js +2 -0
  132. package/dist/Toggle.mjs +2 -2
  133. package/dist/{chunk-U2XJFYED.mjs → chunk-2BA3JMKK.mjs} +1 -1
  134. package/dist/{chunk-NMU5FMQJ.mjs → chunk-2HFD4IHU.mjs} +4 -2
  135. package/dist/{chunk-S2R7UVOE.mjs → chunk-2LG326TT.mjs} +1 -1
  136. package/dist/chunk-2P2CB235.mjs +236 -0
  137. package/dist/{chunk-6L4G6PBT.mjs → chunk-3XCFYSX4.mjs} +1 -1
  138. package/dist/{chunk-HTHGSXFG.mjs → chunk-4J2PXL36.mjs} +16 -18
  139. package/dist/{chunk-BEMIQXXU.mjs → chunk-4OORJ2DY.mjs} +1 -1
  140. package/dist/chunk-4XOB5TTD.mjs +166 -0
  141. package/dist/{chunk-FCSSQK3L.mjs → chunk-57V2LXCK.mjs} +1 -1
  142. package/dist/{chunk-6Q64UFIA.mjs → chunk-7AFZWSCI.mjs} +1 -1
  143. package/dist/{chunk-IX3NYLYQ.mjs → chunk-7ELGZ66G.mjs} +1 -1
  144. package/dist/{chunk-GD6KXMG5.mjs → chunk-AENAVIKT.mjs} +1 -1
  145. package/dist/{chunk-ID72TK46.mjs → chunk-BXF4AMHY.mjs} +1 -1
  146. package/dist/{chunk-SOA2Z4RB.mjs → chunk-C43HRKXH.mjs} +1 -1
  147. package/dist/{chunk-TZDGAP5N.mjs → chunk-CF27NBXO.mjs} +11 -6
  148. package/dist/{chunk-SXLKNTA4.mjs → chunk-DF7JA72E.mjs} +1 -1
  149. package/dist/{chunk-AJRVDP2H.mjs → chunk-E5UKLSJZ.mjs} +3 -3
  150. package/dist/{chunk-MBMXYJJV.mjs → chunk-E7NEHHXV.mjs} +7 -3
  151. package/dist/{chunk-VKID2D2I.mjs → chunk-EDLCGYIO.mjs} +13 -8
  152. package/dist/{chunk-BUMAMSTZ.mjs → chunk-ELGEOM7I.mjs} +1 -1
  153. package/dist/{chunk-DYT7BG5I.mjs → chunk-F3YTWO3T.mjs} +1 -1
  154. package/dist/{chunk-VF2ATYN3.mjs → chunk-GH67YXG6.mjs} +1 -1
  155. package/dist/{chunk-WJLKJMKR.mjs → chunk-GUTDFUNF.mjs} +4 -4
  156. package/dist/{chunk-6SECQ2ZF.mjs → chunk-HC4VVCWY.mjs} +2 -2
  157. package/dist/{chunk-A3A6KNQN.mjs → chunk-HEDQPK4I.mjs} +1 -1
  158. package/dist/{chunk-GQYFLP3D.mjs → chunk-IVSRW4HS.mjs} +1 -1
  159. package/dist/{chunk-KOO4WITD.mjs → chunk-KSUWPU2F.mjs} +1 -1
  160. package/dist/{chunk-WBOOUHSS.mjs → chunk-LIS6I5UP.mjs} +1 -1
  161. package/dist/{chunk-X4G6APW6.mjs → chunk-LNPKGWBG.mjs} +1 -1
  162. package/dist/{chunk-T2KCAHOS.mjs → chunk-LOBLCFMN.mjs} +1 -1
  163. package/dist/{chunk-ELXBDILQ.mjs → chunk-LPV4NJJK.mjs} +2 -2
  164. package/dist/{chunk-Y2NS74WS.mjs → chunk-M3C7XM2M.mjs} +53 -99
  165. package/dist/{chunk-BRKYVJVV.mjs → chunk-MEPSKGBO.mjs} +1 -1
  166. package/dist/{chunk-TBNZHU6C.mjs → chunk-MVMGPZN6.mjs} +2 -2
  167. package/dist/{chunk-YJ7I257J.mjs → chunk-NHDI3VQB.mjs} +15 -1
  168. package/dist/{chunk-Z6SFHN6T.mjs → chunk-NJG7DHVF.mjs} +1 -1
  169. package/dist/{chunk-RYZC432S.mjs → chunk-NLZY4TXU.mjs} +1 -1
  170. package/dist/{chunk-ZZ2R6KZ3.mjs → chunk-OLVJFKXS.mjs} +1 -1
  171. package/dist/{chunk-AJ7ZDNBT.mjs → chunk-QDAZGZUF.mjs} +4 -3
  172. package/dist/{chunk-JT7HKXRB.mjs → chunk-QOLWA2PW.mjs} +1 -1
  173. package/dist/{chunk-WYEUNUTP.mjs → chunk-QXDGGOLC.mjs} +38 -25
  174. package/dist/{chunk-JMOZEC77.mjs → chunk-RJNLAH76.mjs} +1 -1
  175. package/dist/{chunk-WF2XDFRK.mjs → chunk-RMRS44MQ.mjs} +1 -1
  176. package/dist/chunk-SAWUXP3A.mjs +1114 -0
  177. package/dist/{chunk-OB4JUQ3O.mjs → chunk-TS7DGUIR.mjs} +1 -1
  178. package/dist/{chunk-AV4EMIRH.mjs → chunk-UBUXUMER.mjs} +1 -1
  179. package/dist/{chunk-IRRY3CRZ.mjs → chunk-ULGNQPNE.mjs} +1 -1
  180. package/dist/{chunk-7LWRKMF5.mjs → chunk-UNNRUJTM.mjs} +1 -1
  181. package/dist/{chunk-TB6SD2FT.mjs → chunk-UQ4742ET.mjs} +1 -1
  182. package/dist/{chunk-MX6HRKMI.mjs → chunk-VJBUCITV.mjs} +1 -1
  183. package/dist/{chunk-2UYENBLV.mjs → chunk-YMYIEVZP.mjs} +1 -1
  184. package/dist/{chunk-SOYNZDVY.mjs → chunk-YTXRIXNZ.mjs} +8 -1
  185. package/dist/{chunk-YFZ3ELX5.mjs → chunk-ZIMY2QUM.mjs} +2 -2
  186. package/dist/{chunk-Z4VHZ7B5.mjs → chunk-ZR6HSEAB.mjs} +1 -1
  187. package/dist/fonts.d.mts +1 -7
  188. package/dist/fonts.d.ts +1 -7
  189. package/dist/fonts.js +0 -2
  190. package/dist/fonts.mjs +1 -2
  191. package/dist/{index-wt-orHUi.d.ts → index-CY34hxPN.d.mts} +1 -0
  192. package/dist/{index-wt-orHUi.d.mts → index-CY34hxPN.d.ts} +1 -0
  193. package/dist/index.d.mts +7 -3
  194. package/dist/index.d.ts +7 -3
  195. package/dist/index.js +1517 -761
  196. package/dist/index.mjs +54 -52
  197. package/package.json +3 -3
  198. package/src/components/Accordion/Accordion.tsx +20 -0
  199. package/src/components/Button/Button.tsx +29 -26
  200. package/src/components/ConfirmDialog/ConfirmDialog.tsx +47 -31
  201. package/src/components/CurrencyInput/CurrencyInput.tsx +4 -7
  202. package/src/components/IconPicker/IconPicker.tsx +124 -112
  203. package/src/components/ImageUpload/ImageUpload.tsx +10 -3
  204. package/src/components/ListItem/ListItem.tsx +43 -28
  205. package/src/components/Pressable/Pressable.tsx +20 -8
  206. package/src/components/SelectableCard/SelectableCard.tsx +304 -0
  207. package/src/components/SelectableCard/index.ts +1 -0
  208. package/src/components/Sheet/Sheet.tsx +72 -173
  209. package/src/components/Skeleton/Skeleton.tsx +5 -2
  210. package/src/components/Stats/Stats.tsx +254 -0
  211. package/src/components/Stats/index.ts +2 -0
  212. package/src/components/Text/Text.tsx +4 -2
  213. package/src/fonts.ts +0 -7
  214. package/src/index.ts +5 -0
  215. package/src/theme/colorUtils.ts +9 -0
  216. package/src/theme/colors.ts +7 -0
  217. package/src/theme/types.ts +4 -1
  218. package/src/utils/curatedIcons.ts +698 -135
  219. package/src/utils/fontGuard.ts +2 -1
  220. package/dist/chunk-53Z3NYGE.mjs +0 -742
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { ViewStyle } from 'react-native';
2
+ import { ViewStyle, AccessibilityRole } from 'react-native';
3
3
 
4
4
  interface PressableProps {
5
5
  /** Children content to render inside the pressable. */
@@ -8,11 +8,6 @@ interface PressableProps {
8
8
  onPress?: () => void;
9
9
  /** Scale value on press. Defaults to `0.98` (MediaCard-style). */
10
10
  pressScale?: number;
11
- /**
12
- * @deprecated Use Reanimated spring config via `pressOutSpring` instead. Ignored.
13
- * Kept for backwards compatibility with v6.x consumers.
14
- */
15
- bounciness?: number;
16
11
  /** Enable haptic feedback on press. Defaults to `true`. */
17
12
  haptics?: boolean;
18
13
  /** Additional style for the wrapper. */
@@ -21,6 +16,19 @@ interface PressableProps {
21
16
  disabled?: boolean;
22
17
  /** Hover scale (web only). Defaults to `1.02`. Set to `1` to disable. */
23
18
  hoverScale?: number;
19
+ /**
20
+ * Accessibility role for the pressable element.
21
+ * Defaults to `"button"`.
22
+ */
23
+ accessibilityRole?: AccessibilityRole;
24
+ /**
25
+ * Accessibility state for screen readers.
26
+ * Used to communicate states like `selected`, `expanded`, `checked`, etc.
27
+ * Defaults to `{ disabled: !!disabled }`.
28
+ */
29
+ accessibilityState?: Record<string, unknown>;
30
+ /** Accessibility label for screen readers. */
31
+ accessibilityLabel?: string;
24
32
  }
25
33
  /**
26
34
  * Generic pressable with a calibrated spring bounce — Apple HIG / Airbnb feel.
@@ -29,6 +37,6 @@ interface PressableProps {
29
37
  * Use this for any custom pressable surface that needs consistent press feel
30
38
  * (cards, list rows, image tiles, etc).
31
39
  */
32
- declare function Pressable({ children, onPress, pressScale: _pressScale, haptics, style, disabled, hoverScale: _hoverScale, }: PressableProps): React.JSX.Element;
40
+ declare function Pressable({ children, onPress, pressScale: _pressScale, haptics, style, disabled, hoverScale: _hoverScale, accessibilityRole, accessibilityState, accessibilityLabel, }: PressableProps): React.JSX.Element;
33
41
 
34
42
  export { Pressable, type PressableProps };
package/dist/Pressable.js CHANGED
@@ -117,7 +117,10 @@ function Pressable({
117
117
  haptics = true,
118
118
  style,
119
119
  disabled,
120
- hoverScale: _hoverScale = 1.02
120
+ hoverScale: _hoverScale = 1.02,
121
+ accessibilityRole,
122
+ accessibilityState,
123
+ accessibilityLabel
121
124
  }) {
122
125
  const handlePress = () => {
123
126
  if (disabled || !onPress) return;
@@ -133,8 +136,9 @@ function Pressable({
133
136
  rippleColor: "transparent",
134
137
  touchSoundDisabled: true,
135
138
  activateOnHover: true,
136
- accessibilityRole: "button",
137
- accessibilityState: { disabled: !!disabled }
139
+ accessibilityRole: accessibilityRole ?? "button",
140
+ accessibilityState: accessibilityState ?? { disabled: !!disabled },
141
+ accessibilityLabel
138
142
  },
139
143
  children
140
144
  );
@@ -1,4 +1,4 @@
1
- export { Pressable } from './chunk-MBMXYJJV.mjs';
1
+ export { Pressable } from './chunk-E7NEHHXV.mjs';
2
2
  import './chunk-3DKJ2GIC.mjs';
3
3
  import './chunk-EJ7ZPXOH.mjs';
4
4
  import './chunk-DVK4G2GT.mjs';
@@ -108,6 +108,7 @@ function deriveColors(t, scheme) {
108
108
  const foregroundMuted = mixWithBackground(t.foreground, bg, 0.62);
109
109
  const surface = dark ? lighten(bg, -0.06) : darken(bg, 0.04);
110
110
  const surfaceStrong = dark ? lighten(bg, -0.12) : darken(bg, 0.08);
111
+ const skeleton = dark ? lighten(bg, -0.1) : darken(bg, 0.1);
111
112
  const destructiveTint = dark ? withAlphaOnDark(t.destructive, 0.15, bg) : withAlphaOnWhite(t.destructive, 0.08);
112
113
  const destructiveBorder = dark ? withAlphaOnDark(t.destructive, 0.45, bg) : withAlphaOnWhite(t.destructive, 0.3);
113
114
  const successTint = dark ? withAlphaOnDark(t.success, 0.15, bg) : withAlphaOnWhite(t.success, 0.08);
@@ -120,6 +121,7 @@ function deriveColors(t, scheme) {
120
121
  foregroundMuted,
121
122
  surface,
122
123
  surfaceStrong,
124
+ skeleton,
123
125
  destructiveTint,
124
126
  destructiveBorder,
125
127
  successTint,
@@ -350,24 +352,26 @@ function ButtonBase({
350
352
  impactMedium();
351
353
  onPress?.();
352
354
  };
353
- const containerVariantStyle = {
355
+ const containerVariantStyle = isDisabled ? {
356
+ primary: { backgroundColor: colors.surface },
357
+ secondary: { backgroundColor: "transparent", borderWidth: 1.5, borderColor: colors.border },
358
+ text: { backgroundColor: "transparent" },
359
+ destructive: { backgroundColor: colors.surface }
360
+ }[variant] : {
354
361
  primary: { backgroundColor: colors.primary },
355
362
  secondary: { backgroundColor: "transparent", borderWidth: 1.5, borderColor: colors.primary },
356
363
  text: { backgroundColor: "transparent" },
357
364
  destructive: { backgroundColor: colors.destructive }
358
365
  }[variant];
359
- const labelVariantStyle = {
360
- primary: { color: colors.primaryForeground },
361
- secondary: { color: colors.primary },
362
- // AUDIT FIX: was colors.foreground — visually indistinguishable from plain text,
363
- // no affordance that it's a CTA. Now uses accentResolved so text-only buttons
364
- // carry the brand voltage. Falls back to primary when no accent is defined.
365
- text: { color: colors.accentResolved },
366
- destructive: { color: colors.destructiveForeground }
366
+ const labelColor = isDisabled ? colors.foregroundMuted : {
367
+ primary: colors.primaryForeground,
368
+ secondary: colors.primary,
369
+ text: colors.accentResolved,
370
+ destructive: colors.destructiveForeground
367
371
  }[variant];
368
- const textColor = iconColor ?? labelVariantStyle.color;
372
+ const textColor = iconColor ?? labelColor;
369
373
  const effectiveIcon = iconName ? renderIcon(iconName, iconSizeMap[size], textColor) : typeof icon === "function" ? icon({ label, size, variant, color: textColor }) : icon;
370
- const spinnerColor = variant === "destructive" ? colors.destructiveForeground : variant === "primary" ? colors.primaryForeground : colors.accentResolved;
374
+ const spinnerColor = isDisabled ? colors.foregroundMuted : variant === "destructive" ? colors.destructiveForeground : variant === "primary" ? colors.primaryForeground : colors.accentResolved;
371
375
  const styleArray = Array.isArray(style) ? style : style ? [style] : [];
372
376
  const flatStyle = reactNative.StyleSheet.flatten(styleArray);
373
377
  const { flex, ...restStyle } = flatStyle || {};
@@ -379,7 +383,6 @@ function ButtonBase({
379
383
  containerVariantStyle,
380
384
  containerSizeStyles[size],
381
385
  fullWidth && styles.fullWidth,
382
- isDisabled && styles.disabled,
383
386
  restStyle
384
387
  ],
385
388
  enabled: !isDisabled,
@@ -395,7 +398,7 @@ function ButtonBase({
395
398
  loading ? /* @__PURE__ */ React3__default.default.createElement(React3__default.default.Fragment, null, /* @__PURE__ */ React3__default.default.createElement(reactNative.ActivityIndicator, { size: "small", color: spinnerColor, style: { marginRight: s(6) } }), /* @__PURE__ */ React3__default.default.createElement(
396
399
  reactNative.Text,
397
400
  {
398
- style: [styles.label, labelVariantStyle, labelSizeStyles[size], styles.labelLoading],
401
+ style: [styles.label, { color: labelColor }, labelSizeStyles[size], styles.labelLoading],
399
402
  allowFontScaling: true,
400
403
  numberOfLines: 1
401
404
  },
@@ -403,7 +406,7 @@ function ButtonBase({
403
406
  )) : /* @__PURE__ */ React3__default.default.createElement(React3__default.default.Fragment, null, effectiveIcon && iconPosition === "left" && /* @__PURE__ */ React3__default.default.createElement(React3__default.default.Fragment, null, effectiveIcon), /* @__PURE__ */ React3__default.default.createElement(
404
407
  reactNative.Text,
405
408
  {
406
- style: [styles.label, labelVariantStyle, labelSizeStyles[size], effectiveIcon ? styles.labelWithIcon : void 0],
409
+ style: [styles.label, { color: labelColor }, labelSizeStyles[size], effectiveIcon ? styles.labelWithIcon : void 0],
407
410
  allowFontScaling: true,
408
411
  numberOfLines: 1
409
412
  },
@@ -422,9 +425,6 @@ var styles = reactNative.StyleSheet.create({
422
425
  fullWidth: {
423
426
  width: "100%"
424
427
  },
425
- disabled: {
426
- opacity: 0.45
427
- },
428
428
  label: {
429
429
  fontFamily: "Sohne-Medium",
430
430
  flexShrink: 1
@@ -1,11 +1,11 @@
1
- export { PricingCard } from './chunk-AJRVDP2H.mjs';
2
- import './chunk-VF2ATYN3.mjs';
3
- import './chunk-HTHGSXFG.mjs';
1
+ export { PricingCard } from './chunk-E5UKLSJZ.mjs';
2
+ import './chunk-GH67YXG6.mjs';
3
+ import './chunk-4J2PXL36.mjs';
4
4
  import './chunk-3DKJ2GIC.mjs';
5
5
  import './chunk-EJ7ZPXOH.mjs';
6
6
  import './chunk-DVK4G2GT.mjs';
7
7
  import './chunk-QY3X2UYR.mjs';
8
8
  import './chunk-KA7LTET3.mjs';
9
- import './chunk-SOYNZDVY.mjs';
9
+ import './chunk-YTXRIXNZ.mjs';
10
10
  import './chunk-2CE3TQVY.mjs';
11
11
  import './chunk-Y6FXYEAI.mjs';
package/dist/Progress.js CHANGED
@@ -91,6 +91,7 @@ function deriveColors(t, scheme) {
91
91
  const foregroundMuted = mixWithBackground(t.foreground, bg, 0.62);
92
92
  const surface = dark ? lighten(bg, -0.06) : darken(bg, 0.04);
93
93
  const surfaceStrong = dark ? lighten(bg, -0.12) : darken(bg, 0.08);
94
+ const skeleton = dark ? lighten(bg, -0.1) : darken(bg, 0.1);
94
95
  const destructiveTint = dark ? withAlphaOnDark(t.destructive, 0.15, bg) : withAlphaOnWhite(t.destructive, 0.08);
95
96
  const destructiveBorder = dark ? withAlphaOnDark(t.destructive, 0.45, bg) : withAlphaOnWhite(t.destructive, 0.3);
96
97
  const successTint = dark ? withAlphaOnDark(t.success, 0.15, bg) : withAlphaOnWhite(t.success, 0.08);
@@ -103,6 +104,7 @@ function deriveColors(t, scheme) {
103
104
  foregroundMuted,
104
105
  surface,
105
106
  surfaceStrong,
107
+ skeleton,
106
108
  destructiveTint,
107
109
  destructiveBorder,
108
110
  successTint,
package/dist/Progress.mjs CHANGED
@@ -1,5 +1,5 @@
1
- export { Progress } from './chunk-OB4JUQ3O.mjs';
1
+ export { Progress } from './chunk-TS7DGUIR.mjs';
2
2
  import './chunk-DVK4G2GT.mjs';
3
- import './chunk-SOYNZDVY.mjs';
3
+ import './chunk-YTXRIXNZ.mjs';
4
4
  import './chunk-2CE3TQVY.mjs';
5
5
  import './chunk-Y6FXYEAI.mjs';
@@ -151,6 +151,7 @@ function deriveColors(t, scheme) {
151
151
  const foregroundMuted = mixWithBackground(t.foreground, bg, 0.62);
152
152
  const surface = dark ? lighten(bg, -0.06) : darken(bg, 0.04);
153
153
  const surfaceStrong = dark ? lighten(bg, -0.12) : darken(bg, 0.08);
154
+ const skeleton = dark ? lighten(bg, -0.1) : darken(bg, 0.1);
154
155
  const destructiveTint = dark ? withAlphaOnDark(t.destructive, 0.15, bg) : withAlphaOnWhite(t.destructive, 0.08);
155
156
  const destructiveBorder = dark ? withAlphaOnDark(t.destructive, 0.45, bg) : withAlphaOnWhite(t.destructive, 0.3);
156
157
  const successTint = dark ? withAlphaOnDark(t.success, 0.15, bg) : withAlphaOnWhite(t.success, 0.08);
@@ -163,6 +164,7 @@ function deriveColors(t, scheme) {
163
164
  foregroundMuted,
164
165
  surface,
165
166
  surfaceStrong,
167
+ skeleton,
166
168
  destructiveTint,
167
169
  destructiveBorder,
168
170
  successTint,
@@ -1,7 +1,7 @@
1
- export { RadioGroup } from './chunk-X4G6APW6.mjs';
1
+ export { RadioGroup } from './chunk-LNPKGWBG.mjs';
2
2
  import './chunk-YNROWHQJ.mjs';
3
3
  import './chunk-EJ7ZPXOH.mjs';
4
4
  import './chunk-DVK4G2GT.mjs';
5
- import './chunk-SOYNZDVY.mjs';
5
+ import './chunk-YTXRIXNZ.mjs';
6
6
  import './chunk-2CE3TQVY.mjs';
7
7
  import './chunk-Y6FXYEAI.mjs';
@@ -1,2 +1,2 @@
1
- export { c as RetrayProvider, d as RetrayProviderProps } from './index-wt-orHUi.mjs';
1
+ export { c as RetrayProvider, d as RetrayProviderProps } from './index-CY34hxPN.mjs';
2
2
  import 'react';
@@ -1,2 +1,2 @@
1
- export { c as RetrayProvider, d as RetrayProviderProps } from './index-wt-orHUi.js';
1
+ export { c as RetrayProvider, d as RetrayProviderProps } from './index-CY34hxPN.js';
2
2
  import 'react';
@@ -112,6 +112,7 @@ function deriveColors(t, scheme) {
112
112
  const foregroundMuted = mixWithBackground(t.foreground, bg, 0.62);
113
113
  const surface = dark ? lighten(bg, -0.06) : darken(bg, 0.04);
114
114
  const surfaceStrong = dark ? lighten(bg, -0.12) : darken(bg, 0.08);
115
+ const skeleton = dark ? lighten(bg, -0.1) : darken(bg, 0.1);
115
116
  const destructiveTint = dark ? withAlphaOnDark(t.destructive, 0.15, bg) : withAlphaOnWhite(t.destructive, 0.08);
116
117
  const destructiveBorder = dark ? withAlphaOnDark(t.destructive, 0.45, bg) : withAlphaOnWhite(t.destructive, 0.3);
117
118
  const successTint = dark ? withAlphaOnDark(t.success, 0.15, bg) : withAlphaOnWhite(t.success, 0.08);
@@ -124,6 +125,7 @@ function deriveColors(t, scheme) {
124
125
  foregroundMuted,
125
126
  surface,
126
127
  surfaceStrong,
128
+ skeleton,
127
129
  destructiveTint,
128
130
  destructiveBorder,
129
131
  successTint,
@@ -1,5 +1,5 @@
1
- export { RetrayProvider } from './chunk-YFZ3ELX5.mjs';
2
- import './chunk-2UYENBLV.mjs';
3
- import './chunk-SOYNZDVY.mjs';
1
+ export { RetrayProvider } from './chunk-ZIMY2QUM.mjs';
2
+ import './chunk-YMYIEVZP.mjs';
3
+ import './chunk-YTXRIXNZ.mjs';
4
4
  import './chunk-2CE3TQVY.mjs';
5
5
  import './chunk-Y6FXYEAI.mjs';
package/dist/Select.js CHANGED
@@ -152,6 +152,7 @@ function deriveColors(t, scheme) {
152
152
  const foregroundMuted = mixWithBackground(t.foreground, bg, 0.62);
153
153
  const surface = dark ? lighten(bg, -0.06) : darken(bg, 0.04);
154
154
  const surfaceStrong = dark ? lighten(bg, -0.12) : darken(bg, 0.08);
155
+ const skeleton = dark ? lighten(bg, -0.1) : darken(bg, 0.1);
155
156
  const destructiveTint = dark ? withAlphaOnDark(t.destructive, 0.15, bg) : withAlphaOnWhite(t.destructive, 0.08);
156
157
  const destructiveBorder = dark ? withAlphaOnDark(t.destructive, 0.45, bg) : withAlphaOnWhite(t.destructive, 0.3);
157
158
  const successTint = dark ? withAlphaOnDark(t.success, 0.15, bg) : withAlphaOnWhite(t.success, 0.08);
@@ -164,6 +165,7 @@ function deriveColors(t, scheme) {
164
165
  foregroundMuted,
165
166
  surface,
166
167
  surfaceStrong,
168
+ skeleton,
167
169
  destructiveTint,
168
170
  destructiveBorder,
169
171
  successTint,
package/dist/Select.mjs CHANGED
@@ -1,7 +1,7 @@
1
- export { Select } from './chunk-A3A6KNQN.mjs';
1
+ export { Select } from './chunk-HEDQPK4I.mjs';
2
2
  import './chunk-YNROWHQJ.mjs';
3
3
  import './chunk-EJ7ZPXOH.mjs';
4
4
  import './chunk-DVK4G2GT.mjs';
5
- import './chunk-SOYNZDVY.mjs';
5
+ import './chunk-YTXRIXNZ.mjs';
6
6
  import './chunk-2CE3TQVY.mjs';
7
7
  import './chunk-Y6FXYEAI.mjs';
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { ViewStyle } from 'react-native';
3
+
4
+ type SelectType = 'radio' | 'checkbox';
5
+ type CardVariant = 'elevated' | 'outlined' | 'filled';
6
+ interface SelectableCardGroupProps {
7
+ type: SelectType;
8
+ value: string | string[];
9
+ onValueChange: (value: string | string[]) => void;
10
+ variant?: CardVariant;
11
+ gap?: number;
12
+ style?: ViewStyle;
13
+ children: React.ReactNode;
14
+ }
15
+ declare function SelectableCardGroup({ type, value, onValueChange, variant, gap, style, children, }: SelectableCardGroupProps): React.JSX.Element;
16
+ interface SelectableCardProps {
17
+ value: string;
18
+ title: string;
19
+ description?: string;
20
+ iconName?: string;
21
+ icon?: React.ReactNode;
22
+ disabled?: boolean;
23
+ style?: ViewStyle;
24
+ }
25
+ declare function SelectableCard({ value, title, description, iconName, icon, disabled, style, }: SelectableCardProps): React.JSX.Element;
26
+
27
+ export { SelectableCard, SelectableCardGroup, type SelectableCardGroupProps, type SelectableCardProps };
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { ViewStyle } from 'react-native';
3
+
4
+ type SelectType = 'radio' | 'checkbox';
5
+ type CardVariant = 'elevated' | 'outlined' | 'filled';
6
+ interface SelectableCardGroupProps {
7
+ type: SelectType;
8
+ value: string | string[];
9
+ onValueChange: (value: string | string[]) => void;
10
+ variant?: CardVariant;
11
+ gap?: number;
12
+ style?: ViewStyle;
13
+ children: React.ReactNode;
14
+ }
15
+ declare function SelectableCardGroup({ type, value, onValueChange, variant, gap, style, children, }: SelectableCardGroupProps): React.JSX.Element;
16
+ interface SelectableCardProps {
17
+ value: string;
18
+ title: string;
19
+ description?: string;
20
+ iconName?: string;
21
+ icon?: React.ReactNode;
22
+ disabled?: boolean;
23
+ style?: ViewStyle;
24
+ }
25
+ declare function SelectableCard({ value, title, description, iconName, icon, disabled, style, }: SelectableCardProps): React.JSX.Element;
26
+
27
+ export { SelectableCard, SelectableCardGroup, type SelectableCardGroupProps, type SelectableCardProps };