@sanity/ui 3.0.0-static.1 → 3.0.0-static.2

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 (660) hide show
  1. package/LICENSE +1 -1
  2. package/bin/ui.js +0 -1
  3. package/dist/_chunks-cjs/_visual-editing.js +3059 -0
  4. package/dist/_chunks-cjs/_visual-editing.js.map +1 -0
  5. package/dist/_chunks-cjs/buildCommand.js +14 -3524
  6. package/dist/_chunks-cjs/buildCommand.js.map +1 -1
  7. package/dist/_chunks-cjs/refractor.js +27 -0
  8. package/dist/_chunks-cjs/refractor.js.map +1 -0
  9. package/dist/_chunks-cjs/v3_v2.js +251 -0
  10. package/dist/_chunks-cjs/v3_v2.js.map +1 -0
  11. package/dist/_chunks-es/_visual-editing.mjs +3066 -0
  12. package/dist/_chunks-es/_visual-editing.mjs.map +1 -0
  13. package/dist/_chunks-es/refractor.mjs +26 -0
  14. package/dist/_chunks-es/refractor.mjs.map +1 -0
  15. package/dist/_chunks-es/v3_v2.mjs +252 -0
  16. package/dist/_chunks-es/v3_v2.mjs.map +1 -0
  17. package/dist/_visual-editing.d.mts +806 -0
  18. package/dist/_visual-editing.d.ts +806 -0
  19. package/dist/_visual-editing.js +31 -0
  20. package/dist/_visual-editing.js.map +1 -0
  21. package/dist/_visual-editing.mjs +31 -0
  22. package/dist/_visual-editing.mjs.map +1 -0
  23. package/dist/cli.js +337 -5
  24. package/dist/cli.js.map +1 -1
  25. package/dist/css.d.mts +1446 -373
  26. package/dist/css.d.ts +1446 -373
  27. package/dist/css.js +2665 -1747
  28. package/dist/css.js.map +1 -1
  29. package/dist/css.mjs +2651 -1732
  30. package/dist/css.mjs.map +1 -1
  31. package/dist/index.d.mts +418 -520
  32. package/dist/index.d.ts +418 -520
  33. package/dist/index.js +737 -4617
  34. package/dist/index.js.map +1 -1
  35. package/dist/index.mjs +633 -4522
  36. package/dist/index.mjs.map +1 -1
  37. package/dist/sanity-palette.css +9 -0
  38. package/dist/sanity-theme.css +1 -25
  39. package/dist/system.css +596 -404
  40. package/dist/theme.d.mts +431 -110
  41. package/dist/theme.d.ts +431 -110
  42. package/dist/theme.js +1216 -2430
  43. package/dist/theme.js.map +1 -1
  44. package/dist/theme.mjs +1238 -2450
  45. package/dist/theme.mjs.map +1 -1
  46. package/exports/_visual-editing.ts +31 -0
  47. package/package.json +92 -81
  48. package/src/{css/cli → cli}/buildCommand.ts +21 -9
  49. package/src/{css/cli → cli}/index.ts +1 -1
  50. package/src/core/StyleTags.tsx +24 -0
  51. package/src/core/_compat/index.ts +8 -1
  52. package/src/core/_compat/styles/_responsive.ts +19 -0
  53. package/src/core/_compat/styles/index.ts +1 -5
  54. package/src/core/{theme → _compat/theme}/theme.test.tsx +2 -2
  55. package/src/core/{theme → _compat/theme}/themeColorProvider.tsx +4 -2
  56. package/src/core/{theme → _compat/theme}/themeContext.ts +1 -1
  57. package/src/core/{theme → _compat/theme}/themeProvider.tsx +10 -11
  58. package/src/core/{theme → _compat/theme}/useRootTheme.ts +1 -0
  59. package/src/core/{theme → _compat/theme}/useTheme.ts +2 -2
  60. package/src/core/_compat/types.ts +11 -11
  61. package/src/core/components/autocomplete/__mocks__/apiStore.ts +1 -1
  62. package/src/core/components/autocomplete/__workshop__/async.tsx +1 -0
  63. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +4 -2
  64. package/src/core/components/autocomplete/__workshop__/custom.tsx +3 -2
  65. package/src/core/components/autocomplete/__workshop__/example.tsx +3 -2
  66. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +1 -0
  67. package/src/core/components/autocomplete/autocomplete.tsx +54 -61
  68. package/src/core/components/autocomplete/autocompleteOption.tsx +5 -4
  69. package/src/core/components/autocomplete/types.ts +2 -2
  70. package/src/core/components/breadcrumbs/__workshop__/example.tsx +7 -0
  71. package/src/core/components/breadcrumbs/breadcrumbs.tsx +32 -16
  72. package/src/core/components/dialog/__workshop__/activate.tsx +2 -1
  73. package/src/core/components/dialog/__workshop__/nested.tsx +3 -3
  74. package/src/core/components/dialog/__workshop__/onScroll.tsx +2 -2
  75. package/src/core/components/dialog/__workshop__/panes.tsx +1 -0
  76. package/src/core/components/dialog/__workshop__/position.tsx +2 -1
  77. package/src/core/components/dialog/__workshop__/props.tsx +2 -1
  78. package/src/core/components/dialog/__workshop__/wrapped.tsx +1 -3
  79. package/src/core/components/dialog/dialog.tsx +50 -27
  80. package/src/core/components/dialog/dialogProvider.tsx +4 -3
  81. package/src/core/components/dialog/useDialog.ts +1 -0
  82. package/src/core/components/hotkeys/hotkeys.tsx +20 -14
  83. package/src/core/components/menu/__workshop__/asComponent.tsx +2 -1
  84. package/src/core/components/menu/__workshop__/avatarMenu.tsx +1 -0
  85. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +1 -0
  86. package/src/core/components/menu/__workshop__/customSelectedState.tsx +1 -0
  87. package/src/core/components/menu/__workshop__/menuButton.tsx +2 -1
  88. package/src/core/components/menu/__workshop__/shouldFocus.tsx +1 -0
  89. package/src/core/components/menu/__workshop__/tones.tsx +7 -7
  90. package/src/core/components/menu/menu.test.tsx +4 -5
  91. package/src/core/components/menu/menu.tsx +49 -22
  92. package/src/core/components/menu/menuButton.tsx +47 -61
  93. package/src/core/components/menu/menuContext.ts +6 -4
  94. package/src/core/components/menu/menuDivider.tsx +9 -3
  95. package/src/core/components/menu/menuGroup.tsx +50 -26
  96. package/src/core/components/menu/menuItem.tsx +31 -38
  97. package/src/core/components/menu/useMenu.ts +1 -0
  98. package/src/core/components/menu/useMenuController.ts +18 -7
  99. package/src/core/components/skeleton/__workshop__/delay.tsx +2 -1
  100. package/src/core/components/skeleton/__workshop__/skeleton.tsx +2 -1
  101. package/src/core/components/skeleton/skeleton.tsx +4 -3
  102. package/src/core/components/skeleton/textSkeleton.tsx +11 -25
  103. package/src/core/components/tab/tab.tsx +21 -14
  104. package/src/core/components/tab/tabList.tsx +24 -11
  105. package/src/core/components/tab/tabPanel.tsx +5 -4
  106. package/src/core/components/toast/__workshop__/hook.tsx +1 -1
  107. package/src/core/components/toast/__workshop__/toast.tsx +2 -1
  108. package/src/core/components/toast/toast.test.tsx +0 -1
  109. package/src/core/components/toast/toast.tsx +130 -40
  110. package/src/core/components/toast/toastLayer.tsx +38 -0
  111. package/src/core/components/toast/toastProvider.tsx +60 -140
  112. package/src/core/components/toast/toastState.ts +6 -0
  113. package/src/core/components/toast/types.ts +10 -2
  114. package/src/core/components/toast/useToast.ts +1 -0
  115. package/src/core/components/tree/__workshop__/basic.tsx +1 -0
  116. package/src/core/components/tree/__workshop__/tabFromElement.tsx +2 -1
  117. package/src/core/components/tree/tree.tsx +16 -13
  118. package/src/core/components/tree/treeGroup.tsx +5 -7
  119. package/src/core/components/tree/treeItem.tsx +41 -34
  120. package/src/core/components/tree/useTree.ts +1 -0
  121. package/src/core/constants.ts +45 -23
  122. package/src/core/helpers/focus.ts +3 -3
  123. package/src/core/helpers/index.ts +1 -0
  124. package/src/core/helpers/props.ts +10 -0
  125. package/src/core/hooks/useArrayProp.ts +19 -15
  126. package/src/core/hooks/useClickOutside.test.tsx +3 -4
  127. package/src/core/hooks/useClickOutside.ts +1 -0
  128. package/src/core/hooks/useClickOutsideEvent.test.tsx +0 -1
  129. package/src/core/hooks/useClickOutsideEvent.ts +2 -1
  130. package/src/core/hooks/useDelayed.test.ts +2 -1
  131. package/src/core/hooks/useDelayedState.ts +2 -3
  132. package/src/core/hooks/useElementRect/__workshop__/example.tsx +3 -2
  133. package/src/core/hooks/useElementSize.ts +2 -1
  134. package/src/core/hooks/useForwardedRef.ts +2 -2
  135. package/src/core/hooks/useGlobalKeyDown.ts +9 -4
  136. package/src/core/hooks/useMatchMedia.ts +1 -1
  137. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +3 -2
  138. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +2 -1
  139. package/src/core/hooks/usePrefersDark.hydration.test.tsx +0 -1
  140. package/src/core/hooks/usePrefersDark.test.tsx +2 -1
  141. package/src/core/hooks/usePrefersDark.ts +1 -1
  142. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +0 -1
  143. package/src/core/hooks/usePrefersReducedMotion.test.tsx +2 -1
  144. package/src/core/hooks/usePrefersReducedMotion.ts +1 -1
  145. package/src/core/index.ts +2 -3
  146. package/src/core/lib/createGlobalScopedContext.ts +2 -1
  147. package/src/core/lib/globalScope.ts +0 -1
  148. package/src/core/primitives/_selectable/selectable.tsx +9 -5
  149. package/src/core/primitives/avatar/__workshop__/asButton.tsx +2 -1
  150. package/src/core/primitives/avatar/__workshop__/stack.tsx +2 -1
  151. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +4 -3
  152. package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +26 -23
  153. package/src/core/primitives/avatar/avatar.tsx +42 -80
  154. package/src/core/primitives/avatar/avatarCounter.tsx +26 -57
  155. package/src/core/primitives/avatar/avatarStack.tsx +37 -55
  156. package/src/core/primitives/avatar/types.ts +1 -0
  157. package/src/core/primitives/badge/__workshop__/props.tsx +2 -1
  158. package/src/core/primitives/badge/__workshop__/tones.tsx +2 -1
  159. package/src/core/primitives/badge/badge.test.tsx +1 -0
  160. package/src/core/primitives/badge/badge.tsx +10 -5
  161. package/src/core/primitives/box/__workshop__/props.tsx +2 -1
  162. package/src/core/primitives/box/box.tsx +45 -12
  163. package/src/core/primitives/button/__workshop__/custom.tsx +7 -4
  164. package/src/core/primitives/button/__workshop__/disabled.tsx +1 -0
  165. package/src/core/primitives/button/__workshop__/props.tsx +7 -2
  166. package/src/core/primitives/button/__workshop__/stacked.tsx +2 -1
  167. package/src/core/primitives/button/button.test.tsx +1 -0
  168. package/src/core/primitives/button/button.tsx +137 -113
  169. package/src/core/primitives/card/__workshop__/allTones.tsx +21 -21
  170. package/src/core/primitives/card/__workshop__/asButton.tsx +44 -25
  171. package/src/core/primitives/card/__workshop__/asComponent.tsx +2 -2
  172. package/src/core/primitives/card/__workshop__/checkered.tsx +17 -7
  173. package/src/core/primitives/card/__workshop__/interactive.tsx +10 -3
  174. package/src/core/primitives/card/__workshop__/listNavigation.tsx +6 -3
  175. package/src/core/primitives/card/__workshop__/props.tsx +13 -7
  176. package/src/core/primitives/card/__workshop__/selected.tsx +11 -9
  177. package/src/core/primitives/card/card.tsx +47 -55
  178. package/src/core/primitives/card/types.ts +1 -0
  179. package/src/core/primitives/checkbox/__workshop__/tones.tsx +6 -0
  180. package/src/core/primitives/checkbox/checkbox.tsx +9 -5
  181. package/src/core/primitives/code/__workshop__/props.tsx +3 -2
  182. package/src/core/primitives/code/code.tsx +11 -11
  183. package/src/core/primitives/code/refractor.tsx +20 -0
  184. package/src/core/primitives/container/__workshop__/example.tsx +3 -2
  185. package/src/core/primitives/container/container.tsx +7 -4
  186. package/src/core/primitives/flex/__workshop__/example.tsx +5 -4
  187. package/src/core/primitives/flex/__workshop__/gap.tsx +6 -6
  188. package/src/core/primitives/flex/flex.tsx +9 -12
  189. package/src/core/primitives/grid/__workshop__/responsive.tsx +12 -12
  190. package/src/core/primitives/grid/grid.tsx +7 -11
  191. package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +13 -25
  192. package/src/core/primitives/heading/__workshop__/plain.tsx +3 -2
  193. package/src/core/primitives/heading/heading.tsx +19 -39
  194. package/src/core/primitives/inline/__workshop__/plain.tsx +5 -4
  195. package/src/core/primitives/inline/inline.tsx +10 -7
  196. package/src/core/primitives/kbd/kbd.tsx +8 -6
  197. package/src/core/primitives/label/__workshop__/opticalAlignment.tsx +13 -7
  198. package/src/core/primitives/label/__workshop__/plain.tsx +22 -8
  199. package/src/core/primitives/label/label.tsx +26 -50
  200. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +3 -2
  201. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +5 -4
  202. package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +1 -1
  203. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +3 -2
  204. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +5 -2
  205. package/src/core/primitives/popover/__workshop__/TestStory.tsx +5 -4
  206. package/src/core/primitives/popover/floating-ui/size.ts +2 -1
  207. package/src/core/primitives/popover/helpers.ts +4 -3
  208. package/src/core/primitives/popover/popover.tsx +51 -44
  209. package/src/core/primitives/popover/popoverCard.tsx +22 -27
  210. package/src/core/primitives/radio/__workshop__/plain.tsx +2 -2
  211. package/src/core/primitives/radio/radio.tsx +10 -11
  212. package/src/core/primitives/select/__workshop__/plain.tsx +5 -2
  213. package/src/core/primitives/select/__workshop__/readOnly.tsx +1 -1
  214. package/src/core/primitives/select/select.tsx +40 -41
  215. package/src/core/primitives/spinner/__workshop__/Props.tsx +2 -1
  216. package/src/core/primitives/spinner/spinner.tsx +5 -3
  217. package/src/core/primitives/stack/__workshop__/plain.tsx +2 -1
  218. package/src/core/primitives/stack/stack.tsx +10 -11
  219. package/src/core/primitives/switch/switch.tsx +22 -13
  220. package/src/core/primitives/text/__workshop__/colored.tsx +8 -14
  221. package/src/core/primitives/text/__workshop__/example.tsx +8 -7
  222. package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +11 -21
  223. package/src/core/primitives/text/text.tsx +20 -38
  224. package/src/core/primitives/textArea/__workshop__/plain.tsx +4 -3
  225. package/src/core/primitives/textArea/textArea.tsx +28 -75
  226. package/src/core/primitives/textInput/__workshop__/index.ts +0 -5
  227. package/src/core/primitives/textInput/__workshop__/plain.tsx +8 -3
  228. package/src/core/primitives/textInput/__workshop__/readOnly.tsx +6 -2
  229. package/src/core/primitives/textInput/__workshop__/tones.tsx +38 -0
  230. package/src/core/primitives/textInput/__workshop__/typed.tsx +2 -1
  231. package/src/core/primitives/textInput/textInput.tsx +133 -220
  232. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +2 -1
  233. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +2 -1
  234. package/src/core/primitives/tooltip/__workshop__/props.tsx +8 -3
  235. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +2 -1
  236. package/src/core/primitives/tooltip/tooltip.test.tsx +4 -2
  237. package/src/core/primitives/tooltip/tooltip.tsx +64 -61
  238. package/src/core/primitives/tooltip/tooltipCard.tsx +31 -26
  239. package/src/core/primitives/tooltip/tooltipDelayGroup/index.ts +1 -1
  240. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +4 -6
  241. package/src/core/primitives/tooltip/tooltipDelayGroup/types.ts +0 -1
  242. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +1 -0
  243. package/src/core/primitives/types.ts +5 -5
  244. package/src/core/types/box.ts +0 -3
  245. package/src/core/types/button.ts +2 -0
  246. package/src/core/types/flex.ts +0 -4
  247. package/src/core/types/grid.ts +5 -7
  248. package/src/core/types/gridItem.ts +4 -9
  249. package/src/core/types/index.ts +1 -0
  250. package/src/core/types/props.ts +18 -0
  251. package/src/core/types/selectable.ts +1 -0
  252. package/src/core/utils/arrow/arrow.tsx +34 -97
  253. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +0 -1
  254. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +4 -3
  255. package/src/core/utils/boundaryElement/index.ts +1 -1
  256. package/src/core/utils/boundaryElement/useBoundaryElement.ts +1 -0
  257. package/src/core/utils/conditionalWrapper/conditionalWrapper.tsx +5 -3
  258. package/src/core/utils/elementQuery/elementQuery.tsx +21 -21
  259. package/src/core/utils/errorBoundary.tsx +5 -4
  260. package/src/core/utils/getElementRef.ts +26 -0
  261. package/src/core/utils/layer/__workshop__/multipleRoots.tsx +1 -0
  262. package/src/core/utils/layer/__workshop__/nested.tsx +1 -0
  263. package/src/core/utils/layer/__workshop__/responsiveZOffset.tsx +1 -0
  264. package/src/core/utils/layer/index.ts +1 -1
  265. package/src/core/utils/layer/layer.test.tsx +0 -1
  266. package/src/core/utils/layer/layer.tsx +15 -11
  267. package/src/core/utils/layer/layerProvider.tsx +6 -5
  268. package/src/core/utils/layer/useLayer.ts +1 -0
  269. package/src/core/utils/portal/portal.test.tsx +0 -1
  270. package/src/core/utils/portal/portal.ts +4 -2
  271. package/src/core/utils/portal/portalProvider.tsx +4 -3
  272. package/src/core/utils/portal/usePortal.ts +1 -0
  273. package/src/core/utils/spanWithTextOverflow.tsx +10 -0
  274. package/src/core/utils/srOnly/srOnly.tsx +17 -18
  275. package/src/core/utils/virtualList/virtualList.tsx +55 -37
  276. package/src/css/_resp.ts +4 -1
  277. package/src/css/compile/compilePalette.ts +60 -0
  278. package/src/css/compile/compileRule.ts +45 -13
  279. package/src/css/compile/compileRules.test.ts +35 -0
  280. package/src/css/compile/compileRules.ts +14 -30
  281. package/src/css/compile/compileTheme.ts +8 -505
  282. package/src/css/compile/compileTheme_v3.ts +410 -0
  283. package/src/css/compile/types.ts +6 -0
  284. package/src/css/components/breadcrumbs/breadcrumbs.ts +1 -1
  285. package/src/css/components/dialog/{classes.ts → dialog.ts} +7 -7
  286. package/src/css/components/dialog/index.ts +1 -1
  287. package/src/css/components/dialog/rules.ts +2 -1
  288. package/src/css/components/menu/menu.ts +5 -1
  289. package/src/css/components/menu/rules.ts +6 -1
  290. package/src/css/components/skeleton/rules.ts +28 -22
  291. package/src/css/components/skeleton/skeleton.ts +5 -5
  292. package/src/css/components/skeleton/types.ts +2 -0
  293. package/src/css/components/toast/index.ts +1 -0
  294. package/src/css/components/toast/rules.ts +17 -68
  295. package/src/css/components/toast/toast.ts +21 -0
  296. package/src/css/components/tree/rules.ts +3 -2
  297. package/src/css/components/tree/tree.ts +1 -1
  298. package/src/css/composeClassNames.ts +12 -2
  299. package/src/css/index.ts +12 -23
  300. package/src/css/primitives/_arrow/_arrow.ts +14 -0
  301. package/src/css/primitives/_arrow/index.ts +1 -0
  302. package/src/css/primitives/_arrow/rules.ts +71 -0
  303. package/src/css/primitives/_input/index.ts +2 -0
  304. package/src/css/primitives/_input/input.ts +25 -0
  305. package/src/css/primitives/_input/rules.ts +163 -0
  306. package/src/css/primitives/_input/types.ts +12 -0
  307. package/src/css/primitives/{selectable → _selectable}/__style.ts +1 -1
  308. package/src/css/primitives/_selectable/_contants.ts +11 -0
  309. package/src/css/primitives/_selectable/rules.ts +129 -0
  310. package/src/css/primitives/_selectable/selectable.ts +9 -0
  311. package/src/css/primitives/_selectable/types.ts +8 -0
  312. package/src/css/primitives/avatar/avatar.ts +10 -15
  313. package/src/css/primitives/avatar/rules.ts +85 -99
  314. package/src/css/primitives/avatar/types.ts +1 -2
  315. package/src/css/primitives/badge/badge.ts +2 -2
  316. package/src/css/primitives/badge/rules.ts +13 -16
  317. package/src/css/primitives/badge/types.ts +2 -2
  318. package/src/css/primitives/box/box.ts +24 -14
  319. package/src/css/primitives/box/rules.ts +5 -2
  320. package/src/css/primitives/box/types.ts +24 -19
  321. package/src/css/primitives/button/_constants.ts +17 -0
  322. package/src/css/primitives/button/button.ts +27 -12
  323. package/src/css/primitives/button/rules.ts +275 -40
  324. package/src/css/primitives/card/_constants.ts +13 -0
  325. package/src/css/primitives/card/card.ts +8 -13
  326. package/src/css/primitives/card/index.ts +1 -0
  327. package/src/css/primitives/card/rules.ts +353 -123
  328. package/src/css/primitives/card/types.ts +11 -0
  329. package/src/css/primitives/checkbox/checkbox.ts +2 -2
  330. package/src/css/primitives/checkbox/rules.ts +31 -15
  331. package/src/css/primitives/code/code.ts +2 -2
  332. package/src/css/primitives/code/rules.ts +27 -2
  333. package/src/css/primitives/code/types.ts +1 -1
  334. package/src/css/primitives/container/container.ts +2 -2
  335. package/src/css/primitives/container/types.ts +1 -0
  336. package/src/css/primitives/heading/heading.ts +3 -2
  337. package/src/css/primitives/heading/rules.ts +77 -6
  338. package/src/css/primitives/heading/types.ts +2 -2
  339. package/src/css/primitives/kbd/kbd.ts +2 -2
  340. package/src/css/primitives/kbd/rules.ts +5 -5
  341. package/src/css/primitives/kbd/types.ts +3 -1
  342. package/src/css/primitives/label/label.ts +2 -2
  343. package/src/css/primitives/label/rules.ts +54 -2
  344. package/src/css/primitives/label/types.ts +1 -1
  345. package/src/css/primitives/popover/popover.ts +1 -1
  346. package/src/css/primitives/radio/radio.ts +1 -1
  347. package/src/css/primitives/radio/rules.ts +117 -1
  348. package/src/css/primitives/select/index.ts +1 -0
  349. package/src/css/primitives/select/rules.ts +18 -1
  350. package/src/css/primitives/select/select.ts +8 -2
  351. package/src/css/primitives/select/types.ts +5 -0
  352. package/src/css/primitives/spinner/spinner.ts +2 -2
  353. package/src/css/primitives/switch/rules.ts +264 -56
  354. package/src/css/primitives/switch/switch.ts +17 -1
  355. package/src/css/primitives/text/rules.ts +93 -4
  356. package/src/css/primitives/text/text.ts +3 -2
  357. package/src/css/primitives/text/types.ts +2 -2
  358. package/src/css/primitives/textArea/index.ts +1 -0
  359. package/src/css/primitives/textArea/rules.ts +3 -1
  360. package/src/css/primitives/textArea/textArea.ts +4 -2
  361. package/src/css/primitives/textArea/types.ts +5 -0
  362. package/src/css/primitives/textInput/rules.ts +33 -130
  363. package/src/css/primitives/textInput/textInput.ts +4 -11
  364. package/src/css/primitives/textInput/types.ts +8 -5
  365. package/src/css/primitives/token/rules.ts +37 -37
  366. package/src/css/primitives/tooltip/rules.ts +2 -0
  367. package/src/css/primitives/tooltip/tooltip.ts +2 -2
  368. package/src/css/rules.ts +16 -2
  369. package/src/css/styles/border/border.ts +1 -1
  370. package/src/css/styles/display/display.ts +7 -0
  371. package/src/css/styles/display/index.ts +2 -0
  372. package/src/css/styles/display/rules.ts +2 -2
  373. package/src/css/styles/display/types.ts +17 -0
  374. package/src/css/styles/flex/flex.ts +1 -1
  375. package/src/css/styles/flexItem/flexItem.ts +1 -1
  376. package/src/css/styles/flexItem/rules.ts +1 -0
  377. package/src/css/styles/font/font.ts +1 -1
  378. package/src/css/styles/font/rules.ts +4 -4
  379. package/src/css/styles/gap/gap.ts +1 -1
  380. package/src/css/styles/gap/rules.ts +1 -0
  381. package/src/css/styles/gap/types.ts +1 -0
  382. package/src/css/styles/grid/grid.ts +1 -1
  383. package/src/css/styles/gridItem/gridItem.ts +1 -1
  384. package/src/css/styles/index.ts +19 -0
  385. package/src/css/styles/inset/index.ts +2 -0
  386. package/src/css/styles/inset/inset.ts +13 -0
  387. package/src/css/styles/inset/rules.ts +16 -0
  388. package/src/css/styles/inset/types.ts +13 -0
  389. package/src/css/styles/margin/margin.ts +1 -1
  390. package/src/css/styles/margin/rules.ts +1 -0
  391. package/src/css/styles/maxWidth/rules.ts +8 -31
  392. package/src/css/styles/maxWidth/types.ts +2 -1
  393. package/src/css/styles/overflow/overflow.ts +1 -1
  394. package/src/css/styles/padding/padding.ts +1 -1
  395. package/src/css/styles/padding/rules.ts +1 -0
  396. package/src/css/styles/padding/types.ts +9 -7
  397. package/src/css/styles/pointerEvents/pointerEvents.ts +1 -1
  398. package/src/css/styles/position/position.ts +2 -2
  399. package/src/css/styles/position/rules.ts +0 -7
  400. package/src/css/styles/position/types.ts +0 -4
  401. package/src/css/styles/radius/radius.ts +1 -1
  402. package/src/css/styles/radius/rules.ts +1 -1
  403. package/src/css/styles/radius/types.ts +1 -0
  404. package/src/css/styles/shadow/index.ts +2 -0
  405. package/src/css/styles/shadow/rules.ts +5 -5
  406. package/src/css/styles/shadow/shadow.ts +7 -0
  407. package/src/css/styles/shadow/types.ts +8 -0
  408. package/src/css/styles/textOverflow/index.ts +2 -0
  409. package/src/css/styles/textOverflow/rules.ts +17 -0
  410. package/src/css/styles/textOverflow/textOverflow.ts +6 -0
  411. package/src/css/styles/textOverflow/types.ts +8 -0
  412. package/src/css/styles/width/index.ts +1 -1
  413. package/src/css/styles/width/types.ts +3 -2
  414. package/src/css/types.ts +457 -289
  415. package/src/css/util.ts +27 -0
  416. package/src/css/utils/srOnly/index.ts +1 -0
  417. package/src/css/utils/srOnly/rules.ts +11 -0
  418. package/src/css/utils/srOnly/srOnly.ts +5 -0
  419. package/src/css/varNames.ts +352 -260
  420. package/src/css/vars.ts +330 -286
  421. package/src/theme/{system/_constants.ts → _constants.ts} +5 -4
  422. package/src/theme/{system/_types.ts → _types.ts} +1 -1
  423. package/src/theme/build/_deprecated/color/_selectable/createSelectableTones.ts +1 -1
  424. package/src/theme/build/_deprecated/color/_solid/createSolidTones.ts +1 -1
  425. package/src/theme/build/_deprecated/color/button/createButtonModes.ts +1 -6
  426. package/src/theme/build/_deprecated/color/button/createButtonTones.ts +2 -2
  427. package/src/theme/build/_deprecated/color/card/createCardStates.ts +2 -2
  428. package/src/theme/build/_deprecated/color/factory.ts +8 -9
  429. package/src/theme/build/_deprecated/color/input/createInputModes.ts +1 -1
  430. package/src/theme/build/_deprecated/color/muted/createMuted.ts +2 -2
  431. package/src/theme/build/_deprecated/color/spot/createSpot.ts +1 -1
  432. package/src/theme/build/buildColorTheme.ts +62 -52
  433. package/src/theme/build/buildTheme.ts +8 -32
  434. package/src/theme/build/colorToken/colorToken.ts +1 -1
  435. package/src/theme/build/lib/color-fns/rgba.ts +4 -0
  436. package/src/theme/build/merge.ts +0 -2
  437. package/src/theme/build/mixThemeColor.ts +1 -1
  438. package/src/theme/build/renderColorTheme.ts +34 -37
  439. package/src/theme/build/renderColorValue.ts +4 -3
  440. package/src/theme/build/resolveColorTokens.ts +57 -120
  441. package/src/theme/config/helpers.ts +2 -2
  442. package/src/theme/config/system.ts +3 -2
  443. package/src/theme/config/tokens/color/types.ts +5 -18
  444. package/src/theme/config/tokens/parseTokenKey.ts +1 -1
  445. package/src/theme/config/tokens/parseTokenValue.ts +1 -1
  446. package/src/theme/config/tokens/types.ts +3 -2
  447. package/src/theme/config/types.ts +4 -4
  448. package/src/theme/defaults/colorTokens.ts +6 -4
  449. package/src/theme/defaults/config.ts +2 -2
  450. package/src/theme/defaults/fonts.ts +18 -17
  451. package/src/theme/getScopedTheme.ts +10 -4
  452. package/src/theme/index.ts +7 -1
  453. package/src/theme/palette/constants.ts +15 -0
  454. package/src/theme/palette/index.ts +2 -0
  455. package/src/theme/palette/types.ts +16 -0
  456. package/src/theme/types.ts +32 -0
  457. package/src/theme/{system/v0 → v0}/color/_generic.ts +1 -1
  458. package/src/theme/v0/color/_system.ts +17 -0
  459. package/src/theme/{system/v0 → v0}/color/color.ts +3 -2
  460. package/src/theme/{system/v0 → v0}/color/input.ts +1 -1
  461. package/src/theme/{system/v0 → v0}/color/spot.ts +1 -1
  462. package/src/theme/{system → v0}/css.ts +1 -2
  463. package/src/theme/{system → v0}/font.ts +1 -0
  464. package/src/theme/{system → v0}/index.ts +0 -4
  465. package/src/theme/v0/theme.ts +72 -0
  466. package/src/theme/{system → v2}/avatar.ts +1 -1
  467. package/src/theme/{system → v2}/color/_constants.ts +6 -2
  468. package/src/theme/{system → v2}/color/_helpers.ts +1 -0
  469. package/src/theme/v2/color/badge.ts +16 -0
  470. package/src/theme/{system → v2}/color/color.ts +1 -1
  471. package/src/theme/{system/v0 → v2}/index.ts +2 -1
  472. package/src/theme/{system → v2}/input.ts +1 -1
  473. package/src/theme/v2/theme.ts +49 -0
  474. package/src/theme/v3/buildTheme_v3.test.ts +40 -0
  475. package/src/theme/v3/buildTheme_v3.ts +30 -0
  476. package/src/theme/v3/color/buildColor_v3.ts +193 -0
  477. package/src/theme/v3/color/card.ts +116 -0
  478. package/src/theme/v3/color/color.ts +94 -0
  479. package/src/theme/v3/color/element.ts +19 -0
  480. package/src/theme/v3/color/index.ts +7 -0
  481. package/src/theme/v3/color/parseColor.test.ts +79 -0
  482. package/src/theme/v3/color/parseColor.ts +167 -0
  483. package/src/theme/v3/color/renderColor.test.ts +19 -0
  484. package/src/theme/v3/color/renderColor.ts +33 -0
  485. package/src/theme/v3/color/token.ts +17 -0
  486. package/src/theme/v3/color/tokens.ts +5 -0
  487. package/src/theme/v3/defaults.ts +205 -0
  488. package/src/theme/v3/index.ts +6 -0
  489. package/src/theme/v3/merge.ts +22 -0
  490. package/src/theme/v3/resolveTokens.ts +199 -0
  491. package/src/theme/v3/tokens.ts +16 -0
  492. package/src/theme/v3/types.ts +48 -0
  493. package/src/theme/versioning/getTheme_v2.ts +2 -1
  494. package/src/theme/versioning/index.ts +0 -4
  495. package/src/theme/versioning/is_v0.ts +2 -1
  496. package/src/theme/versioning/is_v2.ts +2 -1
  497. package/src/theme/versioning/themeColor_v0_v2.ts +33 -5
  498. package/src/theme/versioning/themeColor_v2_v2_9.ts +49 -0
  499. package/src/theme/versioning/themeColor_v3_v2.ts +206 -0
  500. package/src/theme/versioning/v0_v2.ts +6 -1
  501. package/src/theme/versioning/v2_v0.ts +6 -6
  502. package/src/theme/versioning/v3_v2.ts +108 -0
  503. package/dist/css.esm.js +0 -3794
  504. package/dist/css.esm.js.map +0 -1
  505. package/dist/index.esm.js +0 -5431
  506. package/dist/index.esm.js.map +0 -1
  507. package/dist/theme.esm.js +0 -4201
  508. package/dist/theme.esm.js.map +0 -1
  509. package/src/core/__workshop__/constants.ts +0 -305
  510. package/src/core/__workshop__/fontsPlugin.tsx +0 -76
  511. package/src/core/_compat/styles/border/borderStyle.ts +0 -61
  512. package/src/core/_compat/styles/border/index.ts +0 -2
  513. package/src/core/_compat/styles/border/types.ts +0 -11
  514. package/src/core/_compat/styles/box/boxStyle.ts +0 -74
  515. package/src/core/_compat/styles/box/index.ts +0 -2
  516. package/src/core/_compat/styles/box/types.ts +0 -11
  517. package/src/core/_compat/styles/card/_cardColorStyle.ts +0 -101
  518. package/src/core/_compat/styles/card/index.ts +0 -1
  519. package/src/core/_compat/styles/flex/flexItemStyle.ts +0 -26
  520. package/src/core/_compat/styles/flex/flexStyle.ts +0 -69
  521. package/src/core/_compat/styles/flex/index.ts +0 -3
  522. package/src/core/_compat/styles/flex/types.ts +0 -24
  523. package/src/core/_compat/styles/focusRing/index.ts +0 -25
  524. package/src/core/_compat/styles/font/codeFontStyle.ts +0 -12
  525. package/src/core/_compat/styles/font/headingFontStyle.ts +0 -12
  526. package/src/core/_compat/styles/font/index.ts +0 -6
  527. package/src/core/_compat/styles/font/labelFontStyle.ts +0 -12
  528. package/src/core/_compat/styles/font/responsiveFont.ts +0 -101
  529. package/src/core/_compat/styles/font/textAlignStyle.ts +0 -18
  530. package/src/core/_compat/styles/font/textFontStyle.ts +0 -12
  531. package/src/core/_compat/styles/font/types.ts +0 -34
  532. package/src/core/_compat/styles/grid/gridItemStyle.ts +0 -81
  533. package/src/core/_compat/styles/grid/gridStyle.ts +0 -97
  534. package/src/core/_compat/styles/grid/index.ts +0 -3
  535. package/src/core/_compat/styles/grid/types.ts +0 -37
  536. package/src/core/_compat/styles/helpers.ts +0 -81
  537. package/src/core/_compat/styles/input/index.ts +0 -2
  538. package/src/core/_compat/styles/input/responsiveInputPaddingStyle.ts +0 -77
  539. package/src/core/_compat/styles/input/textInputStyle.ts +0 -263
  540. package/src/core/_compat/styles/internal.ts +0 -12
  541. package/src/core/_compat/styles/margin/index.ts +0 -2
  542. package/src/core/_compat/styles/margin/marginStyle.ts +0 -20
  543. package/src/core/_compat/styles/margin/marginsStyle.test.ts +0 -32
  544. package/src/core/_compat/styles/margin/types.ts +0 -9
  545. package/src/core/_compat/styles/padding/index.ts +0 -2
  546. package/src/core/_compat/styles/padding/paddingStyle.test.ts +0 -32
  547. package/src/core/_compat/styles/padding/paddingStyle.ts +0 -20
  548. package/src/core/_compat/styles/padding/types.ts +0 -12
  549. package/src/core/_compat/styles/radius/index.ts +0 -2
  550. package/src/core/_compat/styles/radius/radiusStyle.ts +0 -22
  551. package/src/core/_compat/styles/radius/types.ts +0 -8
  552. package/src/core/_compat/styles/shadow/index.ts +0 -2
  553. package/src/core/_compat/styles/shadow/shadowStyle.ts +0 -29
  554. package/src/core/_compat/styles/shadow/types.ts +0 -6
  555. package/src/core/_compat/styles/types.ts +0 -8
  556. package/src/core/components/autocomplete/__workshop__/.eslintrc +0 -5
  557. package/src/core/components/breadcrumbs/__workshop__/.eslintrc +0 -5
  558. package/src/core/components/dialog/__workshop__/.eslintrc +0 -5
  559. package/src/core/components/hotkeys/__workshop__/.eslintrc +0 -5
  560. package/src/core/components/menu/__workshop__/.eslintrc +0 -5
  561. package/src/core/components/skeleton/__workshop__/.eslintrc +0 -5
  562. package/src/core/components/tab/__workshop__/.eslintrc +0 -5
  563. package/src/core/components/toast/__workshop__/.eslintrc +0 -5
  564. package/src/core/components/tree/__workshop__/.eslintrc +0 -5
  565. package/src/core/hooks/useElementRect/__workshop__/.eslintrc +0 -5
  566. package/src/core/hooks/useMediaIndex/__workshop__/.eslintrc +0 -5
  567. package/src/core/lib/styled/elements.ts +0 -135
  568. package/src/core/lib/styled/index.ts +0 -2
  569. package/src/core/lib/styled/members.ts +0 -15
  570. package/src/core/lib/styled/styled.ts +0 -79
  571. package/src/core/primitives/avatar/__workshop__/.eslintrc +0 -5
  572. package/src/core/primitives/avatar/styles.ts +0 -166
  573. package/src/core/primitives/badge/__workshop__/.eslintrc +0 -5
  574. package/src/core/primitives/badge/styles.ts +0 -19
  575. package/src/core/primitives/box/__workshop__/.eslintrc +0 -5
  576. package/src/core/primitives/button/__workshop__/.eslintrc +0 -5
  577. package/src/core/primitives/button/styles.ts +0 -116
  578. package/src/core/primitives/card/RootCardContext.ts +0 -3
  579. package/src/core/primitives/card/__workshop__/.eslintrc +0 -5
  580. package/src/core/primitives/checkbox/__workshop__/.eslintrc +0 -5
  581. package/src/core/primitives/code/__workshop__/.eslintrc +0 -5
  582. package/src/core/primitives/code/styles.ts +0 -77
  583. package/src/core/primitives/container/__workshop__/.eslintrc +0 -5
  584. package/src/core/primitives/container/styles.ts +0 -22
  585. package/src/core/primitives/flex/__workshop__/.eslintrc +0 -5
  586. package/src/core/primitives/grid/__workshop__/.eslintrc +0 -5
  587. package/src/core/primitives/heading/__workshop__/.eslintrc +0 -5
  588. package/src/core/primitives/heading/styles.ts +0 -63
  589. package/src/core/primitives/heading/types.ts +0 -7
  590. package/src/core/primitives/inline/__workshop__/.eslintrc +0 -5
  591. package/src/core/primitives/inline/styles.ts +0 -31
  592. package/src/core/primitives/kbd/__workshop__/.eslintrc +0 -5
  593. package/src/core/primitives/label/__workshop__/.eslintrc +0 -5
  594. package/src/core/primitives/label/styles.ts +0 -44
  595. package/src/core/primitives/popover/__workshop__/.eslintrc +0 -5
  596. package/src/core/primitives/radio/__workshop__/.eslintrc +0 -5
  597. package/src/core/primitives/radio/styles.ts +0 -116
  598. package/src/core/primitives/select/__workshop__/.eslintrc +0 -5
  599. package/src/core/primitives/select/styles.ts +0 -166
  600. package/src/core/primitives/spinner/__workshop__/.eslintrc +0 -5
  601. package/src/core/primitives/stack/__workshop__/.eslintrc +0 -5
  602. package/src/core/primitives/stack/styles.ts +0 -31
  603. package/src/core/primitives/switch/__workshop__/.eslintrc +0 -5
  604. package/src/core/primitives/switch/styles.ts +0 -172
  605. package/src/core/primitives/text/__workshop__/.eslintrc +0 -5
  606. package/src/core/primitives/text/styles.ts +0 -73
  607. package/src/core/primitives/textArea/__workshop__/.eslintrc +0 -5
  608. package/src/core/primitives/textInput/__workshop__/.eslintrc +0 -5
  609. package/src/core/primitives/textInput/__workshop__/multipleTones.tsx +0 -20
  610. package/src/core/primitives/tooltip/__workshop__/.eslintrc +0 -5
  611. package/src/core/theme/__workshop__/.eslintrc +0 -5
  612. package/src/core/theme/__workshop__/build/Root.tsx +0 -367
  613. package/src/core/theme/__workshop__/build/helpers.ts +0 -46
  614. package/src/core/theme/__workshop__/build/story.tsx +0 -457
  615. package/src/core/theme/__workshop__/canvas.tsx +0 -350
  616. package/src/core/theme/__workshop__/color.tsx +0 -62
  617. package/src/core/theme/__workshop__/debug/story.tsx +0 -401
  618. package/src/core/theme/__workshop__/index.ts +0 -39
  619. package/src/core/theme/__workshop__/layer.tsx +0 -78
  620. package/src/core/theme/__workshop__/nestedProvider.tsx +0 -15
  621. package/src/core/utils/boundaryElement/__workshop__/.eslintrc +0 -5
  622. package/src/core/utils/elementQuery/__workshop__/.eslintrc +0 -5
  623. package/src/core/utils/layer/__workshop__/.eslintrc +0 -5
  624. package/src/core/utils/portal/__workshop__/.eslintrc +0 -5
  625. package/src/core/utils/virtualList/__workshop__/.eslintrc +0 -5
  626. package/src/css/primitives/selectable/rules.ts +0 -27
  627. package/src/css/primitives/selectable/selectable.ts +0 -9
  628. package/src/css/primitives/selectable/types.ts +0 -6
  629. package/src/theme/system/color/badge.ts +0 -20
  630. package/src/theme/system/theme.ts +0 -138
  631. package/src/theme/system/v0/color/_system.ts +0 -13
  632. package/theme.js +0 -2
  633. package/src/core/{theme → _compat/theme}/index.ts +1 -1
  634. package/src/core/{theme → _compat/theme}/types.ts +0 -0
  635. package/src/core/components/autocomplete/{__fixtures__ → __mocks__}/countries.ts +0 -0
  636. package/src/core/primitives/kbd/{index.tsx → index.ts} +0 -0
  637. package/src/css/primitives/{selectable → _selectable}/index.ts +0 -0
  638. package/src/theme/{system/v0 → v0}/avatar.ts +0 -0
  639. package/src/theme/{system/v0 → v0}/color/base.ts +0 -0
  640. package/src/theme/{system/v0 → v0}/color/button.ts +0 -0
  641. package/src/theme/{system/v0 → v0}/color/card.ts +0 -0
  642. package/src/theme/{system/v0 → v0}/color/index.ts +1 -1
  643. package/src/theme/{system/v0 → v0}/color/muted.ts +0 -0
  644. package/src/theme/{system/v0 → v0}/color/selectable.ts +0 -0
  645. package/src/theme/{system/v0 → v0}/color/solid.ts +0 -0
  646. package/src/theme/{system → v0}/focusRing.ts +0 -0
  647. package/src/theme/{system/v0 → v0}/input.ts +0 -0
  648. package/src/theme/{system → v0}/layer.ts +0 -0
  649. package/src/theme/{system → v0}/shadow.ts +0 -0
  650. package/src/theme/{system → v0}/styles.ts +0 -0
  651. package/src/theme/{system → v2}/color/_system.ts +1 -1
  652. /package/src/theme/{system → v2}/color/avatar.ts +0 -0
  653. /package/src/theme/{system → v2}/color/button.ts +0 -0
  654. /package/src/theme/{system → v2}/color/index.ts +0 -0
  655. /package/src/theme/{system → v2}/color/input.ts +0 -0
  656. /package/src/theme/{system → v2}/color/kbd.ts +0 -0
  657. /package/src/theme/{system → v2}/color/selectable.ts +0 -0
  658. /package/src/theme/{system → v2}/color/shadow.ts +0 -0
  659. /package/src/theme/{system → v2}/color/state.ts +0 -0
  660. /package/src/theme/{system → v2}/color/syntax.ts +0 -0
