@astryx-vue/themes 0.1.3 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/README.md +3 -1
  2. package/THIRD_PARTY_NOTICES.md +2 -0
  3. package/butter/alert-dialog.css +8 -0
  4. package/butter/avatar-group.css +9 -0
  5. package/butter/avatar.css +15 -0
  6. package/butter/badge.css +35 -0
  7. package/butter/banner.css +15 -0
  8. package/butter/base.css +250 -0
  9. package/butter/bottom-sheet.css +13 -0
  10. package/butter/button.css +30 -0
  11. package/butter/card.css +23 -0
  12. package/butter/center.css +7 -0
  13. package/butter/chat.css +27 -0
  14. package/butter/checkbox.css +12 -0
  15. package/butter/citation.css +15 -0
  16. package/butter/code.css +33 -0
  17. package/butter/collapsible.css +10 -0
  18. package/butter/context-menu.css +15 -0
  19. package/butter/dialog.css +10 -0
  20. package/butter/divider.css +9 -0
  21. package/butter/dropdown-menu.css +14 -0
  22. package/butter/empty-state.css +9 -0
  23. package/butter/field.css +1 -0
  24. package/butter/grid.css +7 -0
  25. package/butter/heading.css +35 -0
  26. package/butter/hover-card.css +10 -0
  27. package/butter/icon.css +23 -0
  28. package/butter/input.css +21 -0
  29. package/butter/kbd.css +9 -0
  30. package/butter/link.css +9 -0
  31. package/butter/list.css +12 -0
  32. package/butter/mobile-nav.css +7 -0
  33. package/butter/more-menu.css +16 -0
  34. package/butter/nav-menu.css +7 -0
  35. package/butter/overlay.css +8 -0
  36. package/butter/popover.css +9 -0
  37. package/butter/progress-bar.css +15 -0
  38. package/butter/radio.css +8 -0
  39. package/butter/segmented-control.css +15 -0
  40. package/butter/side-nav.css +8 -0
  41. package/butter/skeleton.css +7 -0
  42. package/butter/slider.css +9 -0
  43. package/butter/spinner.css +21 -0
  44. package/butter/status-dot.css +11 -0
  45. package/butter/switch.css +29 -0
  46. package/butter/text-area.css +9 -0
  47. package/butter/text.css +31 -0
  48. package/butter/toast.css +12 -0
  49. package/butter/toggle-button.css +9 -0
  50. package/butter/token.css +28 -0
  51. package/butter/tooltip.css +9 -0
  52. package/butter.css +51 -0
  53. package/chocolate/alert-dialog.css +8 -0
  54. package/chocolate/avatar-group.css +9 -0
  55. package/chocolate/avatar.css +15 -0
  56. package/chocolate/badge.css +35 -0
  57. package/chocolate/banner.css +15 -0
  58. package/chocolate/base.css +250 -0
  59. package/chocolate/bottom-sheet.css +13 -0
  60. package/chocolate/button.css +30 -0
  61. package/chocolate/card.css +23 -0
  62. package/chocolate/center.css +7 -0
  63. package/chocolate/chat.css +27 -0
  64. package/chocolate/checkbox.css +12 -0
  65. package/chocolate/citation.css +15 -0
  66. package/chocolate/code.css +33 -0
  67. package/chocolate/collapsible.css +10 -0
  68. package/chocolate/context-menu.css +15 -0
  69. package/chocolate/dialog.css +10 -0
  70. package/chocolate/divider.css +9 -0
  71. package/chocolate/dropdown-menu.css +14 -0
  72. package/chocolate/empty-state.css +9 -0
  73. package/chocolate/field.css +1 -0
  74. package/chocolate/grid.css +7 -0
  75. package/chocolate/heading.css +35 -0
  76. package/chocolate/hover-card.css +10 -0
  77. package/chocolate/icon.css +23 -0
  78. package/chocolate/input.css +21 -0
  79. package/chocolate/kbd.css +9 -0
  80. package/chocolate/link.css +9 -0
  81. package/chocolate/list.css +12 -0
  82. package/chocolate/mobile-nav.css +7 -0
  83. package/chocolate/more-menu.css +16 -0
  84. package/chocolate/nav-menu.css +7 -0
  85. package/chocolate/overlay.css +8 -0
  86. package/chocolate/popover.css +9 -0
  87. package/chocolate/progress-bar.css +15 -0
  88. package/chocolate/radio.css +8 -0
  89. package/chocolate/segmented-control.css +15 -0
  90. package/chocolate/side-nav.css +8 -0
  91. package/chocolate/skeleton.css +7 -0
  92. package/chocolate/slider.css +9 -0
  93. package/chocolate/spinner.css +21 -0
  94. package/chocolate/status-dot.css +11 -0
  95. package/chocolate/switch.css +29 -0
  96. package/chocolate/text-area.css +9 -0
  97. package/chocolate/text.css +31 -0
  98. package/chocolate/toast.css +12 -0
  99. package/chocolate/toggle-button.css +9 -0
  100. package/chocolate/token.css +28 -0
  101. package/chocolate/tooltip.css +9 -0
  102. package/chocolate.css +51 -0
  103. package/gothic/alert-dialog.css +8 -0
  104. package/gothic/avatar-group.css +9 -0
  105. package/gothic/avatar.css +15 -0
  106. package/gothic/badge.css +35 -0
  107. package/gothic/banner.css +15 -0
  108. package/gothic/base.css +247 -0
  109. package/gothic/bottom-sheet.css +13 -0
  110. package/gothic/button.css +24 -0
  111. package/gothic/card.css +23 -0
  112. package/gothic/center.css +7 -0
  113. package/gothic/chat.css +27 -0
  114. package/gothic/checkbox.css +12 -0
  115. package/gothic/citation.css +15 -0
  116. package/gothic/code.css +33 -0
  117. package/gothic/collapsible.css +10 -0
  118. package/gothic/context-menu.css +15 -0
  119. package/gothic/dialog.css +10 -0
  120. package/gothic/divider.css +9 -0
  121. package/gothic/dropdown-menu.css +14 -0
  122. package/gothic/empty-state.css +9 -0
  123. package/gothic/field.css +1 -0
  124. package/gothic/grid.css +7 -0
  125. package/gothic/heading.css +35 -0
  126. package/gothic/hover-card.css +10 -0
  127. package/gothic/icon.css +23 -0
  128. package/gothic/input.css +21 -0
  129. package/gothic/kbd.css +9 -0
  130. package/gothic/link.css +9 -0
  131. package/gothic/list.css +12 -0
  132. package/gothic/mobile-nav.css +7 -0
  133. package/gothic/more-menu.css +16 -0
  134. package/gothic/nav-menu.css +7 -0
  135. package/gothic/overlay.css +8 -0
  136. package/gothic/popover.css +9 -0
  137. package/gothic/progress-bar.css +15 -0
  138. package/gothic/radio.css +8 -0
  139. package/gothic/segmented-control.css +15 -0
  140. package/gothic/side-nav.css +8 -0
  141. package/gothic/skeleton.css +7 -0
  142. package/gothic/slider.css +9 -0
  143. package/gothic/spinner.css +21 -0
  144. package/gothic/status-dot.css +11 -0
  145. package/gothic/switch.css +29 -0
  146. package/gothic/text-area.css +9 -0
  147. package/gothic/text.css +31 -0
  148. package/gothic/toast.css +12 -0
  149. package/gothic/toggle-button.css +9 -0
  150. package/gothic/token.css +28 -0
  151. package/gothic/tooltip.css +9 -0
  152. package/gothic.css +51 -0
  153. package/matcha/alert-dialog.css +8 -0
  154. package/matcha/avatar-group.css +9 -0
  155. package/matcha/avatar.css +15 -0
  156. package/matcha/badge.css +35 -0
  157. package/matcha/banner.css +15 -0
  158. package/matcha/base.css +250 -0
  159. package/matcha/bottom-sheet.css +13 -0
  160. package/matcha/button.css +24 -0
  161. package/matcha/card.css +23 -0
  162. package/matcha/center.css +7 -0
  163. package/matcha/chat.css +27 -0
  164. package/matcha/checkbox.css +12 -0
  165. package/matcha/citation.css +15 -0
  166. package/matcha/code.css +33 -0
  167. package/matcha/collapsible.css +10 -0
  168. package/matcha/context-menu.css +15 -0
  169. package/matcha/dialog.css +10 -0
  170. package/matcha/divider.css +9 -0
  171. package/matcha/dropdown-menu.css +14 -0
  172. package/matcha/empty-state.css +9 -0
  173. package/matcha/field.css +1 -0
  174. package/matcha/grid.css +7 -0
  175. package/matcha/heading.css +35 -0
  176. package/matcha/hover-card.css +10 -0
  177. package/matcha/icon.css +23 -0
  178. package/matcha/input.css +21 -0
  179. package/matcha/kbd.css +9 -0
  180. package/matcha/link.css +9 -0
  181. package/matcha/list.css +12 -0
  182. package/matcha/mobile-nav.css +7 -0
  183. package/matcha/more-menu.css +16 -0
  184. package/matcha/nav-menu.css +7 -0
  185. package/matcha/overlay.css +8 -0
  186. package/matcha/popover.css +9 -0
  187. package/matcha/progress-bar.css +15 -0
  188. package/matcha/radio.css +8 -0
  189. package/matcha/segmented-control.css +15 -0
  190. package/matcha/side-nav.css +8 -0
  191. package/matcha/skeleton.css +7 -0
  192. package/matcha/slider.css +9 -0
  193. package/matcha/spinner.css +21 -0
  194. package/matcha/status-dot.css +11 -0
  195. package/matcha/switch.css +29 -0
  196. package/matcha/text-area.css +9 -0
  197. package/matcha/text.css +31 -0
  198. package/matcha/toast.css +12 -0
  199. package/matcha/toggle-button.css +9 -0
  200. package/matcha/token.css +28 -0
  201. package/matcha/tooltip.css +9 -0
  202. package/matcha.css +51 -0
  203. package/neutral/button.css +6 -6
  204. package/neutral/heading.css +2 -2
  205. package/neutral/icon.css +1 -1
  206. package/neutral/text.css +2 -2
  207. package/package.json +14 -2
  208. package/stone/alert-dialog.css +8 -0
  209. package/stone/avatar-group.css +9 -0
  210. package/stone/avatar.css +15 -0
  211. package/stone/badge.css +35 -0
  212. package/stone/banner.css +15 -0
  213. package/stone/base.css +250 -0
  214. package/stone/bottom-sheet.css +13 -0
  215. package/stone/button.css +30 -0
  216. package/stone/card.css +23 -0
  217. package/stone/center.css +7 -0
  218. package/stone/chat.css +27 -0
  219. package/stone/checkbox.css +12 -0
  220. package/stone/citation.css +15 -0
  221. package/stone/code.css +33 -0
  222. package/stone/collapsible.css +10 -0
  223. package/stone/context-menu.css +15 -0
  224. package/stone/dialog.css +10 -0
  225. package/stone/divider.css +9 -0
  226. package/stone/dropdown-menu.css +14 -0
  227. package/stone/empty-state.css +9 -0
  228. package/stone/field.css +1 -0
  229. package/stone/grid.css +7 -0
  230. package/stone/heading.css +35 -0
  231. package/stone/hover-card.css +10 -0
  232. package/stone/icon.css +23 -0
  233. package/stone/input.css +21 -0
  234. package/stone/kbd.css +9 -0
  235. package/stone/link.css +9 -0
  236. package/stone/list.css +12 -0
  237. package/stone/mobile-nav.css +7 -0
  238. package/stone/more-menu.css +16 -0
  239. package/stone/nav-menu.css +7 -0
  240. package/stone/overlay.css +8 -0
  241. package/stone/popover.css +9 -0
  242. package/stone/progress-bar.css +15 -0
  243. package/stone/radio.css +8 -0
  244. package/stone/segmented-control.css +15 -0
  245. package/stone/side-nav.css +8 -0
  246. package/stone/skeleton.css +7 -0
  247. package/stone/slider.css +9 -0
  248. package/stone/spinner.css +21 -0
  249. package/stone/status-dot.css +11 -0
  250. package/stone/switch.css +29 -0
  251. package/stone/text-area.css +9 -0
  252. package/stone/text.css +31 -0
  253. package/stone/toast.css +12 -0
  254. package/stone/toggle-button.css +9 -0
  255. package/stone/token.css +28 -0
  256. package/stone/tooltip.css +9 -0
  257. package/stone.css +51 -0
  258. package/y2k/alert-dialog.css +8 -0
  259. package/y2k/avatar-group.css +9 -0
  260. package/y2k/avatar.css +15 -0
  261. package/y2k/badge.css +35 -0
  262. package/y2k/banner.css +15 -0
  263. package/y2k/base.css +250 -0
  264. package/y2k/bottom-sheet.css +13 -0
  265. package/y2k/button.css +30 -0
  266. package/y2k/card.css +23 -0
  267. package/y2k/center.css +7 -0
  268. package/y2k/chat.css +27 -0
  269. package/y2k/checkbox.css +12 -0
  270. package/y2k/citation.css +15 -0
  271. package/y2k/code.css +33 -0
  272. package/y2k/collapsible.css +10 -0
  273. package/y2k/context-menu.css +15 -0
  274. package/y2k/dialog.css +10 -0
  275. package/y2k/divider.css +9 -0
  276. package/y2k/dropdown-menu.css +14 -0
  277. package/y2k/empty-state.css +9 -0
  278. package/y2k/field.css +1 -0
  279. package/y2k/grid.css +7 -0
  280. package/y2k/heading.css +35 -0
  281. package/y2k/hover-card.css +10 -0
  282. package/y2k/icon.css +23 -0
  283. package/y2k/input.css +21 -0
  284. package/y2k/kbd.css +9 -0
  285. package/y2k/link.css +9 -0
  286. package/y2k/list.css +12 -0
  287. package/y2k/mobile-nav.css +7 -0
  288. package/y2k/more-menu.css +16 -0
  289. package/y2k/nav-menu.css +7 -0
  290. package/y2k/overlay.css +8 -0
  291. package/y2k/popover.css +9 -0
  292. package/y2k/progress-bar.css +15 -0
  293. package/y2k/radio.css +8 -0
  294. package/y2k/segmented-control.css +15 -0
  295. package/y2k/side-nav.css +8 -0
  296. package/y2k/skeleton.css +7 -0
  297. package/y2k/slider.css +9 -0
  298. package/y2k/spinner.css +21 -0
  299. package/y2k/status-dot.css +11 -0
  300. package/y2k/switch.css +29 -0
  301. package/y2k/text-area.css +9 -0
  302. package/y2k/text.css +31 -0
  303. package/y2k/toast.css +12 -0
  304. package/y2k/toggle-button.css +9 -0
  305. package/y2k/token.css +28 -0
  306. package/y2k/tooltip.css +9 -0
  307. package/y2k.css +51 -0
