@sanity/ui 2.10.0-corel.0 → 3.0.0-static.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 (322) hide show
  1. package/bin/ui.js +6 -0
  2. package/dist/_chunks-cjs/buildCommand.js +2836 -0
  3. package/dist/_chunks-cjs/buildCommand.js.map +1 -0
  4. package/dist/_chunks-cjs/getTheme_v2.js +1 -27
  5. package/dist/_chunks-cjs/getTheme_v2.js.map +1 -1
  6. package/dist/_chunks-es/getTheme_v2.mjs +1 -27
  7. package/dist/_chunks-es/getTheme_v2.mjs.map +1 -1
  8. package/dist/_legacy/getTheme_v2.esm.js +1 -27
  9. package/dist/_legacy/getTheme_v2.esm.js.map +1 -1
  10. package/dist/cli.d.ts +1 -0
  11. package/dist/cli.js +23 -0
  12. package/dist/cli.js.map +1 -0
  13. package/dist/css.d.mts +943 -0
  14. package/dist/css.d.ts +943 -0
  15. package/dist/css.esm.js +3135 -0
  16. package/dist/css.esm.js.map +1 -0
  17. package/dist/css.js +3135 -0
  18. package/dist/css.js.map +1 -0
  19. package/dist/css.mjs +3135 -0
  20. package/dist/css.mjs.map +1 -0
  21. package/dist/index.d.mts +175 -164
  22. package/dist/index.d.ts +175 -164
  23. package/dist/index.esm.js +864 -1955
  24. package/dist/index.esm.js.map +1 -1
  25. package/dist/index.js +870 -1962
  26. package/dist/index.js.map +1 -1
  27. package/dist/index.mjs +864 -1955
  28. package/dist/index.mjs.map +1 -1
  29. package/dist/sanity-theme.css +25 -0
  30. package/dist/system.css +2953 -0
  31. package/dist/theme.d.mts +84 -22
  32. package/dist/theme.d.ts +84 -22
  33. package/dist/theme.esm.js +232 -283
  34. package/dist/theme.esm.js.map +1 -1
  35. package/dist/theme.js +232 -283
  36. package/dist/theme.js.map +1 -1
  37. package/dist/theme.mjs +232 -283
  38. package/dist/theme.mjs.map +1 -1
  39. package/exports/css.ts +1 -0
  40. package/package.json +25 -4
  41. package/src/core/__workshop__/constants.ts +15 -15
  42. package/src/core/__workshop__/fontsPlugin.tsx +1 -1
  43. package/src/core/components/autocomplete/autocomplete.styles.tsx +1 -1
  44. package/src/core/components/autocomplete/autocomplete.tsx +12 -4
  45. package/src/core/components/breadcrumbs/__workshop__/example.tsx +1 -3
  46. package/src/core/components/breadcrumbs/__workshop__/index.ts +0 -5
  47. package/src/core/components/breadcrumbs/breadcrumbs.styles.ts +14 -2
  48. package/src/core/components/breadcrumbs/breadcrumbs.tsx +14 -9
  49. package/src/core/components/dialog/__workshop__/panes.tsx +1 -1
  50. package/src/core/components/dialog/dialog.tsx +77 -92
  51. package/src/core/components/hotkeys/hotkeys.tsx +18 -29
  52. package/src/core/components/menu/menu.tsx +8 -5
  53. package/src/core/components/menu/menuDivider.ts +2 -1
  54. package/src/core/components/menu/menuGroup.tsx +16 -8
  55. package/src/core/components/menu/menuItem.tsx +23 -14
  56. package/src/core/components/skeleton/skeleton.tsx +1 -1
  57. package/src/core/components/skeleton/styles.ts +1 -1
  58. package/src/core/components/skeleton/textSkeleton.tsx +1 -1
  59. package/src/core/components/tab/tab.tsx +6 -7
  60. package/src/core/components/tab/tabList.tsx +3 -2
  61. package/src/core/components/toast/styles.ts +1 -1
  62. package/src/core/components/toast/toast.tsx +6 -4
  63. package/src/core/components/toast/toastProvider.tsx +31 -22
  64. package/src/core/components/tree/style.ts +1 -1
  65. package/src/core/components/tree/tree.tsx +8 -2
  66. package/src/core/components/tree/treeGroup.tsx +1 -1
  67. package/src/core/components/tree/treeItem.tsx +38 -25
  68. package/src/core/components/tree/types.ts +5 -1
  69. package/src/core/lib/styled/elements.ts +135 -0
  70. package/src/core/lib/styled/index.ts +2 -0
  71. package/src/core/lib/styled/members.ts +15 -0
  72. package/src/core/lib/styled/styled.ts +79 -0
  73. package/src/core/primitives/_selectable/selectable.tsx +27 -14
  74. package/src/core/primitives/avatar/avatar.tsx +52 -32
  75. package/src/core/primitives/avatar/avatarCounter.tsx +1 -1
  76. package/src/core/primitives/avatar/avatarStack.tsx +1 -1
  77. package/src/core/primitives/badge/__workshop__/tones.tsx +9 -16
  78. package/src/core/primitives/badge/badge.tsx +18 -20
  79. package/src/core/primitives/box/box.tsx +62 -74
  80. package/src/core/primitives/button/__workshop__/props.tsx +3 -1
  81. package/src/core/primitives/button/__workshop__/sanityUploadButton.tsx +1 -1
  82. package/src/core/primitives/button/__workshop__/styled1.tsx +1 -1
  83. package/src/core/primitives/button/__workshop__/styled2.tsx +1 -1
  84. package/src/core/primitives/button/button.tsx +38 -45
  85. package/src/core/primitives/button/styles.ts +2 -2
  86. package/src/core/primitives/card/RootCardContext.ts +3 -0
  87. package/src/core/primitives/card/__workshop__/selected.tsx +1 -1
  88. package/src/core/primitives/card/__workshop__/styled.tsx +1 -1
  89. package/src/core/primitives/card/card.tsx +44 -46
  90. package/src/core/primitives/card/styles.ts +1 -1
  91. package/src/core/primitives/checkbox/checkbox.tsx +6 -8
  92. package/src/core/primitives/code/code.tsx +23 -12
  93. package/src/core/primitives/code/styles.ts +1 -1
  94. package/src/core/primitives/container/container.tsx +7 -15
  95. package/src/core/primitives/flex/__workshop__/example.tsx +1 -1
  96. package/src/core/primitives/flex/flex.tsx +6 -19
  97. package/src/core/primitives/grid/grid.tsx +2 -1
  98. package/src/core/primitives/heading/heading.tsx +32 -19
  99. package/src/core/primitives/heading/styles.ts +1 -1
  100. package/src/core/primitives/inline/inline.tsx +22 -13
  101. package/src/core/primitives/kbd/kbd.tsx +30 -37
  102. package/src/core/primitives/label/label.tsx +15 -4
  103. package/src/core/primitives/label/styles.ts +1 -1
  104. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +0 -1
  105. package/src/core/primitives/popover/popover.tsx +21 -15
  106. package/src/core/primitives/popover/popoverCard.tsx +36 -38
  107. package/src/core/primitives/radio/radio.tsx +1 -1
  108. package/src/core/primitives/radio/styles.ts +1 -1
  109. package/src/core/primitives/select/select.tsx +1 -1
  110. package/src/core/primitives/select/styles.ts +1 -1
  111. package/src/core/primitives/spinner/spinner.tsx +6 -20
  112. package/src/core/primitives/stack/stack.tsx +12 -10
  113. package/src/core/primitives/switch/styles.ts +9 -9
  114. package/src/core/primitives/switch/switch.tsx +20 -21
  115. package/src/core/primitives/text/__workshop__/colored.tsx +1 -1
  116. package/src/core/primitives/text/styles.ts +1 -2
  117. package/src/core/primitives/text/text.tsx +17 -21
  118. package/src/core/primitives/textArea/textArea.tsx +1 -1
  119. package/src/core/primitives/textInput/__workshop__/plain.tsx +1 -1
  120. package/src/core/primitives/textInput/textInput.tsx +176 -123
  121. package/src/core/primitives/tooltip/tooltip.test.tsx +1 -0
  122. package/src/core/primitives/tooltip/tooltip.tsx +13 -13
  123. package/src/core/primitives/tooltip/tooltipCard.tsx +15 -14
  124. package/src/core/primitives/types.ts +35 -16
  125. package/src/core/styles/border/borderStyle.ts +6 -0
  126. package/src/core/styles/border/types.ts +1 -0
  127. package/src/core/styles/box/boxStyle.ts +6 -0
  128. package/src/core/styles/card/_cardColorStyle.ts +0 -8
  129. package/src/core/styles/flex/flexStyle.ts +0 -18
  130. package/src/core/styles/flex/types.ts +1 -3
  131. package/src/core/styles/grid/gridStyle.ts +0 -10
  132. package/src/core/styles/helpers.ts +9 -0
  133. package/src/core/styles/input/textInputStyle.ts +1 -1
  134. package/src/core/theme/__workshop__/build/Root.tsx +1 -1
  135. package/src/core/theme/themeProvider.tsx +1 -1
  136. package/src/core/theme/useTheme.ts +1 -1
  137. package/src/core/types/avatar.ts +6 -1
  138. package/src/core/types/button.ts +1 -0
  139. package/src/core/types/flex.ts +27 -26
  140. package/src/core/types/gridItem.ts +32 -24
  141. package/src/core/types/radius.ts +7 -4
  142. package/src/core/utils/arrow/arrow.tsx +1 -1
  143. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +1 -1
  144. package/src/core/utils/layer/layer.tsx +28 -11
  145. package/src/core/utils/srOnly/srOnly.tsx +1 -1
  146. package/src/core/utils/virtualList/virtualList.tsx +1 -1
  147. package/src/css/_resp.ts +28 -0
  148. package/src/css/cli/buildCommand.ts +36 -0
  149. package/src/css/cli/index.ts +38 -0
  150. package/src/css/compile/comileRules.ts +59 -0
  151. package/src/css/compile/compileRule.ts +58 -0
  152. package/src/css/compile/compileSystem.ts +7 -0
  153. package/src/css/compile/compileTheme.ts +509 -0
  154. package/src/css/components/breadcrumbs/breadcrumbs.ts +5 -0
  155. package/src/css/components/breadcrumbs/index.ts +1 -0
  156. package/src/css/components/breadcrumbs/rules.ts +7 -0
  157. package/src/css/components/dialog/classes.ts +29 -0
  158. package/src/css/components/dialog/index.ts +1 -0
  159. package/src/css/components/dialog/rules.ts +75 -0
  160. package/src/css/components/tree/index.ts +1 -0
  161. package/src/css/components/tree/rules.ts +52 -0
  162. package/src/css/components/tree/tree.ts +5 -0
  163. package/src/css/composeClassNames.ts +3 -0
  164. package/src/css/index.ts +47 -0
  165. package/src/css/primitives/avatar/avatar.ts +32 -0
  166. package/src/css/primitives/avatar/index.ts +2 -0
  167. package/src/css/primitives/avatar/rules.ts +190 -0
  168. package/src/css/primitives/avatar/types.ts +9 -0
  169. package/src/css/primitives/badge/badge.ts +8 -0
  170. package/src/css/primitives/badge/index.ts +2 -0
  171. package/src/css/primitives/badge/rules.ts +25 -0
  172. package/src/css/primitives/badge/types.ts +8 -0
  173. package/src/css/primitives/box/box.ts +34 -0
  174. package/src/css/primitives/box/index.ts +2 -0
  175. package/src/css/primitives/box/rules.ts +25 -0
  176. package/src/css/primitives/box/types.ts +49 -0
  177. package/src/css/primitives/button/button.ts +26 -0
  178. package/src/css/primitives/button/index.ts +1 -0
  179. package/src/css/primitives/button/rules.ts +58 -0
  180. package/src/css/primitives/card/card.ts +21 -0
  181. package/src/css/primitives/card/index.ts +1 -0
  182. package/src/css/primitives/card/rules.ts +93 -0
  183. package/src/{core/primitives/checkbox/styles.ts → css/primitives/checkbox/__styles.ts} +3 -3
  184. package/src/css/primitives/checkbox/checkbox.ts +9 -0
  185. package/src/css/primitives/checkbox/index.ts +1 -0
  186. package/src/css/primitives/checkbox/rules.ts +136 -0
  187. package/src/css/primitives/code/code.ts +9 -0
  188. package/src/css/primitives/code/index.ts +2 -0
  189. package/src/css/primitives/code/rules.ts +71 -0
  190. package/src/css/primitives/code/types.ts +10 -0
  191. package/src/css/primitives/container/container.ts +7 -0
  192. package/src/css/primitives/container/index.ts +2 -0
  193. package/src/css/primitives/container/rules.ts +8 -0
  194. package/src/css/primitives/container/types.ts +6 -0
  195. package/src/css/primitives/heading/heading.ts +16 -0
  196. package/src/css/primitives/heading/index.ts +2 -0
  197. package/src/css/primitives/heading/rules.ts +84 -0
  198. package/src/css/primitives/heading/types.ts +12 -0
  199. package/src/css/primitives/kbd/index.ts +2 -0
  200. package/src/css/primitives/kbd/kbd.ts +7 -0
  201. package/src/css/primitives/kbd/rules.ts +20 -0
  202. package/src/css/primitives/kbd/types.ts +5 -0
  203. package/src/css/primitives/label/index.ts +2 -0
  204. package/src/css/primitives/label/label.ts +16 -0
  205. package/src/css/primitives/label/rules.ts +85 -0
  206. package/src/css/primitives/label/types.ts +12 -0
  207. package/src/css/primitives/popover/index.ts +1 -0
  208. package/src/css/primitives/popover/popover.ts +5 -0
  209. package/src/css/primitives/popover/rules.ts +5 -0
  210. package/src/css/primitives/radio/index.ts +1 -0
  211. package/src/css/primitives/radio/radio.ts +5 -0
  212. package/src/css/primitives/radio/rules.ts +5 -0
  213. package/src/css/primitives/select/index.ts +1 -0
  214. package/src/css/primitives/select/rules.ts +5 -0
  215. package/src/css/primitives/select/select.ts +5 -0
  216. package/src/{core/primitives/_selectable/style.ts → css/primitives/selectable/__style.ts} +5 -4
  217. package/src/css/primitives/selectable/index.ts +2 -0
  218. package/src/css/primitives/selectable/rules.ts +27 -0
  219. package/src/css/primitives/selectable/selectable.ts +9 -0
  220. package/src/css/primitives/selectable/types.ts +6 -0
  221. package/src/css/primitives/spinner/index.ts +1 -0
  222. package/src/css/primitives/spinner/rules.ts +22 -0
  223. package/src/css/primitives/spinner/spinner.ts +5 -0
  224. package/src/css/primitives/switch/index.ts +1 -0
  225. package/src/css/primitives/switch/rules.ts +132 -0
  226. package/src/css/primitives/switch/switch.ts +5 -0
  227. package/src/css/primitives/text/index.ts +2 -0
  228. package/src/css/primitives/text/rules.ts +75 -0
  229. package/src/css/primitives/text/text.ts +16 -0
  230. package/src/css/primitives/text/types.ts +11 -0
  231. package/src/css/primitives/textArea/index.ts +1 -0
  232. package/src/css/primitives/textArea/rules.ts +5 -0
  233. package/src/css/primitives/textArea/textArea.ts +5 -0
  234. package/src/css/primitives/textInput/index.ts +1 -0
  235. package/src/css/primitives/textInput/rules.ts +226 -0
  236. package/src/css/primitives/textInput/textInput.ts +7 -0
  237. package/src/css/primitives/token/rules.ts +45 -0
  238. package/src/css/primitives/tooltip/index.ts +1 -0
  239. package/src/css/primitives/tooltip/rules.ts +17 -0
  240. package/src/css/primitives/tooltip/tooltip.ts +9 -0
  241. package/src/css/responsiveRules.ts +25 -0
  242. package/src/css/rules.ts +121 -0
  243. package/src/css/styles/border/border.ts +22 -0
  244. package/src/css/styles/border/index.ts +2 -0
  245. package/src/css/styles/border/rules.ts +24 -0
  246. package/src/css/styles/border/types.ts +10 -0
  247. package/src/css/styles/display/rules.ts +62 -0
  248. package/src/css/styles/flex/flex.ts +20 -0
  249. package/src/css/styles/flex/index.ts +2 -0
  250. package/src/css/styles/flex/rules.ts +28 -0
  251. package/src/css/styles/flex/types.ts +35 -0
  252. package/src/css/styles/flexItem/flexItem.ts +8 -0
  253. package/src/css/styles/flexItem/index.ts +2 -0
  254. package/src/css/styles/flexItem/rules.ts +11 -0
  255. package/src/css/styles/flexItem/types.ts +11 -0
  256. package/src/css/styles/font/font.ts +12 -0
  257. package/src/css/styles/font/index.ts +2 -0
  258. package/src/css/styles/font/rules.ts +125 -0
  259. package/src/css/styles/font/types.ts +6 -0
  260. package/src/css/styles/gap/gap.ts +8 -0
  261. package/src/css/styles/gap/index.ts +2 -0
  262. package/src/css/styles/gap/rules.ts +33 -0
  263. package/src/css/styles/gap/types.ts +9 -0
  264. package/src/css/styles/grid/rules.ts +35 -0
  265. package/src/css/styles/gridItem/gridItem.ts +15 -0
  266. package/src/css/styles/gridItem/index.ts +2 -0
  267. package/src/css/styles/gridItem/rules.ts +96 -0
  268. package/src/css/styles/gridItem/types.ts +41 -0
  269. package/src/css/styles/height/rules.ts +7 -0
  270. package/src/css/styles/margin/index.ts +2 -0
  271. package/src/css/styles/margin/margin.ts +15 -0
  272. package/src/css/styles/margin/rules.ts +59 -0
  273. package/src/css/styles/margin/types.ts +11 -0
  274. package/src/css/styles/maxWidth/index.ts +2 -0
  275. package/src/css/styles/maxWidth/maxWidth.ts +6 -0
  276. package/src/css/styles/maxWidth/rules.ts +36 -0
  277. package/src/css/styles/maxWidth/types.ts +6 -0
  278. package/src/css/styles/overflow/rules.ts +9 -0
  279. package/src/css/styles/padding/index.ts +2 -0
  280. package/src/css/styles/padding/padding.ts +15 -0
  281. package/src/css/styles/padding/rules.ts +59 -0
  282. package/src/css/styles/padding/types.ts +12 -0
  283. package/src/css/styles/pointerEvents/index.ts +2 -0
  284. package/src/css/styles/pointerEvents/pointerEvents.ts +6 -0
  285. package/src/css/styles/pointerEvents/rules.ts +11 -0
  286. package/src/css/styles/pointerEvents/types.ts +7 -0
  287. package/src/css/styles/position/index.ts +2 -0
  288. package/src/css/styles/position/position.ts +7 -0
  289. package/src/css/styles/position/rules.ts +31 -0
  290. package/src/css/styles/position/types.ts +13 -0
  291. package/src/css/styles/radius/index.ts +2 -0
  292. package/src/css/styles/radius/radius.ts +8 -0
  293. package/src/css/styles/radius/rules.ts +13 -0
  294. package/src/css/styles/radius/types.ts +7 -0
  295. package/src/css/styles/shadow/rules.ts +53 -0
  296. package/src/css/styles/width/index.ts +2 -0
  297. package/src/css/styles/width/rules.ts +7 -0
  298. package/src/css/styles/width/types.ts +8 -0
  299. package/src/css/styles/width/width.ts +6 -0
  300. package/src/css/types.ts +591 -0
  301. package/src/css/varNames.ts +381 -0
  302. package/src/css/vars.ts +313 -0
  303. package/src/theme/build/_deprecated/color/factory.ts +1 -1
  304. package/src/theme/build/_deprecated/color/muted/createMuted.ts +2 -2
  305. package/src/theme/build/buildColorTheme.ts +39 -45
  306. package/src/theme/build/renderColorTheme.ts +65 -239
  307. package/src/theme/build/resolveColorTokens.ts +115 -51
  308. package/src/theme/config/tokens/color/types.ts +18 -4
  309. package/src/theme/defaults/colorTokens.ts +10 -17
  310. package/src/theme/defaults/config.ts +1 -1
  311. package/src/theme/getScopedTheme.ts +2 -9
  312. package/src/theme/system/_constants.ts +25 -0
  313. package/src/theme/system/_types.ts +41 -0
  314. package/src/theme/system/color/_constants.ts +0 -8
  315. package/src/theme/system/color/badge.ts +7 -3
  316. package/src/theme/system/index.ts +2 -0
  317. package/src/theme/system/v0/color/_system.ts +4 -8
  318. package/src/theme/system/v0/color/color.ts +2 -3
  319. package/src/theme/versioning/themeColor_v0_v2.ts +0 -26
  320. package/src/theme/versioning/v0_v2.ts +0 -4
  321. package/src/core/components/breadcrumbs/__workshop__/buttons.tsx +0 -58
  322. package/src/core/components/dialog/styles.ts +0 -76