package/src/css/types.ts CHANGED
@@ -1,27 +1,50 @@
1
1
  import {
2
- AvatarSize,
3
- ContainerWidth,
4
- FontCodeSize,
5
- FontHeadingSize,
6
- FontLabelSize,
7
- FontTextSize,
8
- FontWeight,
9
- Radius,
10
- Shadow,
11
- Space,
12
- ThemeColorAvatarColorKey,
13
- ThemeColorButtonModeKey,
14
- ThemeColorCardToneKey,
15
- ThemeColorInputModeKey,
16
- ThemeColorInputStateKey,
17
- ThemeColorSchemeKey,
18
- ThemeColorStateKey,
19
- ThemeColorStateToneKey,
2
+ type AvatarSize,
3
+ type ContainerWidth,
4
+ type FontCodeSize,
5
+ type FontHeadingSize,
6
+ type FontLabelSize,
7
+ type FontTextSize,
8
+ type FontWeight,
9
+ type Hue,
10
+ type Radius,
11
+ type Shadow,
12
+ type Space,
13
+ type ThemeColorAvatarColorKey as AvatarColor,
14
+ type ThemeColorCardToneKey as CardTone,
15
+ type ThemeColorSchemeKey as Scheme,
16
+ type ThemeColorStateToneKey as ElementTone,
17
+ type Tint,
20
18
  } from '@sanity/ui/theme'
