@native-mate/core 0.1.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 (111) hide show
  1. package/dist/index.d.ts +17 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +15 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/primitives/Icon/Icon.d.ts +4 -0
  6. package/dist/primitives/Icon/Icon.d.ts.map +1 -0
  7. package/dist/primitives/Icon/Icon.js +10 -0
  8. package/dist/primitives/Icon/Icon.js.map +1 -0
  9. package/dist/primitives/Icon/Icon.types.d.ts +8 -0
  10. package/dist/primitives/Icon/Icon.types.d.ts.map +1 -0
  11. package/dist/primitives/Icon/Icon.types.js +2 -0
  12. package/dist/primitives/Icon/Icon.types.js.map +1 -0
  13. package/dist/primitives/Separator/Separator.d.ts +4 -0
  14. package/dist/primitives/Separator/Separator.d.ts.map +1 -0
  15. package/dist/primitives/Separator/Separator.js +16 -0
  16. package/dist/primitives/Separator/Separator.js.map +1 -0
  17. package/dist/primitives/Separator/Separator.types.d.ts +6 -0
  18. package/dist/primitives/Separator/Separator.types.d.ts.map +1 -0
  19. package/dist/primitives/Separator/Separator.types.js +2 -0
  20. package/dist/primitives/Separator/Separator.types.js.map +1 -0
  21. package/dist/primitives/Spinner/Spinner.d.ts +4 -0
  22. package/dist/primitives/Spinner/Spinner.d.ts.map +1 -0
  23. package/dist/primitives/Spinner/Spinner.js +31 -0
  24. package/dist/primitives/Spinner/Spinner.js.map +1 -0
  25. package/dist/primitives/Spinner/Spinner.types.d.ts +5 -0
  26. package/dist/primitives/Spinner/Spinner.types.d.ts.map +1 -0
  27. package/dist/primitives/Spinner/Spinner.types.js +2 -0
  28. package/dist/primitives/Spinner/Spinner.types.js.map +1 -0
  29. package/dist/primitives/Text/Text.d.ts +4 -0
  30. package/dist/primitives/Text/Text.d.ts.map +1 -0
  31. package/dist/primitives/Text/Text.js +27 -0
  32. package/dist/primitives/Text/Text.js.map +1 -0
  33. package/dist/primitives/Text/Text.types.d.ts +14 -0
  34. package/dist/primitives/Text/Text.types.d.ts.map +1 -0
  35. package/dist/primitives/Text/Text.types.js +2 -0
  36. package/dist/primitives/Text/Text.types.js.map +1 -0
  37. package/dist/theme/ThemeContext.d.ts +4 -0
  38. package/dist/theme/ThemeContext.d.ts.map +1 -0
  39. package/dist/theme/ThemeContext.js +5 -0
  40. package/dist/theme/ThemeContext.js.map +1 -0
  41. package/dist/theme/ThemeProvider.d.ts +14 -0
  42. package/dist/theme/ThemeProvider.d.ts.map +1 -0
  43. package/dist/theme/ThemeProvider.js +11 -0
  44. package/dist/theme/ThemeProvider.js.map +1 -0
  45. package/dist/theme/makeStyles.d.ts +6 -0
  46. package/dist/theme/makeStyles.d.ts.map +1 -0
  47. package/dist/theme/makeStyles.js +10 -0
  48. package/dist/theme/makeStyles.js.map +1 -0
  49. package/dist/theme/useTheme.d.ts +3 -0
  50. package/dist/theme/useTheme.d.ts.map +1 -0
  51. package/dist/theme/useTheme.js +6 -0
  52. package/dist/theme/useTheme.js.map +1 -0
  53. package/dist/tokens/index.d.ts +15 -0
  54. package/dist/tokens/index.d.ts.map +1 -0
  55. package/dist/tokens/index.js +18 -0
  56. package/dist/tokens/index.js.map +1 -0
  57. package/dist/tokens/presets/midnight.d.ts +3 -0
  58. package/dist/tokens/presets/midnight.d.ts.map +1 -0
  59. package/dist/tokens/presets/midnight.js +23 -0
  60. package/dist/tokens/presets/midnight.js.map +1 -0
  61. package/dist/tokens/presets/rose.d.ts +3 -0
  62. package/dist/tokens/presets/rose.d.ts.map +1 -0
  63. package/dist/tokens/presets/rose.js +23 -0
  64. package/dist/tokens/presets/rose.js.map +1 -0
  65. package/dist/tokens/presets/slate.d.ts +3 -0
  66. package/dist/tokens/presets/slate.d.ts.map +1 -0
  67. package/dist/tokens/presets/slate.js +23 -0
  68. package/dist/tokens/presets/slate.js.map +1 -0
  69. package/dist/tokens/presets/zinc.d.ts +3 -0
  70. package/dist/tokens/presets/zinc.d.ts.map +1 -0
  71. package/dist/tokens/presets/zinc.js +36 -0
  72. package/dist/tokens/presets/zinc.js.map +1 -0
  73. package/dist/tokens/types.d.ts +109 -0
  74. package/dist/tokens/types.d.ts.map +1 -0
  75. package/dist/tokens/types.js +2 -0
  76. package/dist/tokens/types.js.map +1 -0
  77. package/dist/utils/platform.d.ts +17 -0
  78. package/dist/utils/platform.d.ts.map +1 -0
  79. package/dist/utils/platform.js +19 -0
  80. package/dist/utils/platform.js.map +1 -0
  81. package/dist/utils/useBreakpoint.d.ts +3 -0
  82. package/dist/utils/useBreakpoint.d.ts.map +1 -0
  83. package/dist/utils/useBreakpoint.js +10 -0
  84. package/dist/utils/useBreakpoint.js.map +1 -0
  85. package/package.json +31 -0
  86. package/src/__tests__/makeStyles.test.ts +56 -0
  87. package/src/__tests__/perf.test.ts +46 -0
  88. package/src/__tests__/platform.test.ts +34 -0
  89. package/src/__tests__/theme.test.ts +58 -0
  90. package/src/__tests__/tokens.test.ts +105 -0
  91. package/src/index.ts +27 -0
  92. package/src/primitives/Icon/Icon.tsx +11 -0
  93. package/src/primitives/Icon/Icon.types.ts +7 -0
  94. package/src/primitives/Separator/Separator.tsx +22 -0
  95. package/src/primitives/Separator/Separator.types.ts +6 -0
  96. package/src/primitives/Spinner/Spinner.tsx +50 -0
  97. package/src/primitives/Spinner/Spinner.types.ts +4 -0
  98. package/src/primitives/Text/Text.tsx +45 -0
  99. package/src/primitives/Text/Text.types.ts +15 -0
  100. package/src/theme/ThemeContext.ts +6 -0
  101. package/src/theme/ThemeProvider.tsx +27 -0
  102. package/src/theme/makeStyles.ts +15 -0
  103. package/src/theme/useTheme.ts +7 -0
  104. package/src/tokens/index.ts +29 -0
  105. package/src/tokens/presets/midnight.ts +24 -0
  106. package/src/tokens/presets/rose.ts +24 -0
  107. package/src/tokens/presets/slate.ts +24 -0
  108. package/src/tokens/presets/zinc.ts +37 -0
  109. package/src/tokens/types.ts +72 -0
  110. package/src/utils/platform.ts +20 -0
  111. package/src/utils/useBreakpoint.ts +10 -0
