@lunar-js/lunar 0.0.1

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 (162) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/LICENSE +21 -0
  3. package/README.md +41 -0
  4. package/dist/components/composite/Card/Card.d.ts +64 -0
  5. package/dist/components/composite/Card/Card.d.ts.map +1 -0
  6. package/dist/components/composite/Card/Card.js +86 -0
  7. package/dist/components/composite/Card/Card.js.map +1 -0
  8. package/dist/components/composite/Card/card.css.js +62 -0
  9. package/dist/components/composite/Card/card.css.js.map +1 -0
  10. package/dist/components/composite/Dialog/Dialog.d.ts +45 -0
  11. package/dist/components/composite/Dialog/Dialog.d.ts.map +1 -0
  12. package/dist/components/composite/Dialog/Dialog.js +117 -0
  13. package/dist/components/composite/Dialog/Dialog.js.map +1 -0
  14. package/dist/components/composite/Dialog/DialogProvider.d.ts +11 -0
  15. package/dist/components/composite/Dialog/DialogProvider.d.ts.map +1 -0
  16. package/dist/components/composite/Dialog/DialogProvider.js +19 -0
  17. package/dist/components/composite/Dialog/DialogProvider.js.map +1 -0
  18. package/dist/components/composite/Dialog/dialog.css.js +104 -0
  19. package/dist/components/composite/Dialog/dialog.css.js.map +1 -0
  20. package/dist/components/primitives/Button/Button.d.ts +27 -0
  21. package/dist/components/primitives/Button/Button.d.ts.map +1 -0
  22. package/dist/components/primitives/Button/Button.js +25 -0
  23. package/dist/components/primitives/Button/Button.js.map +1 -0
  24. package/dist/components/primitives/Button/button.css.d.ts +16 -0
  25. package/dist/components/primitives/Button/button.css.d.ts.map +1 -0
  26. package/dist/components/primitives/Button/button.css.js +202 -0
  27. package/dist/components/primitives/Button/button.css.js.map +1 -0
  28. package/dist/components/primitives/Button/button.types.d.ts +8 -0
  29. package/dist/components/primitives/Button/button.types.d.ts.map +1 -0
  30. package/dist/components/primitives/Input/Input.d.ts +12 -0
  31. package/dist/components/primitives/Input/Input.d.ts.map +1 -0
  32. package/dist/components/primitives/Input/Input.js +21 -0
  33. package/dist/components/primitives/Input/Input.js.map +1 -0
  34. package/dist/components/primitives/Input/input.css.js +54 -0
  35. package/dist/components/primitives/Input/input.css.js.map +1 -0
  36. package/dist/components/primitives/Label/Label.d.ts +13 -0
  37. package/dist/components/primitives/Label/Label.d.ts.map +1 -0
  38. package/dist/components/primitives/Label/Label.js +22 -0
  39. package/dist/components/primitives/Label/Label.js.map +1 -0
  40. package/dist/components/primitives/Label/label.css.js +35 -0
  41. package/dist/components/primitives/Label/label.css.js.map +1 -0
  42. package/dist/components/primitives/Typography/Text.d.ts +40 -0
  43. package/dist/components/primitives/Typography/Text.d.ts.map +1 -0
  44. package/dist/components/primitives/Typography/Text.js +28 -0
  45. package/dist/components/primitives/Typography/Text.js.map +1 -0
  46. package/dist/components/primitives/Typography/text.css.d.ts +31 -0
  47. package/dist/components/primitives/Typography/text.css.d.ts.map +1 -0
  48. package/dist/components/primitives/Typography/text.css.js +1019 -0
  49. package/dist/components/primitives/Typography/text.css.js.map +1 -0
  50. package/dist/components/primitives/Typography/text.types.d.ts +10 -0
  51. package/dist/components/primitives/Typography/text.types.d.ts.map +1 -0
  52. package/dist/constants/theming.d.ts +10 -0
  53. package/dist/constants/theming.d.ts.map +1 -0
  54. package/dist/constants/theming.js +11 -0
  55. package/dist/constants/theming.js.map +1 -0
  56. package/dist/hooks/dialog.d.ts +7 -0
  57. package/dist/hooks/dialog.d.ts.map +1 -0
  58. package/dist/hooks/dialog.js +14 -0
  59. package/dist/hooks/dialog.js.map +1 -0
  60. package/dist/hooks/refs.js +23 -0
  61. package/dist/hooks/refs.js.map +1 -0
  62. package/dist/hooks/theme.d.ts +7 -0
  63. package/dist/hooks/theme.d.ts.map +1 -0
  64. package/dist/hooks/theme.js +14 -0
  65. package/dist/hooks/theme.js.map +1 -0
  66. package/dist/hooks/utils.js +6 -0
  67. package/dist/hooks/utils.js.map +1 -0
  68. package/dist/index.d.ts +20 -0
  69. package/dist/index.js +20 -0
  70. package/dist/styles.css.d.ts +4 -0
  71. package/dist/styles.css.js +5 -0
  72. package/dist/themes/ThemeProvider/ThemeProvider.d.ts +19 -0
  73. package/dist/themes/ThemeProvider/ThemeProvider.d.ts.map +1 -0
  74. package/dist/themes/ThemeProvider/ThemeProvider.js +25 -0
  75. package/dist/themes/ThemeProvider/ThemeProvider.js.map +1 -0
  76. package/dist/themes/regal.css.d.ts +5 -0
  77. package/dist/themes/regal.css.d.ts.map +1 -0
  78. package/dist/themes/regal.css.js +720 -0
  79. package/dist/themes/regal.css.js.map +1 -0
  80. package/dist/themes/styles/color-scheme.css.d.ts +6 -0
  81. package/dist/themes/styles/color-scheme.css.d.ts.map +1 -0
  82. package/dist/themes/styles/color-scheme.css.js +9 -0
  83. package/dist/themes/styles/color-scheme.css.js.map +1 -0
  84. package/dist/themes/styles/utilities.d.ts +125 -0
  85. package/dist/themes/styles/utilities.d.ts.map +1 -0
  86. package/dist/themes/styles/utilities.js +129 -0
  87. package/dist/themes/styles/utilities.js.map +1 -0
  88. package/dist/themes/tokens/primitives/borders.d.ts +22 -0
  89. package/dist/themes/tokens/primitives/borders.d.ts.map +1 -0
  90. package/dist/themes/tokens/primitives/borders.js +23 -0
  91. package/dist/themes/tokens/primitives/borders.js.map +1 -0
  92. package/dist/themes/tokens/primitives/colors.d.ts +100 -0
  93. package/dist/themes/tokens/primitives/colors.d.ts.map +1 -0
  94. package/dist/themes/tokens/primitives/colors.js +101 -0
  95. package/dist/themes/tokens/primitives/colors.js.map +1 -0
  96. package/dist/themes/tokens/primitives/shadows.d.ts +14 -0
  97. package/dist/themes/tokens/primitives/shadows.d.ts.map +1 -0
  98. package/dist/themes/tokens/primitives/shadows.js +15 -0
  99. package/dist/themes/tokens/primitives/shadows.js.map +1 -0
  100. package/dist/themes/tokens/primitives/spacing.d.ts +41 -0
  101. package/dist/themes/tokens/primitives/spacing.d.ts.map +1 -0
  102. package/dist/themes/tokens/primitives/spacing.js +42 -0
  103. package/dist/themes/tokens/primitives/spacing.js.map +1 -0
  104. package/dist/themes/tokens/primitives/typography.d.ts +105 -0
  105. package/dist/themes/tokens/primitives/typography.d.ts.map +1 -0
  106. package/dist/themes/tokens/primitives/typography.js +106 -0
  107. package/dist/themes/tokens/primitives/typography.js.map +1 -0
  108. package/dist/themes/tokens/semantic/borders.js +23 -0
  109. package/dist/themes/tokens/semantic/borders.js.map +1 -0
  110. package/dist/themes/tokens/semantic/colors.js +145 -0
  111. package/dist/themes/tokens/semantic/colors.js.map +1 -0
  112. package/dist/themes/tokens/semantic/shadows.js +15 -0
  113. package/dist/themes/tokens/semantic/shadows.js.map +1 -0
  114. package/dist/themes/tokens/semantic/spacing.js +70 -0
  115. package/dist/themes/tokens/semantic/spacing.js.map +1 -0
  116. package/dist/themes/tokens/semantic/typography.js +34 -0
  117. package/dist/themes/tokens/semantic/typography.js.map +1 -0
  118. package/dist/themes/tokens/tokens.css.d.ts +714 -0
  119. package/dist/themes/tokens/tokens.css.d.ts.map +1 -0
  120. package/dist/themes/tokens/tokens.css.js +36 -0
  121. package/dist/themes/tokens/tokens.css.js.map +1 -0
  122. package/dist/types/theming.d.ts +7 -0
  123. package/dist/types/theming.d.ts.map +1 -0
  124. package/package.json +80 -0
  125. package/src/components/composite/Card/Card.tsx +62 -0
  126. package/src/components/composite/Card/card.css.ts +79 -0
  127. package/src/components/composite/Dialog/Dialog.tsx +150 -0
  128. package/src/components/composite/Dialog/DialogProvider.tsx +21 -0
  129. package/src/components/composite/Dialog/dialog.css.ts +137 -0
  130. package/src/components/primitives/Button/Button.tsx +35 -0
  131. package/src/components/primitives/Button/button.css.ts +236 -0
  132. package/src/components/primitives/Button/button.types.ts +23 -0
  133. package/src/components/primitives/Input/Input.tsx +13 -0
  134. package/src/components/primitives/Input/input.css.ts +64 -0
  135. package/src/components/primitives/Label/Label.tsx +15 -0
  136. package/src/components/primitives/Label/label.css.ts +39 -0
  137. package/src/components/primitives/Typography/Text.tsx +55 -0
  138. package/src/components/primitives/Typography/text.css.ts +1091 -0
  139. package/src/components/primitives/Typography/text.types.ts +55 -0
  140. package/src/constants/theming.ts +16 -0
  141. package/src/hooks/dialog.ts +15 -0
  142. package/src/hooks/refs.ts +34 -0
  143. package/src/hooks/theme.ts +15 -0
  144. package/src/hooks/utils.ts +3 -0
  145. package/src/index.css.ts +26 -0
  146. package/src/index.ts +111 -0
  147. package/src/themes/ThemeProvider/ThemeProvider.tsx +39 -0
  148. package/src/themes/regal.css.ts +741 -0
  149. package/src/themes/styles/color-scheme.css.ts +11 -0
  150. package/src/themes/styles/utilities.ts +140 -0
  151. package/src/themes/tokens/primitives/borders.ts +21 -0
  152. package/src/themes/tokens/primitives/colors.ts +114 -0
  153. package/src/themes/tokens/primitives/shadows.ts +12 -0
  154. package/src/themes/tokens/primitives/spacing.ts +39 -0
  155. package/src/themes/tokens/primitives/typography.ts +125 -0
  156. package/src/themes/tokens/semantic/borders.ts +21 -0
  157. package/src/themes/tokens/semantic/colors.ts +166 -0
  158. package/src/themes/tokens/semantic/shadows.ts +12 -0
  159. package/src/themes/tokens/semantic/spacing.ts +75 -0
  160. package/src/themes/tokens/semantic/typography.ts +35 -0
  161. package/src/themes/tokens/tokens.css.ts +42 -0
  162. package/src/types/theming.ts +14 -0