21
- import * as CSS from 'csstype'
19
+ import CSS from 'csstype'
22
20
 
21
+ /** @public */
23
22
  export type ResponsiveProp<T> = T | Array<T | null | undefined>
24
23
 
24
+ /** @public */
25
+ export type PaletteVarName = `--black` | `--white` | `--${Hue}-${Tint}`
26
+
27
+ /** @public */
28
+ export type ElementColorVariant = 'solid' | 'tinted'
29
+
30
+ /** @public */
31
+ export type ElementColorVariantKey =
32
+ | 'bg-0'
33
+ | 'bg-1'
34
+ | 'bg-2'
35
+ | 'bg-3'
36
+ | 'bg-4'
37
+ | 'border-0'
38
+ | 'border-1'
39
+ | 'border-2'
40
+ | 'border-3'
41
+ | 'border-4'
42
+ | 'fg-0'
43
+ | 'fg-1'
44
+ | 'fg-2'
45
+ | 'fg-3'
46
+ | 'fg-4'
47
+
25
48
  /** @public */
26
49
  export type ThemeVarName =
27
50
  | `--avatar-focus-ring-offset`
@@ -35,121 +58,44 @@ export type ThemeVarName =
35
58
  | `--card-border-width`
36
59
  | `--card-focus-ring-offset`
