@frosted-ui/react-native 0.0.1-canary.91 → 0.0.1-canary.93

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 (155) hide show
  1. package/README.md +59 -14
  2. package/dist/components/accordion.js +2 -2
  3. package/dist/components/accordion.js.map +1 -1
  4. package/dist/components/alert-dialog.js +2 -2
  5. package/dist/components/alert-dialog.js.map +1 -1
  6. package/dist/components/avatar.d.ts.map +1 -1
  7. package/dist/components/avatar.js +4 -20
  8. package/dist/components/avatar.js.map +1 -1
  9. package/dist/components/badge.d.ts +2 -4
  10. package/dist/components/badge.d.ts.map +1 -1
  11. package/dist/components/badge.js +6 -22
  12. package/dist/components/badge.js.map +1 -1
  13. package/dist/components/button.d.ts +1 -1
  14. package/dist/components/button.d.ts.map +1 -1
  15. package/dist/components/button.js +13 -17
  16. package/dist/components/button.js.map +1 -1
  17. package/dist/components/callout.d.ts +2 -4
  18. package/dist/components/callout.d.ts.map +1 -1
  19. package/dist/components/callout.js +6 -24
  20. package/dist/components/callout.js.map +1 -1
  21. package/dist/components/card.d.ts +1 -2
  22. package/dist/components/card.d.ts.map +1 -1
  23. package/dist/components/card.js +2 -3
  24. package/dist/components/card.js.map +1 -1
  25. package/dist/components/checkbox.d.ts +1 -2
  26. package/dist/components/checkbox.d.ts.map +1 -1
  27. package/dist/components/checkbox.js +5 -21
  28. package/dist/components/checkbox.js.map +1 -1
  29. package/dist/components/code.d.ts +6 -8
  30. package/dist/components/code.d.ts.map +1 -1
  31. package/dist/components/code.js +7 -7
  32. package/dist/components/code.js.map +1 -1
  33. package/dist/components/context-menu.js +9 -9
  34. package/dist/components/context-menu.js.map +1 -1
  35. package/dist/components/dialog.js +2 -2
  36. package/dist/components/dialog.js.map +1 -1
  37. package/dist/components/dropdown-menu.js +9 -9
  38. package/dist/components/dropdown-menu.js.map +1 -1
  39. package/dist/components/heading.d.ts +4 -4
  40. package/dist/components/heading.d.ts.map +1 -1
  41. package/dist/components/heading.js +2 -2
  42. package/dist/components/heading.js.map +1 -1
  43. package/dist/components/hover-card.js +2 -2
  44. package/dist/components/hover-card.js.map +1 -1
  45. package/dist/components/icon-button.d.ts +2 -2
  46. package/dist/components/icon-button.d.ts.map +1 -1
  47. package/dist/components/icon-button.js +13 -17
  48. package/dist/components/icon-button.js.map +1 -1
  49. package/dist/components/icon.d.ts +6 -7
  50. package/dist/components/icon.d.ts.map +1 -1
  51. package/dist/components/icon.js +9 -24
  52. package/dist/components/icon.js.map +1 -1
  53. package/dist/components/label.js +2 -2
  54. package/dist/components/label.js.map +1 -1
  55. package/dist/components/native-only-animated-view.d.ts +0 -4
  56. package/dist/components/native-only-animated-view.d.ts.map +1 -1
  57. package/dist/components/popover.js +2 -2
  58. package/dist/components/popover.js.map +1 -1
  59. package/dist/components/progress.d.ts +1 -2
  60. package/dist/components/progress.d.ts.map +1 -1
  61. package/dist/components/progress.js +5 -21
  62. package/dist/components/progress.js.map +1 -1
  63. package/dist/components/radio-group.d.ts +1 -2
  64. package/dist/components/radio-group.d.ts.map +1 -1
  65. package/dist/components/radio-group.js +7 -23
  66. package/dist/components/radio-group.js.map +1 -1
  67. package/dist/components/segmented-control.js +3 -3
  68. package/dist/components/segmented-control.js.map +1 -1
  69. package/dist/components/select.d.ts.map +1 -1
  70. package/dist/components/select.js +10 -12
  71. package/dist/components/select.js.map +1 -1
  72. package/dist/components/separator.d.ts +1 -1
  73. package/dist/components/separator.d.ts.map +1 -1
  74. package/dist/components/separator.js +4 -20
  75. package/dist/components/separator.js.map +1 -1
  76. package/dist/components/skeleton.d.ts.map +1 -1
  77. package/dist/components/skeleton.js +10 -26
  78. package/dist/components/skeleton.js.map +1 -1
  79. package/dist/components/spinner.js +2 -2
  80. package/dist/components/spinner.js.map +1 -1
  81. package/dist/components/switch.d.ts +1 -2
  82. package/dist/components/switch.d.ts.map +1 -1
  83. package/dist/components/switch.js +5 -21
  84. package/dist/components/switch.js.map +1 -1
  85. package/dist/components/tabs.d.ts +4 -3
  86. package/dist/components/tabs.d.ts.map +1 -1
  87. package/dist/components/tabs.js +10 -9
  88. package/dist/components/tabs.js.map +1 -1
  89. package/dist/components/text-area.d.ts.map +1 -1
  90. package/dist/components/text-area.js +13 -9
  91. package/dist/components/text-area.js.map +1 -1
  92. package/dist/components/text-field.d.ts.map +1 -1
  93. package/dist/components/text-field.js +22 -16
  94. package/dist/components/text-field.js.map +1 -1
  95. package/dist/components/text.d.ts +4 -4
  96. package/dist/components/text.d.ts.map +1 -1
  97. package/dist/components/text.js +12 -10
  98. package/dist/components/text.js.map +1 -1
  99. package/dist/components/tooltip.js +2 -2
  100. package/dist/components/tooltip.js.map +1 -1
  101. package/dist/index.d.ts +6 -1
  102. package/dist/index.d.ts.map +1 -1
  103. package/dist/index.js +11 -1
  104. package/dist/index.js.map +1 -1
  105. package/dist/lib/button-styles.d.ts +6 -6
  106. package/dist/lib/button-styles.d.ts.map +1 -1
  107. package/dist/lib/button-styles.js +1 -17
  108. package/dist/lib/button-styles.js.map +1 -1
  109. package/dist/lib/color-utils.d.ts +19 -14
  110. package/dist/lib/color-utils.d.ts.map +1 -1
  111. package/dist/lib/color-utils.js +37 -73
  112. package/dist/lib/color-utils.js.map +1 -1
  113. package/dist/lib/full-window-overlay.d.ts +11 -0
  114. package/dist/lib/full-window-overlay.d.ts.map +1 -0
  115. package/dist/lib/full-window-overlay.js +16 -0
  116. package/dist/lib/full-window-overlay.js.map +1 -0
  117. package/dist/lib/text-input-styles.d.ts +9 -8
  118. package/dist/lib/text-input-styles.d.ts.map +1 -1
  119. package/dist/lib/text-input-styles.js +4 -23
  120. package/dist/lib/text-input-styles.js.map +1 -1
  121. package/dist/lib/theme-context.d.ts +80 -0
  122. package/dist/lib/theme-context.d.ts.map +1 -0
  123. package/dist/lib/theme-context.js +97 -0
  124. package/dist/lib/theme-context.js.map +1 -0
  125. package/dist/lib/{theme-vars.d.ts → theme-tokens.d.ts} +2 -2
  126. package/dist/lib/theme-tokens.d.ts.map +1 -0
  127. package/dist/lib/{theme-vars.js → theme-tokens.js} +4 -19
  128. package/dist/lib/theme-tokens.js.map +1 -0
  129. package/dist/lib/theme.d.ts +14 -54
  130. package/dist/lib/theme.d.ts.map +1 -1
  131. package/dist/lib/theme.js +98 -66
  132. package/dist/lib/theme.js.map +1 -1
  133. package/dist/lib/types.d.ts +6 -2
  134. package/dist/lib/types.d.ts.map +1 -1
  135. package/dist/lib/use-theme-tokens.d.ts +593 -0
  136. package/dist/lib/use-theme-tokens.d.ts.map +1 -0
  137. package/dist/lib/use-theme-tokens.js +44 -0
  138. package/dist/lib/use-theme-tokens.js.map +1 -0
  139. package/package.json +10 -23
  140. package/dist/lib/native-colors.d.ts +0 -8
  141. package/dist/lib/native-colors.d.ts.map +0 -1
  142. package/dist/lib/native-colors.js +0 -67
  143. package/dist/lib/native-colors.js.map +0 -1
  144. package/dist/lib/theme-vars.d.ts.map +0 -1
  145. package/dist/lib/theme-vars.js.map +0 -1
  146. package/dist/lib/use-theme-vars.d.ts +0 -325
  147. package/dist/lib/use-theme-vars.d.ts.map +0 -1
  148. package/dist/lib/use-theme-vars.js +0 -17
  149. package/dist/lib/use-theme-vars.js.map +0 -1
  150. package/dist/lib/utils.d.ts +0 -3
  151. package/dist/lib/utils.d.ts.map +0 -1
  152. package/dist/lib/utils.js +0 -17
  153. package/dist/lib/utils.js.map +0 -1
  154. package/global.css +0 -1813
  155. package/tailwind-preset.js +0 -310