package/README.md CHANGED
@@ -12,4 +12,6 @@ pnpm add @astryx-vue/core @astryx-vue/themes
12
12
  import '@astryx-vue/themes/neutral.css'
13
13
  ```
14
14
 
15
- That entry loads JetBrains Mono at 400, 500, 600, 700, and 400 italic. Component styles come from `@astryx-vue/core`; import `@astryx-vue/core/styles.css` once if you want the full structural sheet.
15
+ Neutral, Butter, Chocolate, Gothic, Matcha, Stone, and Y2K each have an entry: `@astryx-vue/themes/<name>.css`. Set `data-astryx-theme="<name>"` on the element that should use it. Neutral also applies on `:root`.
16
+
17
+ Every entry loads JetBrains Mono at 400, 500, 600, 700, and 400 italic. The other themes also load their text faces. Component styles come from `@astryx-vue/core`; import `@astryx-vue/core/styles.css` once if you want the full structural sheet.
@@ -14,6 +14,8 @@ The TextInput, CheckboxInput, CheckboxIndicator, Slider, Banner and Field family
14
14
 
15
15
  When files or substantial portions are copied or adapted, their original copyright and license notices must be kept here or alongside the adapted files.
16
16
 
17
+ Butter, Chocolate, Gothic, Matcha, Stone, and Y2K token values are adapted from the public `@astryxdesign/theme-*` packages at version 0.7.0 (`theme.css` and `fonts.css`), under the same MIT license. The Vue package renames those custom properties with an `--astryx-` prefix and keeps JetBrains Mono on `@fontsource/jetbrains-mono`.
18
+
17
19
  No Meta trademarks, logos, or endorsement are granted by the Astryx software license.
18
20
 
19
21
  ## Astryx license text
@@ -0,0 +1,8 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.tokens {
4
+ [data-astryx-theme='butter'] {
5
+ --astryx-alert-dialog-title-foreground: var(--astryx-color-text-primary);
6
+ --astryx-alert-dialog-description-foreground: var(--astryx-color-text-secondary);
7
+ }
8
+ }
@@ -0,0 +1,9 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.tokens {
4
+ [data-astryx-theme='butter'] {
5
+ --astryx-avatar-group-border-color: var(--astryx-color-border);
6
+ --astryx-avatar-group-overflow-background: var(--astryx-color-background-surface);
7
+ --astryx-avatar-group-overflow-foreground: var(--astryx-color-text-primary);
8
+ }
9
+ }
@@ -0,0 +1,15 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.tokens {
4
+ [data-astryx-theme='butter'] {
5
+ --astryx-avatar-fallback-background: var(--astryx-color-background-surface);
6
+ --astryx-avatar-fallback-foreground: var(--astryx-color-text-primary);
7
+ --astryx-avatar-status-dot-border-color: var(--astryx-color-border);
8
+
9
+ --astryx-avatar-status-dot-neutral-background: var(--astryx-color-background-surface);
10
+ --astryx-avatar-status-dot-info-background: var(--astryx-color-background-blue);
11
+ --astryx-avatar-status-dot-success-background: var(--astryx-color-success-muted);
12
+ --astryx-avatar-status-dot-warning-background: var(--astryx-color-warning-muted);
13
+ --astryx-avatar-status-dot-error-background: var(--astryx-color-error-muted);
14
+ }
15
+ }
@@ -0,0 +1,35 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.tokens {
4
+ [data-astryx-theme='butter'] {
5
+ --astryx-badge-neutral-background: #ffee7b;
6
+ --astryx-badge-neutral-foreground: #225BFF;
7
+ --astryx-badge-info-background: #4883fd;
8
+ --astryx-badge-info-foreground: #ffffff;
9
+ --astryx-badge-success-background: #91D143;
10
+ --astryx-badge-success-foreground: #1d1c11;
11
+ --astryx-badge-warning-background: #ffc502;
12
+ --astryx-badge-warning-foreground: #1d1c11;
13
+ --astryx-badge-error-background: #fc473b;
14
+ --astryx-badge-error-foreground: #ffffff;
15
+
16
+ --astryx-badge-blue-background: var(--astryx-color-background-blue);
17
+ --astryx-badge-blue-foreground: var(--astryx-color-text-blue);
18
+ --astryx-badge-cyan-background: var(--astryx-color-background-cyan);
19
+ --astryx-badge-cyan-foreground: var(--astryx-color-text-cyan);
20
+ --astryx-badge-green-background: var(--astryx-color-background-green);
21
+ --astryx-badge-green-foreground: var(--astryx-color-text-green);
22
+ --astryx-badge-orange-background: var(--astryx-color-background-orange);
23
+ --astryx-badge-orange-foreground: var(--astryx-color-text-orange);
24
+ --astryx-badge-pink-background: var(--astryx-color-background-pink);
25
+ --astryx-badge-pink-foreground: var(--astryx-color-text-pink);
26
+ --astryx-badge-purple-background: var(--astryx-color-background-purple);
27
+ --astryx-badge-purple-foreground: var(--astryx-color-text-purple);
28
+ --astryx-badge-red-background: var(--astryx-color-background-red);
29
+ --astryx-badge-red-foreground: var(--astryx-color-text-red);
30
+ --astryx-badge-teal-background: var(--astryx-color-background-teal);
31
+ --astryx-badge-teal-foreground: var(--astryx-color-text-teal);
32
+ --astryx-badge-yellow-background: var(--astryx-color-background-yellow);
33
+ --astryx-badge-yellow-foreground: var(--astryx-color-text-yellow);
34
+ }
35
+ }
@@ -0,0 +1,15 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+ @layer astryx.tokens {
3
+ [data-astryx-theme='butter'] {
4
+ --astryx-banner-info-background: #4883fd;
5
+ --astryx-banner-info-foreground: #ffffff;
6
+ --astryx-banner-error-background: #fc473b;
7
+ --astryx-banner-error-foreground: #ffffff;
8
+ --astryx-banner-warning-background: #ffc502;
9
+ --astryx-banner-warning-foreground: #1d1c11;
10
+ --astryx-banner-success-background: #91D143;
11
+ --astryx-banner-success-foreground: #1d1c11;
12
+ --astryx-banner-content-background: var(--astryx-color-background-surface);
13
+ --astryx-banner-border: var(--astryx-color-border);
14
+ }
15
+ }
@@ -0,0 +1,250 @@
1
+ /**
2
+ * Butter semantic tokens.
3
+ *
4
+ * Golden buttery surfaces and blue accents. Outfit for text, Sarina for display. Values follow @astryxdesign/theme-butter 0.7.0.
5
+ * Names match Neutral, with an --astryx- prefix.
6
+ * A token present in the upstream theme.css replaces the Neutral value.
7
+ * Tokens the theme does not set keep the shared default from Neutral's base.
8
+ * JetBrains Mono stays on the shared fonts.css stack.
9
+ */
10
+ @import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&family=Sarina&display=swap');
11
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
12
+
13
+ @layer astryx.tokens {
14
+ [data-astryx-theme='butter'] {
15
+ color-scheme: light dark;
16
+ background-color: var(--astryx-color-background-body);
17
+ color: var(--astryx-color-text-primary);
18
+ font-family: var(--astryx-font-family-body);
19
+ font-size: var(--astryx-text-body-size);
20
+ line-height: var(--astryx-text-body-leading);
21
+
22
+ --astryx-color-accent: light-dark(#225BFF, #FDEE8C);
23
+ --astryx-color-accent-muted: light-dark(#225BFF33, #FDEE8C40);
24
+ --astryx-color-on-accent: light-dark(#ffffff, #1d1c11);
25
+ --astryx-color-neutral: light-dark(#1d1c110F, #f3f2e21A);
26
+ --astryx-color-background-surface: light-dark(#FFFFFF, #2E2117);
27
+ --astryx-color-background-body: light-dark(#FDFBE4, #261A13);
28
+ --astryx-color-overlay: light-dark(#1d1c1180, #261A13cc);
29
+ --astryx-color-overlay-hover: light-dark(#1d1c110D, #f3f2e20D);
30
+ --astryx-color-overlay-pressed: light-dark(#1d1c111A, #f3f2e21A);
31
+ --astryx-color-background-muted: light-dark(#f3f2e2, #3A2A1F);
32
+
33
+ --astryx-color-text-primary: light-dark(#1d1c11, #f3f2e2);
34
+ --astryx-color-text-secondary: light-dark(#605f52, #adac9e);
35
+ --astryx-color-text-disabled: light-dark(#adac9e, #605f52);
36
+ --astryx-color-text-accent: light-dark(#225BFF, #FDEE8C);
37
+ --astryx-color-on-dark: #ffffff;
38
+ --astryx-color-on-light: #1d1c11;
39
+
40
+ --astryx-color-icon-accent: light-dark(#225BFF, #FDEE8C);
41
+ --astryx-color-icon-primary: light-dark(#1d1c11, #f3f2e2);
42
+ --astryx-color-icon-secondary: light-dark(#605f52, #adac9e);
43
+ --astryx-color-icon-disabled: light-dark(#adac9e, #605f52);
44
+
45
+ --astryx-color-background-card: light-dark(#FFFFFF, #3A2A1F);
46
+ --astryx-color-background-popover: light-dark(#FFFFFF, #3A2A1F);
47
+ --astryx-color-background-inverted: light-dark(#1d1c11, #FDFBE4);
48
+ --astryx-color-background-error-inverted: light-dark(#aa071e, #e3193b);
49
+
50
+ --astryx-color-success: light-dark(#004700, #99d94b);
51
+ --astryx-color-success-muted: light-dark(#00470033, #99d94b40);
52
+ --astryx-color-on-success: light-dark(#ccff88, #0b2e00);
53
+ --astryx-color-error: light-dark(#771210, #ffb4a6);
54
+ --astryx-color-error-muted: light-dark(#77121033, #ffb4a640);
55
+ --astryx-color-on-error: light-dark(#ffe3de, #600000);
56
+ --astryx-color-warning: light-dark(#543700, #f7be00);
57
+ --astryx-color-warning-muted: light-dark(#54370033, #f7be0040);
58
+ --astryx-color-on-warning: light-dark(#ffeec3, #3b2200);
59
+
60
+ --astryx-color-border: light-dark(#e5e3d4, #f3f2e21A);
61
+ --astryx-color-border-emphasized: light-dark(#C7C4B2, #939184);
62
+
63
+ --astryx-color-skeleton: light-dark(#e5e3d4, #49473b);
64
+ --astryx-color-track: light-dark(#ccd3db, #5a5e66);
65
+ --astryx-color-shadow: light-dark(#1d1c111A, #0000004D);
66
+ --astryx-color-tint-hover: light-dark(black, white);
67
+
68
+ --astryx-color-background-blue: light-dark(#dbe1ff, #dbe1ff);
69
+ --astryx-color-border-blue: light-dark(#bdc5eb, #bdc5eb);
70
+ --astryx-color-icon-blue: light-dark(#203a6c, #203a6c);
71
+ --astryx-color-text-blue: light-dark(#203a6c, #203a6c);
72
+
73
+ --astryx-color-background-cyan: light-dark(#a9eff0, #a9eff0);
74
+ --astryx-color-border-cyan: light-dark(#8dd2d3, #8dd2d3);
75
+ --astryx-color-icon-cyan: light-dark(#004649, #004649);
76
+ --astryx-color-text-cyan: light-dark(#004649, #004649);
77
+
78
+ --astryx-color-background-gray: light-dark(#f0edd4, #f0edd4);
79
+ --astryx-color-border-gray: light-dark(#d6d3b8, #d6d3b8);
80
+ --astryx-color-icon-gray: light-dark(#4a4732, #4a4732);
81
+ --astryx-color-text-gray: light-dark(#4a4732, #4a4732);
82
+
83
+ --astryx-color-background-green: light-dark(#c1efb8, #c1efb8);
84
+ --astryx-color-border-green: light-dark(#a5d29d, #a5d29d);
85
+ --astryx-color-icon-green: light-dark(#004800, #004800);
86
+ --astryx-color-text-green: light-dark(#004800, #004800);
87
+
88
+ --astryx-color-background-orange: light-dark(#ffdcb6, #ffdcb6);
89
+ --astryx-color-border-orange: light-dark(#f2bd81, #f2bd81);
90
+ --astryx-color-icon-orange: light-dark(#622e00, #622e00);
91
+ --astryx-color-text-orange: light-dark(#622e00, #622e00);
92
+
93
+ --astryx-color-background-pink: light-dark(#ffd5fb, #ffd5fb);
94
+ --astryx-color-border-pink: light-dark(#f0b3e8, #f0b3e8);
95
+ --astryx-color-icon-pink: light-dark(#6c0a68, #6c0a68);
96
+ --astryx-color-text-pink: light-dark(#6c0a68, #6c0a68);
97
+
98
+ --astryx-color-background-purple: light-dark(#f2daff, #f2daff);
99
+ --astryx-color-border-purple: light-dark(#ddb9f6, #ddb9f6);
100
+ --astryx-color-icon-purple: light-dark(#52237b, #52237b);
101
+ --astryx-color-text-purple: light-dark(#52237b, #52237b);
102
+
103
+ --astryx-color-background-red: light-dark(#ffdad3, #ffdad3);
104
+ --astryx-color-border-red: light-dark(#f4b8ae, #f4b8ae);
105
+ --astryx-color-icon-red: light-dark(#6d211c, #6d211c);
106
+ --astryx-color-text-red: light-dark(#6d211c, #6d211c);
107
+
108
+ --astryx-color-background-teal: light-dark(#b0f0d7, #b0f0d7);
109
+ --astryx-color-border-teal: light-dark(#94d3bb, #94d3bb);
110
+ --astryx-color-icon-teal: light-dark(#00482d, #00482d);
111
+ --astryx-color-text-teal: light-dark(#00482d, #00482d);
112
+
113
+ --astryx-color-background-yellow: light-dark(#feee7b, #feee7b);
114
+ --astryx-color-border-yellow: light-dark(#d6c957, #d6c957);
115
+ --astryx-color-icon-yellow: light-dark(#413e00, #413e00);
116
+ --astryx-color-text-yellow: light-dark(#413e00, #413e00);
117
+
118
+ --astryx-spacing-0: 0;
119
+ --astryx-spacing-0-5: 2px;
120
+ --astryx-spacing-1: 4px;
121
+ --astryx-spacing-1-5: 6px;
122
+ --astryx-spacing-2: 8px;
123
+ --astryx-spacing-3: 12px;
124
+ --astryx-spacing-4: 16px;
125
+ --astryx-spacing-5: 20px;
126
+ --astryx-spacing-6: 24px;
127
+ --astryx-spacing-7: 28px;
128
+ --astryx-spacing-8: 32px;
129
+ --astryx-spacing-9: 36px;
130
+ --astryx-spacing-10: 40px;
131
+ --astryx-spacing-11: 44px;
132
+ --astryx-spacing-12: 48px;
133
+
134
+ --astryx-size-element-sm: 32px;
135
+ --astryx-size-element-md: 40px;
136
+ --astryx-size-element-lg: 48px;
137
+
138
+ --astryx-border-width: 1px;
139
+
140
+ --astryx-focus-outline-width: 2px;
141
+ --astryx-focus-outline-style: solid;
142
+ --astryx-focus-outline-color: var(--astryx-color-accent);
143
+ --astryx-focus-outline-offset: 3px;
144
+
145
+ --astryx-radius-none: 0px;
146
+ --astryx-radius-inner: 0.375rem;
147
+ --astryx-radius-element: 0.5rem;
148
+ --astryx-radius-container: 0.75rem;
149
+ --astryx-radius-page: 1.5rem;
150
+ --astryx-radius-chat: 28px;
151
+ --astryx-radius-full: 9999px;
152
+
153
+ --astryx-shadow-low: 0 2px 4px #1d1c110D, 0 4px 8px #1d1c111A;
154
+ --astryx-shadow-med: 0 2px 4px #1d1c110D, 0 4px 12px #1d1c111A;
155
+ --astryx-shadow-high: 0 4px 6px #1d1c111A, 0 12px 24px #1d1c1126;
156
+ --astryx-shadow-inset-hover: inset 0px 0px 0px 2px #79786a30;
157
+ --astryx-shadow-inset-selected: inset 0px 0px 0px 2px #79786a50;
158
+ --astryx-shadow-inset-success: inset 0px 0px 0px 2px #00470030;
159
+ --astryx-shadow-inset-warning: inset 0px 0px 0px 2px #54370030;
160
+ --astryx-shadow-inset-error: inset 0px 0px 0px 2px #77121030;
161
+
162
+ --astryx-duration-fast-min: 95ms;
163
+ --astryx-duration-fast: 125ms;
164
+ --astryx-duration-fast-max: 165ms;
165
+ --astryx-duration-medium-min: 225ms;
166
+ --astryx-duration-medium: 300ms;
167
+ --astryx-duration-medium-max: 400ms;
168
+ --astryx-duration-slow-min: 525ms;
169
+ --astryx-duration-slow: 700ms;
170
+ --astryx-duration-slow-max: 935ms;
171
+
172
+ --astryx-ease-standard: cubic-bezier(0.24, 1, 0.4, 1);
173
+
174
+ --astryx-font-family-body: Outfit, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
175
+ --astryx-font-family-code: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
176
+ --astryx-font-family-heading: Outfit, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
177
+
178
+ --astryx-font-size-4xs: 0.3125rem;
179
+ --astryx-font-size-3xs: 0.375rem;
180
+ --astryx-font-size-2xs: 0.4375rem;
181
+ --astryx-font-size-xs: 0.5625rem;
182
+ --astryx-font-size-sm: 0.6875rem;
183
+ --astryx-font-size-base: 0.875rem;
184
+ --astryx-font-size-lg: 1.125rem;
185
+ --astryx-font-size-xl: 1.375rem;
186
+ --astryx-font-size-2xl: 1.6875rem;
187
+ --astryx-font-size-3xl: 2.125rem;
188
+ --astryx-font-size-4xl: 2.6875rem;
189
+ --astryx-font-size-5xl: 3.3125rem;
190
+
191
+ --astryx-font-weight-normal: 400;
192
+ --astryx-font-weight-regular: var(--astryx-font-weight-normal);
193
+ --astryx-font-weight-medium: 500;
194
+ --astryx-font-weight-semibold: 600;
195
+ --astryx-font-weight-bold: 700;
196
+
197
+ --astryx-text-heading-1-size: var(--astryx-font-size-2xl);
198
+ --astryx-text-heading-1-weight: var(--astryx-font-weight-semibold);
199
+ --astryx-text-heading-1-leading: 1.3333;
200
+ --astryx-text-heading-2-size: var(--astryx-font-size-xl);
201
+ --astryx-text-heading-2-weight: var(--astryx-font-weight-semibold);
202
+ --astryx-text-heading-2-leading: 1.4545;
203
+ --astryx-text-heading-3-size: var(--astryx-font-size-lg);
204
+ --astryx-text-heading-3-weight: var(--astryx-font-weight-bold);
205
+ --astryx-text-heading-3-leading: 1.5556;
206
+ --astryx-text-heading-4-size: var(--astryx-font-size-base);
207
+ --astryx-text-heading-4-weight: var(--astryx-font-weight-bold);
208
+ --astryx-text-heading-4-leading: 1.4286;
209
+ --astryx-text-heading-5-size: var(--astryx-font-size-sm);
210
+ --astryx-text-heading-5-weight: var(--astryx-font-weight-semibold);
211
+ --astryx-text-heading-5-leading: 1.4545;
212
+ --astryx-text-heading-6-size: var(--astryx-font-size-xs);
213
+ --astryx-text-heading-6-weight: var(--astryx-font-weight-semibold);
214
+ --astryx-text-heading-6-leading: 1.7778;
215
+
216
+ --astryx-text-body-size: var(--astryx-font-size-base);
217
+ --astryx-text-body-weight: var(--astryx-font-weight-normal);
218
+ --astryx-text-body-leading: 1.4286;
219
+ --astryx-text-large-size: var(--astryx-font-size-lg);
220
+ --astryx-text-large-weight: var(--astryx-font-weight-semibold);
221
+ --astryx-text-large-leading: 1.5556;
222
+ --astryx-text-label-size: var(--astryx-font-size-base);
223
+ --astryx-text-label-weight: var(--astryx-font-weight-medium);
224
+ --astryx-text-label-leading: 1.4286;
225
+ --astryx-text-code-size: var(--astryx-font-size-base);
226
+ --astryx-text-code-weight: var(--astryx-font-weight-normal);
227
+ --astryx-text-code-leading: 1.4286;
228
+ --astryx-text-supporting-size: 12px;
229
+ --astryx-text-supporting-weight: var(--astryx-font-weight-normal);
230
+ --astryx-text-supporting-leading: 1.4545;
231
+
232
+ --astryx-text-display-1-size: var(--astryx-font-size-5xl);
233
+ --astryx-text-display-1-weight: var(--astryx-font-weight-normal);
234
+ --astryx-text-display-1-leading: 1.283;
235
+ --astryx-text-display-2-size: var(--astryx-font-size-4xl);
236
+ --astryx-text-display-2-weight: var(--astryx-font-weight-normal);
237
+ --astryx-text-display-2-leading: 1.2093;
238
+ --astryx-text-display-3-size: var(--astryx-font-size-3xl);
239
+ --astryx-text-display-3-weight: var(--astryx-font-weight-normal);
240
+ --astryx-text-display-3-leading: 1.2941;
241
+ }
242
+
243
+ [data-astryx-theme='butter'][data-astryx-color-mode='light'] {
244
+ color-scheme: light;
245
+ }
246
+
247
+ [data-astryx-theme='butter'][data-astryx-color-mode='dark'] {
248
+ color-scheme: dark;
249
+ }
250
+ }
@@ -0,0 +1,13 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.tokens {
4
+ [data-astryx-theme='butter'] {
5
+ --astryx-bottom-sheet-background: var(--astryx-color-background-surface);
6
+ --astryx-bottom-sheet-foreground: var(--astryx-color-text-primary);
7
+ --astryx-bottom-sheet-border: var(--astryx-color-border);
8
+ --astryx-bottom-sheet-scrim: var(--astryx-color-overlay);
9
+ --astryx-bottom-sheet-handle-background: var(--astryx-color-background-surface);
10
+ --astryx-bottom-sheet-focus: var(--astryx-color-accent);
11
+ --astryx-bottom-sheet-shadow: var(--astryx-shadow-low);
12
+ }
13
+ }
@@ -0,0 +1,30 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.tokens {
4
+ [data-astryx-theme='butter'] {
5
+ --astryx-button-primary-background: var(--astryx-color-accent);
6
+ --astryx-button-primary-foreground: var(--astryx-color-on-accent);
7
+ --astryx-button-secondary-background: transparent;
8
+ --astryx-button-secondary-foreground: light-dark(#225BFF, #FDEE8C);
9
+ --astryx-button-ghost-background: transparent;
10
+ --astryx-button-ghost-foreground: light-dark(#225BFF, #FDEE8C);
11
+ --astryx-button-destructive-background: light-dark(#ffdad3, #f4b8ae);
12
+ --astryx-button-destructive-foreground: light-dark(#550000, #6d211c);
13
+ --astryx-button-hover-overlay: var(--astryx-color-overlay-hover);
14
+ --astryx-button-pressed-overlay: var(--astryx-color-overlay-pressed);
15
+ --astryx-button-focus: var(--astryx-color-accent);
16
+ --astryx-button-separator: var(--astryx-color-border);
17
+ --astryx-button-solid-separator: var(--astryx-color-on-accent);
18
+ --astryx-button-tooltip-background: var(--astryx-color-text-primary);
19
+ --astryx-button-tooltip-foreground: var(--astryx-color-background-body);
20
+ --astryx-button-shadow-low: var(--astryx-shadow-low);
21
+ --astryx-button-shadow-med: var(--astryx-shadow-med);
22
+ --astryx-button-shadow-high: var(--astryx-shadow-high);
23
+ }
24
+ }
25
+
26
+ @layer astryx.components {
27
+ [data-astryx-theme='butter'] .astryx-button[data-variant='secondary'] {
28
+ border: 1.5px solid light-dark(#225BFF, #FDEE8C);
29
+ }
30
+ }
@@ -0,0 +1,23 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.tokens {
4
+ [data-astryx-theme='butter'] {
5
+ --astryx-card-background: var(--astryx-color-background-card);
6
+ --astryx-card-muted-background: var(--astryx-color-background-muted);
7
+ --astryx-card-border: var(--astryx-color-border);
8
+ --astryx-card-shadow-low: var(--astryx-shadow-low);
9
+ --astryx-card-shadow-med: var(--astryx-shadow-med);
10
+ --astryx-card-shadow-high: var(--astryx-shadow-high);
11
+
12
+ --astryx-card-blue-background: var(--astryx-color-background-blue);
13
+ --astryx-card-cyan-background: var(--astryx-color-background-cyan);
14
+ --astryx-card-gray-background: var(--astryx-color-background-gray);
15
+ --astryx-card-green-background: var(--astryx-color-background-green);
16
+ --astryx-card-orange-background: var(--astryx-color-background-orange);
17
+ --astryx-card-pink-background: var(--astryx-color-background-pink);
18
+ --astryx-card-purple-background: var(--astryx-color-background-purple);
19
+ --astryx-card-red-background: var(--astryx-color-background-red);
20
+ --astryx-card-teal-background: var(--astryx-color-background-teal);
21
+ --astryx-card-yellow-background: var(--astryx-color-background-yellow);
22
+ }
23
+ }
@@ -0,0 +1,7 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.tokens {
4
+ [data-astryx-theme='butter'] {
5
+ --astryx-center-default-padding: var(--astryx-spacing-0);
6
+ }
7
+ }
@@ -0,0 +1,27 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.tokens {
4
+ [data-astryx-theme='butter'] {
5
+ --astryx-chat-foreground: var(--astryx-color-text-primary);
6
+ /* Docs secondary text measures rgb(71, 71, 71). The shared text-secondary
7
+ token stays lighter, so chat supporting copy uses this darker stop. */
8
+ --astryx-chat-foreground-secondary: var(--astryx-color-text-secondary);
9
+ --astryx-chat-foreground-muted: var(--astryx-color-text-disabled);
10
+ --astryx-chat-bubble-background: var(--astryx-color-neutral);
11
+ --astryx-chat-error: var(--astryx-color-error);
12
+ --astryx-chat-success: var(--astryx-color-success);
13
+ --astryx-chat-accent: var(--astryx-color-accent);
14
+ --astryx-chat-unread-color: var(--astryx-color-border-red);
15
+ --astryx-chat-scroll-background: var(--astryx-color-background-popover);
16
+ --astryx-chat-scroll-shadow: var(--astryx-shadow-med);
17
+ --astryx-chat-hover: var(--astryx-color-overlay-hover);
18
+ --astryx-chat-focus: var(--astryx-focus-outline-color);
19
+ --astryx-chat-radius: var(--astryx-radius-chat);
20
+ --astryx-chat-radius-compact: var(--astryx-radius-container);
21
+ --astryx-chat-radius-group: var(--astryx-radius-inner);
22
+ --astryx-chat-font-weight-regular: var(--astryx-font-weight-regular);
23
+ --astryx-chat-font-weight-medium: var(--astryx-font-weight-medium);
24
+ --astryx-chat-font-weight-semibold: var(--astryx-font-weight-semibold);
25
+ --astryx-chat-font-weight-bold: var(--astryx-font-weight-bold);
26
+ }
27
+ }
@@ -0,0 +1,12 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.tokens {
4
+ [data-astryx-theme='butter'] {
5
+ --astryx-checkbox-background: var(--astryx-color-background-surface);
6
+ --astryx-checkbox-border: var(--astryx-color-border-emphasized);
7
+ --astryx-checkbox-accent: var(--astryx-color-accent);
8
+ --astryx-checkbox-on-accent: var(--astryx-color-on-accent);
9
+ --astryx-checkbox-focus: var(--astryx-color-accent);
10
+ --astryx-checkbox-disabled-background: var(--astryx-color-background-muted);
11
+ }
12
+ }
@@ -0,0 +1,15 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.tokens {
4
+ [data-astryx-theme='butter'] {
5
+ --astryx-citation-foreground: var(--astryx-color-text-secondary);
6
+ --astryx-citation-foreground-hover: var(--astryx-color-text-primary);
7
+ --astryx-citation-border: var(--astryx-color-border);
8
+ --astryx-citation-hover: var(--astryx-color-overlay-hover);
9
+ --astryx-citation-number-background: var(--astryx-color-accent-muted);
10
+ --astryx-citation-icon-background: var(--astryx-color-background-surface);
11
+ --astryx-citation-focus: var(--astryx-focus-outline-color);
12
+ --astryx-citation-font-weight: var(--astryx-font-weight-regular);
13
+ --astryx-citation-number-font-weight: var(--astryx-font-weight-semibold);
14
+ }
15
+ }
@@ -0,0 +1,33 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.tokens {
4
+ [data-astryx-theme='butter'] {
5
+
6
+ --astryx-code-background: var(--astryx-color-background-muted);
7
+ --astryx-code-primary-foreground: var(--astryx-color-text-primary);
8
+ --astryx-code-secondary-foreground: var(--astryx-color-text-secondary);
9
+
10
+ /* CodeBlock card: white surface and a hairline border, matching the
11
+ original block. Inline code keeps the muted chip above. */
12
+ --astryx-code-block-background: light-dark(#FDFBE4, #131107);
13
+ --astryx-code-block-border: var(--astryx-color-border);
14
+ --astryx-code-block-focus: var(--astryx-color-accent);
15
+ --astryx-code-block-highlight-background: color-mix(in srgb, var(--astryx-color-accent) 20%, transparent);
16
+
17
+ /* Syntax colors from the original CodeBlock theme: keyword and type share
18
+ the same purple, strings stay green. */
19
+ --astryx-code-syntax-keyword: light-dark(#52237b, #ddb9f6);
20
+ --astryx-code-syntax-string: light-dark(#004800, #a5d29d);
21
+ --astryx-code-syntax-comment: light-dark(#605f52, #adac9e);
22
+ --astryx-code-syntax-number: light-dark(#622e00, #f2bd81);
23
+ --astryx-code-syntax-function: light-dark(#203a6c, #bdc5eb);
24
+ --astryx-code-syntax-type: light-dark(#52237b, #ddb9f6);
25
+ --astryx-code-syntax-variable: light-dark(#605f52, #adac9e);
26
+ --astryx-code-syntax-operator: light-dark(#605f52, #adac9e);
27
+ --astryx-code-syntax-constant: light-dark(#622e00, #f2bd81);
28
+ --astryx-code-syntax-tag: light-dark(#6d211c, #f4b8ae);
29
+ --astryx-code-syntax-attribute: light-dark(#413e00, #d6c957);
30
+ --astryx-code-syntax-property: light-dark(#00482d, #94d3bb);
31
+ --astryx-code-syntax-punctuation: light-dark(#605f52, #adac9e);
32
+ }
33
+ }
@@ -0,0 +1,10 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.tokens {
4
+ [data-astryx-theme='butter'] {
5
+ --astryx-collapsible-trigger-foreground: var(--astryx-color-text-primary);
6
+ --astryx-collapsible-content-foreground: var(--astryx-color-text-primary);
7
+ --astryx-collapsible-pressed-overlay: var(--astryx-color-overlay-pressed);
8
+ --astryx-collapsible-focus: var(--astryx-color-accent);
9
+ }
10
+ }
@@ -0,0 +1,15 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.tokens {
4
+ [data-astryx-theme='butter'] {
5
+ --astryx-context-menu-background: var(--astryx-color-background-card);
6
+ --astryx-context-menu-foreground: var(--astryx-color-text-primary);
7
+ --astryx-context-menu-shadow: var(--astryx-shadow-low);
8
+ --astryx-context-menu-item-foreground: var(--astryx-color-text-primary);
9
+ --astryx-context-menu-item-focus-background: var(--astryx-color-background-card);
10
+ --astryx-context-menu-item-pressed-background: var(--astryx-color-overlay-pressed);
11
+ --astryx-context-menu-item-description-foreground: var(--astryx-color-text-secondary);
12
+ --astryx-context-menu-item-error-foreground: var(--astryx-color-text-red);
13
+ --astryx-context-menu-section-foreground: var(--astryx-color-text-primary);
14
+ }
15
+ }
@@ -0,0 +1,10 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.tokens {
4
+ [data-astryx-theme='butter'] {
5
+ --astryx-dialog-background: var(--astryx-color-background-surface);
6
+ --astryx-dialog-foreground: var(--astryx-color-text-primary);
7
+ --astryx-dialog-overlay: var(--astryx-color-overlay);
8
+ --astryx-dialog-shadow: var(--astryx-shadow-low);
9
+ }
10
+ }
@@ -0,0 +1,9 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.tokens {
4
+ [data-astryx-theme='butter'] {
5
+ --astryx-divider-color-subtle: var(--astryx-color-text-secondary);
6
+ --astryx-divider-color-strong: var(--astryx-color-border);
7
+ --astryx-divider-label-color: var(--astryx-color-text-secondary);
8
+ }
9
+ }
@@ -0,0 +1,14 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.tokens {
4
+ [data-astryx-theme='butter'] {
5
+ --astryx-dropdown-menu-background: var(--astryx-color-background-card);
6
+ --astryx-dropdown-menu-foreground: var(--astryx-color-text-primary);
7
+ --astryx-dropdown-menu-shadow: var(--astryx-shadow-low);
8
+ --astryx-dropdown-menu-hover-background: var(--astryx-color-overlay-hover);
9
+ --astryx-dropdown-menu-pressed-background: var(--astryx-color-overlay-pressed);
10
+ --astryx-dropdown-menu-trigger-open-overlay: var(--astryx-color-overlay-pressed);
11
+ --astryx-dropdown-menu-destructive-foreground: var(--astryx-color-text-primary);
12
+ --astryx-dropdown-menu-section-heading-foreground: var(--astryx-color-text-primary);
13
+ }
14
+ }
@@ -0,0 +1,9 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.tokens {
4
+ [data-astryx-theme='butter'] {
5
+ --astryx-empty-state-title-foreground: var(--astryx-color-text-primary);
6
+ --astryx-empty-state-description-foreground: var(--astryx-color-text-secondary);
7
+ --astryx-empty-state-text-width: 360px;
8
+ }
9
+ }
@@ -0,0 +1 @@
1
+ /* Field component theme tokens can be added here. */
@@ -0,0 +1,7 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.tokens {
4
+ [data-astryx-theme='butter'] {
5
+ --astryx-grid-default-gap: var(--astryx-spacing-0);
6
+ }
7
+ }
@@ -0,0 +1,35 @@
1
+ @layer astryx.reset, astryx.tokens, astryx.base, astryx.components, astryx.overrides;
2
+
3
+ @layer astryx.tokens {
4
+ [data-astryx-theme='butter'] {
5
+ --astryx-heading-foreground: var(--astryx-color-text-primary);
6
+ --astryx-heading-level-1-size: var(--astryx-text-heading-1-size);
7
+ --astryx-heading-level-2-size: var(--astryx-text-heading-2-size);
8
+ --astryx-heading-level-3-size: var(--astryx-text-heading-3-size);
9
+ --astryx-heading-level-4-size: var(--astryx-text-heading-4-size);
10
+ --astryx-heading-level-5-size: var(--astryx-text-heading-5-size);
11
+ --astryx-heading-level-6-size: var(--astryx-text-heading-6-size);
12
+ --astryx-heading-display-1-size: var(--astryx-text-display-1-size);
13
+ --astryx-heading-display-2-size: var(--astryx-text-display-2-size);
14
+ --astryx-heading-display-3-size: var(--astryx-text-display-3-size);
15
+ --astryx-heading-display-weight: var(--astryx-text-display-1-weight);
16
+ --astryx-heading-leading: 1.25;
17
+
18
+ --astryx-text-supporting-foreground: var(--astryx-color-text-secondary);
19
+ }
20
+ }
21
+
22
+ @layer astryx.components {
23
+ [data-astryx-theme='butter'] .astryx-heading {
24
+ font-family: var(--astryx-font-family-heading);
25
+ }
26
+
27
+ [data-astryx-theme='butter'] .astryx-text--type-display-1,
28
+ [data-astryx-theme='butter'] .astryx-text--type-display-2,
29
+ [data-astryx-theme='butter'] .astryx-text--type-display-3,
30
+ [data-astryx-theme='butter'] .astryx-heading--type-display-1,
31
+ [data-astryx-theme='butter'] .astryx-heading--type-display-2,
32
+ [data-astryx-theme='butter'] .astryx-heading--type-display-3 {
33
+ font-family: Sarina, 'Brush Script MT', 'Snell Roundhand', cursive;
34
+ }
35
+ }