@@ -0,0 +1,381 @@
1
+ import {
2
+ Space,
3
+ SPACE,
4
+ ThemeColorCardToneKey,
5
+ ThemeColorInputModeKey,
6
+ ThemeColorInputStateKey,
7
+ ThemeColorSchemeKey,
8
+ } from '@sanity/ui/theme'
9
+ import {
10
+ type ColorCardVarNames,
11
+ type ColorInputStateVarNames,
12
+ type CSSVarName,
13
+ type VarNames,
14
+ } from './types'
15
+
16
+ export const varNames: VarNames = {
17
+ color: {
18
+ dark: {
19
+ transparent: buildColorCardVarNames({scheme: 'dark', tone: 'transparent'}),
20
+ default: buildColorCardVarNames({scheme: 'dark', tone: 'default'}),
21
+ primary: buildColorCardVarNames({scheme: 'dark', tone: 'primary'}),
22
+ positive: buildColorCardVarNames({scheme: 'dark', tone: 'positive'}),
23
+ caution: buildColorCardVarNames({scheme: 'dark', tone: 'caution'}),
24
+ critical: buildColorCardVarNames({scheme: 'dark', tone: 'critical'}),
25
+ },
26
+ light: {
27
+ transparent: buildColorCardVarNames({scheme: 'light', tone: 'transparent'}),
28
+ default: buildColorCardVarNames({scheme: 'light', tone: 'default'}),
29
+ primary: buildColorCardVarNames({scheme: 'light', tone: 'primary'}),
30
+ positive: buildColorCardVarNames({scheme: 'light', tone: 'positive'}),
31
+ caution: buildColorCardVarNames({scheme: 'light', tone: 'caution'}),
32
+ critical: buildColorCardVarNames({scheme: 'light', tone: 'critical'}),
33
+ },
34
+
35
+ //
36
+ accent: {
37
+ fg: `--color-accent-fg`,
38
+ },
39
+ avatar: {
40
+ gray: {
41
+ bg: `--color-avatar-gray-bg`,
42
+ fg: `--color-avatar-gray-fg`,
43
+ },
44
+ blue: {
45
+ bg: `--color-avatar-blue-bg`,
46
+ fg: `--color-avatar-blue-fg`,
47
+ },
48
+ purple: {
49
+ bg: `--color-avatar-purple-bg`,
50
+ fg: `--color-avatar-purple-fg`,
51
+ },
52
+ magenta: {
53
+ bg: `--color-avatar-magenta-bg`,
54
+ fg: `--color-avatar-magenta-fg`,
55
+ },
56
+ red: {
57
+ bg: `--color-avatar-red-bg`,
58
+ fg: `--color-avatar-red-fg`,
59
+ },
60
+ orange: {
61
+ bg: `--color-avatar-orange-bg`,
62
+ fg: `--color-avatar-orange-fg`,
63
+ },
64
+ yellow: {
65
+ bg: `--color-avatar-yellow-bg`,
66
+ fg: `--color-avatar-yellow-fg`,
67
+ },
68
+ green: {
69
+ bg: `--color-avatar-green-bg`,
70
+ fg: `--color-avatar-green-fg`,
71
+ },
72
+ cyan: {
73
+ bg: `--color-avatar-cyan-bg`,
74
+ fg: `--color-avatar-cyan-fg`,
75
+ },
76
+ },
77
+ badge: {
78
+ bg: `--color-badge-bg`,
79
+ dot: `--color-badge-dot`,
80
+ fg: `--color-badge-fg`,
81
+ icon: `--color-badge-icon`,
82
+ default: {
83
+ bg: `--color-badge-default-bg`,
84
+ dot: `--color-badge-default-dot`,
85
+ fg: `--color-badge-default-fg`,
86
+ icon: `--color-badge-default-icon`,
87
+ },
88
+ primary: {
89
+ bg: `--color-badge-primary-bg`,
90
+ dot: `--color-badge-primary-dot`,
91
+ fg: `--color-badge-primary-fg`,
92
+ icon: `--color-badge-primary-icon`,
93
+ },
94
+ positive: {
95
+ bg: `--color-badge-positive-bg`,
96
+ dot: `--color-badge-positive-dot`,
97
+ fg: `--color-badge-positive-fg`,
98
+ icon: `--color-badge-positive-icon`,
99
+ },
100
+ caution: {
101
+ bg: `--color-badge-caution-bg`,
102
+ dot: `--color-badge-caution-dot`,
103
+ fg: `--color-badge-caution-fg`,
104
+ icon: `--color-badge-caution-icon`,
105
+ },
106
+ critical: {
107
+ bg: `--color-badge-critical-bg`,
108
+ dot: `--color-badge-critical-dot`,
109
+ fg: `--color-badge-critical-fg`,
110
+ icon: `--color-badge-critical-icon`,
111
+ },
112
+ },
113
+ bg: `--color-bg`,
114
+ border: `--color-border`,
115
+ code: {
116
+ bg: `--color-code-bg`,
117
+ fg: `--color-code-fg`,
118
+ },
119
+ fg: `--color-fg`,
120
+ icon: `--color-icon`,
121
+ kbd: {
122
+ bg: `--color-kbd-bg`,
123
+ border: `--color-kbd-border`,
124
+ fg: `--color-kbd-fg`,
125
+ },
126
+ link: {
127
+ fg: `--color-link-fg`,
128
+ },
129
+ muted: {
130
+ bg: `--color-muted-bg`,
131
+ fg: `--color-muted-fg`,
132
+ },
133
+ shadow: {
134
+ outline: `--color-shadow-outline`,
135
+ umbra: `--color-shadow-umbra`,
136
+ penumbra: `--color-shadow-penumbra`,
137
+ ambient: `--color-shadow-ambient`,
138
+ },
139
+ skeleton: {
140
+ from: `--color-skeleton-from`,
141
+ to: `--color-skeleton-to`,
142
+ },
143
+ syntax: {
144
+ atrule: `--color-syntax-atrule`,
145
+ attrName: `--color-syntax-attrName`,
146
+ attrValue: `--color-syntax-attrValue`,
147
+ attribute: `--color-syntax-attribute`,
148
+ boolean: `--color-syntax-boolean`,
149
+ builtin: `--color-syntax-builtin`,
150
+ cdata: `--color-syntax-cdata`,
151
+ char: `--color-syntax-char`,
152
+ class: `--color-syntax-class`,
153
+ className: `--color-syntax-className`,
154
+ comment: `--color-syntax-comment`,
155
+ constant: `--color-syntax-constant`,
156
+ deleted: `--color-syntax-deleted`,
157
+ doctype: `--color-syntax-doctype`,
158
+ entity: `--color-syntax-entity`,
159
+ function: `--color-syntax-function`,
160
+ hexcode: `--color-syntax-hexcode`,
161
+ id: `--color-syntax-id`,
162
+ important: `--color-syntax-important`,
163
+ inserted: `--color-syntax-inserted`,
164
+ keyword: `--color-syntax-keyword`,
165
+ number: `--color-syntax-number`,
166
+ operator: `--color-syntax-operator`,
167
+ prolog: `--color-syntax-prolog`,
168
+ property: `--color-syntax-property`,
169
+ pseudoClass: `--color-syntax-pseudoClass`,
170
+ pseudoElement: `--color-syntax-pseudoElement`,
171
+ punctuation: `--color-syntax-punctuation`,
172
+ regex: `--color-syntax-regex`,
173
+ selector: `--color-syntax-selector`,
174
+ string: `--color-syntax-string`,
175
+ symbol: `--color-syntax-symbol`,
176
+ tag: `--color-syntax-tag`,
177
+ unit: `--color-syntax-unit`,
178
+ url: `--color-syntax-url`,
179
+ variable: `--color-syntax-variable`,
180
+ },
181
+ },
182
+ avatar: {
183
+ focusRing: {
184
+ offset: `--avatar-focus-ring-offset`,
185
+ width: `--avatar-focus-ring-width`,
186
+ },
187
+ },
188
+ space: Object.fromEntries(
189
+ SPACE.map((space) => [space, `--space-${space}` satisfies CSSVarName]),
190
+ ) as Record<Space, CSSVarName>,
191
+ } as const
192
+
193
+ function buildColorCardVarNames(props: {
194
+ scheme: ThemeColorSchemeKey
195
+ tone: ThemeColorCardToneKey
196
+ }): ColorCardVarNames {
197
+ const {scheme, tone} = props
198
+
199
+ const prefix = `--color-${scheme}-${tone}` as const
200
+
201
+ return {
202
+ accent: {
203
+ fg: `${prefix}-accent-fg`,
204
+ },
205
+ avatar: {
206
+ gray: {
207
+ bg: `${prefix}-avatar-gray-bg`,
208
+ fg: `${prefix}-avatar-gray-fg`,
209
+ },
210
+ blue: {
211
+ bg: `${prefix}-avatar-blue-bg`,
212
+ fg: `${prefix}-avatar-blue-fg`,
213
+ },
214
+ purple: {
215
+ bg: `${prefix}-avatar-purple-bg`,
216
+ fg: `${prefix}-avatar-purple-fg`,
217
+ },
218
+ magenta: {
219
+ bg: `${prefix}-avatar-magenta-bg`,
220
+ fg: `${prefix}-avatar-magenta-fg`,
221
+ },
222
+ red: {
223
+ bg: `${prefix}-avatar-red-bg`,
224
+ fg: `${prefix}-avatar-red-fg`,
225
+ },
226
+ orange: {
227
+ bg: `${prefix}-avatar-orange-bg`,
228
+ fg: `${prefix}-avatar-gray-fg`,
229
+ },
230
+ yellow: {
231
+ bg: `${prefix}-avatar-yellow-bg`,
232
+ fg: `${prefix}-avatar-yellow-fg`,
233
+ },
234
+ green: {
235
+ bg: `${prefix}-avatar-green-bg`,
236
+ fg: `${prefix}-avatar-green-fg`,
237
+ },
238
+ cyan: {
239
+ bg: `${prefix}-avatar-cyan-bg`,
240
+ fg: `${prefix}-avatar-yellow-fg`,
241
+ },
242
+ },
243
+ backdrop: `${prefix}-backdrop`,
244
+ badge: {
245
+ default: {
246
+ bg: `${prefix}-badge-default-bg`,
247
+ dot: `${prefix}-badge-default-dot`,
248
+ fg: `${prefix}-badge-default-fg`,
249
+ icon: `${prefix}-badge-default-icon`,
250
+ },
251
+ primary: {
252
+ bg: `${prefix}-badge-primary-bg`,
253
+ dot: `${prefix}-badge-primary-dot`,
254
+ fg: `${prefix}-badge-primary-fg`,
255
+ icon: `${prefix}-badge-primary-icon`,
256
+ },
257
+ positive: {
258
+ bg: `${prefix}-badge-positive-bg`,
259
+ dot: `${prefix}-badge-positive-dot`,
260
+ fg: `${prefix}-badge-positive-fg`,
261
+ icon: `${prefix}-badge-positive-icon`,
262
+ },
263
+ caution: {
264
+ bg: `${prefix}-badge-caution-bg`,
265
+ dot: `${prefix}-badge-caution-dot`,
266
+ fg: `${prefix}-badge-caution-fg`,
267
+ icon: `${prefix}-badge-caution-icon`,
268
+ },
269
+ critical: {
270
+ bg: `${prefix}-badge-critical-bg`,
271
+ dot: `${prefix}-badge-critical-dot`,
272
+ fg: `${prefix}-badge-critical-fg`,
273
+ icon: `${prefix}-badge-critical-icon`,
274
+ },
275
+ },
276
+ bg: `${prefix}-bg`,
277
+ border: `${prefix}-border`,
278
+ code: {
279
+ bg: `${prefix}-code-bg`,
280
+ fg: `${prefix}-code-fg`,
281
+ },
282
+ fg: `${prefix}-fg`,
283
+ focusRing: `${prefix}-focus-ring`,
284
+ icon: `${prefix}-icon`,
285
+ input: {
286
+ default: {
287
+ enabled: buildColorInputStateVarNames({mode: 'default', scheme, state: 'enabled', tone}),
288
+ hovered: buildColorInputStateVarNames({mode: 'default', scheme, state: 'hovered', tone}),
289
+ readOnly: buildColorInputStateVarNames({mode: 'default', scheme, state: 'readOnly', tone}),
290
+ disabled: buildColorInputStateVarNames({mode: 'default', scheme, state: 'disabled', tone}),
291
+ },
292
+ invalid: {
293
+ enabled: buildColorInputStateVarNames({mode: 'invalid', scheme, state: 'enabled', tone}),
294
+ hovered: buildColorInputStateVarNames({mode: 'invalid', scheme, state: 'hovered', tone}),
295
+ readOnly: buildColorInputStateVarNames({mode: 'invalid', scheme, state: 'readOnly', tone}),
296
+ disabled: buildColorInputStateVarNames({mode: 'invalid', scheme, state: 'disabled', tone}),
297
+ },
298
+ },
299
+ kbd: {
300
+ bg: `${prefix}-kbd-bg`,
301
+ border: `${prefix}-kbd-border`,
302
+ fg: `${prefix}-kbd-fg`,
303
+ },
304
+ link: {
305
+ fg: `${prefix}-link-fg`,
306
+ },
307
+ muted: {
308
+ bg: `${prefix}-muted-bg`,
309
+ fg: `${prefix}-muted-fg`,
310
+ },
311
+ skeleton: {
312
+ from: `${prefix}-skeleton-from`,
313
+ to: `${prefix}-skeleton-to`,
314
+ },
315
+ shadow: {
316
+ outline: `${prefix}-shadow-outline`,
317
+ umbra: `${prefix}-shadow-umbra`,
318
+ penumbra: `${prefix}-shadow-penumbra`,
319
+ ambient: `${prefix}-shadow-ambient`,
320
+ },
321
+ syntax: {
322
+ atrule: `${prefix}-syntax-atrule`,
323
+ attrName: `${prefix}-syntax-attrName`,
324
+ attrValue: `${prefix}-syntax-attrValue`,
325
+ attribute: `${prefix}-syntax-attribute`,
326
+ boolean: `${prefix}-syntax-boolean`,
327
+ builtin: `${prefix}-syntax-builtin`,
328
+ cdata: `${prefix}-syntax-cdata`,
329
+ char: `${prefix}-syntax-char`,
330
+ class: `${prefix}-syntax-class`,
331
+ className: `${prefix}-syntax-className`,
332
+ comment: `${prefix}-syntax-comment`,
333
+ constant: `${prefix}-syntax-constant`,
334
+ deleted: `${prefix}-syntax-deleted`,
335
+ doctype: `${prefix}-syntax-doctype`,
336
+ entity: `${prefix}-syntax-entity`,
337
+ function: `${prefix}-syntax-function`,
338
+ hexcode: `${prefix}-syntax-hexcode`,
339
+ id: `${prefix}-syntax-id`,
340
+ important: `${prefix}-syntax-important`,
341
+ inserted: `${prefix}-syntax-inserted`,
342
+ keyword: `${prefix}-syntax-keyword`,
343
+ number: `${prefix}-syntax-number`,
344
+ operator: `${prefix}-syntax-operator`,
345
+ prolog: `${prefix}-syntax-prolog`,
346
+ property: `${prefix}-syntax-property`,
347
+ pseudoClass: `${prefix}-syntax-pseudoClass`,
348
+ pseudoElement: `${prefix}-syntax-pseudoElement`,
349
+ punctuation: `${prefix}-syntax-punctuation`,
350
+ regex: `${prefix}-syntax-regex`,
351
+ selector: `${prefix}-syntax-selector`,
352
+ string: `${prefix}-syntax-string`,
353
+ symbol: `${prefix}-syntax-symbol`,
354
+ tag: `${prefix}-syntax-tag`,
355
+ unit: `${prefix}-syntax-unit`,
356
+ url: `${prefix}-syntax-url`,
357
+ variable: `${prefix}-syntax-variable`,
358
+ },
359
+ }
360
+ }
361
+
362
+ function buildColorInputStateVarNames(props: {
363
+ mode: ThemeColorInputModeKey
364
+ scheme: ThemeColorSchemeKey
365
+ state: ThemeColorInputStateKey
366
+ tone: ThemeColorCardToneKey
367
+ }): ColorInputStateVarNames {
368
+ const {mode, scheme, state, tone} = props
369
+
370
+ const prefix = `--color-${scheme}-${tone}-input-${mode}-${state}` as const
371
+
372
+ return {
373
+ bg: `${prefix}-bg`,
374
+ border: `${prefix}-border`,
375
+ fg: `${prefix}-fg`,
376
+ muted: {
377
+ bg: `${prefix}-muted-bg`,
378
+ },
379
+ placeholder: `${prefix}-placeholder`,
380
+ }
381
+ }
@@ -0,0 +1,313 @@
1
+ import {
2
+ SPACE,
3
+ type Space,
4
+ THEME_COLOR_AVATAR_COLORS,
5
+ THEME_COLOR_CARD_TONES,
6
+ THEME_COLOR_INPUT_MODES,
7
+ THEME_COLOR_INPUT_STATES,
8
+ THEME_COLOR_STATE_TONES,
9
+ type ThemeColorCardToneKey,
10
+ type ThemeColorInputModeKey,
11
+ type ThemeColorInputStateKey,
12
+ type ThemeColorSchemeKey,
13
+ } from '@sanity/ui/theme'
14
+ import {
15
+ type ColorAvatarVars,
16
+ type ColorBadgeVars,
17
+ type ColorCardVars,
18
+ type ColorInputModeVars,
19
+ type ColorInputStateVars,
20
+ type ColorInputVars,
21
+ type ColorSchemeVars,
22
+ type CSSVar,
23
+ type Vars,
24
+ } from './types'
25
+ import {varNames} from './varNames'
26
+
27
+ export const vars: Vars = {
28
+ color: {
29
+ dark: THEME_COLOR_CARD_TONES.reduce((acc, tone) => {
30
+ return {
31
+ ...acc,
32
+ [tone]: buildColorCardVars({scheme: 'dark', tone}),
33
+ }
34
+ }, {} as ColorSchemeVars),
35
+ light: THEME_COLOR_CARD_TONES.reduce((acc, tone) => {
36
+ return {
37
+ ...acc,
38
+ [tone]: buildColorCardVars({scheme: 'light', tone}),
39
+ }
40
+ }, {} as ColorSchemeVars),
41
+
42
+ accent: {
43
+ fg: `var(--color-accent-fg)`,
44
+ },
45
+ avatar: {
46
+ ...THEME_COLOR_AVATAR_COLORS.reduce((acc, color) => {
47
+ return {
48
+ ...acc,
49
+ [color]: {
50
+ bg: `var(--color-avatar-${color}-bg)`,
51
+ fg: `var(--color-avatar-${color}-fg)`,
52
+ },
53
+ }
54
+ }, {} as ColorAvatarVars),
55
+ },
56
+ badge: {
57
+ bg: `var(--color-badge-bg)`,
58
+ dot: `var(--color-badge-dot)`,
59
+ fg: `var(--color-badge-fg)`,
60
+ icon: `var(--color-badge-icon)`,
61
+ ...THEME_COLOR_STATE_TONES.reduce((acc, tone) => {
62
+ return {
63
+ ...acc,
64
+ [tone]: {
65
+ bg: `var(--color-badge-${tone}-bg)`,
66
+ dot: `var(--color-badge-${tone}-dot)`,
67
+ fg: `var(--color-badge-${tone}-fg)`,
68
+ icon: `var(--color-badge-${tone}-icon)`,
69
+ },
70
+ }
71
+ }, {} as ColorBadgeVars),
72
+ },
73
+ bg: `var(--color-bg)`,
74
+ border: `var(--color-border)`,
75
+ code: {
76
+ bg: `var(--color-code-bg)`,
77
+ fg: `var(--color-code-fg)`,
78
+ },
79
+ fg: `var(--color-fg)`,
80
+ icon: `var(--color-icon)`,
81
+ input: {
82
+ ...THEME_COLOR_INPUT_MODES.reduce((acc, mode) => {
83
+ return {
84
+ ...acc,
85
+ [mode]: {
86
+ ...THEME_COLOR_INPUT_STATES.reduce((acc, state) => {
87
+ return {
88
+ ...acc,
89
+ [state]: {
90
+ bg: `var(--color-bg)`,
91
+ border: `var(--color-border)`,
92
+ fg: `var(--color-fg)`,
93
+ muted: {
94
+ fg: `var(--color-muted-fg)`,
95
+ },
96
+ placeholder: `var(--color-placeholder)`,
97
+ },
98
+ }
99
+ }, {} as ColorInputModeVars),
100
+ },
101
+ }
102
+ }, {} as ColorInputVars),
103
+ },
104
+ kbd: {
105
+ bg: `var(--color-kbd-bg)`,
106
+ border: `var(--color-kbd-border)`,
107
+ fg: `var(--color-kbd-fg)`,
108
+ },
109
+ link: {
110
+ fg: `var(--color-link-fg)`,
111
+ },
112
+ muted: {
113
+ bg: `var(--color-muted-bg)`,
114
+ fg: `var(--color-muted-fg)`,
115
+ },
116
+ shadow: {
117
+ outline: `var(--color-shadow-outline)`,
118
+ umbra: `var(--color-shadow-umbra)`,
119
+ penumbra: `var(--color-shadow-penumbra)`,
120
+ ambient: `var(--color-shadow-ambient)`,
121
+ },
122
+ skeleton: {
123
+ from: `var(--color-skeleton-from)`,
124
+ to: `var(--color-skeleton-to)`,
125
+ },
126
+ syntax: {
127
+ atrule: `var(--color-syntax-atrule)`,
128
+ attrName: `var(--color-syntax-attrName)`,
129
+ attrValue: `var(--color-syntax-attrValue)`,
130
+ attribute: `var(--color-syntax-attribute)`,
131
+ boolean: `var(--color-syntax-boolean)`,
132
+ builtin: `var(--color-syntax-builtin)`,
133
+ cdata: `var(--color-syntax-cdata)`,
134
+ char: `var(--color-syntax-char)`,
135
+ class: `var(--color-syntax-class)`,
136
+ className: `var(--color-syntax-className)`,
137
+ comment: `var(--color-syntax-comment)`,
138
+ constant: `var(--color-syntax-constant)`,
139
+ deleted: `var(--color-syntax-deleted)`,
140
+ doctype: `var(--color-syntax-doctype)`,
141
+ entity: `var(--color-syntax-entity)`,
142
+ function: `var(--color-syntax-function)`,
143
+ hexcode: `var(--color-syntax-hexcode)`,
144
+ id: `var(--color-syntax-id)`,
145
+ important: `var(--color-syntax-important)`,
146
+ inserted: `var(--color-syntax-inserted)`,
147
+ keyword: `var(--color-syntax-keyword)`,
148
+ number: `var(--color-syntax-number)`,
149
+ operator: `var(--color-syntax-operator)`,
150
+ prolog: `var(--color-syntax-prolog)`,
151
+ property: `var(--color-syntax-property)`,
152
+ pseudoClass: `var(--color-syntax-pseudoClass)`,
153
+ pseudoElement: `var(--color-syntax-pseudoElement)`,
154
+ punctuation: `var(--color-syntax-punctuation)`,
155
+ regex: `var(--color-syntax-regex)`,
156
+ selector: `var(--color-syntax-selector)`,
157
+ string: `var(--color-syntax-string)`,
158
+ symbol: `var(--color-syntax-symbol)`,
159
+ tag: `var(--color-syntax-tag)`,
160
+ unit: `var(--color-syntax-unit)`,
161
+ url: `var(--color-syntax-url)`,
162
+ variable: `var(--color-syntax-variable)`,
163
+ },
164
+ },
165
+ space: Object.fromEntries(
166
+ SPACE.map((space) => [space, `var(${varNames.space[space]})` satisfies CSSVar]),
167
+ ) as Record<Space, CSSVar>,
168
+ } as const
169
+
170
+ function buildColorCardVars(props: {
171
+ scheme: ThemeColorSchemeKey
172
+ tone: ThemeColorCardToneKey
173
+ }): ColorCardVars {
174
+ const {scheme, tone} = props
175
+
176
+ const prefix = `--color-${scheme}-${tone}` as const
177
+
178
+ return {
179
+ accent: {
180
+ fg: `var(${prefix}-accent-fg)`,
181
+ },
182
+ avatar: {
183
+ ...THEME_COLOR_AVATAR_COLORS.reduce((acc, color) => {
184
+ return {
185
+ ...acc,
186
+ [color]: {
187
+ bg: `var(${prefix}-avatar-${color}-bg)`,
188
+ fg: `var(${prefix}-avatar-${color}-fg)`,
189
+ },
190
+ }
191
+ }, {} as ColorAvatarVars),
192
+ },
193
+ backdrop: `var(${prefix}-backdrop)`,
194
+ badge: {
195
+ ...THEME_COLOR_STATE_TONES.reduce((acc, tone) => {
196
+ return {
197
+ ...acc,
198
+ [tone]: {
199
+ bg: `var(${prefix}-badge-${tone}-bg)`,
200
+ dot: `var(${prefix}-badge-${tone}-dot)`,
201
+ fg: `var(${prefix}-badge-${tone}-fg)`,
202
+ icon: `var(${prefix}-badge-${tone}-icon)`,
203
+ },
204
+ }
205
+ }, {} as ColorBadgeVars),
206
+ },
207
+ bg: `var(${prefix}-bg)`,
208
+ border: `var(${prefix}-border)`,
209
+ code: {
210
+ bg: `var(${prefix}-code-bg)`,
211
+ fg: `var(${prefix}-code-fg)`,
212
+ },
213
+ fg: `var(${prefix}-fg)`,
214
+ focusRing: `var(${prefix}-focus-ring)`,
215
+ icon: `var(${prefix}-icon)`,
216
+ input: {
217
+ ...THEME_COLOR_INPUT_MODES.reduce((acc, mode) => {
218
+ return {
219
+ ...acc,
220
+ [mode]: {
221
+ ...THEME_COLOR_INPUT_STATES.reduce((acc, state) => {
222
+ return {
223
+ ...acc,
224
+ [state]: buildColorInputStateVars({mode, scheme, state, tone}),
225
+ }
226
+ }, {} as ColorInputModeVars),
227
+ },
228
+ }
229
+ }, {} as ColorInputVars),
230
+ },
231
+ kbd: {
232
+ bg: `var(${prefix}-kbd-bg)`,
233
+ border: `var(${prefix}-kbd-border)`,
234
+ fg: `var(${prefix}-kbd-fg)`,
235
+ },
236
+ link: {
237
+ fg: `var(${prefix}-link-fg)`,
238
+ },
239
+ muted: {
240
+ bg: `var(${prefix}-muted-bg)`,
241
+ fg: `var(${prefix}-muted-fg)`,
242
+ },
243
+ skeleton: {
244
+ from: `var(${prefix}-skeleton-from)`,
245
+ to: `var(${prefix}-skeleton-to)`,
246
+ },
247
+ shadow: {
248
+ outline: `var(${prefix}-shadow-outline)`,
249
+ umbra: `var(${prefix}-shadow-umbra)`,
250
+ penumbra: `var(${prefix}-shadow-penumbra)`,
251
+ ambient: `var(${prefix}-shadow-ambient)`,
252
+ },
253
+ syntax: {
254
+ atrule: `var(${prefix}-syntax-atrule)`,
255
+ attrName: `var(${prefix}-syntax-attrName)`,
256
+ attrValue: `var(${prefix}-syntax-attrValue)`,
257
+ attribute: `var(${prefix}-syntax-attribute)`,
258
+ boolean: `var(${prefix}-syntax-boolean)`,
259
+ builtin: `var(${prefix}-syntax-builtin)`,
260
+ cdata: `var(${prefix}-syntax-cdata)`,
261
+ char: `var(${prefix}-syntax-char)`,
262
+ class: `var(${prefix}-syntax-class)`,
263
+ className: `var(${prefix}-syntax-className)`,
264
+ comment: `var(${prefix}-syntax-comment)`,
265
+ constant: `var(${prefix}-syntax-constant)`,
266
+ deleted: `var(${prefix}-syntax-deleted)`,
267
+ doctype: `var(${prefix}-syntax-doctype)`,
268
+ entity: `var(${prefix}-syntax-entity)`,
269
+ function: `var(${prefix}-syntax-function)`,
270
+ hexcode: `var(${prefix}-syntax-hexcode)`,
271
+ id: `var(${prefix}-syntax-id)`,
272
+ important: `var(${prefix}-syntax-important)`,
273
+ inserted: `var(${prefix}-syntax-inserted)`,
274
+ keyword: `var(${prefix}-syntax-keyword)`,
275
+ number: `var(${prefix}-syntax-number)`,
276
+ operator: `var(${prefix}-syntax-operator)`,
277
+ prolog: `var(${prefix}-syntax-prolog)`,
278
+ property: `var(${prefix}-syntax-property)`,
279
+ pseudoClass: `var(${prefix}-syntax-pseudoClass)`,
280
+ pseudoElement: `var(${prefix}-syntax-pseudoElement)`,
281
+ punctuation: `var(${prefix}-syntax-punctuation)`,
282
+ regex: `var(${prefix}-syntax-regex)`,
283
+ selector: `var(${prefix}-syntax-selector)`,
284
+ string: `var(${prefix}-syntax-string)`,
285
+ symbol: `var(${prefix}-syntax-symbol)`,
286
+ tag: `var(${prefix}-syntax-tag)`,
287
+ unit: `var(${prefix}-syntax-unit)`,
288
+ url: `var(${prefix}-syntax-url)`,
289
+ variable: `var(${prefix}-syntax-variable)`,
290
+ },
291
+ }
292
+ }
293
+
294
+ function buildColorInputStateVars(props: {
295
+ mode: ThemeColorInputModeKey
296
+ scheme: ThemeColorSchemeKey
297
+ state: ThemeColorInputStateKey
298
+ tone: ThemeColorCardToneKey
299
+ }): ColorInputStateVars {
300
+ const {mode, scheme, state, tone} = props
301
+
302
+ const prefix = `--color-${scheme}-${tone}-input-${mode}-${state}` as const
303
+
304
+ return {
305
+ bg: `var(${prefix}-bg)`,
306
+ border: `var(${prefix}-border)`,
307
+ fg: `var(${prefix}-fg)`,
308
+ muted: {
309
+ bg: `var(${prefix}-muted-bg)`,
310
+ },
311
+ placeholder: `var(${prefix}-placeholder)`,
312
+ }
313
+ }
@@ -34,7 +34,7 @@ export interface ThemeColorBuilderOpts {
34
34
  solid: (opts: {
35
35
  base: ThemeColorBase
36
36
  dark: boolean
37
- tone: ThemeColorName
37
+ tone: ThemeColorToneKey
38
38
  name: ThemeColorName
39
39
  state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'
40
40
  }) => ThemeColorGenericState
@@ -1,11 +1,11 @@
1
- import {ThemeColorBase, ThemeColorMuted, ThemeColorToneKey} from '../../../../system'
1
+ import {ThemeColorBase, ThemeColorCardToneKey, ThemeColorMuted} from '../../../../system'
2
2
  import {ThemeColorBuilderOpts} from '../factory'
3
3
 
4
4
  export function createMutedTones(
5
5
  opts: ThemeColorBuilderOpts,
6
6
  base: ThemeColorBase,
7
7
  dark: boolean,
8
- name: ThemeColorToneKey,
8
+ name: ThemeColorCardToneKey,
9
9
  ): ThemeColorMuted {
10
10
  return {
11
11
  default: {