@@ -0,0 +1,741 @@
1
+ import { createTheme, style } from '@vanilla-extract/css';
2
+
3
+ import { themeContract } from './tokens/tokens.css.js';
4
+ import {
5
+ COLORS__PEARL,
6
+ COLORS__GOLD,
7
+ COLORS__GREEN,
8
+ COLORS__YELLOW,
9
+ COLORS__RED,
10
+ COLORS__BLUE,
11
+ COLORS__PURE,
12
+ } from './tokens/primitives/colors.js';
13
+ import { SPACING } from './tokens/primitives/spacing.js';
14
+ import { BORDER_RADIUS, BORDER_WIDTH } from './tokens/primitives/borders.js';
15
+ import { BOX_SHADOW } from './tokens/primitives/shadows.js';
16
+ import {
17
+ FONT_FAMILY,
18
+ FONT_SIZE,
19
+ FONT_WEIGHT,
20
+ LINE_HEIGHT__TIGHT,
21
+ LINE_HEIGHT__RELAXED,
22
+ LETTER_SPACING,
23
+ } from './tokens/primitives/typography.js';
24
+
25
+ const regalThemeVars = createTheme(themeContract, {
26
+ colors: {
27
+ action: {
28
+ bg: {
29
+ primary: {
30
+ default: `light-dark(oklch(${COLORS__GOLD[300]}), oklch(${COLORS__GOLD[300]}))`, // Gold background (same for both)
31
+ hover: `light-dark(oklch(${COLORS__GOLD[300]} / 0.9), oklch(${COLORS__GOLD[300]} / 0.9))`,
32
+ active: `light-dark(oklch(${COLORS__GOLD[300]} / 0.8), oklch(${COLORS__GOLD[300]} / 0.8))`,
33
+ disabled: `light-dark(oklch(${COLORS__GOLD[300]} / 0.4), oklch(${COLORS__GOLD[300]} / 0.4))`,
34
+ },
35
+ secondary: {
36
+ default: `light-dark(oklch(${COLORS__PEARL[400]}), oklch(${COLORS__PEARL[600]}))`, // Gold background (same for both)
37
+ hover: `light-dark(oklch(${COLORS__PEARL[400]} / 0.9), oklch(${COLORS__PEARL[600]} / 0.9))`, // Gold background (same for both)
38
+ active: `light-dark(oklch(${COLORS__PEARL[400]} / 0.8), oklch(${COLORS__PEARL[600]} / 0.8))`, // Gold background (same for both)
39
+ disabled: `light-dark(oklch(${COLORS__PEARL[400]} / 0.4), oklch(${COLORS__PEARL[600]} / 0.4))`,
40
+ },
41
+ outline: {
42
+ default: `light-dark(oklch(${COLORS__PEARL[400]} / 0.0125), oklch(${COLORS__PEARL[700]} / 0.0125))`,
43
+ hover: `light-dark(oklch(${COLORS__PEARL[400]} / 0.3), oklch(${COLORS__PEARL[700]} / 0.3))`,
44
+ active: `light-dark(oklch(${COLORS__PEARL[400]} / 0.05), oklch(${COLORS__PEARL[700]} / 0.05))`,
45
+ disabled: `light-dark(oklch(${COLORS__PEARL[400]} / 0.025), oklch(${COLORS__PEARL[700]} / 0.025))`,
46
+ },
47
+ },
48
+ color: {
49
+ primary: `light-dark(oklch(${COLORS__PEARL[950]}), oklch(${COLORS__PEARL[950]}))`,
50
+ outline: {
51
+ disabled: `light-dark(oklch(${COLORS__PEARL[400]} / 0.4), oklch(${COLORS__PEARL[700]} / 0.4))`,
52
+ },
53
+ },
54
+ destructive: {
55
+ default: `light-dark(oklch(${COLORS__RED[600]}), oklch(${COLORS__RED[400]}))`, // Same red for both
56
+ hover: `light-dark(oklch(${COLORS__RED[600]} / 0.9), oklch(${COLORS__RED[300]} / 0.9))`, // Same red for both
57
+ active: `light-dark(oklch(${COLORS__RED[600]} / 0.8), oklch(${COLORS__RED[300]} / 0.8))`, // Same red for both
58
+ disabled: `light-dark(oklch(${COLORS__RED[600]} / 0.4), oklch(${COLORS__RED[300]} / 0.4))`, // Same red for both
59
+ },
60
+ ghost: {
61
+ default: `light-dark(${COLORS__PURE.transparent}, ${COLORS__PURE.transparent})`, // Transparent background for both
62
+ hover: `light-dark(oklch(${COLORS__GOLD[300]} / 0.5), oklch(${COLORS__GOLD[300]} / 0.5))`, // Transparent background for both
63
+ active: `light-dark(oklch(${COLORS__GOLD[300]} / 0.6), oklch(${COLORS__GOLD[300]} / 0.6))`, // Transparent background for both
64
+ disabled: `light-dark(transparent, transparent)`, // Transparent for both
65
+ },
66
+ },
67
+ border: {
68
+ default: `light-dark(oklch(${COLORS__PEARL[300]}), oklch(${COLORS__PEARL[700]}))`, // Light vs dark neutral border
69
+ subtle: `light-dark(oklch(${COLORS__PEARL[200]}), oklch(${COLORS__PEARL[800]}))`, // Light vs dark subtle border
70
+ strong: `light-dark(oklch(${COLORS__PEARL[400]}), oklch(${COLORS__PEARL[600]}))`, // Light vs dark strong border
71
+ interactive: {
72
+ default: `light-dark(oklch(${COLORS__PEARL[900]} / 0.9), oklch(${COLORS__PEARL[400]}))`, // Gold 500 vs lighter gold for dark theme
73
+ hover: `light-dark(oklch(${COLORS__PEARL[900]}), oklch(${COLORS__PEARL[400]} / 0.9))`, // Gold 500 vs lighter gold for dark theme
74
+ active: `light-dark(oklch(${COLORS__PEARL[900]} / 0.8), oklch(${COLORS__PEARL[400]} / 0.8))`, // Gold 500 vs lighter gold for dark theme
75
+ },
76
+ focus: `light-dark(oklch(${COLORS__PEARL[900]}), oklch(${COLORS__PEARL[400]}))`, // Gold focus ring
77
+ success: `light-dark(oklch(${COLORS__GREEN[500]}), oklch(${COLORS__GREEN[400]}))`, // Lighter for dark theme
78
+ warning: `light-dark(oklch(${COLORS__YELLOW[500]}), oklch(${COLORS__YELLOW[400]}))`,
79
+ error: `light-dark(oklch(${COLORS__RED[500]}), oklch(${COLORS__RED[400]}))`,
80
+ info: `light-dark(oklch(${COLORS__BLUE[500]}), oklch(${COLORS__BLUE[400]}))`,
81
+ action: {
82
+ primary: `light-dark(oklch(${COLORS__GOLD[500]}), oklch(${COLORS__GOLD[400]}))`, // Matches primary action
83
+ secondary: `light-dark(oklch(${COLORS__GOLD[500]}), oklch(${COLORS__GOLD[400]}))`, // Gold border for secondary
84
+ destructive: `light-dark(oklch(${COLORS__RED[500]}), oklch(${COLORS__RED[400]}))`,
85
+ disabled: `light-dark(oklch(${COLORS__GOLD[300]} / 0.4), oklch(${COLORS__GOLD[300]} / 0.4))`,
86
+ },
87
+ },
88
+ text: {
89
+ primary: `light-dark(oklch(${COLORS__PEARL[900]}), oklch(${COLORS__PEARL[50]}))`, // High contrast dark vs light text
90
+ secondary: `light-dark(oklch(${COLORS__PEARL[700]}), oklch(${COLORS__PEARL[200]}))`, // Medium contrast text
91
+ tertiary: `light-dark(oklch(${COLORS__PEARL[600]}), oklch(${COLORS__PEARL[300]}))`, // Low contrast text
92
+ interactive: {
93
+ default: `light-dark(oklch(${COLORS__PEARL[900]} / 0.9), oklch(${COLORS__PEARL[300]}))`, // Gold for links - lighter for dark theme
94
+ hover: `light-dark(oklch(${COLORS__PEARL[900]}), oklch(${COLORS__PEARL[300]} / 0.9))`, // Gold for links - lighter for dark theme
95
+ active: `light-dark(oklch(${COLORS__PEARL[900]} / 0.8), oklch(${COLORS__PEARL[300]} / 0.9))`, // Gold for links - lighter for dark theme
96
+ },
97
+ success: `light-dark(oklch(${COLORS__GREEN[700]}), oklch(${COLORS__GREEN[300]}))`, // Darker vs lighter for contrast
98
+ warning: `light-dark(oklch(${COLORS__YELLOW[700]}), oklch(${COLORS__YELLOW[300]}))`,
99
+ error: `light-dark(oklch(${COLORS__RED[700]}), oklch(${COLORS__RED[300]}))`,
100
+ info: `light-dark(oklch(${COLORS__BLUE[700]}), oklch(${COLORS__BLUE[300]}))`,
101
+ inverse: `light-dark(oklch(${COLORS__PEARL[50]}), oklch(${COLORS__PEARL[950]}))`, // Light vs dark for inverse backgrounds
102
+ disabled: `light-dark(oklch(${COLORS__PEARL[500]}), oklch(${COLORS__PEARL[500]}))`, // Same muted text for both
103
+ },
104
+ surface: {
105
+ bg: {
106
+ primary: `light-dark(oklch(${COLORS__PEARL[50]}), oklch(${COLORS__PEARL[900]}))`, // Main background - lightest vs darkest
107
+ secondary: `light-dark(oklch(${COLORS__PEARL[50]}), oklch(${COLORS__PEARL[800]}))`, // Cards, panels
108
+ tertiary: `light-dark(oklch(${COLORS__PEARL[200]}), oklch(${COLORS__PEARL[700]}))`, // Elevated surfaces
109
+ interactive: {
110
+ default: `light-dark(transparent, transparent)`, // Interactive surface base
111
+ hover: `light-dark(color-mix(in oklch, oklch(${COLORS__GOLD[50]}) 30%, transparent), color-mix(in oklch, oklch(${COLORS__GOLD[800]}) 20%, transparent))`,
112
+ active: `light-dark(color-mix(in oklch, oklch(${COLORS__GOLD[100]}) 40%, transparent), color-mix(in oklch, oklch(${COLORS__GOLD[700]}) 30%, transparent))`,
113
+ },
114
+ success: `light-dark(color-mix(in oklch, oklch(${COLORS__GREEN[50]}) 50%, transparent), color-mix(in oklch, oklch(${COLORS__GREEN[900]}) 30%, transparent))`,
115
+ warning: `light-dark(color-mix(in oklch, oklch(${COLORS__YELLOW[50]}) 50%, transparent), color-mix(in oklch, oklch(${COLORS__YELLOW[900]}) 30%, transparent))`,
116
+ error: `light-dark(color-mix(in oklch, oklch(${COLORS__RED[50]}) 50%, transparent), color-mix(in oklch, oklch(${COLORS__RED[900]}) 30%, transparent))`,
117
+ info: `light-dark(color-mix(in oklch, oklch(${COLORS__BLUE[50]}) 50%, transparent), color-mix(in oklch, oklch(${COLORS__BLUE[900]}) 30%, transparent))`,
118
+ overlay: `light-dark(color-mix(in oklch, oklch(${COLORS__PEARL[900]}) 50%, transparent), color-mix(in oklch, oklch(${COLORS__PEARL[950]}) 80%, transparent))`, // Dark overlay
119
+ disabled: `light-dark(oklch(${COLORS__PEARL[100]}), oklch(${COLORS__PEARL[900]}))`,
120
+ inverse: `light-dark(oklch(${COLORS__PEARL[900]}), oklch(${COLORS__PEARL[50]}))`, // Dark vs light surface
121
+ },
122
+ },
123
+ icon: {
124
+ primary: `light-dark(oklch(${COLORS__PEARL[700]}), oklch(${COLORS__PEARL[200]}))`, // Matches text.secondary
125
+ secondary: `light-dark(oklch(${COLORS__PEARL[600]}), oklch(${COLORS__PEARL[300]}))`, // Matches text.tertiary
126
+ tertiary: `light-dark(oklch(${COLORS__PEARL[500]}), oklch(${COLORS__PEARL[400]}))`, // Subtle icons
127
+ interactive: {
128
+ default: `light-dark(oklch(${COLORS__GOLD[600]}), oklch(${COLORS__GOLD[400]}))`, // Gold for interactive icons
129
+ hover: `light-dark(color-mix(in oklch, oklch(${COLORS__GOLD[600]}) 90%, transparent), color-mix(in oklch, oklch(${COLORS__GOLD[400]}) 90%, transparent))`,
130
+ active: `light-dark(color-mix(in oklch, oklch(${COLORS__GOLD[600]}) 80%, transparent), color-mix(in oklch, oklch(${COLORS__GOLD[400]}) 80%, transparent))`,
131
+ },
132
+ success: `light-dark(oklch(${COLORS__GREEN[600]}), oklch(${COLORS__GREEN[400]}))`,
133
+ warning: `light-dark(oklch(${COLORS__YELLOW[600]}), oklch(${COLORS__YELLOW[400]}))`,
134
+ error: `light-dark(oklch(${COLORS__RED[600]}), oklch(${COLORS__RED[400]}))`,
135
+ info: `light-dark(oklch(${COLORS__BLUE[600]}), oklch(${COLORS__BLUE[400]}))`,
136
+ inverse: `light-dark(oklch(${COLORS__PEARL[200]}), oklch(${COLORS__PEARL[700]}))`, // Light vs dark icons for inverse backgrounds
137
+ disabled: `light-dark(oklch(${COLORS__PEARL[400]}), oklch(${COLORS__PEARL[600]}))`,
138
+ },
139
+ input: {
140
+ bg: {
141
+ default: `light-dark(oklch(${COLORS__PEARL[50]}), oklch(${COLORS__PEARL[900]}))`, // Matches primary vs secondary background
142
+ hover: `light-dark(oklch(${COLORS__PEARL[100]}), oklch(${COLORS__PEARL[800]}))`,
143
+ focus: `light-dark(oklch(${COLORS__PEARL[50]}), oklch(${COLORS__PEARL[900]}))`, // Keep same as default
144
+ disabled: `light-dark(oklch(${COLORS__PEARL[100]}), oklch(${COLORS__PEARL[900]}))`,
145
+ error: `light-dark(color-mix(in oklch, oklch(${COLORS__RED[50]}) 30%, transparent), color-mix(in oklch, oklch(${COLORS__RED[900]}) 20%, transparent))`,
146
+ },
147
+ border: {
148
+ default: `light-dark(oklch(${COLORS__PEARL[300]}), oklch(${COLORS__PEARL[700]}))`,
149
+ hover: `light-dark(oklch(${COLORS__PEARL[400]}), oklch(${COLORS__PEARL[600]}))`,
150
+ focus: `light-dark(oklch(${COLORS__GOLD[500]}), oklch(${COLORS__GOLD[400]}))`, // Gold focus
151
+ error: `light-dark(oklch(${COLORS__RED[500]}), oklch(${COLORS__RED[400]}))`,
152
+ disabled: `light-dark(oklch(${COLORS__PEARL[200]}), oklch(${COLORS__PEARL[800]}))`,
153
+ },
154
+ text: {
155
+ default: `light-dark(oklch(${COLORS__PEARL[900]}), oklch(${COLORS__PEARL[50]}))`, // High contrast
156
+ placeholder: `light-dark(oklch(${COLORS__PEARL[500]}), oklch(${COLORS__PEARL[500]}))`, // Same muted for both
157
+ disabled: `light-dark(oklch(${COLORS__PEARL[400]}), oklch(${COLORS__PEARL[600]}))`,
158
+ },
159
+ },
160
+ shadow: {
161
+ default: `light-dark(color-mix(in oklch, oklch(${COLORS__PEARL[900]}) 15%, transparent), color-mix(in oklch, oklch(${COLORS__PEARL[950]}) 40%, transparent))`,
162
+ subtle: `light-dark(color-mix(in oklch, oklch(${COLORS__PEARL[900]}) 8%, transparent), color-mix(in oklch, oklch(${COLORS__PEARL[950]}) 20%, transparent))`,
163
+ strong: `light-dark(color-mix(in oklch, oklch(${COLORS__PEARL[900]}) 25%, transparent), color-mix(in oklch, oklch(${COLORS__PEARL[950]}) 60%, transparent))`,
164
+ interactive: `light-dark(oklch(${COLORS__GOLD[600]} / 0.4), oklch(${COLORS__GOLD[200]} / 0.4))`, // Same red for both
165
+ destructive: `light-dark(oklch(${COLORS__RED[600]} / 0.4), oklch(${COLORS__RED[400]} / 0.4))`, // Same red for both
166
+ focus: `light-dark(color-mix(in oklch, oklch(${COLORS__GOLD[500]}) 25%, transparent), color-mix(in oklch, oklch(${COLORS__GOLD[700]}) 40%, transparent))`,
167
+ success: `light-dark(color-mix(in oklch, oklch(${COLORS__GREEN[500]}) 20%, transparent), color-mix(in oklch, oklch(${COLORS__GREEN[800]}) 30%, transparent))`,
168
+ warning: `light-dark(color-mix(in oklch, oklch(${COLORS__YELLOW[500]}) 20%, transparent), color-mix(in oklch, oklch(${COLORS__YELLOW[800]}) 30%, transparent))`,
169
+ error: `light-dark(color-mix(in oklch, oklch(${COLORS__RED[500]}) 20%, transparent), color-mix(in oklch, oklch(${COLORS__RED[800]}) 30%, transparent))`,
170
+ },
171
+ },
172
+ spacing: {
173
+ 0: SPACING[0],
174
+ px: SPACING.px,
175
+ 0.5: SPACING[0.5],
176
+ 1: SPACING[1],
177
+ 1.5: SPACING[1.5],
178
+ 2: SPACING[2],
179
+ 2.5: SPACING[2.5],
180
+ 3: SPACING[3],
181
+ 3.5: SPACING[3.5],
182
+ 4: SPACING[4],
183
+ 5: SPACING[5],
184
+ 6: SPACING[6],
185
+ 7: SPACING[7],
186
+ 8: SPACING[8],
187
+ 9: SPACING[9],
188
+ 10: SPACING[10],
189
+ 11: SPACING[11],
190
+ 12: SPACING[12],
191
+ 14: SPACING[14],
192
+ 16: SPACING[16],
193
+ 20: SPACING[20],
194
+ 24: SPACING[24],
195
+ 28: SPACING[28],
196
+ 32: SPACING[32],
197
+ 36: SPACING[36],
198
+ 40: SPACING[40],
199
+ 44: SPACING[44],
200
+ 48: SPACING[48],
201
+ 52: SPACING[52],
202
+ 56: SPACING[56],
203
+ 60: SPACING[60],
204
+ 64: SPACING[64],
205
+ 72: SPACING[72],
206
+ 80: SPACING[80],
207
+ 96: SPACING[96],
208
+ },
209
+ borderRadius: {
210
+ none: BORDER_RADIUS.none,
211
+ sm: BORDER_RADIUS.sm,
212
+ base: BORDER_RADIUS.base,
213
+ md: BORDER_RADIUS.md,
214
+ lg: BORDER_RADIUS.lg,
215
+ xl: BORDER_RADIUS.xl,
216
+ '2xl': BORDER_RADIUS['2xl'],
217
+ '3xl': BORDER_RADIUS['3xl'],
218
+ full: BORDER_RADIUS.full,
219
+ },
220
+ borderWidth: {
221
+ 0: BORDER_WIDTH[0],
222
+ 1: BORDER_WIDTH[1],
223
+ 2: BORDER_WIDTH[2],
224
+ 4: BORDER_WIDTH[4],
225
+ 8: BORDER_WIDTH[8],
226
+ },
227
+ boxShadow: {
228
+ none: BOX_SHADOW.none,
229
+ sm: BOX_SHADOW.sm,
230
+ base: BOX_SHADOW.base,
231
+ md: BOX_SHADOW.md,
232
+ lg: BOX_SHADOW.lg,
233
+ xl: BOX_SHADOW.xl,
234
+ '2xl': BOX_SHADOW['2xl'],
235
+ inner: BOX_SHADOW.inner,
236
+ },
237
+ typography: {
238
+ fontFamily: {
239
+ base: FONT_FAMILY.sans.fallback,
240
+ },
241
+ display: {
242
+ xl: {
243
+ light: {
244
+ fontWeight: FONT_WEIGHT.extralight,
245
+ fontSize: FONT_SIZE['7xl'],
246
+ lineHeight: LINE_HEIGHT__TIGHT['7xl'],
247
+ letterSpacing: LETTER_SPACING.tight,
248
+ },
249
+ medium: {
250
+ fontWeight: FONT_WEIGHT.normal,
251
+ fontSize: FONT_SIZE['7xl'],
252
+ lineHeight: LINE_HEIGHT__TIGHT['7xl'],
253
+ letterSpacing: LETTER_SPACING.tight,
254
+ },
255
+ bold: {
256
+ fontWeight: FONT_WEIGHT.extrabold,
257
+ fontSize: FONT_SIZE['7xl'],
258
+ lineHeight: LINE_HEIGHT__TIGHT['7xl'],
259
+ letterSpacing: LETTER_SPACING.tight,
260
+ },
261
+ },
262
+ lg: {
263
+ light: {
264
+ fontWeight: FONT_WEIGHT.extralight,
265
+ fontSize: FONT_SIZE['6xl'],
266
+ lineHeight: LINE_HEIGHT__TIGHT['6xl'],
267
+ letterSpacing: LETTER_SPACING.tight,
268
+ },
269
+ medium: {
270
+ fontWeight: FONT_WEIGHT.normal,
271
+ fontSize: FONT_SIZE['6xl'],
272
+ lineHeight: LINE_HEIGHT__TIGHT['6xl'],
273
+ letterSpacing: LETTER_SPACING.tight,
274
+ },
275
+ bold: {
276
+ fontWeight: FONT_WEIGHT.extrabold,
277
+ fontSize: FONT_SIZE['6xl'],
278
+ lineHeight: LINE_HEIGHT__TIGHT['6xl'],
279
+ letterSpacing: LETTER_SPACING.tight,
280
+ },
281
+ },
282
+ md: {
283
+ light: {
284
+ fontWeight: FONT_WEIGHT.extralight,
285
+ fontSize: FONT_SIZE['5xl'],
286
+ lineHeight: LINE_HEIGHT__TIGHT['5xl'],
287
+ letterSpacing: LETTER_SPACING.tight,
288
+ },
289
+ medium: {
290
+ fontWeight: FONT_WEIGHT.normal,
291
+ fontSize: FONT_SIZE['5xl'],
292
+ lineHeight: LINE_HEIGHT__TIGHT['5xl'],
293
+ letterSpacing: LETTER_SPACING.tight,
294
+ },
295
+ bold: {
296
+ fontWeight: FONT_WEIGHT.extrabold,
297
+ fontSize: FONT_SIZE['5xl'],
298
+ lineHeight: LINE_HEIGHT__TIGHT['5xl'],
299
+ letterSpacing: LETTER_SPACING.tight,
300
+ },
301
+ },
302
+ sm: {
303
+ light: {
304
+ fontWeight: FONT_WEIGHT.extralight,
305
+ fontSize: FONT_SIZE['4xl'],
306
+ lineHeight: LINE_HEIGHT__TIGHT['4xl'],
307
+ letterSpacing: LETTER_SPACING.tight,
308
+ },
309
+ medium: {
310
+ fontWeight: FONT_WEIGHT.normal,
311
+ fontSize: FONT_SIZE['4xl'],
312
+ lineHeight: LINE_HEIGHT__TIGHT['4xl'],
313
+ letterSpacing: LETTER_SPACING.tight,
314
+ },
315
+ bold: {
316
+ fontWeight: FONT_WEIGHT.extrabold,
317
+ fontSize: FONT_SIZE['4xl'],
318
+ lineHeight: LINE_HEIGHT__TIGHT['4xl'],
319
+ letterSpacing: LETTER_SPACING.tight,
320
+ },
321
+ },
322
+ },
323
+ heading: {
324
+ xl: {
325
+ light: {
326
+ fontWeight: FONT_WEIGHT.light,
327
+ fontSize: FONT_SIZE['3xl'],
328
+ lineHeight: LINE_HEIGHT__TIGHT['3xl'],
329
+ letterSpacing: LETTER_SPACING.normal,
330
+ },
331
+ medium: {
332
+ fontWeight: FONT_WEIGHT.medium,
333
+ fontSize: FONT_SIZE['3xl'],
334
+ lineHeight: LINE_HEIGHT__TIGHT['3xl'],
335
+ letterSpacing: LETTER_SPACING.normal,
336
+ },
337
+ bold: {
338
+ fontWeight: FONT_WEIGHT.bold,
339
+ fontSize: FONT_SIZE['3xl'],
340
+ lineHeight: LINE_HEIGHT__TIGHT['3xl'],
341
+ letterSpacing: LETTER_SPACING.normal,
342
+ },
343
+ },
344
+ lg: {
345
+ light: {
346
+ fontWeight: FONT_WEIGHT.light,
347
+ fontSize: FONT_SIZE['2xl'],
348
+ lineHeight: LINE_HEIGHT__TIGHT['2xl'],
349
+ letterSpacing: LETTER_SPACING.normal,
350
+ },
351
+ medium: {
352
+ fontWeight: FONT_WEIGHT.medium,
353
+ fontSize: FONT_SIZE['2xl'],
354
+ lineHeight: LINE_HEIGHT__TIGHT['2xl'],
355
+ letterSpacing: LETTER_SPACING.normal,
356
+ },
357
+ bold: {
358
+ fontWeight: FONT_WEIGHT.bold,
359
+ fontSize: FONT_SIZE['2xl'],
360
+ lineHeight: LINE_HEIGHT__TIGHT['2xl'],
361
+ letterSpacing: LETTER_SPACING.normal,
362
+ },
363
+ },
364
+ md: {
365
+ light: {
366
+ fontWeight: FONT_WEIGHT.light,
367
+ fontSize: FONT_SIZE.xl,
368
+ lineHeight: LINE_HEIGHT__TIGHT.xl,
369
+ letterSpacing: LETTER_SPACING.normal,
370
+ },
371
+ medium: {
372
+ fontWeight: FONT_WEIGHT.medium,
373
+ fontSize: FONT_SIZE.xl,
374
+ lineHeight: LINE_HEIGHT__TIGHT.xl,
375
+ letterSpacing: LETTER_SPACING.normal,
376
+ },
377
+ bold: {
378
+ fontWeight: FONT_WEIGHT.bold,
379
+ fontSize: FONT_SIZE.xl,
380
+ lineHeight: LINE_HEIGHT__TIGHT.xl,
381
+ letterSpacing: LETTER_SPACING.normal,
382
+ },
383
+ },
384
+ sm: {
385
+ light: {
386
+ fontWeight: FONT_WEIGHT.light,
387
+ fontSize: FONT_SIZE.lg,
388
+ lineHeight: LINE_HEIGHT__TIGHT.lg,
389
+ letterSpacing: LETTER_SPACING.normal,
390
+ },
391
+ medium: {
392
+ fontWeight: FONT_WEIGHT.medium,
393
+ fontSize: FONT_SIZE.lg,
394
+ lineHeight: LINE_HEIGHT__TIGHT.lg,
395
+ letterSpacing: LETTER_SPACING.normal,
396
+ },
397
+ bold: {
398
+ fontWeight: FONT_WEIGHT.bold,
399
+ fontSize: FONT_SIZE.lg,
400
+ lineHeight: LINE_HEIGHT__TIGHT.lg,
401
+ letterSpacing: LETTER_SPACING.normal,
402
+ },
403
+ },
404
+ },
405
+ subheading: {
406
+ xl: {
407
+ light: {
408
+ fontWeight: FONT_WEIGHT.light,
409
+ fontSize: FONT_SIZE.lg,
410
+ lineHeight: LINE_HEIGHT__TIGHT.lg,
411
+ letterSpacing: LETTER_SPACING.wide,
412
+ },
413
+ medium: {
414
+ fontWeight: FONT_WEIGHT.medium,
415
+ fontSize: FONT_SIZE.lg,
416
+ lineHeight: LINE_HEIGHT__TIGHT.lg,
417
+ letterSpacing: LETTER_SPACING.wide,
418
+ },
419
+ bold: {
420
+ fontWeight: FONT_WEIGHT.bold,
421
+ fontSize: FONT_SIZE.lg,
422
+ lineHeight: LINE_HEIGHT__TIGHT.lg,
423
+ letterSpacing: LETTER_SPACING.wide,
424
+ },
425
+ },
426
+ lg: {
427
+ light: {
428
+ fontWeight: FONT_WEIGHT.light,
429
+ fontSize: FONT_SIZE.base,
430
+ lineHeight: LINE_HEIGHT__TIGHT.base,
431
+ letterSpacing: LETTER_SPACING.wide,
432
+ },
433
+ medium: {
434
+ fontWeight: FONT_WEIGHT.medium,
435
+ fontSize: FONT_SIZE.base,
436
+ lineHeight: LINE_HEIGHT__TIGHT.base,
437
+ letterSpacing: LETTER_SPACING.wide,
438
+ },
439
+ bold: {
440
+ fontWeight: FONT_WEIGHT.bold,
441
+ fontSize: FONT_SIZE.base,
442
+ lineHeight: LINE_HEIGHT__TIGHT.base,
443
+ letterSpacing: LETTER_SPACING.wide,
444
+ },
445
+ },
446
+ md: {
447
+ light: {
448
+ fontWeight: FONT_WEIGHT.light,
449
+ fontSize: FONT_SIZE.sm,
450
+ lineHeight: LINE_HEIGHT__RELAXED.sm,
451
+ letterSpacing: LETTER_SPACING.wide,
452
+ },
453
+ medium: {
454
+ fontWeight: FONT_WEIGHT.medium,
455
+ fontSize: FONT_SIZE.sm,
456
+ lineHeight: LINE_HEIGHT__RELAXED.sm,
457
+ letterSpacing: LETTER_SPACING.wide,
458
+ },
459
+ bold: {
460
+ fontWeight: FONT_WEIGHT.bold,
461
+ fontSize: FONT_SIZE.sm,
462
+ lineHeight: LINE_HEIGHT__RELAXED.sm,
463
+ letterSpacing: LETTER_SPACING.wide,
464
+ },
465
+ },
466
+ sm: {
467
+ light: {
468
+ fontWeight: FONT_WEIGHT.light,
469
+ fontSize: FONT_SIZE.xs,
470
+ lineHeight: LINE_HEIGHT__RELAXED.xs,
471
+ letterSpacing: LETTER_SPACING.wider,
472
+ },
473
+ medium: {
474
+ fontWeight: FONT_WEIGHT.medium,
475
+ fontSize: FONT_SIZE.xs,
476
+ lineHeight: LINE_HEIGHT__RELAXED.xs,
477
+ letterSpacing: LETTER_SPACING.wider,
478
+ },
479
+ bold: {
480
+ fontWeight: FONT_WEIGHT.bold,
481
+ fontSize: FONT_SIZE.xs,
482
+ lineHeight: LINE_HEIGHT__RELAXED.xs,
483
+ letterSpacing: LETTER_SPACING.wider,
484
+ },
485
+ },
486
+ },
487
+ body: {
488
+ xl: {
489
+ light: {
490
+ fontWeight: FONT_WEIGHT.light,
491
+ fontSize: FONT_SIZE.lg,
492
+ lineHeight: LINE_HEIGHT__RELAXED.lg,
493
+ letterSpacing: LETTER_SPACING.wide,
494
+ },
495
+ medium: {
496
+ fontWeight: FONT_WEIGHT.normal,
497
+ fontSize: FONT_SIZE.lg,
498
+ lineHeight: LINE_HEIGHT__RELAXED.lg,
499
+ letterSpacing: LETTER_SPACING.wide,
500
+ },
501
+ bold: {
502
+ fontWeight: FONT_WEIGHT.semibold,
503
+ fontSize: FONT_SIZE.lg,
504
+ lineHeight: LINE_HEIGHT__RELAXED.lg,
505
+ letterSpacing: LETTER_SPACING.wide,
506
+ },
507
+ },
508
+ lg: {
509
+ light: {
510
+ fontWeight: FONT_WEIGHT.light,
511
+ fontSize: FONT_SIZE.base,
512
+ lineHeight: LINE_HEIGHT__RELAXED.base,
513
+ letterSpacing: LETTER_SPACING.wide,
514
+ },
515
+ medium: {
516
+ fontWeight: FONT_WEIGHT.normal,
517
+ fontSize: FONT_SIZE.base,
518
+ lineHeight: LINE_HEIGHT__RELAXED.base,
519
+ letterSpacing: LETTER_SPACING.wide,
520
+ },
521
+ bold: {
522
+ fontWeight: FONT_WEIGHT.semibold,
523
+ fontSize: FONT_SIZE.base,
524
+ lineHeight: LINE_HEIGHT__RELAXED.base,
525
+ letterSpacing: LETTER_SPACING.wide,
526
+ },
527
+ },
528
+ md: {
529
+ light: {
530
+ fontWeight: FONT_WEIGHT.light,
531
+ fontSize: FONT_SIZE.sm,
532
+ lineHeight: LINE_HEIGHT__RELAXED.sm,
533
+ letterSpacing: LETTER_SPACING.wider,
534
+ },
535
+ medium: {
536
+ fontWeight: FONT_WEIGHT.normal,
537
+ fontSize: FONT_SIZE.sm,
538
+ lineHeight: LINE_HEIGHT__RELAXED.sm,
539
+ letterSpacing: LETTER_SPACING.wider,
540
+ },
541
+ bold: {
542
+ fontWeight: FONT_WEIGHT.semibold,
543
+ fontSize: FONT_SIZE.sm,
544
+ lineHeight: LINE_HEIGHT__RELAXED.sm,
545
+ letterSpacing: LETTER_SPACING.wider,
546
+ },
547
+ },
548
+ sm: {
549
+ light: {
550
+ fontWeight: FONT_WEIGHT.light,
551
+ fontSize: FONT_SIZE.xs,
552
+ lineHeight: LINE_HEIGHT__RELAXED.xs,
553
+ letterSpacing: LETTER_SPACING.wider,
554
+ },
555
+ medium: {
556
+ fontWeight: FONT_WEIGHT.normal,
557
+ fontSize: FONT_SIZE.xs,
558
+ lineHeight: LINE_HEIGHT__RELAXED.xs,
559
+ letterSpacing: LETTER_SPACING.wider,
560
+ },
561
+ bold: {
562
+ fontWeight: FONT_WEIGHT.semibold,
563
+ fontSize: FONT_SIZE.xs,
564
+ lineHeight: LINE_HEIGHT__RELAXED.xs,
565
+ letterSpacing: LETTER_SPACING.wider,
566
+ },
567
+ },
568
+ },
569
+ caption: {
570
+ xl: {
571
+ light: {
572
+ fontWeight: FONT_WEIGHT.normal,
573
+ fontSize: FONT_SIZE.sm,
574
+ lineHeight: LINE_HEIGHT__RELAXED.sm,
575
+ letterSpacing: LETTER_SPACING.wider,
576
+ },
577
+ medium: {
578
+ fontWeight: FONT_WEIGHT.medium,
579
+ fontSize: FONT_SIZE.sm,
580
+ lineHeight: LINE_HEIGHT__RELAXED.sm,
581
+ letterSpacing: LETTER_SPACING.wider,
582
+ },
583
+ bold: {
584
+ fontWeight: FONT_WEIGHT.semibold,
585
+ fontSize: FONT_SIZE.sm,
586
+ lineHeight: LINE_HEIGHT__RELAXED.sm,
587
+ letterSpacing: LETTER_SPACING.wider,
588
+ },
589
+ },
590
+ lg: {
591
+ light: {
592
+ fontWeight: FONT_WEIGHT.normal,
593
+ fontSize: FONT_SIZE.xs,
594
+ lineHeight: LINE_HEIGHT__RELAXED.xs,
595
+ letterSpacing: LETTER_SPACING.wider,
596
+ },
597
+ medium: {
598
+ fontWeight: FONT_WEIGHT.medium,
599
+ fontSize: FONT_SIZE.xs,
600
+ lineHeight: LINE_HEIGHT__RELAXED.xs,
601
+ letterSpacing: LETTER_SPACING.wider,
602
+ },
603
+ bold: {
604
+ fontWeight: FONT_WEIGHT.semibold,
605
+ fontSize: FONT_SIZE.xs,
606
+ lineHeight: LINE_HEIGHT__RELAXED.xs,
607
+ letterSpacing: LETTER_SPACING.wider,
608
+ },
609
+ },
610
+ md: {
611
+ light: {
612
+ fontWeight: FONT_WEIGHT.normal,
613
+ fontSize: FONT_SIZE['2xs'],
614
+ lineHeight: LINE_HEIGHT__RELAXED['2xs'],
615
+ letterSpacing: LETTER_SPACING.widest,
616
+ },
617
+ medium: {
618
+ fontWeight: FONT_WEIGHT.medium,
619
+ fontSize: FONT_SIZE['2xs'],
620
+ lineHeight: LINE_HEIGHT__RELAXED['2xs'],
621
+ letterSpacing: LETTER_SPACING.widest,
622
+ },
623
+ bold: {
624
+ fontWeight: FONT_WEIGHT.semibold,
625
+ fontSize: FONT_SIZE['2xs'],
626
+ lineHeight: LINE_HEIGHT__RELAXED['2xs'],
627
+ letterSpacing: LETTER_SPACING.widest,
628
+ },
629
+ },
630
+ sm: {
631
+ light: {
632
+ fontWeight: FONT_WEIGHT.normal,
633
+ fontSize: FONT_SIZE['3xs'],
634
+ lineHeight: LINE_HEIGHT__RELAXED['3xs'],
635
+ letterSpacing: LETTER_SPACING.widest,
636
+ },
637
+ medium: {
638
+ fontWeight: FONT_WEIGHT.medium,
639
+ fontSize: FONT_SIZE['3xs'],
640
+ lineHeight: LINE_HEIGHT__RELAXED['3xs'],
641
+ letterSpacing: LETTER_SPACING.widest,
642
+ },
643
+ bold: {
644
+ fontWeight: FONT_WEIGHT.semibold,
645
+ fontSize: FONT_SIZE['3xs'],
646
+ lineHeight: LINE_HEIGHT__RELAXED['3xs'],
647
+ letterSpacing: LETTER_SPACING.widest,
648
+ },
649
+ },
650
+ },
651
+ label: {
652
+ xl: {
653
+ light: {
654
+ fontWeight: FONT_WEIGHT.normal,
655
+ fontSize: FONT_SIZE.sm,
656
+ lineHeight: LINE_HEIGHT__RELAXED.sm,
657
+ letterSpacing: LETTER_SPACING.wider,
658
+ },
659
+ medium: {
660
+ fontWeight: FONT_WEIGHT.medium,
661
+ fontSize: FONT_SIZE.sm,
662
+ lineHeight: LINE_HEIGHT__RELAXED.sm,
663
+ letterSpacing: LETTER_SPACING.wider,
664
+ },
665
+ bold: {
666
+ fontWeight: FONT_WEIGHT.semibold,
667
+ fontSize: FONT_SIZE.sm,
668
+ lineHeight: LINE_HEIGHT__RELAXED.sm,
669
+ letterSpacing: LETTER_SPACING.wider,
670
+ },
671
+ },
672
+ lg: {
673
+ light: {
674
+ fontWeight: FONT_WEIGHT.normal,
675
+ fontSize: FONT_SIZE.xs,
676
+ lineHeight: LINE_HEIGHT__RELAXED.xs,
677
+ letterSpacing: LETTER_SPACING.wider,
678
+ },
679
+ medium: {
680
+ fontWeight: FONT_WEIGHT.medium,
681
+ fontSize: FONT_SIZE.xs,
682
+ lineHeight: LINE_HEIGHT__RELAXED.xs,
683
+ letterSpacing: LETTER_SPACING.wider,
684
+ },
685
+ bold: {
686
+ fontWeight: FONT_WEIGHT.semibold,
687
+ fontSize: FONT_SIZE.xs,
688
+ lineHeight: LINE_HEIGHT__RELAXED.xs,
689
+ letterSpacing: LETTER_SPACING.wider,
690
+ },
691
+ },
692
+ md: {
693
+ light: {
694
+ fontWeight: FONT_WEIGHT.normal,
695
+ fontSize: FONT_SIZE['2xs'],
696
+ lineHeight: LINE_HEIGHT__RELAXED['2xs'],
697
+ letterSpacing: LETTER_SPACING.widest,
698
+ },
699
+ medium: {
700
+ fontWeight: FONT_WEIGHT.medium,
701
+ fontSize: FONT_SIZE['2xs'],
702
+ lineHeight: LINE_HEIGHT__RELAXED['2xs'],
703
+ letterSpacing: LETTER_SPACING.widest,
704
+ },
705
+ bold: {
706
+ fontWeight: FONT_WEIGHT.semibold,
707
+ fontSize: FONT_SIZE['2xs'],
708
+ lineHeight: LINE_HEIGHT__RELAXED['2xs'],
709
+ letterSpacing: LETTER_SPACING.widest,
710
+ },
711
+ },
712
+ sm: {
713
+ light: {
714
+ fontWeight: FONT_WEIGHT.normal,
715
+ fontSize: FONT_SIZE['3xs'],
716
+ lineHeight: LINE_HEIGHT__RELAXED['3xs'],
717
+ letterSpacing: LETTER_SPACING.widest,
718
+ },
719
+ medium: {
720
+ fontWeight: FONT_WEIGHT.medium,
721
+ fontSize: FONT_SIZE['3xs'],
722
+ lineHeight: LINE_HEIGHT__RELAXED['3xs'],
723
+ letterSpacing: LETTER_SPACING.widest,
724
+ },
725
+ bold: {
726
+ fontWeight: FONT_WEIGHT.semibold,
727
+ fontSize: FONT_SIZE['3xs'],
728
+ lineHeight: LINE_HEIGHT__RELAXED['3xs'],
729
+ letterSpacing: LETTER_SPACING.widest,
730
+ },
731
+ },
732
+ },
733
+ },
734
+ });
735
+
736
+ const regalTheme = style([
737
+ regalThemeVars,
738
+ { colorScheme: 'light dark', fontFamily: themeContract.typography.fontFamily.base },
739
+ ]);
740
+
741
+ export { regalTheme };