@shipfox/react-ui 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 (224) hide show
  1. package/.storybook/main.ts +18 -0
  2. package/.storybook/preview.tsx +48 -0
  3. package/.turbo/turbo-build.log +6 -0
  4. package/.turbo/turbo-check.log +6 -0
  5. package/.turbo/turbo-type.log +5 -0
  6. package/CHANGELOG.md +7 -0
  7. package/LICENSE +21 -0
  8. package/dist/colors.stories.conts.d.ts +33 -0
  9. package/dist/colors.stories.conts.d.ts.map +1 -0
  10. package/dist/colors.stories.conts.js +166 -0
  11. package/dist/colors.stories.conts.js.map +1 -0
  12. package/dist/colors.stories.js +61 -0
  13. package/dist/colors.stories.js.map +1 -0
  14. package/dist/components/button.d.ts +13 -0
  15. package/dist/components/button.d.ts.map +1 -0
  16. package/dist/components/button.js +51 -0
  17. package/dist/components/button.js.map +1 -0
  18. package/dist/components/button.stories.js +174 -0
  19. package/dist/components/button.stories.js.map +1 -0
  20. package/dist/components/icon/custom/badge.d.ts +4 -0
  21. package/dist/components/icon/custom/badge.d.ts.map +1 -0
  22. package/dist/components/icon/custom/badge.js +20 -0
  23. package/dist/components/icon/custom/badge.js.map +1 -0
  24. package/dist/components/icon/custom/check-circle-solid.d.ts +4 -0
  25. package/dist/components/icon/custom/check-circle-solid.d.ts.map +1 -0
  26. package/dist/components/icon/custom/check-circle-solid.js +34 -0
  27. package/dist/components/icon/custom/check-circle-solid.js.map +1 -0
  28. package/dist/components/icon/custom/circle-dotted-line.d.ts +4 -0
  29. package/dist/components/icon/custom/circle-dotted-line.d.ts.map +1 -0
  30. package/dist/components/icon/custom/circle-dotted-line.js +20 -0
  31. package/dist/components/icon/custom/circle-dotted-line.js.map +1 -0
  32. package/dist/components/icon/custom/component-fill.d.ts +4 -0
  33. package/dist/components/icon/custom/component-fill.d.ts.map +1 -0
  34. package/dist/components/icon/custom/component-fill.js +20 -0
  35. package/dist/components/icon/custom/component-fill.js.map +1 -0
  36. package/dist/components/icon/custom/component-line.d.ts +4 -0
  37. package/dist/components/icon/custom/component-line.d.ts.map +1 -0
  38. package/dist/components/icon/custom/component-line.js +20 -0
  39. package/dist/components/icon/custom/component-line.js.map +1 -0
  40. package/dist/components/icon/custom/ellipse-mini-solid.d.ts +4 -0
  41. package/dist/components/icon/custom/ellipse-mini-solid.d.ts.map +1 -0
  42. package/dist/components/icon/custom/ellipse-mini-solid.js +22 -0
  43. package/dist/components/icon/custom/ellipse-mini-solid.js.map +1 -0
  44. package/dist/components/icon/custom/index.d.ts +12 -0
  45. package/dist/components/icon/custom/index.d.ts.map +1 -0
  46. package/dist/components/icon/custom/index.js +13 -0
  47. package/dist/components/icon/custom/index.js.map +1 -0
  48. package/dist/components/icon/custom/info-tooltip-fill.d.ts +4 -0
  49. package/dist/components/icon/custom/info-tooltip-fill.d.ts.map +1 -0
  50. package/dist/components/icon/custom/info-tooltip-fill.js +22 -0
  51. package/dist/components/icon/custom/info-tooltip-fill.js.map +1 -0
  52. package/dist/components/icon/custom/resize.d.ts +4 -0
  53. package/dist/components/icon/custom/resize.d.ts.map +1 -0
  54. package/dist/components/icon/custom/resize.js +20 -0
  55. package/dist/components/icon/custom/resize.js.map +1 -0
  56. package/dist/components/icon/custom/spinner.d.ts +4 -0
  57. package/dist/components/icon/custom/spinner.d.ts.map +1 -0
  58. package/dist/components/icon/custom/spinner.js +145 -0
  59. package/dist/components/icon/custom/spinner.js.map +1 -0
  60. package/dist/components/icon/custom/thunder.d.ts +4 -0
  61. package/dist/components/icon/custom/thunder.d.ts.map +1 -0
  62. package/dist/components/icon/custom/thunder.js +20 -0
  63. package/dist/components/icon/custom/thunder.js.map +1 -0
  64. package/dist/components/icon/custom/x-circle-solid.d.ts +4 -0
  65. package/dist/components/icon/custom/x-circle-solid.d.ts.map +1 -0
  66. package/dist/components/icon/custom/x-circle-solid.js +34 -0
  67. package/dist/components/icon/custom/x-circle-solid.js.map +1 -0
  68. package/dist/components/icon/icon.d.ts +27 -0
  69. package/dist/components/icon/icon.d.ts.map +1 -0
  70. package/dist/components/icon/icon.js +27 -0
  71. package/dist/components/icon/icon.js.map +1 -0
  72. package/dist/components/icon/icon.stories.js +35 -0
  73. package/dist/components/icon/icon.stories.js.map +1 -0
  74. package/dist/components/icon/index.d.ts +2 -0
  75. package/dist/components/icon/index.d.ts.map +1 -0
  76. package/dist/components/icon/index.js +3 -0
  77. package/dist/components/icon/index.js.map +1 -0
  78. package/dist/components/index.d.ts +5 -0
  79. package/dist/components/index.d.ts.map +1 -0
  80. package/dist/components/index.js +6 -0
  81. package/dist/components/index.js.map +1 -0
  82. package/dist/components/theme-provider.d.ts +10 -0
  83. package/dist/components/theme-provider.d.ts.map +1 -0
  84. package/dist/components/theme-provider.js +32 -0
  85. package/dist/components/theme-provider.js.map +1 -0
  86. package/dist/components/typography/code.d.ts +11 -0
  87. package/dist/components/typography/code.d.ts.map +1 -0
  88. package/dist/components/typography/code.js +28 -0
  89. package/dist/components/typography/code.js.map +1 -0
  90. package/dist/components/typography/code.stories.js +54 -0
  91. package/dist/components/typography/code.stories.js.map +1 -0
  92. package/dist/components/typography/header.d.ts +10 -0
  93. package/dist/components/typography/header.d.ts.map +1 -0
  94. package/dist/components/typography/header.js +34 -0
  95. package/dist/components/typography/header.js.map +1 -0
  96. package/dist/components/typography/header.stories.js +34 -0
  97. package/dist/components/typography/header.stories.js.map +1 -0
  98. package/dist/components/typography/index.d.ts +4 -0
  99. package/dist/components/typography/index.d.ts.map +1 -0
  100. package/dist/components/typography/index.js +5 -0
  101. package/dist/components/typography/index.js.map +1 -0
  102. package/dist/components/typography/text.d.ts +12 -0
  103. package/dist/components/typography/text.d.ts.map +1 -0
  104. package/dist/components/typography/text.js +32 -0
  105. package/dist/components/typography/text.js.map +1 -0
  106. package/dist/components/typography/text.stories.js +105 -0
  107. package/dist/components/typography/text.stories.js.map +1 -0
  108. package/dist/hooks/index.d.ts +3 -0
  109. package/dist/hooks/index.d.ts.map +1 -0
  110. package/dist/hooks/index.js +4 -0
  111. package/dist/hooks/index.js.map +1 -0
  112. package/dist/hooks/useCopy.d.ts +1 -0
  113. package/dist/hooks/useCopy.d.ts.map +1 -0
  114. package/dist/hooks/useCopy.js +2 -0
  115. package/dist/hooks/useCopy.js.map +1 -0
  116. package/dist/hooks/useCopyToClipboard.d.ts +10 -0
  117. package/dist/hooks/useCopyToClipboard.d.ts.map +1 -0
  118. package/dist/hooks/useCopyToClipboard.js +16 -0
  119. package/dist/hooks/useCopyToClipboard.js.map +1 -0
  120. package/dist/hooks/useTheme.d.ts +2 -0
  121. package/dist/hooks/useTheme.d.ts.map +1 -0
  122. package/dist/hooks/useTheme.js +9 -0
  123. package/dist/hooks/useTheme.js.map +1 -0
  124. package/dist/index.d.ts +4 -0
  125. package/dist/index.d.ts.map +1 -0
  126. package/dist/index.js +5 -0
  127. package/dist/index.js.map +1 -0
  128. package/dist/state/theme.d.ts +7 -0
  129. package/dist/state/theme.d.ts.map +1 -0
  130. package/dist/state/theme.js +8 -0
  131. package/dist/state/theme.js.map +1 -0
  132. package/dist/utils/clipboard.d.ts +2 -0
  133. package/dist/utils/clipboard.d.ts.map +1 -0
  134. package/dist/utils/clipboard.js +6 -0
  135. package/dist/utils/clipboard.js.map +1 -0
  136. package/dist/utils/cn.d.ts +3 -0
  137. package/dist/utils/cn.d.ts.map +1 -0
  138. package/dist/utils/cn.js +7 -0
  139. package/dist/utils/cn.js.map +1 -0
  140. package/dist/utils/date.d.ts +16 -0
  141. package/dist/utils/date.d.ts.map +1 -0
  142. package/dist/utils/date.js +79 -0
  143. package/dist/utils/date.js.map +1 -0
  144. package/dist/utils/format/chart.d.ts +3 -0
  145. package/dist/utils/format/chart.d.ts.map +1 -0
  146. package/dist/utils/format/chart.js +14 -0
  147. package/dist/utils/format/chart.js.map +1 -0
  148. package/dist/utils/format/date.d.ts +10 -0
  149. package/dist/utils/format/date.d.ts.map +1 -0
  150. package/dist/utils/format/date.js +57 -0
  151. package/dist/utils/format/date.js.map +1 -0
  152. package/dist/utils/format/duration.d.ts +9 -0
  153. package/dist/utils/format/duration.d.ts.map +1 -0
  154. package/dist/utils/format/duration.js +71 -0
  155. package/dist/utils/format/duration.js.map +1 -0
  156. package/dist/utils/format/index.d.ts +5 -0
  157. package/dist/utils/format/index.d.ts.map +1 -0
  158. package/dist/utils/format/index.js +6 -0
  159. package/dist/utils/format/index.js.map +1 -0
  160. package/dist/utils/format/number.d.ts +7 -0
  161. package/dist/utils/format/number.d.ts.map +1 -0
  162. package/dist/utils/format/number.js +20 -0
  163. package/dist/utils/format/number.js.map +1 -0
  164. package/dist/utils/index.d.ts +5 -0
  165. package/dist/utils/index.d.ts.map +1 -0
  166. package/dist/utils/index.js +6 -0
  167. package/dist/utils/index.js.map +1 -0
  168. package/index.css +778 -0
  169. package/package.json +74 -0
  170. package/src/colors.stories.conts.ts +164 -0
  171. package/src/colors.stories.tsx +66 -0
  172. package/src/components/button.stories.tsx +126 -0
  173. package/src/components/button.tsx +63 -0
  174. package/src/components/icon/custom/badge.tsx +17 -0
  175. package/src/components/icon/custom/check-circle-solid.tsx +24 -0
  176. package/src/components/icon/custom/circle-dotted-line.tsx +17 -0
  177. package/src/components/icon/custom/component-fill.tsx +17 -0
  178. package/src/components/icon/custom/component-line.tsx +17 -0
  179. package/src/components/icon/custom/ellipse-mini-solid.tsx +17 -0
  180. package/src/components/icon/custom/index.ts +11 -0
  181. package/src/components/icon/custom/info-tooltip-fill.tsx +21 -0
  182. package/src/components/icon/custom/resize.tsx +17 -0
  183. package/src/components/icon/custom/spinner.tsx +98 -0
  184. package/src/components/icon/custom/thunder.tsx +17 -0
  185. package/src/components/icon/custom/x-circle-solid.tsx +24 -0
  186. package/src/components/icon/icon.stories.tsx +29 -0
  187. package/src/components/icon/icon.tsx +42 -0
  188. package/src/components/icon/index.ts +1 -0
  189. package/src/components/index.ts +4 -0
  190. package/src/components/renovate.json +23 -0
  191. package/src/components/theme-provider.tsx +50 -0
  192. package/src/components/typography/code.stories.tsx +36 -0
  193. package/src/components/typography/code.tsx +38 -0
  194. package/src/components/typography/header.stories.tsx +27 -0
  195. package/src/components/typography/header.tsx +41 -0
  196. package/src/components/typography/index.ts +3 -0
  197. package/src/components/typography/text.stories.tsx +67 -0
  198. package/src/components/typography/text.tsx +42 -0
  199. package/src/hooks/index.ts +2 -0
  200. package/src/hooks/useCopy.ts +0 -0
  201. package/src/hooks/useCopyToClipboard.ts +20 -0
  202. package/src/hooks/useTheme.ts +10 -0
  203. package/src/index.ts +3 -0
  204. package/src/state/theme.ts +15 -0
  205. package/src/utils/clipboard.ts +4 -0
  206. package/src/utils/cn.ts +6 -0
  207. package/src/utils/date.test.ts +119 -0
  208. package/src/utils/date.ts +99 -0
  209. package/src/utils/format/chart.ts +16 -0
  210. package/src/utils/format/date.test.ts +65 -0
  211. package/src/utils/format/date.ts +75 -0
  212. package/src/utils/format/duration.test.ts +58 -0
  213. package/src/utils/format/duration.ts +82 -0
  214. package/src/utils/format/index.ts +4 -0
  215. package/src/utils/format/number.test.ts +38 -0
  216. package/src/utils/format/number.ts +33 -0
  217. package/src/utils/index.ts +4 -0
  218. package/test/global.ts +3 -0
  219. package/test/setup.ts +9 -0
  220. package/tsconfig.build.json +13 -0
  221. package/tsconfig.json +11 -0
  222. package/tsconfig.test.json +12 -0
  223. package/vercel.json +8 -0
  224. package/vitest.config.ts +17 -0