37
60
  | `--card-focus-ring-width`
38
- | `--card-shadow-outline`
39
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-accent-fg`
40
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-avatar-${ThemeColorAvatarColorKey}-bg`
41
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-avatar-${ThemeColorAvatarColorKey}-fg`
42
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-backdrop`
43
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-badge-${ThemeColorStateToneKey}-bg`
44
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-badge-${ThemeColorStateToneKey}-dot`
45
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-badge-${ThemeColorStateToneKey}-fg`
46
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-badge-${ThemeColorStateToneKey}-icon`
47
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-bg`
48
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-border`
49
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-button-${ThemeColorButtonModeKey}-${ThemeColorStateToneKey}-${ThemeColorStateKey}-accent-fg`
50
- // | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-button-${ButtonMode}-${ThemeColorStateToneKey}-${ThemeColorStateKey}-avatar`
51
- // | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-button-${ButtonMode}-${ThemeColorStateToneKey}-${ThemeColorStateKey}-badge`
52
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-button-${ThemeColorButtonModeKey}-${ThemeColorStateToneKey}-${ThemeColorStateKey}-bg`
53
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-button-${ThemeColorButtonModeKey}-${ThemeColorStateToneKey}-${ThemeColorStateKey}-border`
54
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-button-${ThemeColorButtonModeKey}-${ThemeColorStateToneKey}-${ThemeColorStateKey}-code-bg`
55
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-button-${ThemeColorButtonModeKey}-${ThemeColorStateToneKey}-${ThemeColorStateKey}-code-fg`
56
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-button-${ThemeColorButtonModeKey}-${ThemeColorStateToneKey}-${ThemeColorStateKey}-fg`
57
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-button-${ThemeColorButtonModeKey}-${ThemeColorStateToneKey}-${ThemeColorStateKey}-icon`
58
- // | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-button-${ButtonMode}-${ThemeColorStateToneKey}-${ThemeColorStateKey}-kbd`
59
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-button-${ThemeColorButtonModeKey}-${ThemeColorStateToneKey}-${ThemeColorStateKey}-link-fg`
60
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-button-${ThemeColorButtonModeKey}-${ThemeColorStateToneKey}-${ThemeColorStateKey}-muted-bg`
61
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-button-${ThemeColorButtonModeKey}-${ThemeColorStateToneKey}-${ThemeColorStateKey}-muted-fg`
62
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-button-${ThemeColorButtonModeKey}-${ThemeColorStateToneKey}-${ThemeColorStateKey}-skeleton-from`
63
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-button-${ThemeColorButtonModeKey}-${ThemeColorStateToneKey}-${ThemeColorStateKey}-skeleton-to`
64
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-code-bg`
65
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-code-fg`
66
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-focus-ring`
67
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-icon`
68
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-kbd-bg`
69
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-kbd-border`
70
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-kbd-fg`
71
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-link-fg`
72
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-muted-bg`
73
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-muted-fg`
74
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-skeleton-from`
75
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-skeleton-to`
76
- // input
77
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-input-${ThemeColorInputModeKey}-${ThemeColorInputStateKey}-bg`
78
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-input-${ThemeColorInputModeKey}-${ThemeColorInputStateKey}-border`
79
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-input-${ThemeColorInputModeKey}-${ThemeColorInputStateKey}-fg`
80
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-input-${ThemeColorInputModeKey}-${ThemeColorInputStateKey}-muted-bg`
81
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-input-${ThemeColorInputModeKey}-${ThemeColorInputStateKey}-placeholder`
82
- // selectable
83
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-shadow-outline`
84
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-shadow-umbra`
85
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-shadow-penumbra`
86
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-shadow-ambient`
87
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-atrule`
88
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-attrName`
89
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-attrValue`
90
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-attribute`
91
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-boolean`
92
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-builtin`
93
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-cdata`
94
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-char`
95
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-class`
96
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-className`
97
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-comment`
98
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-constant`
99
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-deleted`
100
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-doctype`
101
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-entity`
102
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-function`
103
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-hexcode`
104
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-id`
105
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-important`
106
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-inserted`
107
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-keyword`
108
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-number`
109
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-operator`
110
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-prolog`
111
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-property`
112
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-pseudoClass`
113
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-pseudoElement`
114
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-punctuation`
115
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-regex`
116
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-selector`
117
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-string`
118
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-symbol`
119
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-tag`
120
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-unit`
121
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-url`
122
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-syntax-variable`
123
- | `--color-${ThemeColorSchemeKey}-${ThemeColorCardToneKey}-fg`
61
+ | `--shadow-outline`
124
62
  | `--container-${ContainerWidth}`