@@ -1,84 +1,48 @@
1
- import { vars } from 'nativewind';
1
+ import { useMemo } from 'react';
2
+ import { defaultSemanticColors, useSemanticColors, } from './theme-context';
2
3
  /**
3
- * Creates a vars object for a given color name.
4
- * This maps all accent color variables to the specified color's variables.
4
+ * Resolves a Color (which can be an AccentColor or SemanticColor) to an AccentColor.
5
+ * Semantic colors are resolved using the provided semantic color configuration.
6
+ *
7
+ * @param color - The color to resolve (can be 'danger', 'warning', 'success', 'info', or any AccentColor)
8
+ * @param semanticColors - The semantic color configuration from ThemeProvider (optional, uses defaults if not provided)
9
+ * @param defaultColor - The default color to return if no color is provided (defaults to 'blue')
10
+ * @returns The resolved AccentColor
5
11
  */
6
- function createColorTheme(colorName) {
7
- return vars({
8
- '--accent-1': `var(--${colorName}-1)`,
9
- '--accent-2': `var(--${colorName}-2)`,
10
- '--accent-3': `var(--${colorName}-3)`,
11
- '--accent-4': `var(--${colorName}-4)`,
12
- '--accent-5': `var(--${colorName}-5)`,
13
- '--accent-6': `var(--${colorName}-6)`,
14
- '--accent-7': `var(--${colorName}-7)`,
15
- '--accent-8': `var(--${colorName}-8)`,
16
- '--accent-9': `var(--${colorName}-9)`,
17
- '--accent-9-contrast': `var(--${colorName}-9-contrast)`,
18
- '--accent-10': `var(--${colorName}-10)`,
19
- '--accent-11': `var(--${colorName}-11)`,
20
- '--accent-12': `var(--${colorName}-12)`,
21
- '--accent-a1': `var(--${colorName}-a1)`,
22
- '--accent-a2': `var(--${colorName}-a2)`,
23
- '--accent-a3': `var(--${colorName}-a3)`,
24
- '--accent-a4': `var(--${colorName}-a4)`,
25
- '--accent-a5': `var(--${colorName}-a5)`,
26
- '--accent-a6': `var(--${colorName}-a6)`,
27
- '--accent-a7': `var(--${colorName}-a7)`,
28
- '--accent-a8': `var(--${colorName}-a8)`,
29
- '--accent-a9': `var(--${colorName}-a9)`,
30
- '--accent-a10': `var(--${colorName}-a10)`,
31
- '--accent-a11': `var(--${colorName}-a11)`,
32
- '--accent-a12': `var(--${colorName}-a12)`,
33
- });
12
+ export function resolveAccentFromColor(color, semanticColors = defaultSemanticColors, defaultColor = 'blue') {
13
+ if (!color)
14
+ return defaultColor;
15
+ switch (color) {
16
+ case 'accent':
17
+ return semanticColors.accentColor;
18
+ case 'danger':
19
+ return semanticColors.dangerColor;
20
+ case 'warning':
21
+ return semanticColors.warningColor;
22
+ case 'success':
23
+ return semanticColors.successColor;
24
+ case 'info':
25
+ return semanticColors.infoColor;
26
+ default:
27
+ return color;
28
+ }
34
29
  }
35
30
  /**
36
- * Pre-defined color themes for all accent colors.
37
- * Similar to the theme pattern, but for color variants.
38
- * This allows components to use text-accent-11, bg-accent-9, etc.
39
- * and have them automatically map to the specified color.
31
+ * Checks if a color is a semantic color.
40
32
  */
41
- export const colorThemes = {
42
- tomato: createColorTheme('tomato'),
43
- red: createColorTheme('red'),
44
- ruby: createColorTheme('ruby'),
45
- crimson: createColorTheme('crimson'),
46
- pink: createColorTheme('pink'),
47
- plum: createColorTheme('plum'),
48
- purple: createColorTheme('purple'),
49
- violet: createColorTheme('violet'),
50
- iris: createColorTheme('iris'),
51
- cyan: createColorTheme('cyan'),
52
- teal: createColorTheme('teal'),
53
- jade: createColorTheme('jade'),
54
- green: createColorTheme('green'),
55
- grass: createColorTheme('grass'),
56
- brown: createColorTheme('brown'),
57
- sky: createColorTheme('sky'),
58
- mint: createColorTheme('mint'),
59
- yellow: createColorTheme('yellow'),
60
- amber: createColorTheme('amber'),
61
- gold: createColorTheme('gold'),
62
- bronze: createColorTheme('bronze'),
63
- gray: createColorTheme('gray'),
64
- blue: createColorTheme('blue'),
65
- orange: createColorTheme('orange'),
66
- indigo: createColorTheme('indigo'),
67
- magenta: createColorTheme('magenta'),
68
- lemon: createColorTheme('lemon'),
69
- lime: createColorTheme('lime'),
70
- };
33
+ export function isSemanticColor(color) {
34
+ return color === 'danger' || color === 'warning' || color === 'success' || color === 'info';
35
+ }
71
36
  /**
72
- * Gets the accent color theme for a given color.
73
- * Returns the pre-defined vars object for that color.
37
+ * Hook that returns a function to resolve colors using the current theme's semantic color configuration.
38
+ * Use this in components to properly respect ThemeProvider's color settings.
74
39
  *
75
40
  * @example
76
- * const theme = getAccentColorTheme('yellow');
77
- * <View style={theme}>
78
- * <Text className="text-accent-11">This will be yellow-11</Text>
79
- * </View>
41
+ * const resolveColor = useResolveColor();
42
+ * const accentColor = resolveColor(props.color); // Respects ThemeProvider config
80
43
  */
81
- export function getAccentColorTheme(color) {
82
- return colorThemes[color];
44
+ export function useResolveColor() {
45
+ const semanticColors = useSemanticColors();
46
+ return useMemo(() => (color, defaultColor = 'blue') => resolveAccentFromColor(color, semanticColors, defaultColor), [semanticColors]);
83
47
  }
84
48
  //# sourceMappingURL=color-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"color-utils.js","sourceRoot":"","sources":["../../src/lib/color-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"color-utils.js","sourceRoot":"","sources":["../../src/lib/color-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAElB,MAAM,iBAAiB,CAAC;AAGzB;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAwB,EACxB,iBAAsC,qBAAqB,EAC3D,eAA4B,MAAM;IAElC,IAAI,CAAC,KAAK;QAAE,OAAO,YAAY,CAAC;IAEhC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,cAAc,CAAC,WAAW,CAAC;QACpC,KAAK,QAAQ;YACX,OAAO,cAAc,CAAC,WAAW,CAAC;QACpC,KAAK,SAAS;YACZ,OAAO,cAAc,CAAC,YAAY,CAAC;QACrC,KAAK,SAAS;YACZ,OAAO,cAAc,CAAC,YAAY,CAAC;QACrC,KAAK,MAAM;YACT,OAAO,cAAc,CAAC,SAAS,CAAC;QAClC;YACE,OAAO,KAAoB,CAAC;IAChC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAY;IAC1C,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,CAAC;AAC9F,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,OAAO,OAAO,CACZ,GAAG,EAAE,CACH,CAAC,KAAwB,EAAE,eAA4B,MAAM,EAAe,EAAE,CAC5E,sBAAsB,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,CAAC,EAC/D,CAAC,cAAc,CAAC,CACjB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ /**
3
+ * A wrapper that uses FullWindowOverlay on iOS and a Fragment on other platforms.
4
+ * This is implemented as a component rather than a top-level constant to avoid
5
+ * accessing Platform.OS at module load time, which can cause issues in monorepos
6
+ * where modules are loaded before React Native is fully initialized.
7
+ */
8
+ export declare function FullWindowOverlay({ children }: {
9
+ children: React.ReactNode;
10
+ }): React.JSX.Element;
11
+ //# sourceMappingURL=full-window-overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"full-window-overlay.d.ts","sourceRoot":"","sources":["../../src/lib/full-window-overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBAK5E"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { Platform } from 'react-native';
3
+ import { FullWindowOverlay as RNFullWindowOverlay } from 'react-native-screens';
4
+ /**
5
+ * A wrapper that uses FullWindowOverlay on iOS and a Fragment on other platforms.
6
+ * This is implemented as a component rather than a top-level constant to avoid
7
+ * accessing Platform.OS at module load time, which can cause issues in monorepos
8
+ * where modules are loaded before React Native is fully initialized.
9
+ */
10
+ export function FullWindowOverlay({ children }) {
11
+ if (Platform.OS === 'ios') {
12
+ return <RNFullWindowOverlay>{children}</RNFullWindowOverlay>;
13
+ }
14
+ return <>{children}</>;
15
+ }
16
+ //# sourceMappingURL=full-window-overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"full-window-overlay.js","sourceRoot":"","sources":["../../src/lib/full-window-overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,iBAAiB,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAE,QAAQ,EAAiC;IAC3E,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;AACzB,CAAC"}
@@ -1,9 +1,9 @@
1
- import type { AccentColor, Color } from '../lib/types';
2
- import { useThemeVars } from '../lib/use-theme-vars';
1
+ import type { Color } from '../lib/types';
2
+ import { useThemeTokens } from '../lib/use-theme-tokens';
3
3
  import { type ViewStyle } from 'react-native';
4
4
  export type TextInputSize = '1' | '2' | '3' | '4';
5
5
  export type TextInputVariant = 'surface' | 'soft';
6
- export declare function resolveAccentFromColor(color?: Color): AccentColor;
6
+ type PaletteKey = Color | 'accent' | 'gray';
7
7
  /**
8
8
  * Convert hex color to rgba with specified opacity
9
9
  */
@@ -11,15 +11,15 @@ export declare function hexToRgba(hex: string, opacity: number): string;
11
11
  /**
12
12
  * Get background and border styles for surface variant
13
13
  */
14
- export declare function getSurfaceVariantStyle(colors: ReturnType<typeof useThemeVars>['colors']): ViewStyle;
14
+ export declare function getSurfaceVariantStyle(colors: ReturnType<typeof useThemeTokens>['colors']): ViewStyle;
15
15
  /**
16
16
  * Get background style for soft variant
17
17
  */
18
- export declare function getSoftVariantStyle(colors: ReturnType<typeof useThemeVars>['colors'], accentColor: AccentColor): ViewStyle;
18
+ export declare function getSoftVariantStyle(colors: ReturnType<typeof useThemeTokens>['colors'], paletteKey: PaletteKey): ViewStyle;
19
19
  /**
20
20
  * Get text and placeholder colors based on variant
21
21
  */
22
- export declare function getTextInputColors(variant: TextInputVariant, colors: ReturnType<typeof useThemeVars>['colors'], accentColor: AccentColor, disabled?: boolean): {
22
+ export declare function getTextInputColors(variant: TextInputVariant, colors: ReturnType<typeof useThemeTokens>['colors'], paletteKey: PaletteKey, disabled?: boolean): {
23
23
  textColor: string;
24
24
  placeholderColor: string;
25
25
  };
@@ -27,9 +27,10 @@ export declare function getTextInputColors(variant: TextInputVariant, colors: Re
27
27
  * Get disabled background style for surface variant
28
28
  * Uses gray-a3 overlay (simulated with opacity/background)
29
29
  */
30
- export declare function getDisabledSurfaceStyle(colors: ReturnType<typeof useThemeVars>['colors']): ViewStyle;
30
+ export declare function getDisabledSurfaceStyle(colors: ReturnType<typeof useThemeTokens>['colors']): ViewStyle;
31
31
  /**
32
32
  * Get disabled background style for soft variant
33
33
  */
34
- export declare function getDisabledSoftStyle(colors: ReturnType<typeof useThemeVars>['colors']): ViewStyle;
34
+ export declare function getDisabledSoftStyle(colors: ReturnType<typeof useThemeTokens>['colors']): ViewStyle;
35
+ export {};
35
36
  //# sourceMappingURL=text-input-styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-input-styles.d.ts","sourceRoot":"","sources":["../../src/lib/text-input-styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAMxD,MAAM,MAAM,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAClD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAAC;AAMlD,wBAAgB,sBAAsB,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,WAAW,CAcjE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAO9D;AAMD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,QAAQ,CAAC,GAChD,SAAS,CAiBX;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,QAAQ,CAAC,EACjD,WAAW,EAAE,WAAW,GACvB,SAAS,CAIX;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,QAAQ,CAAC,EACjD,WAAW,EAAE,WAAW,EACxB,QAAQ,CAAC,EAAE,OAAO,GACjB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAyBjD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,QAAQ,CAAC,GAChD,SAAS,CAIX;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,SAAS,CAIjG"}
1
+ {"version":3,"file":"text-input-styles.d.ts","sourceRoot":"","sources":["../../src/lib/text-input-styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAMxD,MAAM,MAAM,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAClD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAAC;AAGlD,KAAK,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE5C;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAO9D;AAMD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,QAAQ,CAAC,GAClD,SAAS,CAiBX;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,QAAQ,CAAC,EACnD,UAAU,EAAE,UAAU,GACrB,SAAS,CAIX;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,QAAQ,CAAC,EACnD,UAAU,EAAE,UAAU,EACtB,QAAQ,CAAC,EAAE,OAAO,GACjB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAyBjD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,QAAQ,CAAC,GAClD,SAAS,CAIX;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,QAAQ,CAAC,GAClD,SAAS,CAIX"}
@@ -1,23 +1,4 @@
1
1
  import { Platform } from 'react-native';
2
- // ============================================================================
3
- // Helpers
4
- // ============================================================================
5
- export function resolveAccentFromColor(color) {
6
- if (!color)
7
- return 'gray';
8
- switch (color) {
9
- case 'danger':
10
- return 'red';
11
- case 'warning':
12
- return 'amber';
13
- case 'success':
14
- return 'green';
15
- case 'info':
16
- return 'blue';
17
- default:
18
- return color;
19
- }
20
- }
21
2
  /**
22
3
  * Convert hex color to rgba with specified opacity
23
4
  */
@@ -56,17 +37,17 @@ export function getSurfaceVariantStyle(colors) {
56
37
  /**
57
38
  * Get background style for soft variant
58
39
  */
59
- export function getSoftVariantStyle(colors, accentColor) {
40
+ export function getSoftVariantStyle(colors, paletteKey) {
60
41
  return {
61
- backgroundColor: colors.palettes[accentColor].a3,
42
+ backgroundColor: colors.palettes[paletteKey].a3,
62
43
  };
63
44
  }
64
45
  /**
65
46
  * Get text and placeholder colors based on variant
66
47
  */
67
- export function getTextInputColors(variant, colors, accentColor, disabled) {
48
+ export function getTextInputColors(variant, colors, paletteKey, disabled) {
68
49
  const grayPalette = colors.palettes.gray;
69
- const palette = colors.palettes[accentColor];
50
+ const palette = colors.palettes[paletteKey];
70
51
  // Disabled state: always use gray-a11 for text
71
52
  // Placeholder uses gray-a5 (lighter alpha shade approximating gray-a11 at 0.5 opacity)
72
53
  if (disabled) {
@@ -1 +1 @@
1
- {"version":3,"file":"text-input-styles.js","sourceRoot":"","sources":["../../src/lib/text-input-styles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text-input-styles.js","sourceRoot":"","sources":["../../src/lib/text-input-styles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import * as React from 'react';
2
+ import type { AccentColor } from './types';
3
+ type ColorScheme = 'light' | 'dark';
4
+ type DangerColor = 'tomato' | 'red' | 'ruby';
5
+ type WarningColor = 'yellow' | 'amber';
6
+ type SuccessColor = 'teal' | 'jade' | 'green' | 'grass';
7
+ type InfoColor = 'blue' | 'sky';
8
+ type SemanticColorConfig = {
9
+ accentColor: AccentColor;
10
+ dangerColor: DangerColor;
11
+ warningColor: WarningColor;
12
+ successColor: SuccessColor;
13
+ infoColor: InfoColor;
14
+ };
15
+ declare const defaultSemanticColors: SemanticColorConfig;
16
+ type ThemeContextValue = {
17
+ colorScheme: ColorScheme;
18
+ setColorScheme: (scheme: ColorScheme) => void;
19
+ toggleColorScheme: () => void;
20
+ } & SemanticColorConfig;
21
+ declare const ThemeContext: React.Context<ThemeContextValue | undefined>;
22
+ type ThemeProviderProps = {
23
+ children: React.ReactNode;
24
+ /** Initial color scheme. Defaults to system preference. */
25
+ defaultColorScheme?: ColorScheme;
26
+ /** Accent color for primary actions and highlights. Defaults to 'blue'. */
27
+ accentColor?: AccentColor;
28
+ /** Color for danger/error states. Defaults to 'red'. */
29
+ dangerColor?: DangerColor;
30
+ /** Color for warning states. Defaults to 'amber'. */
31
+ warningColor?: WarningColor;
32
+ /** Color for success states. Defaults to 'green'. */
33
+ successColor?: SuccessColor;
34
+ /** Color for informational states. Defaults to 'sky'. */
35
+ infoColor?: InfoColor;
36
+ };
37
+ /**
38
+ * Provider for theme context that allows programmatic color scheme control
39
+ * and semantic color customization.
40
+ *
41
+ * Wrap your app with this provider to enable theme toggling and custom colors.
42
+ *
43
+ * @example
44
+ * function App() {
45
+ * return (
46
+ * <ThemeProvider
47
+ * accentColor="purple"
48
+ * dangerColor="tomato"
49
+ * warningColor="yellow"
50
+ * successColor="teal"
51
+ * infoColor="blue"
52
+ * >
53
+ * <YourApp />
54
+ * </ThemeProvider>
55
+ * );
56
+ * }
57
+ */
58
+ declare function ThemeProvider({ children, defaultColorScheme, accentColor, dangerColor, warningColor, successColor, infoColor, }: ThemeProviderProps): React.JSX.Element;
59
+ /**
60
+ * Hook to access and control the current color scheme.
61
+ * Must be used within a ThemeProvider.
62
+ *
63
+ * @example
64
+ * const { colorScheme, toggleColorScheme, accentColor } = useTheme();
65
+ */
66
+ declare function useTheme(): ThemeContextValue;
67
+ /**
68
+ * Internal hook to get the current color scheme.
69
+ * Checks ThemeContext first, falls back to system preference.
70
+ * Used by useThemeTokens.
71
+ */
72
+ declare function useColorScheme(): ColorScheme;
73
+ /**
74
+ * Internal hook to get the semantic color configuration.
75
+ * Returns defaults if not within a ThemeProvider.
76
+ */
77
+ declare function useSemanticColors(): SemanticColorConfig;
78
+ export { defaultSemanticColors, ThemeContext, ThemeProvider, useColorScheme, useSemanticColors, useTheme, };
79
+ export type { ColorScheme, DangerColor, InfoColor, SemanticColorConfig, SuccessColor, ThemeContextValue, ThemeProviderProps, WarningColor, };
80
+ //# sourceMappingURL=theme-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-context.d.ts","sourceRoot":"","sources":["../../src/lib/theme-context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,KAAK,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAGpC,KAAK,WAAW,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAC7C,KAAK,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;AACvC,KAAK,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AACxD,KAAK,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;AAGhC,KAAK,mBAAmB,GAAG;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAGF,QAAA,MAAM,qBAAqB,EAAE,mBAM5B,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9C,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B,GAAG,mBAAmB,CAAC;AAExB,QAAA,MAAM,YAAY,8CAAgE,CAAC;AAEnF,KAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,2EAA2E;IAC3E,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,wDAAwD;IACxD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,qDAAqD;IACrD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,qDAAqD;IACrD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,yDAAyD;IACzD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,iBAAS,aAAa,CAAC,EACrB,QAAQ,EACR,kBAAkB,EAClB,WAA+C,EAC/C,WAA+C,EAC/C,YAAiD,EACjD,YAAiD,EACjD,SAA2C,GAC5C,EAAE,kBAAkB,qBAiCpB;AAED;;;;;;GAMG;AACH,iBAAS,QAAQ,IAAI,iBAAiB,CAMrC;AAED;;;;GAIG;AACH,iBAAS,cAAc,IAAI,WAAW,CAWrC;AAED;;;GAGG;AACH,iBAAS,iBAAiB,IAAI,mBAAmB,CAGhD;AAED,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,QAAQ,GACT,CAAC;AACF,YAAY,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,GACb,CAAC"}
@@ -0,0 +1,97 @@
1
+ import * as React from 'react';
2
+ import { useColorScheme as useSystemColorScheme } from 'react-native';
3
+ // Default semantic colors (matching web defaults)
4
+ const defaultSemanticColors = {
5
+ accentColor: 'blue',
6
+ dangerColor: 'red',
7
+ warningColor: 'amber',
8
+ successColor: 'green',
9
+ infoColor: 'sky',
10
+ };
11
+ const ThemeContext = React.createContext(undefined);
12
+ /**
13
+ * Provider for theme context that allows programmatic color scheme control
14
+ * and semantic color customization.
15
+ *
16
+ * Wrap your app with this provider to enable theme toggling and custom colors.
17
+ *
18
+ * @example
19
+ * function App() {
20
+ * return (
21
+ * <ThemeProvider
22
+ * accentColor="purple"
23
+ * dangerColor="tomato"
24
+ * warningColor="yellow"
25
+ * successColor="teal"
26
+ * infoColor="blue"
27
+ * >
28
+ * <YourApp />
29
+ * </ThemeProvider>
30
+ * );
31
+ * }
32
+ */
33
+ function ThemeProvider({ children, defaultColorScheme, accentColor = defaultSemanticColors.accentColor, dangerColor = defaultSemanticColors.dangerColor, warningColor = defaultSemanticColors.warningColor, successColor = defaultSemanticColors.successColor, infoColor = defaultSemanticColors.infoColor, }) {
34
+ const systemColorScheme = useSystemColorScheme();
35
+ const [colorScheme, setColorScheme] = React.useState(defaultColorScheme ?? (systemColorScheme === 'dark' ? 'dark' : 'light'));
36
+ const toggleColorScheme = React.useCallback(() => {
37
+ setColorScheme((prev) => (prev === 'dark' ? 'light' : 'dark'));
38
+ }, []);
39
+ const value = React.useMemo(() => ({
40
+ colorScheme,
41
+ setColorScheme,
42
+ toggleColorScheme,
43
+ accentColor,
44
+ dangerColor,
45
+ warningColor,
46
+ successColor,
47
+ infoColor,
48
+ }), [
49
+ colorScheme,
50
+ toggleColorScheme,
51
+ accentColor,
52
+ dangerColor,
53
+ warningColor,
54
+ successColor,
55
+ infoColor,
56
+ ]);
57
+ return <ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>;
58
+ }
59
+ /**
60
+ * Hook to access and control the current color scheme.
61
+ * Must be used within a ThemeProvider.
62
+ *
63
+ * @example
64
+ * const { colorScheme, toggleColorScheme, accentColor } = useTheme();
65
+ */
66
+ function useTheme() {
67
+ const context = React.useContext(ThemeContext);
68
+ if (!context) {
69
+ throw new Error('useTheme must be used within a ThemeProvider');
70
+ }
71
+ return context;
72
+ }
73
+ /**
74
+ * Internal hook to get the current color scheme.
75
+ * Checks ThemeContext first, falls back to system preference.
76
+ * Used by useThemeTokens.
77
+ */
78
+ function useColorScheme() {
79
+ const context = React.useContext(ThemeContext);
80
+ const systemColorScheme = useSystemColorScheme();
81
+ // If ThemeProvider is used, respect the programmatic value
82
+ if (context) {
83
+ return context.colorScheme;
84
+ }
85
+ // Otherwise fall back to system preference
86
+ return systemColorScheme === 'dark' ? 'dark' : 'light';
87
+ }
88
+ /**
89
+ * Internal hook to get the semantic color configuration.
90
+ * Returns defaults if not within a ThemeProvider.
91
+ */
92
+ function useSemanticColors() {
93
+ const context = React.useContext(ThemeContext);
94
+ return context ?? defaultSemanticColors;
95
+ }
96
+ export { defaultSemanticColors, ThemeContext, ThemeProvider, useColorScheme, useSemanticColors, useTheme, };
97
+ //# sourceMappingURL=theme-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-context.js","sourceRoot":"","sources":["../../src/lib/theme-context.tsx"],"names":[],"mappings":"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"}
@@ -75,7 +75,7 @@ export declare function blackAndWhitePalettes(): {
75
75
  black: AlphaOnlyShades;
76
76
  white: AlphaOnlyShades;
77
77
  };
78
- export declare const themeVars: {
78
+ export declare const themeTokens: {
79
79
  typography: {
80
80
  readonly '0': {
81
81
  readonly fontSize: 10;
@@ -219,4 +219,4 @@ export declare const themeVars: {
219
219
  };
220
220
  };
221
221
  export type { ColorShades, FontWeightKey, TypographyStepKey };
222
- //# sourceMappingURL=theme-vars.d.ts.map
222
+ //# sourceMappingURL=theme-tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-tokens.d.ts","sourceRoot":"","sources":["../../src/lib/theme-tokens.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWN,CAAC;AAEX,KAAK,iBAAiB,GAAG,MAAM,OAAO,UAAU,CAAC;AAEjD,QAAA,MAAM,WAAW;;;;;;CAMP,CAAC;AAEX,KAAK,aAAa,GAAG,MAAM,OAAO,WAAW,CAAC;AAK9C,KAAK,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzF,KAAK,aAAa,GACd,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,KAAK,CAAC;AAEV,KAAK,WAAW,GAAG;KAChB,CAAC,IAAI,QAAQ,GAAG,MAAM;CACxB,GAAG;IACF,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG;KACD,CAAC,IAAI,aAAa,GAAG,MAAM;CAC7B,CAAC;AAqHF,KAAK,eAAe,GAAG;KAAG,CAAC,IAAI,aAAa,GAAG,MAAM;CAAE,CAAC;AAqBxD,wBAAgB,qBAAqB;;;EAKpC;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBvB,CAAC;AAEF,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable @typescript-eslint/no-var-requires */
2
- // Typography steps (0-9) based on typography.css / global.css tokens.
2
+ // Typography steps (0-9) based on Frosted UI design system tokens.
3
3
  // Values are in px; React Native treats them as logical pixels.
4
4
  const typography = {
5
5
  '0': { fontSize: 10, lineHeight: 12, letterSpacing: 0.01 },
@@ -108,22 +108,7 @@ const darkPalettes = accentColors.reduce((acc, color) => {
108
108
  acc[color] = buildPalette(color, 'dark');
109
109
  return acc;
110
110
  }, {});
111
- // Semantic surface tokens (mirroring global.css)
112
- // Light mode:
113
- // --color-background: white;
114
- // --color-overlay: var(--black-a6);
115
- // --color-panel-solid: white;
116
- // --color-panel-translucent: rgba(255, 255, 255, 0.85);
117
- // --color-surface: rgba(255, 255, 255, 0.9);
118
- // --color-stroke: var(--gray-a5);
119
- //
120
- // Dark mode:
121
- // --color-background: var(--gray-1);
122
- // --color-overlay: var(--black-a8);
123
- // --color-panel-solid: var(--gray-2);
124
- // --color-panel-translucent: var(--gray-2-translucent);
125
- // --color-surface: rgba(0, 0, 0, 0.25);
126
- // --color-stroke: var(--gray-a4);
111
+ // Semantic surface tokens for light/dark modes
127
112
  // Resolve overlay / stroke from raw color palettes so native can use real values
128
113
  const blackA = frostedColors.blackA;
129
114
  const whiteA = frostedColors.whiteA;
@@ -146,7 +131,7 @@ export function blackAndWhitePalettes() {
146
131
  white: whiteAlpha,
147
132
  };
148
133
  }
149
- export const themeVars = {
134
+ export const themeTokens = {
150
135
  typography,
151
136
  fontWeights,
152
137
  colors: {
@@ -170,4 +155,4 @@ export const themeVars = {
170
155
  },
171
156
  },
172
157
  };
173
- //# sourceMappingURL=theme-vars.js.map
158
+ //# sourceMappingURL=theme-tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-tokens.js","sourceRoot":"","sources":["../../src/lib/theme-tokens.ts"],"names":[],"mappings":"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"}
@@ -1,57 +1,17 @@
1
1
  import { type Theme } from '@react-navigation/native';
2
- export declare const THEME: {
3
- light: {
4
- background: string;
5
- foreground: string;
6
- card: string;
7
- cardForeground: string;
8
- popover: string;
9
- popoverForeground: string;
10
- primary: string;
11
- primaryForeground: string;
12
- secondary: string;
13
- secondaryForeground: string;
14
- muted: string;
15
- mutedForeground: string;
16
- accent: string;
17
- accentForeground: string;
18
- destructive: string;
19
- border: string;
20
- input: string;
21
- ring: string;
22
- radius: string;
23
- chart1: string;
24
- chart2: string;
25
- chart3: string;
26
- chart4: string;
27
- chart5: string;
28
- };
29
- dark: {
30
- background: string;
31
- foreground: string;
32
- card: string;
33
- cardForeground: string;
34
- popover: string;
35
- popoverForeground: string;
36
- primary: string;
37
- primaryForeground: string;
38
- secondary: string;
39
- secondaryForeground: string;
40
- muted: string;
41
- mutedForeground: string;
42
- accent: string;
43
- accentForeground: string;
44
- destructive: string;
45
- border: string;
46
- input: string;
47
- ring: string;
48
- radius: string;
49
- chart1: string;
50
- chart2: string;
51
- chart3: string;
52
- chart4: string;
53
- chart5: string;
54
- };
55
- };
2
+ /**
3
+ * Hook to get navigation theme using Frosted UI design system colors.
4
+ * Reacts to the accent color from ThemeProvider.
5
+ *
6
+ * React Navigation uses these colors to style the navigation UI elements
7
+ * (headers, tab bars, drawers, etc.) throughout your app.
8
+ *
9
+ * @see https://reactnavigation.org/docs/themes
10
+ */
11
+ export declare function useNavTheme(): Record<'light' | 'dark', Theme>;
12
+ /**
13
+ * @deprecated Use useNavTheme() hook instead for dynamic accent color support.
14
+ * Static navigation theme with hardcoded blue accent.
15
+ */
56
16
  export declare const NAV_THEME: Record<'light' | 'dark', Theme>;
57
17
  //# sourceMappingURL=theme.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/lib/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAE/E,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDjB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,EAAE,KAAK,CAuBrD,CAAC"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/lib/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAQ/E;;;;;;;;GAQG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAAC,OAAO,GAAG,MAAM,EAAE,KAAK,CAAC,CA+E7D;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,EAAE,KAAK,CAuBrD,CAAC"}