package/index.css ADDED
@@ -0,0 +1,778 @@
1
+ @import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap")
2
+ layer(base);
3
+
4
+ @import "tailwindcss";
5
+ @import "tw-animate-css";
6
+
7
+ @theme {
8
+ --\*: initial;
9
+ }
10
+
11
+ @custom-variant hover (&:hover);
12
+
13
+ @font-face {
14
+ font-family: "Commit Mono";
15
+ src: url("https://a.storyblok.com/f/338460/x/5b4955e226/commitmono-400-regular.otf")
16
+ format("opentype");
17
+ font-weight: 400;
18
+ font-style: normal;
19
+ font-display: swap;
20
+ }
21
+
22
+ @font-face {
23
+ font-family: "Commit Mono";
24
+ src: url("https://a.storyblok.com/f/338460/x/b0c8dab698/commitmono-700-regular.otf")
25
+ format("opentype");
26
+ font-weight: 700;
27
+ font-style: normal;
28
+ font-display: swap;
29
+ }
30
+
31
+ @custom-variant dark (&:is(.dark *));
32
+
33
+ :root {
34
+ /* Color Primitives */
35
+ --color-neutral-0: #ffffff;
36
+ --color-neutral-50: #fafafa;
37
+ --color-neutral-100: #f4f4f5;
38
+ --color-neutral-200: #e4e4e7;
39
+ --color-neutral-300: #d4d4d8;
40
+ --color-neutral-400: #a1a1aa;
41
+ --color-neutral-500: #71717a;
42
+ --color-neutral-600: #52525b;
43
+ --color-neutral-700: #3f3f46;
44
+ --color-neutral-800: #27272a;
45
+ --color-neutral-900: #1a1a1b;
46
+ --color-neutral-950: #0f0f10;
47
+ --color-neutral-1000: #030303;
48
+
49
+ --color-purple-50: #f5f3ff;
50
+ --color-purple-100: #ede9fe;
51
+ --color-purple-200: #ddd6fe;
52
+ --color-purple-300: #c4b5fd;
53
+ --color-purple-400: #a78bfa;
54
+ --color-purple-500: #8b5cf6;
55
+ --color-purple-600: #7c3aed;
56
+ --color-purple-700: #6d28d9;
57
+ --color-purple-800: #5b21b6;
58
+ --color-purple-900: #4c1d95;
59
+ --color-purple-950: #2e1065;
60
+
61
+ --color-blue-50: #eff6ff;
62
+ --color-blue-100: #dbeafe;
63
+ --color-blue-200: #bfdbfe;
64
+ --color-blue-300: #93c5fd;
65
+ --color-blue-400: #60a5fa;
66
+ --color-blue-500: #3b82f6;
67
+ --color-blue-600: #2563eb;
68
+ --color-blue-700: #1d4ed8;
69
+ --color-blue-800: #1e40af;
70
+ --color-blue-900: #1e3a8a;
71
+ --color-blue-950: #172554;
72
+
73
+ --color-green-50: #ecfdf5;
74
+ --color-green-100: #d1fae5;
75
+ --color-green-200: #a7f3d0;
76
+ --color-green-300: #6ee7b7;
77
+ --color-green-400: #34d399;
78
+ --color-green-500: #10b981;
79
+ --color-green-600: #059669;
80
+ --color-green-700: #047857;
81
+ --color-green-800: #065f46;
82
+ --color-green-900: #064e3b;
83
+ --color-green-950: #022c22;
84
+
85
+ --color-primary-50: #fff4f0;
86
+ --color-primary-100: #ffe6db;
87
+ --color-primary-200: #ffccb8;
88
+ --color-primary-300: #ff9e7a;
89
+ --color-primary-400: #ff4b00;
90
+ --color-primary-500: #e63e00;
91
+ --color-primary-600: #cc3700;
92
+ --color-primary-700: #b32f00;
93
+ --color-primary-800: #992800;
94
+ --color-primary-900: #802000;
95
+ --color-primary-950: #4d1300;
96
+
97
+ --color-red-50: #fff1f2;
98
+ --color-red-100: #ffe4e6;
99
+ --color-red-200: #fecdd3;
100
+ --color-red-300: #fda4af;
101
+ --color-red-400: #fb7185;
102
+ --color-red-500: #f43f5e;
103
+ --color-red-600: #e11d48;
104
+ --color-red-700: #be123c;
105
+ --color-red-800: #9f1239;
106
+ --color-red-900: #881337;
107
+ --color-red-950: #4c0519;
108
+
109
+ --color-orange-50: #fff7ed;
110
+ --color-orange-100: #ffedd5;
111
+ --color-orange-200: #fed7aa;
112
+ --color-orange-300: #fdba74;
113
+ --color-orange-400: #fb923c;
114
+ --color-orange-500: #f97316;
115
+ --color-orange-600: #ea580c;
116
+ --color-orange-700: #c2410c;
117
+ --color-orange-800: #9a3412;
118
+ --color-orange-900: #7c2d12;
119
+ --color-orange-950: #431407;
120
+
121
+ --color-accent-purple: #af52de;
122
+ --color-accent-indigo: #5856d6;
123
+ --color-accent-mint: #00c7be;
124
+ --color-accent-green: #28cd41;
125
+ --color-accent-teal: #59adc4;
126
+ --color-accent-brown: #a2845e;
127
+ --color-accent-blue: #007aff;
128
+ --color-accent-orange: #ff9500;
129
+ --color-accent-yellow: #ffcc00;
130
+ --color-accent-pink: #ff2d55;
131
+ --color-accent-gray: #8e8e93;
132
+ --color-accent-cyan: #55bef0;
133
+ --color-accent-red: #ff3b30;
134
+
135
+ --color-alpha-white-0: rgba(255, 255, 255, 0);
136
+ --color-alpha-white-2: rgba(255, 255, 255, 0.02);
137
+ --color-alpha-white-4: rgba(255, 255, 255, 0.04);
138
+ --color-alpha-white-6: rgba(255, 255, 255, 0.06);
139
+ --color-alpha-white-8: rgba(255, 255, 255, 0.08);
140
+ --color-alpha-white-10: rgba(255, 255, 255, 0.1);
141
+ --color-alpha-white-12: rgba(255, 255, 255, 0.12);
142
+ --color-alpha-white-16: rgba(255, 255, 255, 0.16);
143
+ --color-alpha-white-24: rgba(255, 255, 255, 0.24);
144
+ --color-alpha-white-40: rgba(255, 255, 255, 0.4);
145
+ --color-alpha-white-56: rgba(255, 255, 255, 0.56);
146
+ --color-alpha-white-64: rgba(255, 255, 255, 0.64);
147
+ --color-alpha-white-72: rgba(255, 255, 255, 0.72);
148
+ --color-alpha-white-80: rgba(255, 255, 255, 0.8);
149
+ --color-alpha-white-88: rgba(255, 255, 255, 0.88);
150
+
151
+ --color-alpha-black-0: rgba(24, 24, 27, 0);
152
+ --color-alpha-black-2: rgba(24, 24, 27, 0.02);
153
+ --color-alpha-black-4: rgba(24, 24, 27, 0.04);
154
+ --color-alpha-black-6: rgba(24, 24, 27, 0.06);
155
+ --color-alpha-black-8: rgba(24, 24, 27, 0.08);
156
+ --color-alpha-black-10: rgba(24, 24, 27, 0.1);
157
+ --color-alpha-black-12: rgba(24, 24, 27, 0.12);
158
+ --color-alpha-black-16: rgba(24, 24, 27, 0.16);
159
+ --color-alpha-black-24: rgba(24, 24, 27, 0.24);
160
+ --color-alpha-black-40: rgba(24, 24, 27, 0.4);
161
+ --color-alpha-black-56: rgba(24, 24, 27, 0.56);
162
+ --color-alpha-black-64: rgba(24, 24, 27, 0.64);
163
+ --color-alpha-black-72: rgba(24, 24, 27, 0.72);
164
+ --color-alpha-black-80: rgba(24, 24, 27, 0.8);
165
+ --color-alpha-black-88: rgba(24, 24, 27, 0.88);
166
+
167
+ /* Design Token Variables - Light Mode */
168
+ /* Background */
169
+ --background-components-hover: var(--color-neutral-100);
170
+ --background-neutral-base: var(--color-neutral-0);
171
+ --background-components-pressed: var(--color-neutral-200);
172
+ --background-subtle-pressed: var(--color-neutral-200);
173
+ --background-highlight-interactive: var(--color-primary-500);
174
+ --background-subtle-hover: var(--color-neutral-100);
175
+ --background-highlight-hover: var(--color-primary-100);
176
+ --background-field-base: var(--color-neutral-0);
177
+ --background-neutral-pressed: var(--color-neutral-200);
178
+ --background-highlight-base: var(--color-primary-50);
179
+ --background-neutral-hover: var(--color-neutral-100);
180
+ --background-neutral-overlay: var(--color-neutral-0);
181
+ --background-components-base: var(--color-neutral-50);
182
+ --background-field-component: var(--color-neutral-0);
183
+ --background-switch-off-hover: var(--color-neutral-300);
184
+ --background-field-component-hover: var(--color-neutral-50);
185
+ --background-subtle-base: var(--color-alpha-black-2);
186
+ --background-neutral-disabled: var(--color-neutral-100);
187
+ --background-field-hover: var(--color-neutral-100);
188
+ --background-switch-off: var(--color-neutral-200);
189
+ --background-contrast-subtle: var(--color-neutral-800);
190
+ --background-contrast-hover: var(--color-neutral-800);
191
+ --background-contrast-pressed: var(--color-neutral-700);
192
+ --background-contrast-base: var(--color-neutral-900);
193
+ --background-neutral-background: var(--color-neutral-50);
194
+ --background-backdrop-backdrop: var(--color-neutral-0);
195
+
196
+ /* Button Background */
197
+ --background-button-transparent-default: var(--color-alpha-white-0);
198
+ --background-button-neutral-hover: var(--color-neutral-100);
199
+ --background-button-danger-hover: var(--color-red-700);
200
+ --background-button-neutral-pressed: var(--color-neutral-200);
201
+ --background-button-neutral-default: var(--color-neutral-0);
202
+ --background-button-transparent-hover: var(--color-alpha-white-6);
203
+ --background-button-inverted-pressed: var(--color-neutral-600);
204
+ --background-button-transparent-pressed: var(--color-alpha-white-10);
205
+ --background-button-danger-pressed: var(--color-red-800);
206
+ --background-button-inverted-hover: var(--color-neutral-700);
207
+ --background-button-danger-default: var(--color-red-600);
208
+ --background-button-inverted-default: var(--color-neutral-800);
209
+
210
+ /* Accent Background */
211
+ --background-accent-neutral-soft: var(--color-neutral-600);
212
+ --background-accent-neutral-strong: var(--color-neutral-500);
213
+ --background-accent-neutral-white: var(--color-neutral-600);
214
+ --background-accent-blue-soft: var(--color-blue-800);
215
+ --background-accent-blue-base: var(--color-blue-500);
216
+ --background-accent-blue-strong: var(--color-blue-500);
217
+ --background-accent-purple-soft: var(--color-purple-800);
218
+ --background-accent-purple-base: var(--color-purple-500);
219
+ --background-accent-purple-strong: var(--color-purple-500);
220
+ --background-accent-success-soft: var(--color-green-800);
221
+ --background-accent-success-base: var(--color-green-500);
222
+ --background-accent-success-strong: var(--color-green-500);
223
+ --background-accent-warning-soft: var(--color-orange-800);
224
+ --background-accent-warning-base: var(--color-orange-500);
225
+ --background-accent-warning-strong: var(--color-orange-500);
226
+ --background-accent-error-soft: var(--color-red-800);
227
+ --background-accent-error-base: var(--color-red-500);
228
+ --background-accent-error-strong: var(--color-red-500);
229
+
230
+ /* Foreground */
231
+ --foreground-highlight-interactive-hover: var(--color-primary-500);
232
+ --foreground-neutral-muted: var(--color-neutral-500);
233
+ --foreground-neutral-base: var(--color-neutral-950);
234
+ --foreground-neutral-subtle: var(--color-neutral-600);
235
+ --foreground-highlight-interactive: var(--color-primary-400);
236
+ --foreground-neutral-on-color: var(--color-neutral-0);
237
+ --foreground-highlight-error: var(--color-red-600);
238
+ --foreground-neutral-on-inverted: var(--color-neutral-0);
239
+ --foreground-neutral-disabled: var(--color-neutral-400);
240
+ --foreground-contrast-base: var(--color-neutral-900);
241
+ --foreground-contrast-primary: var(--color-alpha-white-88);
242
+ --foreground-contrast-secondary: var(--color-alpha-white-56);
243
+
244
+ /* Border */
245
+ --border-neutral-transparent: var(--color-alpha-white-0);
246
+ --border-neutral-menu-top: var(--color-neutral-200);
247
+ --border-highlights-danger: var(--color-red-700);
248
+ --border-highlights-interactive: var(--color-primary-500);
249
+ --border-highlights-error: var(--color-red-600);
250
+ --border-neutral-strong: var(--color-neutral-300);
251
+ --border-neutral-menu-bottom: var(--color-neutral-0);
252
+ --border-neutral-base-component: var(--color-neutral-300);
253
+ --border-neutral-base: var(--color-neutral-300);
254
+ --border-contrast-top: var(--color-neutral-900);
255
+ --border-contrast-base: var(--color-alpha-white-16);
256
+ --border-contrast-bottom: var(--color-alpha-white-8);
257
+
258
+ /* Tag Colors */
259
+ --tag-blue-text: var(--color-blue-800);
260
+ --tag-neutral-bg-hover: var(--color-neutral-200);
261
+ --tag-error-bg-hover: var(--color-red-200);
262
+ --tag-error-bg: var(--color-red-100);
263
+ --tag-success-bg-hover: var(--color-green-200);
264
+ --tag-error-border: var(--color-red-200);
265
+ --tag-neutral-text: var(--color-neutral-600);
266
+ --tag-warning-bg: var(--color-orange-100);
267
+ --tag-error-icon: var(--color-red-500);
268
+ --tag-error-text: var(--color-red-800);
269
+ --tag-warning-icon: var(--color-orange-400);
270
+ --tag-warning-text: var(--color-orange-200);
271
+ --tag-success-bg: var(--color-green-100);
272
+ --tag-success-border: var(--color-green-200);
273
+ --tag-success-text: var(--color-green-800);
274
+ --tag-purple-icon: var(--color-purple-500);
275
+ --tag-neutral-icon: var(--color-neutral-500);
276
+ --tag-success-icon: var(--color-green-500);
277
+ --tag-purple-bg-hover: var(--color-purple-200);
278
+ --tag-neutral-bg: var(--color-neutral-100);
279
+ --tag-neutral-border: var(--color-neutral-200);
280
+ --tag-blue-icon: var(--color-blue-500);
281
+ --tag-purple-bg: var(--color-purple-100);
282
+ --tag-blue-bg: var(--color-blue-100);
283
+ --tag-blue-border: var(--color-blue-200);
284
+ --tag-purple-border: var(--color-purple-200);
285
+ --tag-warning-bg-hover: var(--color-orange-200);
286
+ --tag-warning-border: var(--color-orange-200);
287
+ --tag-purple-text: var(--color-purple-800);
288
+ --tag-blue-bg-hover: var(--color-blue-200);
289
+
290
+ /* Alpha */
291
+ --alpha-250: var(--color-alpha-black-10);
292
+ --alpha-400: var(--color-alpha-black-24);
293
+ }
294
+
295
+ .dark {
296
+ /* Design Token Variables - Dark Mode */
297
+ /* Background */
298
+ --background-components-hover: var(--color-alpha-white-10);
299
+ --background-neutral-base: var(--color-neutral-900);
300
+ --background-components-pressed: var(--color-alpha-white-16);
301
+ --background-subtle-pressed: var(--color-neutral-800);
302
+ --background-highlight-interactive: var(--color-primary-400);
303
+ --background-subtle-hover: var(--color-neutral-900);
304
+ --background-highlight-hover: var(--color-primary-900);
305
+ --background-field-base: var(--color-alpha-white-4);
306
+ --background-neutral-pressed: var(--color-neutral-700);
307
+ --background-highlight-base: var(--color-primary-950);
308
+ --background-neutral-hover: var(--color-neutral-800);
309
+ --background-neutral-overlay: var(--color-neutral-800);
310
+ --background-components-base: var(--color-neutral-900);
311
+ --background-field-component: var(--color-neutral-900);
312
+ --background-switch-off-hover: var(--color-neutral-600);
313
+ --background-field-component-hover: var(--color-neutral-800);
314
+ --background-subtle-base: var(--color-neutral-950);
315
+ --background-neutral-disabled: var(--color-neutral-800);
316
+ --background-field-hover: var(--color-alpha-white-8);
317
+ --background-switch-off: var(--color-neutral-700);
318
+ --background-contrast-subtle: var(--color-alpha-white-2);
319
+ --background-contrast-hover: var(--color-alpha-white-8);
320
+ --background-contrast-pressed: var(--color-alpha-white-12);
321
+ --background-contrast-base: var(--color-neutral-800);
322
+ --background-neutral-background: var(--color-neutral-1000);
323
+ --background-backdrop-backdrop: var(--color-alpha-black-64);
324
+
325
+ /* Button Background */
326
+ --background-button-transparent-default: var(--color-alpha-white-0);
327
+ --background-button-neutral-hover: var(--color-alpha-white-8);
328
+ --background-button-danger-hover: var(--color-red-700);
329
+ --background-button-neutral-pressed: var(--color-alpha-white-12);
330
+ --background-button-neutral-default: var(--color-alpha-white-4);
331
+ --background-button-transparent-hover: var(--color-alpha-white-8);
332
+ --background-button-inverted-pressed: var(--color-neutral-400);
333
+ --background-button-transparent-pressed: var(--color-alpha-white-12);
334
+ --background-button-danger-pressed: var(--color-red-600);
335
+ --background-button-inverted-hover: var(--color-neutral-500);
336
+ --background-button-danger-default: var(--color-red-800);
337
+ --background-button-inverted-default: var(--color-neutral-600);
338
+
339
+ /* Accent Background */
340
+ --background-accent-neutral-soft: var(--color-neutral-300);
341
+ --background-accent-neutral-strong: var(--color-neutral-400);
342
+ --background-accent-neutral-white: var(--color-neutral-0);
343
+ --background-accent-blue-soft: var(--color-blue-300);
344
+ --background-accent-blue-base: var(--color-blue-400);
345
+ --background-accent-blue-strong: var(--color-blue-500);
346
+ --background-accent-purple-soft: var(--color-purple-300);
347
+ --background-accent-purple-base: var(--color-purple-400);
348
+ --background-accent-purple-strong: var(--color-purple-500);
349
+ --background-accent-success-soft: var(--color-green-400);
350
+ --background-accent-success-base: var(--color-green-500);
351
+ --background-accent-success-strong: var(--color-green-600);
352
+ --background-accent-warning-soft: var(--color-orange-300);
353
+ --background-accent-warning-base: var(--color-orange-400);
354
+ --background-accent-warning-strong: var(--color-orange-500);
355
+ --background-accent-error-soft: var(--color-red-300);
356
+ --background-accent-error-base: var(--color-red-400);
357
+ --background-accent-error-strong: var(--color-red-500);
358
+
359
+ /* Foreground */
360
+ --foreground-highlight-interactive-hover: var(--color-primary-300);
361
+ --foreground-neutral-muted: var(--color-neutral-500);
362
+ --foreground-neutral-base: var(--color-neutral-100);
363
+ --foreground-neutral-subtle: var(--color-neutral-400);
364
+ --foreground-highlight-interactive: var(--color-primary-400);
365
+ --foreground-neutral-on-color: var(--color-neutral-0);
366
+ --foreground-highlight-error: var(--color-red-400);
367
+ --foreground-neutral-on-inverted: var(--color-neutral-950);
368
+ --foreground-neutral-disabled: var(--color-neutral-600);
369
+ --foreground-contrast-base: var(--color-neutral-800);
370
+ --foreground-contrast-primary: var(--color-alpha-white-88);
371
+ --foreground-contrast-secondary: var(--color-alpha-white-56);
372
+
373
+ /* Border */
374
+ --border-neutral-transparent: var(--color-alpha-white-0);
375
+ --border-neutral-menu-top: var(--color-neutral-900);
376
+ --border-highlights-danger: var(--color-red-700);
377
+ --border-highlights-interactive: var(--color-primary-400);
378
+ --border-highlights-error: var(--color-red-400);
379
+ --border-neutral-strong: var(--color-alpha-white-16);
380
+ --border-neutral-menu-bottom: var(--color-alpha-white-8);
381
+ --border-neutral-base-component: var(--color-alpha-white-10);
382
+ --border-neutral-base: var(--color-neutral-800);
383
+ --border-contrast-top: var(--color-neutral-950);
384
+ --border-contrast-base: var(--color-alpha-white-16);
385
+ --border-contrast-bottom: var(--color-alpha-white-10);
386
+
387
+ /* Tag Colors */
388
+ --tag-blue-text: var(--color-blue-300);
389
+ --tag-neutral-bg-hover: var(--color-neutral-600);
390
+ --tag-error-bg-hover: var(--color-red-900);
391
+ --tag-error-bg: var(--color-red-950);
392
+ --tag-success-bg-hover: var(--color-green-900);
393
+ --tag-error-border: var(--color-red-900);
394
+ --tag-neutral-text: var(--color-neutral-300);
395
+ --tag-warning-bg: var(--color-orange-950);
396
+ --tag-error-icon: var(--color-red-400);
397
+ --tag-error-text: var(--color-red-300);
398
+ --tag-warning-icon: var(--color-orange-400);
399
+ --tag-warning-text: var(--color-orange-300);
400
+ --tag-success-bg: var(--color-green-950);
401
+ --tag-success-border: var(--color-green-900);
402
+ --tag-success-text: var(--color-green-400);
403
+ --tag-purple-icon: var(--color-purple-400);
404
+ --tag-neutral-icon: var(--color-neutral-400);
405
+ --tag-success-icon: var(--color-green-500);
406
+ --tag-purple-bg-hover: var(--color-purple-800);
407
+ --tag-neutral-bg: var(--color-neutral-700);
408
+ --tag-neutral-border: var(--color-alpha-white-10);
409
+ --tag-blue-icon: var(--color-blue-400);
410
+ --tag-purple-bg: var(--color-purple-950);
411
+ --tag-blue-bg: var(--color-blue-950);
412
+ --tag-blue-border: var(--color-blue-900);
413
+ --tag-purple-border: var(--color-purple-800);
414
+ --tag-warning-bg-hover: var(--color-orange-900);
415
+ --tag-warning-border: var(--color-orange-900);
416
+ --tag-purple-text: var(--color-purple-300);
417
+ --tag-blue-bg-hover: var(--color-blue-900);
418
+
419
+ /* Alpha Values */
420
+ --alpha-250: var(--color-alpha-white-10);
421
+ --alpha-400: var(--color-alpha-white-24);
422
+
423
+ /* Shadow */
424
+ --shadow-button-inverted:
425
+ 0 -1px 0 0 var(--color-alpha-white-12), 0 0 0 1px var(--color-alpha-white-10), 0 0 0 1px
426
+ var(--color-neutral-600), 0 0 1px 1.5px var(--color-alpha-black-24), 0 2px 2px 0
427
+ var(--color-alpha-black-24);
428
+ --shadow-button-inverted-focus:
429
+ 0 -1px 0 0 var(--color-alpha-white-12), 0 0 0 1px var(--color-alpha-white-12), 0 0 0 1px
430
+ var(--color-neutral-600), 0 0 0 2px var(--color-neutral-950), 0 0 0 4px var(--color-primary-500);
431
+ --shadow-button-neutral:
432
+ 0 -1px 0 0 var(--color-alpha-white-6), 0 0 0 1px var(--color-alpha-white-6), 0 0 0 1px
433
+ var(--color-neutral-800), 0 0 1px 1.5px var(--color-alpha-black-24), 0 2px 2px 0
434
+ var(--color-alpha-black-24);
435
+ --shadow-button-neutral-focus:
436
+ 0 -1px 0 0 var(--color-alpha-white-6), 0 0 0 1px var(--color-alpha-white-6), 0 0 0 1px
437
+ var(--color-neutral-800), 0 0 0 2px var(--color-neutral-950), 0 0 0 4px var(--color-primary-500);
438
+ --shadow-button-danger:
439
+ 0 -1px 0 0 var(--color-alpha-white-16), 0 0 0 1px var(--color-alpha-white-12), 0 0 0 1px
440
+ var(--color-red-700), 0 0 1px 1.5px var(--color-alpha-black-24), 0 2px 2px 0
441
+ var(--color-alpha-black-24);
442
+ --shadow-button-danger-focus:
443
+ 0 -1px 0 0 var(--color-alpha-white-16), 0 0 0 1px var(--color-alpha-white-12), 0 0 0 1px
444
+ var(--color-red-700), 0 0 0 2px var(--color-neutral-950), 0 0 0 4px var(--color-primary-500);
445
+ }
446
+
447
+ @theme inline {
448
+ /* Color Primitives */
449
+ --color-neutral-0: var(--color-neutral-0);
450
+ --color-neutral-50: var(--color-neutral-50);
451
+ --color-neutral-100: var(--color-neutral-100);
452
+ --color-neutral-200: var(--color-neutral-200);
453
+ --color-neutral-300: var(--color-neutral-300);
454
+ --color-neutral-400: var(--color-neutral-400);
455
+ --color-neutral-500: var(--color-neutral-500);
456
+ --color-neutral-600: var(--color-neutral-600);
457
+ --color-neutral-700: var(--color-neutral-700);
458
+ --color-neutral-800: var(--color-neutral-800);
459
+ --color-neutral-900: var(--color-neutral-900);
460
+ --color-neutral-950: var(--color-neutral-950);
461
+ --color-neutral-1000: var(--color-neutral-1000);
462
+
463
+ --color-purple-50: var(--color-purple-50);
464
+ --color-purple-100: var(--color-purple-100);
465
+ --color-purple-200: var(--color-purple-200);
466
+ --color-purple-300: var(--color-purple-300);
467
+ --color-purple-400: var(--color-purple-400);
468
+ --color-purple-500: var(--color-purple-500);
469
+ --color-purple-600: var(--color-purple-600);
470
+ --color-purple-700: var(--color-purple-700);
471
+ --color-purple-800: var(--color-purple-800);
472
+ --color-purple-900: var(--color-purple-900);
473
+ --color-purple-950: var(--color-purple-950);
474
+
475
+ --color-blue-50: var(--color-blue-50);
476
+ --color-blue-100: var(--color-blue-100);
477
+ --color-blue-200: var(--color-blue-200);
478
+ --color-blue-300: var(--color-blue-300);
479
+ --color-blue-400: var(--color-blue-400);
480
+ --color-blue-500: var(--color-blue-500);
481
+ --color-blue-600: var(--color-blue-600);
482
+ --color-blue-700: var(--color-blue-700);
483
+ --color-blue-800: var(--color-blue-800);
484
+ --color-blue-900: var(--color-blue-900);
485
+ --color-blue-950: var(--color-blue-950);
486
+
487
+ --color-green-50: var(--color-green-50);
488
+ --color-green-100: var(--color-green-100);
489
+ --color-green-200: var(--color-green-200);
490
+ --color-green-300: var(--color-green-300);
491
+ --color-green-400: var(--color-green-400);
492
+ --color-green-500: var(--color-green-500);
493
+ --color-green-600: var(--color-green-600);
494
+ --color-green-700: var(--color-green-700);
495
+ --color-green-800: var(--color-green-800);
496
+ --color-green-900: var(--color-green-900);
497
+ --color-green-950: var(--color-green-950);
498
+
499
+ --color-primary-50: var(--color-primary-50);
500
+ --color-primary-100: var(--color-primary-100);
501
+ --color-primary-200: var(--color-primary-200);
502
+ --color-primary-300: var(--color-primary-300);
503
+ --color-primary-400: var(--color-primary-400);
504
+ --color-primary-500: var(--color-primary-500);
505
+ --color-primary-600: var(--color-primary-600);
506
+ --color-primary-700: var(--color-primary-700);
507
+ --color-primary-800: var(--color-primary-800);
508
+ --color-primary-900: var(--color-primary-900);
509
+ --color-primary-950: var(--color-primary-950);
510
+
511
+ --color-red-50: var(--color-red-50);
512
+ --color-red-100: var(--color-red-100);
513
+ --color-red-200: var(--color-red-200);
514
+ --color-red-300: var(--color-red-300);
515
+ --color-red-400: var(--color-red-400);
516
+ --color-red-500: var(--color-red-500);
517
+ --color-red-600: var(--color-red-600);
518
+ --color-red-700: var(--color-red-700);
519
+ --color-red-800: var(--color-red-800);
520
+ --color-red-900: var(--color-red-900);
521
+ --color-red-950: var(--color-red-950);
522
+
523
+ --color-orange-50: var(--color-orange-50);
524
+ --color-orange-100: var(--color-orange-100);
525
+ --color-orange-200: var(--color-orange-200);
526
+ --color-orange-300: var(--color-orange-300);
527
+ --color-orange-400: var(--color-orange-400);
528
+ --color-orange-500: var(--color-orange-500);
529
+ --color-orange-600: var(--color-orange-600);
530
+ --color-orange-700: var(--color-orange-700);
531
+ --color-orange-800: var(--color-orange-800);
532
+ --color-orange-900: var(--color-orange-900);
533
+ --color-orange-950: var(--color-orange-950);
534
+
535
+ --color-accent-purple: var(--color-accent-purple);
536
+ --color-accent-indigo: var(--color-accent-indigo);
537
+ --color-accent-mint: var(--color-accent-mint);
538
+ --color-accent-green: var(--color-accent-green);
539
+ --color-accent-teal: var(--color-accent-teal);
540
+ --color-accent-brown: var(--color-accent-brown);
541
+ --color-accent-blue: var(--color-accent-blue);
542
+ --color-accent-orange: var(--color-accent-orange);
543
+ --color-accent-yellow: var(--color-accent-yellow);
544
+ --color-accent-pink: var(--color-accent-pink);
545
+ --color-accent-gray: var(--color-accent-gray);
546
+ --color-accent-cyan: var(--color-accent-cyan);
547
+ --color-accent-red: var(--color-accent-red);
548
+
549
+ /* Alpha */
550
+ --color-alpha-white-0: var(--color-alpha-white-0);
551
+ --color-alpha-white-2: var(--color-alpha-white-2);
552
+ --color-alpha-white-4: var(--color-alpha-white-4);
553
+ --color-alpha-white-6: var(--color-alpha-white-6);
554
+ --color-alpha-white-8: var(--color-alpha-white-8);
555
+ --color-alpha-white-10: var(--color-alpha-white-10);
556
+ --color-alpha-white-12: var(--color-alpha-white-12);
557
+ --color-alpha-white-16: var(--color-alpha-white-16);
558
+ --color-alpha-white-24: var(--color-alpha-white-24);
559
+ --color-alpha-white-40: var(--color-alpha-white-40);
560
+ --color-alpha-white-56: var(--color-alpha-white-56);
561
+ --color-alpha-white-64: var(--color-alpha-white-64);
562
+ --color-alpha-white-72: var(--color-alpha-white-72);
563
+ --color-alpha-white-80: var(--color-alpha-white-80);
564
+ --color-alpha-white-88: var(--color-alpha-white-88);
565
+
566
+ --color-alpha-black-0: var(--color-alpha-black-0);
567
+ --color-alpha-black-2: var(--color-alpha-black-2);
568
+ --color-alpha-black-4: var(--color-alpha-black-4);
569
+ --color-alpha-black-6: var(--color-alpha-black-6);
570
+ --color-alpha-black-8: var(--color-alpha-black-8);
571
+ --color-alpha-black-10: var(--color-alpha-black-10);
572
+ --color-alpha-black-12: var(--color-alpha-black-12);
573
+ --color-alpha-black-16: var(--color-alpha-black-16);
574
+ --color-alpha-black-24: var(--color-alpha-black-24);
575
+ --color-alpha-black-40: var(--color-alpha-black-40);
576
+ --color-alpha-black-56: var(--color-alpha-black-56);
577
+ --color-alpha-black-64: var(--color-alpha-black-64);
578
+ --color-alpha-black-72: var(--color-alpha-black-72);
579
+ --color-alpha-black-80: var(--color-alpha-black-80);
580
+ --color-alpha-black-88: var(--color-alpha-black-88);
581
+
582
+ /* Aliases for common utilities */
583
+ --color-background: var(--background-neutral-base);
584
+ --color-foreground: var(--foreground-neutral-base);
585
+ --color-text: var(--foreground-neutral-base);
586
+ --color-border: var(--border-neutral-base);
587
+
588
+ /* Theme tokens - background */
589
+ --color-background-components-hover: var(--background-components-hover);
590
+ --color-background-neutral-base: var(--background-neutral-base);
591
+ --color-background-components-pressed: var(--background-components-pressed);
592
+ --color-background-subtle-pressed: var(--background-subtle-pressed);
593
+ --color-background-highlight-interactive: var(--background-highlight-interactive);
594
+ --color-background-subtle-hover: var(--background-subtle-hover);
595
+ --color-background-highlight-hover: var(--background-highlight-hover);
596
+ --color-background-field-base: var(--background-field-base);
597
+ --color-background-neutral-pressed: var(--background-neutral-pressed);
598
+ --color-background-highlight-base: var(--background-highlight-base);
599
+ --color-background-neutral-hover: var(--background-neutral-hover);
600
+ --color-background-neutral-overlay: var(--background-neutral-overlay);
601
+ --color-background-components-base: var(--background-components-base);
602
+ --color-background-field-component: var(--background-field-component);
603
+ --color-background-switch-off-hover: var(--background-switch-off-hover);
604
+ --color-background-field-component-hover: var(--background-field-component-hover);
605
+ --color-background-subtle-base: var(--background-subtle-base);
606
+ --color-background-neutral-disabled: var(--background-neutral-disabled);
607
+ --color-background-field-hover: var(--background-field-hover);
608
+ --color-background-switch-off: var(--background-switch-off);
609
+ --color-background-contrast-subtle: var(--background-contrast-subtle);
610
+ --color-background-contrast-hover: var(--background-contrast-hover);
611
+ --color-background-contrast-pressed: var(--background-contrast-pressed);
612
+ --color-background-contrast-base: var(--background-contrast-base);
613
+ --color-background-neutral-background: var(--background-neutral-background);
614
+ --color-background-backdrop-backdrop: var(--background-backdrop-backdrop);
615
+
616
+ /* Theme tokens - button background */
617
+ --color-background-button-transparent-default: var(--background-button-transparent-default);
618
+ --color-background-button-neutral-hover: var(--background-button-neutral-hover);
619
+ --color-background-button-danger-hover: var(--background-button-danger-hover);
620
+ --color-background-button-neutral-pressed: var(--background-button-neutral-pressed);
621
+ --color-background-button-neutral-default: var(--background-button-neutral-default);
622
+ --color-background-button-transparent-hover: var(--background-button-transparent-hover);
623
+ --color-background-button-inverted-pressed: var(--background-button-inverted-pressed);
624
+ --color-background-button-transparent-pressed: var(--background-button-transparent-pressed);
625
+ --color-background-button-danger-pressed: var(--background-button-danger-pressed);
626
+ --color-background-button-inverted-hover: var(--background-button-inverted-hover);
627
+ --color-background-button-danger-default: var(--background-button-danger-default);
628
+ --color-background-button-inverted-default: var(--background-button-inverted-default);
629
+
630
+ /* Theme tokens - accent background */
631
+ --color-background-accent-neutral-soft: var(--background-accent-neutral-soft);
632
+ --color-background-accent-neutral-strong: var(--background-accent-neutral-strong);
633
+ --color-background-accent-neutral-white: var(--background-accent-neutral-white);
634
+ --color-background-accent-blue-soft: var(--background-accent-blue-soft);
635
+ --color-background-accent-blue-base: var(--background-accent-blue-base);
636
+ --color-background-accent-blue-strong: var(--background-accent-blue-strong);
637
+ --color-background-accent-purple-soft: var(--background-accent-purple-soft);
638
+ --color-background-accent-purple-base: var(--background-accent-purple-base);
639
+ --color-background-accent-purple-strong: var(--background-accent-purple-strong);
640
+ --color-background-accent-success-soft: var(--background-accent-success-soft);
641
+ --color-background-accent-success-base: var(--background-accent-success-base);
642
+ --color-background-accent-success-strong: var(--background-accent-success-strong);
643
+ --color-background-accent-warning-soft: var(--background-accent-warning-soft);
644
+ --color-background-accent-warning-base: var(--background-accent-warning-base);
645
+ --color-background-accent-warning-strong: var(--background-accent-warning-strong);
646
+ --color-background-accent-error-soft: var(--background-accent-error-soft);
647
+ --color-background-accent-error-base: var(--background-accent-error-base);
648
+ --color-background-accent-error-strong: var(--background-accent-error-strong);
649
+
650
+ /* Theme tokens - foreground */
651
+ --color-foreground-highlight-interactive-hover: var(--foreground-highlight-interactive-hover);
652
+ --color-foreground-neutral-muted: var(--foreground-neutral-muted);
653
+ --color-foreground-neutral-base: var(--foreground-neutral-base);
654
+ --color-foreground-neutral-subtle: var(--foreground-neutral-subtle);
655
+ --color-foreground-highlight-interactive: var(--foreground-highlight-interactive);
656
+ --color-foreground-neutral-on-color: var(--foreground-neutral-on-color);
657
+ --color-foreground-highlight-error: var(--foreground-highlight-error);
658
+ --color-foreground-neutral-on-inverted: var(--foreground-neutral-on-inverted);
659
+ --color-foreground-neutral-disabled: var(--foreground-neutral-disabled);
660
+ --color-foreground-contrast-base: var(--foreground-contrast-base);
661
+ --color-foreground-contrast-primary: var(--foreground-contrast-primary);
662
+ --color-foreground-contrast-secondary: var(--foreground-contrast-secondary);
663
+
664
+ /* Theme tokens - border */
665
+ --color-border-neutral-transparent: var(--border-neutral-transparent);
666
+ --color-border-neutral-menu-top: var(--border-neutral-menu-top);
667
+ --color-border-highlights-danger: var(--border-highlights-danger);
668
+ --color-border-highlights-interactive: var(--border-highlights-interactive);
669
+ --color-border-highlights-error: var(--border-highlights-error);
670
+ --color-border-neutral-strong: var(--border-neutral-strong);
671
+ --color-border-neutral-menu-bottom: var(--border-neutral-menu-bottom);
672
+ --color-border-neutral-base-component: var(--border-neutral-base-component);
673
+ --color-border-neutral-base: var(--border-neutral-base);
674
+ --color-border-contrast-top: var(--border-contrast-top);
675
+ --color-border-contrast-base: var(--border-contrast-base);
676
+ --color-border-contrast-bottom: var(--border-contrast-bottom);
677
+
678
+ /* Theme tokens - tag */
679
+ --color-tag-blue-text: var(--tag-blue-text);
680
+ --color-tag-neutral-bg-hover: var(--tag-neutral-bg-hover);
681
+ --color-tag-error-bg-hover: var(--tag-error-bg-hover);
682
+ --color-tag-error-bg: var(--tag-error-bg);
683
+ --color-tag-success-bg-hover: var(--tag-success-bg-hover);
684
+ --color-tag-error-border: var(--tag-error-border);
685
+ --color-tag-neutral-text: var(--tag-neutral-text);
686
+ --color-tag-warning-bg: var(--tag-warning-bg);
687
+ --color-tag-error-icon: var(--tag-error-icon);
688
+ --color-tag-error-text: var(--tag-error-text);
689
+ --color-tag-warning-icon: var(--tag-warning-icon);
690
+ --color-tag-warning-text: var(--tag-warning-text);
691
+ --color-tag-success-bg: var(--tag-success-bg);
692
+ --color-tag-success-border: var(--tag-success-border);
693
+ --color-tag-success-text: var(--tag-success-text);
694
+ --color-tag-purple-icon: var(--tag-purple-icon);
695
+ --color-tag-neutral-icon: var(--tag-neutral-icon);
696
+ --color-tag-success-icon: var(--tag-success-icon);
697
+ --color-tag-purple-bg-hover: var(--tag-purple-bg-hover);
698
+ --color-tag-neutral-bg: var(--tag-neutral-bg);
699
+ --color-tag-neutral-border: var(--tag-neutral-border);
700
+ --color-tag-blue-icon: var(--tag-blue-icon);
701
+ --color-tag-purple-bg: var(--tag-purple-bg);
702
+ --color-tag-blue-bg: var(--tag-blue-bg);
703
+ --color-tag-blue-border: var(--tag-blue-border);
704
+ --color-tag-purple-border: var(--tag-purple-border);
705
+ --color-tag-warning-bg-hover: var(--tag-warning-bg-hover);
706
+ --color-tag-warning-border: var(--tag-warning-border);
707
+ --color-tag-purple-text: var(--tag-purple-text);
708
+ --color-tag-blue-bg-hover: var(--tag-blue-bg-hover);
709
+
710
+ /* Theme tokens - alpha */
711
+ --color-alpha-250: var(--alpha-250);
712
+ --color-alpha-400: var(--alpha-400);
713
+
714
+ /* Spacing */
715
+ --spacing: 1px;
716
+
717
+ /* Radius */
718
+ --radius-2: 2px;
719
+ --radius-3: 3px;
720
+ --radius-4: 4px;
721
+ --radius-6: 6px;
722
+ --radius-8: 8px;
723
+ --radius-10: 10px;
724
+ --radius-12: 12px;
725
+ --radius-16: 16px;
726
+ --radius-20: 20px;
727
+ --radius-24: 24px;
728
+
729
+ /* Font Size */
730
+ --text-xs: 12px;
731
+ --text-xs--line-height: 20px;
732
+ --text-sm: 13px;
733
+ --text-sm--line-height: 20px;
734
+ --text-md: 14px;
735
+ --text-md--line-height: 24px;
736
+ --text-lg: 16px;
737
+ --text-lg--line-height: 24px;
738
+ --text-xl: 18px;
739
+ --text-xl--line-height: 28px;
740
+ --text-2xl: 24px;
741
+ --text-2xl--line-height: 32px;
742
+ --text-3xl: 28px;
743
+ --text-3xl--line-height: 44px;
744
+ --text-4xl: 40px;
745
+ --text-4xl--line-height: 56px;
746
+ --text-5xl: 56px;
747
+ --text-5xl--line-height: 64px;
748
+
749
+ /* Font Weight */
750
+ --font-weight-regular: 400;
751
+ --font-weight-medium: 500;
752
+ --font-weight-bold: 700;
753
+
754
+ /* Font Family */
755
+ --font-code: "Commit Mono", monospace;
756
+ --font-display: "Inter", sans-serif;
757
+
758
+ /* Shadow */
759
+ --shadow-button-inverted: var(--shadow-button-inverted);
760
+ --shadow-button-inverted-focus: var(--shadow-button-inverted-focus);
761
+ --shadow-button-neutral: var(--shadow-button-neutral);
762
+ --shadow-button-neutral-focus: var(--shadow-button-neutral-focus);
763
+ --shadow-button-danger: var(--shadow-button-danger);
764
+ --shadow-button-danger-focus: var(--shadow-button-danger-focus);
765
+ }
766
+
767
+ @layer base {
768
+ * {
769
+ @apply border-border-neutral-base font-display;
770
+ }
771
+ html {
772
+ @apply bg-background-neutral-base text-foreground-neutral-base;
773
+ font-feature-settings:
774
+ "rlig" 1,
775
+ "calt" 1,
776
+ "lnum" 1;
777
+ }
778
+ }