125
63
  | `--font-code-family`
64
+ | `--font-code-feature-settings`
126
65
  | `--font-code-weight-${FontWeight}`
127
66
  | `--font-code-${FontCodeSize}-ascender-height`
128
67
  | `--font-code-${FontCodeSize}-descender-height`
68
+ // | `--font-code-${FontCodeSize}-cap-height`
129
69
  | `--font-code-${FontCodeSize}-size`
130
70
  | `--font-code-${FontCodeSize}-line-height`
131
71
  | `--font-code-${FontCodeSize}-letter-spacing`
132
72
  | `--font-code-${FontCodeSize}-icon-size`
133
73
  | `--font-heading-family`
74
+ | `--font-heading-feature-settings`
134
75
  | `--font-heading-weight-${FontWeight}`
135
76
  | `--font-heading-${FontHeadingSize}-ascender-height`
136
77
  | `--font-heading-${FontHeadingSize}-descender-height`
78
+ // | `--font-heading-${FontHeadingSize}-cap-height`
137
79
  | `--font-heading-${FontHeadingSize}-size`
138
80
  | `--font-heading-${FontHeadingSize}-line-height`
139
81
  | `--font-heading-${FontHeadingSize}-letter-spacing`
140
82
  | `--font-heading-${FontHeadingSize}-icon-size`