@@ -0,0 +1,17 @@
1
+ export { ThemeProvider } from './theme/ThemeProvider';
2
+ export { useTheme } from './theme/useTheme';
3
+ export { makeStyles } from './theme/makeStyles';
4
+ export { presets, resolveTokens, zinc, slate, rose, midnight } from './tokens';
5
+ export type { TokenSet, ResolvedTheme, ThemePreset, NativeMateConfig, NativeMateTokenOverrides, TokenColors, ColorToken, ResolvedColors, } from './tokens/types';
6
+ export { Text } from './primitives/Text/Text';
7
+ export { Icon } from './primitives/Icon/Icon';
8
+ export { Spinner } from './primitives/Spinner/Spinner';
9
+ export { Separator } from './primitives/Separator/Separator';
10
+ export type { TextProps, TextVariant, TextSize, TextWeight } from './primitives/Text/Text.types';
11
+ export type { IconProps } from './primitives/Icon/Icon.types';
12
+ export type { SpinnerProps } from './primitives/Spinner/Spinner.types';
13
+ export type { SeparatorProps } from './primitives/Separator/Separator.types';
14
+ export { shadow } from './utils/platform';
15
+ export { useBreakpoint } from './utils/useBreakpoint';
16
+ export type { Breakpoint } from './utils/useBreakpoint';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAG/C,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAC9E,YAAY,EACV,QAAQ,EAAE,aAAa,EAAE,WAAW,EACpC,gBAAgB,EAAE,wBAAwB,EAC1C,WAAW,EAAE,UAAU,EAAE,cAAc,GACxC,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAChG,YAAY,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,YAAY,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,YAAY,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAG5E,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,15 @@
1
+ // Theme
2
+ export { ThemeProvider } from './theme/ThemeProvider';
3
+ export { useTheme } from './theme/useTheme';
4
+ export { makeStyles } from './theme/makeStyles';
5
+ // Tokens
6
+ export { presets, resolveTokens, zinc, slate, rose, midnight } from './tokens';
7
+ // Primitives
8
+ export { Text } from './primitives/Text/Text';
9
+ export { Icon } from './primitives/Icon/Icon';
10
+ export { Spinner } from './primitives/Spinner/Spinner';
11
+ export { Separator } from './primitives/Separator/Separator';
12
+ // Utils
13
+ export { shadow } from './utils/platform';
14
+ export { useBreakpoint } from './utils/useBreakpoint';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,SAAS;AACT,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAO9E,aAAa;AACb,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAM5D,QAAQ;AACR,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { IconProps } from './Icon.types';
3
+ export declare const Icon: React.FC<IconProps>;
4
+ //# sourceMappingURL=Icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../src/primitives/Icon/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAI7C,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAIpC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { useTheme } from '../../theme/useTheme';
3
+ const sizePx = { xs: 14, sm: 16, md: 20, lg: 24, xl: 32 };
4
+ export const Icon = ({ as: IconComponent, name, size = 'md', color, ...rest }) => {
5
+ const theme = useTheme();
6
+ if (!IconComponent)
7
+ return null;
8
+ return <IconComponent name={name} size={sizePx[size]} color={color ?? theme.colors.foreground} {...rest}/>;
9
+ };
10
+ //# sourceMappingURL=Icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../src/primitives/Icon/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAG/C,MAAM,MAAM,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAA;AAEzD,MAAM,CAAC,MAAM,IAAI,GAAwB,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IACpG,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAA;IAC/B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,EAAG,CAAA;AAC7G,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ export interface IconProps {
2
+ as?: React.ComponentType<any>;
3
+ name?: string;
4
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
5
+ color?: string;
6
+ [key: string]: any;
7
+ }
8
+ //# sourceMappingURL=Icon.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.types.d.ts","sourceRoot":"","sources":["../../../src/primitives/Icon/Icon.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACvC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Icon.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.types.js","sourceRoot":"","sources":["../../../src/primitives/Icon/Icon.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { SeparatorProps } from './Separator.types';
3
+ export declare const Separator: React.FC<SeparatorProps>;
4
+ //# sourceMappingURL=Separator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Separator.d.ts","sourceRoot":"","sources":["../../../src/primitives/Separator/Separator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAgB9C,CAAA"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import { useTheme } from '../../theme/useTheme';
4
+ export const Separator = ({ orientation = 'horizontal', style }) => {
5
+ const theme = useTheme();
6
+ return (<View accessible={false} style={[
7
+ {
8
+ backgroundColor: theme.colors.border,
9
+ ...(orientation === 'horizontal'
10
+ ? { height: 1, width: '100%' }
11
+ : { width: 1, height: '100%' }),
12
+ },
13
+ style,
14
+ ]}/>);
15
+ };
16
+ //# sourceMappingURL=Separator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Separator.js","sourceRoot":"","sources":["../../../src/primitives/Separator/Separator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAG/C,MAAM,CAAC,MAAM,SAAS,GAA6B,CAAC,EAAE,WAAW,GAAG,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE;IAC3F,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,OAAO,CACL,CAAC,IAAI,CACH,UAAU,CAAC,CAAC,KAAK,CAAC,CAClB,KAAK,CAAC,CAAC;YACL;gBACE,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;gBACpC,GAAG,CAAC,WAAW,KAAK,YAAY;oBAC9B,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;oBAC9B,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;aAClC;YACD,KAAK;SACN,CAAC,EACF,CACH,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import type { ViewStyle } from 'react-native';
2
+ export interface SeparatorProps {
3
+ orientation?: 'horizontal' | 'vertical';
4
+ style?: ViewStyle;
5
+ }
6
+ //# sourceMappingURL=Separator.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Separator.types.d.ts","sourceRoot":"","sources":["../../../src/primitives/Separator/Separator.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACvC,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Separator.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Separator.types.js","sourceRoot":"","sources":["../../../src/primitives/Separator/Separator.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { SpinnerProps } from './Spinner.types';
3
+ export declare const Spinner: React.FC<SpinnerProps>;
4
+ //# sourceMappingURL=Spinner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../src/primitives/Spinner/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAUxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAInD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAmC1C,CAAA"}
@@ -0,0 +1,31 @@
1
+ import React, { useEffect } from 'react';
2
+ import { View } from 'react-native';
3
+ import Animated, { useSharedValue, useAnimatedStyle, withRepeat, withTiming, Easing, } from 'react-native-reanimated';
4
+ import { useTheme } from '../../theme/useTheme';
5
+ const sizes = { sm: 16, md: 24, lg: 32 };
6
+ export const Spinner = ({ size = 'md', color }) => {
7
+ const theme = useTheme();
8
+ const rotation = useSharedValue(0);
9
+ const px = sizes[size];
10
+ const spinnerColor = color ?? theme.colors.primary;
11
+ useEffect(() => {
12
+ rotation.value = withRepeat(withTiming(360, { duration: 900, easing: Easing.linear }), -1, false);
13
+ }, []);
14
+ const animatedStyle = useAnimatedStyle(() => ({
15
+ transform: [{ rotate: `${rotation.value}deg` }],
16
+ }));
17
+ return (<View style={{ width: px, height: px }}>
18
+ <Animated.View style={[
19
+ animatedStyle,
20
+ {
21
+ width: px,
22
+ height: px,
23
+ borderRadius: px / 2,
24
+ borderWidth: 2,
25
+ borderColor: spinnerColor,
26
+ borderTopColor: 'transparent',
27
+ },
28
+ ]}/>
29
+ </View>);
30
+ };
31
+ //# sourceMappingURL=Spinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.js","sourceRoot":"","sources":["../../../src/primitives/Spinner/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,QAAQ,EAAE,EACf,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,MAAM,GACP,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAG/C,MAAM,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAA;AAExC,MAAM,CAAC,MAAM,OAAO,GAA2B,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;IACxE,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;IAClC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;IACtB,MAAM,YAAY,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAA;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,KAAK,GAAG,UAAU,CACzB,UAAU,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EACzD,CAAC,CAAC,EACF,KAAK,CACN,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5C,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC;KAChD,CAAC,CAAC,CAAA;IAEH,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CACrC;MAAA,CAAC,QAAQ,CAAC,IAAI,CACZ,KAAK,CAAC,CAAC;YACL,aAAa;YACb;gBACE,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;gBACV,YAAY,EAAE,EAAE,GAAG,CAAC;gBACpB,WAAW,EAAE,CAAC;gBACd,WAAW,EAAE,YAAY;gBACzB,cAAc,EAAE,aAAa;aAC9B;SACF,CAAC,EAEN;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ export interface SpinnerProps {
2
+ size?: 'sm' | 'md' | 'lg';
3
+ color?: string;
4
+ }
5
+ //# sourceMappingURL=Spinner.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.types.d.ts","sourceRoot":"","sources":["../../../src/primitives/Spinner/Spinner.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Spinner.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.types.js","sourceRoot":"","sources":["../../../src/primitives/Spinner/Spinner.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { TextProps } from './Text.types';
3
+ export declare const Text: React.FC<TextProps>;
4
+ //# sourceMappingURL=Text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../src/primitives/Text/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAAE,SAAS,EAAqC,MAAM,cAAc,CAAA;AAWhF,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA6BpC,CAAA"}
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { Text as RNText } from 'react-native';
3
+ import { useTheme } from '../../theme/useTheme';
4
+ const variantMap = {
5
+ body: { sizeKey: 'md', weightKey: 'regular' },
6
+ label: { sizeKey: 'sm', weightKey: 'medium' },
7
+ caption: { sizeKey: 'xs', weightKey: 'regular' },
8
+ heading: { sizeKey: 'xl', weightKey: 'bold' },
9
+ title: { sizeKey: '2xl', weightKey: 'bold' },
10
+ display: { sizeKey: '3xl', weightKey: 'bold' },
11
+ };
12
+ export const Text = ({ variant = 'body', size, weight, color, muted = false, style, children, ...rest }) => {
13
+ const theme = useTheme();
14
+ const { sizeKey, weightKey } = variantMap[variant];
15
+ return (<RNText style={[
16
+ {
17
+ color: color ?? (muted ? theme.colors.muted : theme.colors.foreground),
18
+ fontSize: theme.typography.size[size ?? sizeKey],
19
+ fontWeight: theme.typography.weight[weight ?? weightKey],
20
+ lineHeight: theme.typography.lineHeight.normal,
21
+ },
22
+ style,
23
+ ]} {...rest}>
24
+ {children}
25
+ </RNText>);
26
+ };
27
+ //# sourceMappingURL=Text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../src/primitives/Text/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAG/C,MAAM,UAAU,GAAgE;IAC9E,IAAI,EAAK,EAAE,OAAO,EAAE,IAAI,EAAG,SAAS,EAAE,SAAS,EAAE;IACjD,KAAK,EAAI,EAAE,OAAO,EAAE,IAAI,EAAG,SAAS,EAAE,QAAQ,EAAG;IACjD,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAG,SAAS,EAAE,SAAS,EAAE;IACjD,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAG,SAAS,EAAE,MAAM,EAAK;IACjD,KAAK,EAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAK;IACjD,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAK;CAClD,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAwB,CAAC,EACxC,OAAO,GAAG,MAAM,EAChB,IAAI,EACJ,MAAM,EACN,KAAK,EACL,KAAK,GAAG,KAAK,EACb,KAAK,EACL,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAElD,OAAO,CACL,CAAC,MAAM,CACL,KAAK,CAAC,CAAC;YACL;gBACE,KAAK,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;gBACtE,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,OAAmB,CAAC;gBAC5D,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,IAAI,SAAuB,CAA4B;gBACjG,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM;aAC/C;YACD,KAAK;SACN,CAAC,CACF,IAAI,IAAI,CAAC,CAET;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,MAAM,CAAC,CACV,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,14 @@
1
+ import type { TextProps as RNTextProps } from 'react-native';
2
+ export type TextVariant = 'body' | 'label' | 'caption' | 'heading' | 'title' | 'display';
3
+ export type TextSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
4
+ export type TextWeight = 'regular' | 'medium' | 'semibold' | 'bold';
5
+ export interface TextProps extends Omit<RNTextProps, 'style'> {
6
+ variant?: TextVariant;
7
+ size?: TextSize;
8
+ weight?: TextWeight;
9
+ color?: string;
10
+ muted?: boolean;
11
+ children: React.ReactNode;
12
+ style?: RNTextProps['style'];
13
+ }
14
+ //# sourceMappingURL=Text.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.types.d.ts","sourceRoot":"","sources":["../../../src/primitives/Text/Text.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AAE5D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;AACxF,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAA;AACvE,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAA;AAEnE,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;IAC3D,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CAC7B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Text.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.types.js","sourceRoot":"","sources":["../../../src/primitives/Text/Text.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { ResolvedTheme } from '../tokens/types';
2
+ export declare const defaultTheme: ResolvedTheme;
3
+ export declare const ThemeContext: import("react").Context<ResolvedTheme>;
4
+ //# sourceMappingURL=ThemeContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeContext.d.ts","sourceRoot":"","sources":["../../src/theme/ThemeContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAGpD,eAAO,MAAM,YAAY,EAAE,aAA4C,CAAA;AACvE,eAAO,MAAM,YAAY,wCAA6C,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { createContext } from 'react';
2
+ import { resolveTokens, zinc } from '../tokens';
3
+ export const defaultTheme = resolveTokens(zinc, 'light');
4
+ export const ThemeContext = createContext(defaultTheme);
5
+ //# sourceMappingURL=ThemeContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeContext.js","sourceRoot":"","sources":["../../src/theme/ThemeContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAE/C,MAAM,CAAC,MAAM,YAAY,GAAkB,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACvE,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAgB,YAAY,CAAC,CAAA"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import type { ThemePreset, NativeMateTokenOverrides } from '../tokens/types';
3
+ interface ThemeProviderProps {
4
+ preset?: ThemePreset;
5
+ forcedColorScheme?: 'light' | 'dark';
6
+ overrides?: {
7
+ light?: NativeMateTokenOverrides;
8
+ dark?: NativeMateTokenOverrides;
9
+ };
10
+ children: React.ReactNode;
11
+ }
12
+ export declare const ThemeProvider: React.FC<ThemeProviderProps>;
13
+ export {};
14
+ //# sourceMappingURL=ThemeProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../src/theme/ThemeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAA;AAItC,OAAO,KAAK,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAE5E,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,iBAAiB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACpC,SAAS,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,wBAAwB,CAAC;QAAC,IAAI,CAAC,EAAE,wBAAwB,CAAA;KAAE,CAAA;IACjF,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAatD,CAAA"}
@@ -0,0 +1,11 @@
1
+ import React, { useMemo } from 'react';
2
+ import { useColorScheme } from 'react-native';
3
+ import { ThemeContext } from './ThemeContext';
4
+ import { presets, resolveTokens } from '../tokens';
5
+ export const ThemeProvider = ({ preset = 'zinc', forcedColorScheme, overrides, children, }) => {
6
+ const systemColorScheme = useColorScheme();
7
+ const mode = forcedColorScheme ?? systemColorScheme ?? 'light';
8
+ const theme = useMemo(() => resolveTokens(presets[preset], mode, overrides?.[mode]), [preset, mode, overrides]);
9
+ return <ThemeContext.Provider value={theme}>{children}</ThemeContext.Provider>;
10
+ };
11
+ //# sourceMappingURL=ThemeProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeProvider.js","sourceRoot":"","sources":["../../src/theme/ThemeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAUlD,MAAM,CAAC,MAAM,aAAa,GAAiC,CAAC,EAC1D,MAAM,GAAG,MAAM,EACf,iBAAiB,EACjB,SAAS,EACT,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,iBAAiB,GAAG,cAAc,EAAE,CAAA;IAC1C,MAAM,IAAI,GAAG,iBAAiB,IAAI,iBAAiB,IAAI,OAAO,CAAA;IAC9D,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,EAC7D,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAC1B,CAAA;IACD,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;AAChF,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { StyleSheet } from 'react-native';
2
+ import type { ResolvedTheme } from '../tokens/types';
3
+ type StyleFactory<T extends StyleSheet.NamedStyles<T>> = (theme: ResolvedTheme) => T;
4
+ export declare function makeStyles<T extends StyleSheet.NamedStyles<T>>(factory: StyleFactory<T>): () => T;
5
+ export {};
6
+ //# sourceMappingURL=makeStyles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makeStyles.d.ts","sourceRoot":"","sources":["../../src/theme/makeStyles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEpD,KAAK,YAAY,CAAC,CAAC,SAAS,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,KAAK,CAAC,CAAA;AAEpF,wBAAgB,UAAU,CAAC,CAAC,SAAS,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAC5D,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GACvB,MAAM,CAAC,CAKT"}
@@ -0,0 +1,10 @@
1
+ import { useMemo } from 'react';
2
+ import { StyleSheet } from 'react-native';
3
+ import { useTheme } from './useTheme';
4
+ export function makeStyles(factory) {
5
+ return function useStyles() {
6
+ const theme = useTheme();
7
+ return useMemo(() => StyleSheet.create(factory(theme)), [theme]);
8
+ };
9
+ }
10
+ //# sourceMappingURL=makeStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makeStyles.js","sourceRoot":"","sources":["../../src/theme/makeStyles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAKrC,MAAM,UAAU,UAAU,CACxB,OAAwB;IAExB,OAAO,SAAS,SAAS;QACvB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;QACxB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAClE,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ResolvedTheme } from '../tokens/types';
2
+ export declare function useTheme(): ResolvedTheme;
3
+ //# sourceMappingURL=useTheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../src/theme/useTheme.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEpD,wBAAgB,QAAQ,IAAI,aAAa,CAExC"}
@@ -0,0 +1,6 @@
1
+ import { useContext } from 'react';
2
+ import { ThemeContext } from './ThemeContext';
3
+ export function useTheme() {
4
+ return useContext(ThemeContext);
5
+ }
6
+ //# sourceMappingURL=useTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTheme.js","sourceRoot":"","sources":["../../src/theme/useTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,MAAM,UAAU,QAAQ;IACtB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAA;AACjC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { TokenSet, ResolvedTheme, NativeMateTokenOverrides } from './types';
2
+ import { zinc } from './presets/zinc';
3
+ import { slate } from './presets/slate';
4
+ import { rose } from './presets/rose';
5
+ import { midnight } from './presets/midnight';
6
+ export { zinc, slate, rose, midnight };
7
+ export * from './types';
8
+ export declare const presets: {
9
+ readonly zinc: TokenSet;
10
+ readonly slate: TokenSet;
11
+ readonly rose: TokenSet;
12
+ readonly midnight: TokenSet;
13
+ };
14
+ export declare function resolveTokens(preset: TokenSet, mode: 'light' | 'dark', overrides?: NativeMateTokenOverrides): ResolvedTheme;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tokens/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAChF,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;AACtC,cAAc,SAAS,CAAA;AAEvB,eAAO,MAAM,OAAO;;;;;CAA2C,CAAA;AAE/D,wBAAgB,aAAa,CAC3B,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,OAAO,GAAG,MAAM,EACtB,SAAS,CAAC,EAAE,wBAAwB,GACnC,aAAa,CAaf"}
@@ -0,0 +1,18 @@
1
+ import { zinc } from './presets/zinc';
2
+ import { slate } from './presets/slate';
3
+ import { rose } from './presets/rose';
4
+ import { midnight } from './presets/midnight';
5
+ export { zinc, slate, rose, midnight };
6
+ export * from './types';
7
+ export const presets = { zinc, slate, rose, midnight };
8
+ export function resolveTokens(preset, mode, overrides) {
9
+ const resolvedColors = Object.fromEntries(Object.entries(preset.colors).map(([key, token]) => [key, token[mode]]));
10
+ const colors = overrides?.colors ? { ...resolvedColors, ...overrides.colors } : resolvedColors;
11
+ const spacing = overrides?.spacing ? { ...preset.spacing, ...overrides.spacing } : preset.spacing;
12
+ const radius = overrides?.radius ? { ...preset.radius, ...overrides.radius } : preset.radius;
13
+ const animation = overrides?.animation?.speed
14
+ ? { ...preset.animation, speed: { ...preset.animation.speed, ...overrides.animation.speed } }
15
+ : preset.animation;
16
+ return { colors, spacing, radius, typography: preset.typography, animation, colorScheme: mode };
17
+ }
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tokens/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;AACtC,cAAc,SAAS,CAAA;AAEvB,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAW,CAAA;AAE/D,MAAM,UAAU,aAAa,CAC3B,MAAgB,EAChB,IAAsB,EACtB,SAAoC;IAEpC,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CACvC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAC7C,CAAA;IAE5B,MAAM,MAAM,GAAG,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,cAAc,CAAA;IAC9F,MAAM,OAAO,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;IACjG,MAAM,MAAM,GAAG,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;IAC5F,MAAM,SAAS,GAAG,SAAS,EAAE,SAAS,EAAE,KAAK;QAC3C,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE;QAC7F,CAAC,CAAC,MAAM,CAAC,SAAS,CAAA;IAEpB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;AACjG,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { TokenSet } from '../types';
2
+ export declare const midnight: TokenSet;
3
+ //# sourceMappingURL=midnight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"midnight.d.ts","sourceRoot":"","sources":["../../../src/tokens/presets/midnight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGxC,eAAO,MAAM,QAAQ,EAAE,QAoBtB,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { zinc } from './zinc';
2
+ export const midnight = {
3
+ ...zinc,
4
+ colors: {
5
+ background: { light: '#f8fafc', dark: '#000000' },
6
+ surface: { light: '#f1f5f9', dark: '#111111' },
7
+ surfaceRaised: { light: '#ffffff', dark: '#1a1a1a' },
8
+ border: { light: '#e2e8f0', dark: '#2a2a2a' },
9
+ primary: { light: '#6366f1', dark: '#818cf8' },
10
+ onPrimary: { light: '#ffffff', dark: '#000000' },
11
+ foreground: { light: '#0f172a', dark: '#f8fafc' },
12
+ onBackground: { light: '#0f172a', dark: '#f8fafc' },
13
+ onSurface: { light: '#1e293b', dark: '#e2e8f0' },
14
+ muted: { light: '#64748b', dark: '#6b7280' },
15
+ destructive: { light: '#ef4444', dark: '#f87171' },
16
+ onDestructive: { light: '#ffffff', dark: '#ffffff' },
17
+ success: { light: '#22c55e', dark: '#4ade80' },
18
+ onSuccess: { light: '#ffffff', dark: '#000000' },
19
+ warning: { light: '#f59e0b', dark: '#fbbf24' },
20
+ onWarning: { light: '#ffffff', dark: '#000000' },
21
+ },
22
+ };
23
+ //# sourceMappingURL=midnight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"midnight.js","sourceRoot":"","sources":["../../../src/tokens/presets/midnight.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,GAAG,IAAI;IACP,MAAM,EAAE;QACN,UAAU,EAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpD,OAAO,EAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpD,aAAa,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpD,MAAM,EAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpD,OAAO,EAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpD,SAAS,EAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpD,UAAU,EAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpD,YAAY,EAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpD,SAAS,EAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpD,KAAK,EAAU,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpD,WAAW,EAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpD,aAAa,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpD,OAAO,EAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpD,SAAS,EAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpD,OAAO,EAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpD,SAAS,EAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;KACrD;CACF,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { TokenSet } from '../types';
2
+ export declare const rose: TokenSet;
3
+ //# sourceMappingURL=rose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rose.d.ts","sourceRoot":"","sources":["../../../src/tokens/presets/rose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGxC,eAAO,MAAM,IAAI,EAAE,QAoBlB,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { zinc } from './zinc';
2
+ export const rose = {
3
+ ...zinc,
4
+ colors: {
5
+ background: { light: '#ffffff', dark: '#0c0a0b' },
6
+ surface: { light: '#fff1f2', dark: '#1c1115' },
7
+ surfaceRaised: { light: '#ffffff', dark: '#2d1a1f' },
8
+ border: { light: '#fecdd3', dark: '#4c2030' },
9
+ primary: { light: '#e11d48', dark: '#fb7185' },
10
+ onPrimary: { light: '#ffffff', dark: '#1c0a0f' },
11
+ foreground: { light: '#0f0a0b', dark: '#fef2f4' },
12
+ onBackground: { light: '#0f0a0b', dark: '#fef2f4' },
13
+ onSurface: { light: '#881337', dark: '#fecdd3' },
14
+ muted: { light: '#9f4258', dark: '#be738a' },
15
+ destructive: { light: '#dc2626', dark: '#f87171' },
16
+ onDestructive: { light: '#ffffff', dark: '#ffffff' },
17
+ success: { light: '#22c55e', dark: '#4ade80' },
18
+ onSuccess: { light: '#ffffff', dark: '#000000' },
19
+ warning: { light: '#f59e0b', dark: '#fbbf24' },
20
+ onWarning: { light: '#ffffff', dark: '#000000' },
21
+ },
22
+ };
23
+ //# sourceMappingURL=rose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rose.js","sourceRoot":"","sources":["../../../src/tokens/presets/rose.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,CAAC,MAAM,IAAI,GAAa;IAC5B,GAAG,IAAI;IACP,MAAM,EAAE;QACN,UAAU,EAAK,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,OAAO,EAAQ,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,aAAa,EAAE,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,MAAM,EAAS,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,OAAO,EAAQ,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,SAAS,EAAM,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,UAAU,EAAK,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,YAAY,EAAG,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,SAAS,EAAM,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,KAAK,EAAU,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,WAAW,EAAI,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,aAAa,EAAE,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,OAAO,EAAQ,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,SAAS,EAAM,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,OAAO,EAAQ,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,SAAS,EAAM,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;KACtD;CACF,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { TokenSet } from '../types';
2
+ export declare const slate: TokenSet;
3
+ //# sourceMappingURL=slate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slate.d.ts","sourceRoot":"","sources":["../../../src/tokens/presets/slate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGxC,eAAO,MAAM,KAAK,EAAE,QAoBnB,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { zinc } from './zinc';
2
+ export const slate = {
3
+ ...zinc,
4
+ colors: {
5
+ background: { light: '#ffffff', dark: '#0f172a' },
6
+ surface: { light: '#f1f5f9', dark: '#1e293b' },
7
+ surfaceRaised: { light: '#ffffff', dark: '#334155' },
8
+ border: { light: '#cbd5e1', dark: '#475569' },
9
+ primary: { light: '#0f172a', dark: '#f8fafc' },
10
+ onPrimary: { light: '#f8fafc', dark: '#0f172a' },
11
+ foreground: { light: '#020617', dark: '#f8fafc' },
12
+ onBackground: { light: '#020617', dark: '#f8fafc' },
13
+ onSurface: { light: '#0f172a', dark: '#e2e8f0' },
14
+ muted: { light: '#64748b', dark: '#94a3b8' },
15
+ destructive: { light: '#ef4444', dark: '#f87171' },
16
+ onDestructive: { light: '#ffffff', dark: '#ffffff' },
17
+ success: { light: '#22c55e', dark: '#4ade80' },
18
+ onSuccess: { light: '#ffffff', dark: '#000000' },
19
+ warning: { light: '#f59e0b', dark: '#fbbf24' },
20
+ onWarning: { light: '#ffffff', dark: '#000000' },
21
+ },
22
+ };
23
+ //# sourceMappingURL=slate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slate.js","sourceRoot":"","sources":["../../../src/tokens/presets/slate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,CAAC,MAAM,KAAK,GAAa;IAC7B,GAAG,IAAI;IACP,MAAM,EAAE;QACN,UAAU,EAAK,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,OAAO,EAAQ,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,aAAa,EAAE,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,MAAM,EAAS,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,OAAO,EAAQ,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,SAAS,EAAM,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,UAAU,EAAK,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,YAAY,EAAG,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,SAAS,EAAM,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,KAAK,EAAU,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,WAAW,EAAI,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,aAAa,EAAE,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,OAAO,EAAQ,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,SAAS,EAAM,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,OAAO,EAAQ,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;QACrD,SAAS,EAAM,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,SAAS,EAAE;KACtD;CACF,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { TokenSet } from '../types';
2
+ export declare const zinc: TokenSet;
3
+ //# sourceMappingURL=zinc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zinc.d.ts","sourceRoot":"","sources":["../../../src/tokens/presets/zinc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAExC,eAAO,MAAM,IAAI,EAAE,QAkClB,CAAA"}
@@ -0,0 +1,36 @@
1
+ export const zinc = {
2
+ colors: {
3
+ background: { light: '#ffffff', dark: '#070709' },
4
+ surface: { light: '#e4e4e7', dark: '#0f0f11' },
5
+ surfaceRaised: { light: '#f4f4f5', dark: '#161619' },
6
+ border: { light: '#d4d4d8', dark: '#252529' },
7
+ primary: { light: '#18181b', dark: '#fafafa' },
8
+ onPrimary: { light: '#fafafa', dark: '#18181b' },
9
+ foreground: { light: '#09090b', dark: '#fafafa' },
10
+ onBackground: { light: '#09090b', dark: '#fafafa' },
11
+ onSurface: { light: '#18181b', dark: '#e4e4e7' },
12
+ muted: { light: '#71717a', dark: '#71717a' },
13
+ destructive: { light: '#ef4444', dark: '#f87171' },
14
+ onDestructive: { light: '#ffffff', dark: '#ffffff' },
15
+ success: { light: '#22c55e', dark: '#4ade80' },
16
+ onSuccess: { light: '#ffffff', dark: '#000000' },
17
+ warning: { light: '#f59e0b', dark: '#fbbf24' },
18
+ onWarning: { light: '#ffffff', dark: '#000000' },
19
+ },
20
+ spacing: { xs: 4, sm: 8, md: 12, lg: 16, xl: 24, '2xl': 32, '3xl': 48 },
21
+ radius: { sm: 6, md: 10, lg: 16, xl: 24, full: 9999 },
22
+ typography: {
23
+ size: { xs: 11, sm: 13, md: 15, lg: 17, xl: 20, '2xl': 24, '3xl': 30 },
24
+ weight: { regular: '400', medium: '500', semibold: '600', bold: '700' },
25
+ lineHeight: { tight: 18, normal: 22, relaxed: 28 },
26
+ },
27
+ animation: {
28
+ speed: { fast: 150, normal: 250, slow: 400 },
29
+ easing: {
30
+ standard: [0.4, 0.0, 0.2, 1],
31
+ decelerate: [0.0, 0.0, 0.2, 1],
32
+ spring: { damping: 15, stiffness: 200, mass: 1 },
33
+ },
34
+ },
35
+ };
36
+ //# sourceMappingURL=zinc.js.map