141
83
  | `--font-label-family`
84
+ | `--font-label-feature-settings`
142
85
  | `--font-label-weight-${FontWeight}`
143
86
  | `--font-label-${FontLabelSize}-ascender-height`
144
87
  | `--font-label-${FontLabelSize}-descender-height`
88
+ // | `--font-label-${FontLabelSize}-cap-height`
145
89
  | `--font-label-${FontLabelSize}-size`
146
90
  | `--font-label-${FontLabelSize}-line-height`
147
91
  | `--font-label-${FontLabelSize}-letter-spacing`
148
92
  | `--font-label-${FontLabelSize}-icon-size`
149
93
  | `--font-text-family`
94
+ | `--font-text-feature-settings`
150
95
  | `--font-text-weight-${FontWeight}`
151
96
  | `--font-text-${FontTextSize}-ascender-height`
152
97
  | `--font-text-${FontTextSize}-descender-height`
98
+ // | `--font-text-${FontTextSize}-cap-height`
153
99
  | `--font-text-${FontTextSize}-size`
154
100
  | `--font-text-${FontTextSize}-line-height`
155
101
  | `--font-text-${FontTextSize}-letter-spacing`
@@ -181,34 +127,127 @@ export type ThemeVarName =
181
127
  | `--shadow-${Shadow}-penumbra`
182
128
  | `--shadow-${Shadow}-ambient`
183
129
 
130
+ export type ColorCardVarName =
131
+ | `--color-${Scheme}-${CardTone}-accent-fg`
132
+ | `--color-${Scheme}-${CardTone}-avatar-${AvatarColor}-bg`
133
+ | `--color-${Scheme}-${CardTone}-avatar-${AvatarColor}-fg`
134
+ | `--color-${Scheme}-${CardTone}-backdrop`
135
+ | `--color-${Scheme}-${CardTone}-focus-ring`
136
+ | `--color-${Scheme}-${CardTone}-link-fg`
137
+ | `--color-${Scheme}-${CardTone}-muted-bg`
138
+ | `--color-${Scheme}-${CardTone}-muted-fg`
139
+ | `--color-${Scheme}-${CardTone}-${ElementColorVariant}-${ElementTone}-${ElementColorVariantKey}`
140
+ | `--color-${Scheme}-${CardTone}-shadow-outline`
141
+ | `--color-${Scheme}-${CardTone}-shadow-umbra`
142
+ | `--color-${Scheme}-${CardTone}-shadow-penumbra`
143
+ | `--color-${Scheme}-${CardTone}-shadow-ambient`
144
+ | `--color-${Scheme}-${CardTone}-skeleton-from`
145
+ | `--color-${Scheme}-${CardTone}-skeleton-to`
146
+ | `--color-${Scheme}-${CardTone}-token-atrule`
147
+ | `--color-${Scheme}-${CardTone}-token-attr-name`
148
+ | `--color-${Scheme}-${CardTone}-token-attr-value`
149
+ | `--color-${Scheme}-${CardTone}-token-attribute`
150
+ | `--color-${Scheme}-${CardTone}-token-boolean`
151
+ | `--color-${Scheme}-${CardTone}-token-builtin`
152
+ | `--color-${Scheme}-${CardTone}-token-cdata`
153
+ | `--color-${Scheme}-${CardTone}-token-char`
154
+ | `--color-${Scheme}-${CardTone}-token-class`
155
+ | `--color-${Scheme}-${CardTone}-token-class-name`
156
+ | `--color-${Scheme}-${CardTone}-token-comment`
157
+ | `--color-${Scheme}-${CardTone}-token-constant`
158
+ | `--color-${Scheme}-${CardTone}-token-deleted`
159
+ | `--color-${Scheme}-${CardTone}-token-doctype`
160
+ | `--color-${Scheme}-${CardTone}-token-entity`
161
+ | `--color-${Scheme}-${CardTone}-token-function`
162
+ | `--color-${Scheme}-${CardTone}-token-hexcode`
163
+ | `--color-${Scheme}-${CardTone}-token-id`
164
+ | `--color-${Scheme}-${CardTone}-token-important`
165
+ | `--color-${Scheme}-${CardTone}-token-inserted`
166
+ | `--color-${Scheme}-${CardTone}-token-keyword`
167
+ | `--color-${Scheme}-${CardTone}-token-number`
168
+ | `--color-${Scheme}-${CardTone}-token-operator`
169
+ | `--color-${Scheme}-${CardTone}-token-prolog`
170
+ | `--color-${Scheme}-${CardTone}-token-property`
171
+ | `--color-${Scheme}-${CardTone}-token-pseudo-class`
172
+ | `--color-${Scheme}-${CardTone}-token-pseudo-element`
173
+ | `--color-${Scheme}-${CardTone}-token-punctuation`
174
+ | `--color-${Scheme}-${CardTone}-token-regex`
175
+ | `--color-${Scheme}-${CardTone}-token-selector`
176
+ | `--color-${Scheme}-${CardTone}-token-string`
177
+ | `--color-${Scheme}-${CardTone}-token-symbol`
178
+ | `--color-${Scheme}-${CardTone}-token-tag`
179
+ | `--color-${Scheme}-${CardTone}-token-unit`
180
+ | `--color-${Scheme}-${CardTone}-token-url`
181
+ | `--color-${Scheme}-${CardTone}-token-variable`
182
+
183
+ export type ColorCardToneScopedVarName =
184
+ | `--color-${CardTone}-accent-fg`
185
+ | `--color-${CardTone}-avatar-${AvatarColor}-bg`
186
+ | `--color-${CardTone}-avatar-${AvatarColor}-fg`
187
+ | `--color-${CardTone}-backdrop`
188
+ | `--color-${CardTone}-focus-ring`
189
+ | `--color-${CardTone}-link-fg`
190
+ | `--color-${CardTone}-muted-bg`
191
+ | `--color-${CardTone}-muted-fg`
192
+ | `--color-${CardTone}-${ElementColorVariant}-${ElementTone}-${ElementColorVariantKey}`
193
+ | `--color-${CardTone}-shadow-outline`
194
+ | `--color-${CardTone}-shadow-umbra`
195
+ | `--color-${CardTone}-shadow-penumbra`
196
+ | `--color-${CardTone}-shadow-ambient`
197
+ | `--color-${CardTone}-skeleton-from`
198
+ | `--color-${CardTone}-skeleton-to`
199
+ | `--color-${CardTone}-token-atrule`
200
+ | `--color-${CardTone}-token-attr-name`
201
+ | `--color-${CardTone}-token-attr-value`
202
+ | `--color-${CardTone}-token-attribute`
203
+ | `--color-${CardTone}-token-boolean`
204
+ | `--color-${CardTone}-token-builtin`
205
+ | `--color-${CardTone}-token-cdata`
206
+ | `--color-${CardTone}-token-char`
207
+ | `--color-${CardTone}-token-class`
208
+ | `--color-${CardTone}-token-class-name`
209
+ | `--color-${CardTone}-token-comment`
210
+ | `--color-${CardTone}-token-constant`
211
+ | `--color-${CardTone}-token-deleted`
212
+ | `--color-${CardTone}-token-doctype`
213
+ | `--color-${CardTone}-token-entity`
214
+ | `--color-${CardTone}-token-function`
215
+ | `--color-${CardTone}-token-hexcode`
216
+ | `--color-${CardTone}-token-id`
217
+ | `--color-${CardTone}-token-important`
218
+ | `--color-${CardTone}-token-inserted`
219
+ | `--color-${CardTone}-token-keyword`
220
+ | `--color-${CardTone}-token-number`
221
+ | `--color-${CardTone}-token-operator`
222
+ | `--color-${CardTone}-token-prolog`
223
+ | `--color-${CardTone}-token-property`
224
+ | `--color-${CardTone}-token-pseudo-class`
225
+ | `--color-${CardTone}-token-pseudo-element`
226
+ | `--color-${CardTone}-token-punctuation`
227
+ | `--color-${CardTone}-token-regex`
228
+ | `--color-${CardTone}-token-selector`
229
+ | `--color-${CardTone}-token-string`
230
+ | `--color-${CardTone}-token-symbol`
231
+ | `--color-${CardTone}-token-tag`
232
+ | `--color-${CardTone}-token-unit`
233
+ | `--color-${CardTone}-token-url`
234
+ | `--color-${CardTone}-token-variable`
235
+
236
+ /** @public */
184
237
  export type CardScopedVarName =
185
238
  | `--color-accent-fg`
186
- | `--color-avatar-${ThemeColorAvatarColorKey}-bg`
187
- | `--color-avatar-${ThemeColorAvatarColorKey}-fg`
239
+ | `--color-avatar-bg`
240
+ | `--color-avatar-fg`
241
+ | `--color-avatar-${AvatarColor}-bg`
242
+ | `--color-avatar-${AvatarColor}-fg`
188
243
  | `--color-backdrop`
189
- | `--color-badge-bg`
190
- | `--color-badge-dot`
191
- | `--color-badge-fg`
192
- | `--color-badge-icon`
193
- | `--color-badge-${ThemeColorStateToneKey}-bg`
194
- | `--color-badge-${ThemeColorStateToneKey}-dot`
195
- | `--color-badge-${ThemeColorStateToneKey}-fg`
196
- | `--color-badge-${ThemeColorStateToneKey}-icon`
244
+ | `--color-${ElementColorVariant}-${ElementTone}-${ElementColorVariantKey}`
197
245
  | `--color-bg`
198
246
  | `--color-border`
199
247
  | `--color-code-bg`
200
248
  | `--color-code-fg`
201
249
  | `--color-fg`
202
250
  | `--color-focus-ring`
203
- | `--color-icon`
204
- | `--color-input-${ThemeColorInputModeKey}-${ThemeColorInputStateKey}-bg`
205
- | `--color-input-${ThemeColorInputModeKey}-${ThemeColorInputStateKey}-border`
206
- | `--color-input-${ThemeColorInputModeKey}-${ThemeColorInputStateKey}-fg`
207
- | `--color-input-${ThemeColorInputModeKey}-${ThemeColorInputStateKey}-muted-bg`
208
- | `--color-input-${ThemeColorInputModeKey}-${ThemeColorInputStateKey}-placeholder`
209
- | `--color-kbd-bg`
210
- | `--color-kbd-border`
211
- | `--color-kbd-fg`
212
251
  | `--color-link-fg`
213
252
  | `--color-muted-bg`
214
253
  | `--color-muted-fg`
@@ -218,51 +257,86 @@ export type CardScopedVarName =
218
257
  | `--color-shadow-ambient`
219
258
  | `--color-skeleton-from`
220
259
  | `--color-skeleton-to`
221
- | `--color-syntax-atrule`
222
- | `--color-syntax-attrName`
223
- | `--color-syntax-attrValue`
224
- | `--color-syntax-attribute`
225
- | `--color-syntax-boolean`
226
- | `--color-syntax-builtin`
227
- | `--color-syntax-cdata`
228
- | `--color-syntax-char`
229
- | `--color-syntax-class`
230
- | `--color-syntax-className`
231
- | `--color-syntax-comment`
232
- | `--color-syntax-constant`
233
- | `--color-syntax-deleted`
234
- | `--color-syntax-doctype`
235
- | `--color-syntax-entity`
236
- | `--color-syntax-function`
237
- | `--color-syntax-hexcode`
238
- | `--color-syntax-id`
239
- | `--color-syntax-important`
240
- | `--color-syntax-inserted`
241
- | `--color-syntax-keyword`
242
- | `--color-syntax-number`
243
- | `--color-syntax-operator`
244
- | `--color-syntax-prolog`
245
- | `--color-syntax-property`
246
- | `--color-syntax-pseudoClass`
247
- | `--color-syntax-pseudoElement`
248
- | `--color-syntax-punctuation`
249
- | `--color-syntax-regex`
250
- | `--color-syntax-selector`
251
- | `--color-syntax-string`
252
- | `--color-syntax-symbol`
253
- | `--color-syntax-tag`
254
- | `--color-syntax-unit`
255
- | `--color-syntax-url`
256
- | `--color-syntax-variable`
260
+ | `--color-token-atrule`
261
+ | `--color-token-attr-name`
262
+ | `--color-token-attr-value`
263
+ | `--color-token-attribute`
264
+ | `--color-token-boolean`
265
+ | `--color-token-builtin`
266
+ | `--color-token-cdata`
267
+ | `--color-token-char`
268
+ | `--color-token-class`
269
+ | `--color-token-class-name`
270
+ | `--color-token-comment`
271
+ | `--color-token-constant`
272
+ | `--color-token-deleted`
273
+ | `--color-token-doctype`
274
+ | `--color-token-entity`
275
+ | `--color-token-function`
276
+ | `--color-token-hexcode`
277
+ | `--color-token-id`
278
+ | `--color-token-important`
279
+ | `--color-token-inserted`
280
+ | `--color-token-keyword`
281
+ | `--color-token-number`
282
+ | `--color-token-operator`
283
+ | `--color-token-prolog`
284
+ | `--color-token-property`
285
+ | `--color-token-pseudo-class`
286
+ | `--color-token-pseudo-element`
287
+ | `--color-token-punctuation`
288
+ | `--color-token-regex`
289
+ | `--color-token-selector`
290
+ | `--color-token-string`
291
+ | `--color-token-symbol`
292
+ | `--color-token-tag`
293
+ | `--color-token-unit`
294
+ | `--color-token-url`
295
+ | `--color-token-variable`
296
+ // todo
297
+ | `--color-checkbox-bg`
298
+ | `--color-checkbox-fg`
299
+ | `--color-checkbox-border`
300
+ | `--font-ascender-height`
301
+ // | `--font-cap-height`
302
+ | `--font-descender-height`
303
+ | `--font-family`
304
+ | `--font-feature-settings`
305
+ | `--font-icon-offset`
306
+ | `--font-icon-size`
307
+ | `--font-letter-spacing`
308
+ | `--font-line-height`
309
+ | `--font-size`
310
+ | `--font-skeleton-line-height`
311
+ | `--font-skeleton-ascender-height`
312
+ | `--font-skeleton-descender-height`
313
+ | `--font-weight-regular`
314
+ | `--font-weight-medium`
315
+ | `--font-weight-semibold`
316
+ | `--font-weight-bold`
317
+ | `--font-weight`
318
+ | `--fg-color`
319
+ | `--padding-top`
320
+ | `--padding-right`
321
+ | `--padding-bottom`
322
+ | `--padding-left`
323
+
324
+ export type AvatarScopedVarName =
325
+ | `--avatar-bg-color`
326
+ | `--avatar-fg-color`
327
+ | `--avatar-distance`
328
+ | `--avatar-size`
329
+
330
+ export type LegacyCardScopedVarName =
257
331
  // legacy
258
332
  | `--card-accent-fg-color`
259
- | `--card-avatar-${ThemeColorAvatarColorKey}-bg-color`
260
- | `--card-avatar-${ThemeColorAvatarColorKey}-fg-color`
333
+ | `--card-avatar-${AvatarColor}-bg-color`
334
+ | `--card-avatar-${AvatarColor}-fg-color`
261
335
  | `--card-backdrop-color`
262
- | `--card-badge-${ThemeColorStateToneKey}-bg-color`
263
- | `--card-badge-${ThemeColorStateToneKey}-dot-color`
264
- | `--card-badge-${ThemeColorStateToneKey}-fg-color`
265
- | `--card-badge-${ThemeColorStateToneKey}-icon-color`
336
+ | `--card-badge-${ElementTone}-bg-color`
337
+ | `--card-badge-${ElementTone}-dot-color`
338
+ | `--card-badge-${ElementTone}-fg-color`
339
+ | `--card-badge-${ElementTone}-icon-color`
266
340
  | `--card-bg-color`
267
341
  | `--card-bg-image`
268
342
  | `--card-bg2-color`
@@ -287,44 +361,48 @@ export type CardScopedVarName =
287
361
  | `--card-shadow-ambient-color`
288
362
  | `--card-skeleton-from-color`
289
363
  | `--card-skeleton-to-color`
290
- // todo
291
- | `--avatar-bg-color`
292
- | `--avatar-fg-color`
293
- | `--color-checkbox-bg`
294
- | `--color-checkbox-fg`
295
- | `--color-checkbox-border`
296
- | `--font-ascender-height`
297
- | `--font-cap-height`
298
- | `--font-descender-height`
299
- | `--font-family`
300
- | `--font-icon-offset`
301
- | `--font-icon-size`
302
- | `--font-letter-spacing`
303
- | `--font-line-height`
304
- | `--font-size`
305
- | `--font-skeleton-line-height`
306
- | `--font-skeleton-ascender-height`
307
- | `--font-skeleton-descender-height`
308
- | `--font-weight-regular`
309
- | `--font-weight-medium`
310
- | `--font-weight-semibold`
311
- | `--font-weight-bold`
312
- | `--font-weight`
313
- | `--fg-color`
314
- | `--input-bg-color`
315
- | `--input-border-color`
316
- | `--input-fg-color`
317
- | `--padding-top`
318
- | `--padding-right`
319
- | `--padding-bottom`
320
- | `--padding-left`
321
364
 
322
- // export type CardVarName = `--card-${CardSize}-${CardVariant}-${CardState}-${CardElement}`
365
+ /** @public */
366
+ export type ElementColorVariantScopedVarName =
367
+ `--color-${ElementColorVariant}-${ElementColorVariantKey}`
368
+
369
+ /** @public */
370
+ export type InputScopedVarName =
371
+ | `--color-input-bg`
372
+ | `--color-input-border`
373
+ | `--color-input-fg`
374
+ | `--color-input-placeholder`
375
+ | `--input-ascender-height`
376
+ | `--input-descender-height`
377
+ // | `--input-cap-height`
378
+ | `--input-font-size`
379
+ | `--input-gap`
380
+ | `--input-letter-spacing`
381
+ | `--input-line-height`
382
+ | `--input-padding`
323
383
 
324
384
  /** @public */
325
- export type CSSVarName = ThemeVarName | CardScopedVarName // `--${string}`
385
+ export type SwitchScopedVarName =
386
+ | `--switch-bg-color`
387
+ | `--switch-fg-color`
388
+ | '--switch-thumb-offset'
389
+ | '--switch-thumb-size'
326
390
 
327
391
  /** @public */
392
+ export type CSSVarName =
393
+ | AvatarScopedVarName
394
+ | LegacyCardScopedVarName
395
+ | PaletteVarName
396
+ | ThemeVarName
397
+ | ColorCardVarName
398
+ | ColorCardToneScopedVarName
399
+ | CardScopedVarName
400
+ | ElementColorVariantScopedVarName
401
+ | InputScopedVarName
402
+ | SwitchScopedVarName
403
+
404
+ /** @public */
405
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
328
406
  export interface CustomCSSProperties extends Record<CSSVarName, string> {}
329
407
 
330
408
  /** @public */
@@ -342,49 +420,49 @@ export interface Rules {
342
420
  /** @public */
343
421
  export type CSSVar = `var(${CSSVarName})`
344
422
 
423
+ /** @public */
345
424
  export interface ColorAvatarColorVarNames {
346
425
  bg: CSSVarName
347
426
  fg: CSSVarName
348
427
  }
349
428
 
350
- export interface ColorBadgeToneVarNames {
351
- bg: CSSVarName
352
- dot: CSSVarName
353
- fg: CSSVarName
354
- icon: CSSVarName
355
- }
356
-
357
- export interface ColorInputStateVarNames {
358
- bg: CSSVarName
359
- border: CSSVarName
360
- fg: CSSVarName
361
- muted: {
362
- bg: CSSVarName
429
+ /** @public */
430
+ export interface ColorElementVarNames {
431
+ bg: {
432
+ 0: CSSVarName
433
+ 1: CSSVarName
434
+ 2: CSSVarName
435
+ 3: CSSVarName
436
+ 4: CSSVarName
437
+ }
438
+ border: {
439
+ 0: CSSVarName
440
+ 1: CSSVarName
441
+ 2: CSSVarName
442
+ 3: CSSVarName
443
+ 4: CSSVarName
444
+ }
445
+ fg: {
446
+ 0: CSSVarName
447
+ 1: CSSVarName
448
+ 2: CSSVarName
449
+ 3: CSSVarName
450
+ 4: CSSVarName
363
451
  }
364
- placeholder: CSSVarName
365
452
  }
366
453
 
367
- export interface ColorStateVarNames {
454
+ export interface ColorVariantVarNames
455
+ extends ColorElementVarNames,
456
+ Record<ElementTone, ColorElementVarNames> {}
457
+
458
+ /** @public */
459
+ export interface ColorCardVarNames {
368
460
  accent: {
369
461
  fg: CSSVarName
370
462
  }
371
- avatar: Record<ThemeColorAvatarColorKey, ColorAvatarColorVarNames>
372
- badge: Record<ThemeColorStateToneKey, ColorBadgeToneVarNames>
373
- // badge
374
- bg: CSSVarName
375
- border: CSSVarName
376
- code: {
377
- bg: CSSVarName
378
- fg: CSSVarName
379
- }
380
- fg: CSSVarName
381
- icon: CSSVarName
382
- // kbd
383
- kbd: {
384
- bg: CSSVarName
385
- border: CSSVarName
386
- fg: CSSVarName
387
- }
463
+ avatar: Record<AvatarColor, ColorAvatarColorVarNames>
464
+ backdrop: CSSVarName
465
+ focusRing: CSSVarName
388
466
  link: {
389
467
  fg: CSSVarName
390
468
  }
@@ -402,7 +480,7 @@ export interface ColorStateVarNames {
402
480
  from: CSSVarName
403
481
  to: CSSVarName
404
482
  }
405
- syntax: {
483
+ token: {
406
484
  atrule: CSSVarName
407
485
  attrName: CSSVarName
408
486
  attrValue: CSSVarName
@@ -440,32 +518,81 @@ export interface ColorStateVarNames {
440
518
  url: CSSVarName
441
519
  variable: CSSVarName
442
520
  }
521
+ // variant: {
522
+ solid: ColorVariantVarNames
523
+ tinted: ColorVariantVarNames
524
+ // }
443
525
  }
444
526
 
445
- export interface ColorCardVarNames extends ColorStateVarNames {
446
- backdrop: ThemeVarName
447
- focusRing: ThemeVarName
448
- input: Record<ThemeColorInputModeKey, Record<ThemeColorInputStateKey, ColorInputStateVarNames>>
527
+ /** @public */
528
+ export type ColorSchemeVarNames = Record<CardTone, ColorCardVarNames>
529
+
530
+ export interface ScopedColorVarNames extends Omit<ColorCardVarNames, 'avatar'> {
531
+ accent: {
532
+ fg: CSSVarName
533
+ }
534
+ avatar: Record<AvatarColor, ColorAvatarColorVarNames> & ColorAvatarColorVarNames
535
+ bg: CSSVarName
536
+ border: CSSVarName
537
+ fg: CSSVarName
538
+ input: {
539
+ bg: CSSVarName
540
+ border: CSSVarName
541
+ fg: CSSVarName
542
+ placeholder: CSSVarName
543
+ }
449
544
  }
450
545
 
451
- export type ColorSchemeVarNames = Record<ThemeColorCardToneKey, ColorCardVarNames>
546
+ /** @public */
547
+ export interface FontSizeVarNames {
548
+ ascenderHeight: CSSVarName
549
+ descenderHeight: CSSVarName
550
+ fontSize: CSSVarName
551
+ lineHeight: CSSVarName
552
+ letterSpacing: CSSVarName
553
+ iconSize: CSSVarName
554
+ }
452
555
 
453
- export interface ScopedColorVarNames extends Omit<ColorStateVarNames, 'badge'> {
454
- badge: Record<ThemeColorStateToneKey, ColorBadgeToneVarNames> & ColorBadgeToneVarNames
556
+ export interface FontVarNames<Size extends number> {
557
+ family: CSSVarName
558
+ sizes: Record<Size, FontSizeVarNames>
455
559
  }
456
560
 
457
561
  /** @public */
458
562
  export interface VarNames {
459
- color: Record<ThemeColorSchemeKey, ColorSchemeVarNames> & ScopedColorVarNames
563
+ color: Record<Scheme, ColorSchemeVarNames> &
564
+ ScopedColorVarNames &
565
+ Record<CardTone, ColorCardVarNames>
460
566
  avatar: {
567
+ distance: CSSVarName
461
568
  focusRing: {
462
569
  offset: CSSVarName
463
570
  width: CSSVarName
464
571
  }
572
+ size: CSSVarName
573
+ sizes: Record<AvatarSize, {distance: CSSVarName; size: CSSVarName}>
574
+ }
575
+ font: {
576
+ code: FontVarNames<FontCodeSize>
577
+ heading: FontVarNames<FontHeadingSize>
578
+ label: FontVarNames<FontLabelSize>
579
+ text: FontVarNames<FontTextSize>
580
+ }
581
+ input: {
582
+ fontSize: CSSVarName
583
+ lineHeight: CSSVarName
584
+ letterSpacing: CSSVarName
585
+ ascenderHeight: CSSVarName
586
+ descenderHeight: CSSVarName
587
+ // capHeight: CSSVarName
588
+
589
+ gap: CSSVarName
590
+ padding: CSSVarName
465
591
  }
466
592
  space: Record<Space, CSSVarName>
467
593
  }
468
594
 
595
+ /** @public */
469
596
  export interface ColorInputStateVars {
470
597
  bg: CSSVar
471
598
  border: CSSVar
@@ -476,58 +603,42 @@ export interface ColorInputStateVars {
476
603
  placeholder: CSSVar
477
604
  }
478
605
 
479
- export interface ColorCardVars extends ColorStateVars {
480
- backdrop: CSSVar
481
- focusRing: CSSVar
482
- input: Record<ThemeColorInputModeKey, Record<ThemeColorInputStateKey, ColorInputStateVars>>
483
- }
484
-
485
- export interface ColorBadgeToneVars {
486
- bg: CSSVar
487
- dot: CSSVar
488
- fg: CSSVar
489
- icon: CSSVar
490
- }
491
-
492
- export type ColorBadgeVars = Record<ThemeColorStateToneKey, ColorBadgeToneVars>
493
-
494
- export type ColorAvatarVars = Record<ThemeColorAvatarColorKey, ColorAvatarColorVars>
495
-
496
- export interface ColorInputStateVars {
497
- bg: CSSVar
498
- border: CSSVar
499
- fg: CSSVar
500
- muted: {
501
- bg: CSSVar
606
+ /** @public */
607
+ export interface ColorElementVars {
608
+ bg: {
609
+ 0: CSSVar
610
+ 1: CSSVar
611
+ 2: CSSVar
612
+ 3: CSSVar
613
+ 4: CSSVar
614
+ }
615
+ border: {
616
+ 0: CSSVar
617
+ 1: CSSVar
618
+ 2: CSSVar
619
+ 3: CSSVar
620
+ 4: CSSVar
621
+ }
622
+ fg: {
623
+ 0: CSSVar
624
+ 1: CSSVar
625
+ 2: CSSVar
626
+ 3: CSSVar
627
+ 4: CSSVar
502
628
  }
503
- placeholder: CSSVar
504
629
  }
505
630
 
506
- export type ColorInputModeVars = Record<ThemeColorInputStateKey, ColorInputStateVars>
507
-
508
- export type ColorInputVars = Record<ThemeColorInputModeKey, ColorInputModeVars>
631
+ /** @public */
632
+ export interface ColorVariantVars extends Record<ElementTone, ColorElementVars>, ColorElementVars {}
509
633
 
510
- export interface ColorStateVars {
634
+ /** @public */
635
+ export interface ColorCardVars {
511
636
  accent: {
512
637
  fg: CSSVar
513
638
  }
514
639
  avatar: ColorAvatarVars
515
- badge: Record<ThemeColorStateToneKey, ColorBadgeToneVars>
516
- // badge
517
- bg: CSSVar
518
- border: CSSVar
519
- code: {
520
- bg: CSSVar
521
- fg: CSSVar
522
- }
523
- fg: CSSVar
524
- icon: CSSVar
525
- input: ColorInputVars
526
- kbd: {
527
- bg: CSSVar
528
- border: CSSVar
529
- fg: CSSVar
530
- }
640
+ backdrop: CSSVar
641
+ focusRing: CSSVar
531
642
  link: {
532
643
  fg: CSSVar
533
644
  }
@@ -545,7 +656,7 @@ export interface ColorStateVars {
545
656
  from: CSSVar
546
657
  to: CSSVar
547
658
  }
548
- syntax: {
659
+ token: {
549
660
  atrule: CSSVar
550
661
  attrName: CSSVar
551
662
  attrValue: CSSVar
@@ -583,19 +694,50 @@ export interface ColorStateVars {
583
694
  url: CSSVar
584
695
  variable: CSSVar
585
696
  }
697
+ // variant: {
698
+ solid: ColorVariantVars
699
+ tinted: ColorVariantVars
700
+ // }
701
+ }
702
+
703
+ /** @public */
704
+ export interface ColorBadgeToneVars {
705
+ bg: CSSVar
706
+ dot: CSSVar
707
+ fg: CSSVar
708
+ icon: CSSVar
586
709
  }
587
710
 
711
+ /** @public */
712
+ export type ColorBadgeVars = Record<ElementTone, ColorBadgeToneVars>
713
+
714
+ /** @public */
715
+ export type ColorAvatarVars = Record<AvatarColor, ColorAvatarColorVars>
716
+
717
+ /** @public */
588
718
  export interface ColorAvatarColorVars {
589
719
  bg: CSSVar
590
720
  fg: CSSVar
591
721
  }
592
722
 
593
- export type ColorSchemeVars = Record<ThemeColorCardToneKey, ColorCardVars>
723
+ /** @public */
724
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
725
+ export interface ColorSchemeVars extends Record<CardTone, ColorCardVars> {}
594
726
 
595
- export interface ScopedColorVars extends Omit<ColorStateVars, 'badge'> {
596
- badge: ColorBadgeVars & ColorBadgeToneVars
727
+ export interface ScopedColorVars extends Omit<ColorCardVars, 'avatar'> {
728
+ avatar: ColorAvatarVars & ColorAvatarColorVars
729
+ bg: CSSVar
730
+ border: CSSVar
731
+ fg: CSSVar
732
+ input: {
733
+ bg: CSSVar
734
+ border: CSSVar
735
+ fg: CSSVar
736
+ placeholder: CSSVar
737
+ }
597
738
  }
598
739
 
740
+ /** @public */
599
741
  export interface FontSizeVars {
600
742
  ascenderHeight: CSSVar
601
743
  descenderHeight: CSSVar
@@ -603,8 +745,10 @@ export interface FontSizeVars {
603
745
  lineHeight: CSSVar
604
746
  letterSpacing: CSSVar
605
747
  iconSize: CSSVar
748
+ // capHeight: CSSVar
606
749
  }
607
750
 
751
+ /** @public */
608
752
  export interface FontVars<Size extends number> {
609
753
  family: CSSVar
610
754
  sizes: Record<Size, FontSizeVars>
@@ -612,15 +756,39 @@ export interface FontVars<Size extends number> {
612
756
 
613
757
  /** @public */
614
758
  export interface Vars {
759
+ avatar: {
760
+ distance: CSSVar
761
+ size: CSSVar
762
+ sizes: Record<AvatarSize, {distance: CSSVar; size: CSSVar}>
763
+ }
615
764
  color: {
616
765
  dark: ColorSchemeVars
617
766
  light: ColorSchemeVars
618
- } & ScopedColorVars
767
+ } & ScopedColorVars &
768
+ Record<CardTone, ColorCardVars>
619
769
  font: {
620
770
  code: FontVars<FontCodeSize>
621
771
  heading: FontVars<FontHeadingSize>
622
772
  label: FontVars<FontLabelSize>
623
773
  text: FontVars<FontTextSize>
624
774
  }
775
+ input: {
776
+ fontSize: CSSVar
777
+ lineHeight: CSSVar
778
+ letterSpacing: CSSVar
779
+ ascenderHeight: CSSVar
780
+ descenderHeight: CSSVar
781
+ // capHeight: CSSVar
782
+
783
+ gap: CSSVar
784
+ padding: CSSVar
785
+
786
+ text: {
787
+ focusRing: {
788
+ offset: CSSVar
789
+ width: CSSVar
790
+ }
791
+ }
792
+ }
625
793
  space: Record<Space, CSSVar>
626
794
  }