@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
@@ -11,15 +11,16 @@ export const RADIUS = [0, 1, 2, 3, 4, 5, 6, 'full'] as const
11
11
  export const SPACE = [0, 0.5, 1, 2, 3, 4, 5, 6, 7, 8, 9] as const
12
12
 
13
13
  /** @public */
14
- export const FONT_CODE_SIZE = [0, 1, 2, 3, 4, 5] as const
14
+ export const FONT_CODE_SIZE = [0, 1, 2, 3, 4] as const
15
15
 
16
16
  /** @public */
17
- export const FONT_HEADING_SIZE = [0, 1, 2, 3, 4, 5, 6] as const
17
+ export const FONT_HEADING_SIZE = [0, 1, 2, 3, 4, 5] as const
18
18
 
19
19
  /** @public */
20
- export const FONT_LABEL_SIZE = [0, 1, 2, 3, 4, 5, 6] as const
20
+ export const FONT_LABEL_SIZE = [0, 1, 2, 3, 4, 5] as const
21
21
 
22
22
  /** @public */
23
- export const FONT_TEXT_SIZE = [0, 1, 2, 3, 4, 5] as const
23
+ export const FONT_TEXT_SIZE = [0, 1, 2, 3, 4] as const
24
24
 
25
+ /** @public */
25
26
  export const SHADOW = [0, 1, 2, 3, 4, 5] as const
@@ -14,7 +14,7 @@ import {
14
14
  export type AvatarSize = (typeof AVATAR_SIZE)[number]
15
15
 
16
16
  /** @public */
17
- export type ContainerWidth = (typeof CONTAINER)[number] | 'auto'
17
+ export type ContainerWidth = (typeof CONTAINER)[number] | 'auto' | 'fill'
18
18
 
19
19
  /** @public */
20
20
  export type Radius = (typeof RADIUS)[number] | 'full'
@@ -4,7 +4,7 @@ import {
4
4
  ThemeColorSelectable,
5
5
  ThemeColorSelectableStates,
6
6
  ThemeColorSolid,
7
- } from '../../../../system'
7
+ } from '../../../../v0'
8
8
  import {ThemeColorBuilderOpts} from '../factory'
9
9
 
10
10
  export function createSelectableTones(
@@ -1,4 +1,4 @@
1
- import {ThemeColorBase, ThemeColorSolid, ThemeColorName} from '../../../../system'
1
+ import {ThemeColorBase, ThemeColorName, ThemeColorSolid} from '../../../../v0'
2
2
  import {ThemeColorBuilderOpts} from '../factory'
3
3
 
4
4
  export function createSolidTones(
@@ -1,9 +1,4 @@
1
- import {
2
- ThemeColorBase,
3
- ThemeColorButton,
4
- ThemeColorMuted,
5
- ThemeColorSolid,
6
- } from '../../../../system'
1
+ import {ThemeColorBase, ThemeColorButton, ThemeColorMuted, ThemeColorSolid} from '../../../../v0'
7
2
  import {ThemeColorBuilderOpts} from '../factory'
8
3
  import {createButtonTones} from './createButtonTones'
9
4
 
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  ThemeColorBase,
3
- ThemeColorButtonModeKey,
4
3
  ThemeColorButtonTones,
5
4
  ThemeColorMuted,
6
5
  ThemeColorSolid,
7
- } from '../../../../system'
6
+ } from '../../../../v0'
7
+ import {ThemeColorButtonModeKey} from '../../../../v2'
8
8
  import {ThemeColorBuilderOpts} from '../factory'
9
9
 
10
10
  export function createButtonTones(
@@ -2,9 +2,9 @@ import {
2
2
  ThemeColorBase,
3
3
  ThemeColorCard,
4
4
  ThemeColorMuted,
5
- ThemeColorSolid,
6
5
  ThemeColorName,
7
- } from '../../../../system'
6
+ ThemeColorSolid,
7
+ } from '../../../../v0'
8
8
  import {ThemeColorBuilderOpts} from '../factory'
9
9
 
10
10
  export function createCardStates(
@@ -1,21 +1,20 @@
1
1
  import {
2
- ThemeColorGenericState,
2
+ ThemeColor,
3
3
  ThemeColorBase,
4
- ThemeColorButtonModeKey,
5
4
  ThemeColorButtonStates,
5
+ ThemeColorGenericState,
6
6
  ThemeColorInputState,
7
7
  ThemeColorMuted,
8
8
  ThemeColorMutedTone,
9
- ThemeColorSolid,
10
- ThemeColorSolidTone,
11
- ThemeColorSyntax,
12
9
  ThemeColorName,
13
10
  ThemeColorScheme,
14
11
  ThemeColorSchemes,
15
- ThemeColor,
16
- ThemeColorToneKey,
12
+ ThemeColorSolid,
13
+ ThemeColorSolidTone,
17
14
  ThemeColorSpotKey,
18
- } from '../../../system'
15
+ ThemeColorToneKey,
16
+ } from '../../../v0'
17
+ import {ThemeColorButtonModeKey, ThemeColorSyntax} from '../../../v2'
19
18
  import {createSelectableTones} from './_selectable/createSelectableTones'
20
19
  import {createSolidTones} from './_solid/createSolidTones'
21
20
  import {createButtonModes} from './button/createButtonModes'
@@ -34,7 +33,7 @@ export interface ThemeColorBuilderOpts {
34
33
  solid: (opts: {
35
34
  base: ThemeColorBase
36
35
  dark: boolean
37
- tone: ThemeColorToneKey
36
+ tone: ThemeColorName
38
37
  name: ThemeColorName
39
38
  state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'
40
39
  }) => ThemeColorGenericState
@@ -1,4 +1,4 @@
1
- import {ThemeColorBase, ThemeColorInput, ThemeColorMuted, ThemeColorSolid} from '../../../../system'
1
+ import {ThemeColorBase, ThemeColorInput, ThemeColorMuted, ThemeColorSolid} from '../../../../v0'
2
2
  import {ThemeColorBuilderOpts} from '../factory'
3
3
 
4
4
  export function createInputModes(
@@ -1,11 +1,11 @@
1
- import {ThemeColorBase, ThemeColorCardToneKey, ThemeColorMuted} from '../../../../system'
1
+ import {ThemeColorBase, ThemeColorMuted, ThemeColorName} from '../../../../v0'
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: ThemeColorCardToneKey,
8
+ name: ThemeColorName,
9
9
  ): ThemeColorMuted {
10
10
  return {
11
11
  default: {
@@ -1,4 +1,4 @@
1
- import {ThemeColorBase, ThemeColorSpot} from '../../../../system'
1
+ import {ThemeColorBase, ThemeColorSpot} from '../../../../v0'
2
2
  import {ThemeColorBuilderOpts} from '../factory'
3
3
 
4
4
  export function createSpot(
@@ -1,30 +1,31 @@
1
1
  import {ThemeColorBadgeTokens, ThemeColorStateTokens, ThemeConfig} from '../config'
2
2
  import {
3
3
  THEME_COLOR_BUTTON_MODES,
4
- THEME_COLOR_STATES,
4
+ THEME_COLOR_CARD_TONES,
5
5
  THEME_COLOR_STATE_TONES,
6
- ThemeColorAvatarColorKey,
7
- ThemeColorCardToneKey,
8
- ThemeColorButtonModeKey,
9
- ThemeColorStateKey,
10
- ThemeColorStateToneKey,
6
+ THEME_COLOR_STATES,
11
7
  ThemeColorAvatar_v2,
8
+ ThemeColorAvatarColorKey,
9
+ ThemeColorAvatarHue_v2,
12
10
  ThemeColorBadge_v2,
13
- ThemeColorSyntax,
14
- ThemeColorSchemes_v2,
15
- ThemeColorScheme_v2,
16
- ThemeColorCard_v2,
17
- ThemeColorSchemeKey,
18
- ThemeColorShadow,
19
- ThemeColorState_v2,
20
11
  ThemeColorButton_v2,
21
12
  ThemeColorButtonMode_v2,
13
+ ThemeColorButtonModeKey,
22
14
  ThemeColorButtonTone_v2,
23
- ThemeColorAvatarHue_v2,
15
+ ThemeColorCard_v2,
16
+ ThemeColorCardToneKey,
24
17
  ThemeColorInput_v2,
25
18
  ThemeColorInputMode_v2,
26
19
  ThemeColorInputState_v2,
27
- } from '../system'
20
+ ThemeColorScheme_v2,
21
+ ThemeColorSchemeKey,
22
+ ThemeColorSchemes_v2,
23
+ ThemeColorShadow,
24
+ ThemeColorState_v2,
25
+ ThemeColorStateKey,
26
+ ThemeColorStateToneKey,
27
+ ThemeColorSyntax,
28
+ } from '../v2'
28
29
  import {ColorTokenContext, resolveColorTokenValue as _color} from './colorToken'
29
30
  import {resolveColorTokens} from './resolveColorTokens'
30
31
 
@@ -46,14 +47,13 @@ function buildColorScheme(
46
47
  ): ThemeColorScheme_v2 {
47
48
  const {scheme} = options
48
49
 
49
- return {
50
- transparent: buildCardColorTheme({scheme, tone: 'transparent'}, config),
51
- default: buildCardColorTheme({scheme, tone: 'default'}, config),
52
- primary: buildCardColorTheme({scheme, tone: 'primary'}, config),
53
- positive: buildCardColorTheme({scheme, tone: 'positive'}, config),
54
- caution: buildCardColorTheme({scheme, tone: 'caution'}, config),
55
- critical: buildCardColorTheme({scheme, tone: 'critical'}, config),
50
+ const colorScheme = {} as ThemeColorScheme_v2
51
+
52
+ for (const tone of THEME_COLOR_CARD_TONES) {
53
+ colorScheme[tone] = buildCardColorTheme({scheme, tone}, config)
56
54
  }
55
+
56
+ return colorScheme
57
57
  }
58
58
 
59
59
  function buildCardColorTheme(
@@ -77,7 +77,7 @@ function buildCardColorTheme(
77
77
  badge: buildBadgeColorTheme(tokens?.badge, {scheme}, config),
78
78
  bg: _color(context, tokens?.bg),
79
79
  border: _color(context, tokens?.border),
80
- button: buildButtonColorTheme({scheme}, config),
80
+ button: buildButtonColorTheme({scheme, tone}, config),
81
81
  code: {
82
82
  bg: _color(context, tokens?.code?.bg),
83
83
  fg: _color(context, tokens?.code?.fg),
@@ -98,7 +98,7 @@ function buildCardColorTheme(
98
98
  bg: _color(context, tokens?.muted?.bg),
99
99
  fg: _color(context, tokens?.muted?.fg),
100
100
  },
101
- selectable: buildSelectableColorTheme({scheme}, config),
101
+ selectable: buildSelectableColorTheme({scheme, tone}, config),
102
102
  shadow: buildShadowColorTheme({scheme, tone}, config),
103
103
  skeleton: {
104
104
  from: _color(context, tokens?.skeleton?.from),
@@ -167,13 +167,13 @@ function buildBadgeColorTheme(
167
167
  ): ThemeColorBadge_v2 {
168
168
  const {scheme} = options
169
169
 
170
- return {
171
- default: _buildBadgeColorTheme(tokens, {scheme, tone: 'default'}, config),
172
- primary: _buildBadgeColorTheme(tokens, {scheme, tone: 'primary'}, config),
173
- positive: _buildBadgeColorTheme(tokens, {scheme, tone: 'positive'}, config),
174
- caution: _buildBadgeColorTheme(tokens, {scheme, tone: 'caution'}, config),
175
- critical: _buildBadgeColorTheme(tokens, {scheme, tone: 'critical'}, config),
170
+ const colorBadge = {} as ThemeColorBadge_v2
171
+
172
+ for (const tone of THEME_COLOR_STATE_TONES) {
173
+ colorBadge[tone] = _buildBadgeColorTheme(tokens, {scheme, tone}, config)
176
174
  }
175
+
176
+ return colorBadge
177
177
  }
178
178
 
179
179
  function _buildBadgeColorTheme(
@@ -195,15 +195,15 @@ function _buildBadgeColorTheme(
195
195
  }
196
196
 
197
197
  function buildButtonColorTheme(
198
- options: {scheme: ThemeColorSchemeKey},
198
+ options: {scheme: ThemeColorSchemeKey; tone: ThemeColorCardToneKey},
199
199
  config?: ThemeConfig,
200
200
  ): ThemeColorButton_v2 {
201
- const {scheme} = options
201
+ const {scheme, tone: cardTone} = options
202
202
 
203
203
  const modes: Partial<ThemeColorButton_v2> = {}
204
204
 
205
205
  for (const mode of THEME_COLOR_BUTTON_MODES) {
206
- modes[mode] = buildButtonTonesColorTheme({scheme, mode}, config)
206
+ modes[mode] = buildButtonTonesColorTheme({cardTone, scheme, mode}, config)
207
207
  }
208
208
 
209
209
  return modes as ThemeColorButton_v2
@@ -211,17 +211,18 @@ function buildButtonColorTheme(
211
211
 
212
212
  function buildButtonTonesColorTheme(
213
213
  options: {
214
+ cardTone: ThemeColorCardToneKey
214
215
  scheme: ThemeColorSchemeKey
215
216
  mode: ThemeColorButtonModeKey
216
217
  },
217
218
  config?: ThemeConfig,
218
219
  ): ThemeColorButtonMode_v2 {
219
- const {mode, scheme} = options
220
+ const {cardTone, mode, scheme} = options
220
221
 
221
222
  const tones: Partial<ThemeColorButtonMode_v2> = {}
222
223
 
223
224
  for (const tone of THEME_COLOR_STATE_TONES) {
224
- tones[tone] = buildButtonStatesColorTheme({mode, scheme, tone}, config)
225
+ tones[tone] = buildButtonStatesColorTheme({cardTone, mode, scheme, tone}, config)
225
226
  }
226
227
 
227
228
  return tones as ThemeColorButtonMode_v2
@@ -229,18 +230,19 @@ function buildButtonTonesColorTheme(
229
230
 
230
231
  function buildButtonStatesColorTheme(
231
232
  options: {
233
+ cardTone: ThemeColorCardToneKey
232
234
  mode: ThemeColorButtonModeKey
233
235
  scheme: ThemeColorSchemeKey
234
236
  tone: ThemeColorStateToneKey
235
237
  },
236
238
  config?: ThemeConfig,
237
239
  ): ThemeColorButtonTone_v2 {
238
- const {mode, scheme, tone} = options
240
+ const {cardTone, mode, scheme, tone} = options
239
241
 
240
242
  const states: Partial<ThemeColorButtonTone_v2> = {}
241
243
 
242
244
  for (const state of THEME_COLOR_STATES) {
243
- states[state] = buildButtonStateColorTheme({mode, tone, scheme, state}, config)
245
+ states[state] = buildButtonStateColorTheme({cardTone, mode, tone, scheme, state}, config)
244
246
  }
245
247
 
246
248
  return states as ThemeColorButtonTone_v2
@@ -248,6 +250,7 @@ function buildButtonStatesColorTheme(
248
250
 
249
251
  function buildButtonStateColorTheme(
250
252
  options: {
253
+ cardTone: ThemeColorCardToneKey
251
254
  mode: ThemeColorButtonModeKey
252
255
  tone: ThemeColorStateToneKey
253
256
  scheme: ThemeColorSchemeKey
@@ -255,9 +258,10 @@ function buildButtonStateColorTheme(
255
258
  },
256
259
  config?: ThemeConfig,
257
260
  ): ThemeColorState_v2 {
258
- const {mode, tone, scheme, state} = options
261
+ const {cardTone, mode, tone, scheme, state} = options
262
+ const cardTokens = config?.color?.base?.[cardTone]
259
263
  const tokens = config?.color?.button?.[mode]?.[tone]?.[state]
260
- const hue = tokens?._hue || 'gray'
264
+ const hue = tokens?._hue || cardTokens?._hue || 'gray'
261
265
  const blendMode = tokens?._blend || ['screen', 'multiply']
262
266
  const context: ColorTokenContext = {hue, scheme}
263
267
 
@@ -318,25 +322,26 @@ function buildInputStatesColorTheme(
318
322
  const {mode, scheme, tone} = options
319
323
 
320
324
  return {
321
- enabled: buildInputStateColorTheme({mode, scheme, state: 'enabled', tone}, config),
322
- hovered: buildInputStateColorTheme({mode, scheme, state: 'hovered', tone}, config),
323
- readOnly: buildInputStateColorTheme({mode, scheme, state: 'readOnly', tone}, config),
324
- disabled: buildInputStateColorTheme({mode, scheme, state: 'disabled', tone}, config),
325
+ enabled: buildInputStateColorTheme({mode, scheme, state: 'enabled', cardTone: tone}, config),
326
+ hovered: buildInputStateColorTheme({mode, scheme, state: 'hovered', cardTone: tone}, config),
327
+ readOnly: buildInputStateColorTheme({mode, scheme, state: 'readOnly', cardTone: tone}, config),
328
+ disabled: buildInputStateColorTheme({mode, scheme, state: 'disabled', cardTone: tone}, config),
325
329
  }
326
330
  }
327
331
 
328
332
  function buildInputStateColorTheme(
329
333
  options: {
334
+ cardTone: ThemeColorCardToneKey
330
335
  mode: 'default' | 'invalid'
331
336
  scheme: ThemeColorSchemeKey
332
337
  state: 'enabled' | 'hovered' | 'readOnly' | 'disabled'
333
- tone: ThemeColorCardToneKey
334
338
  },
335
339
  config?: ThemeConfig,
336
340
  ): ThemeColorInputState_v2 {
337
- const {mode, tone, scheme, state} = options
341
+ const {cardTone, mode, scheme, state} = options
342
+ const cardTokens = config?.color?.base?.[cardTone]
338
343
  const tokens = config?.color?.input?.[mode]?.[state]
339
- const hue = tokens?._hue || config?.color?.base?.[tone]?._hue || 'gray'
344
+ const hue = tokens?._hue || cardTokens?._hue || 'gray'
340
345
  const blendMode = tokens?._blend || ['screen', 'multiply']
341
346
  const context: ColorTokenContext = {hue, scheme}
342
347
 
@@ -355,15 +360,16 @@ function buildInputStateColorTheme(
355
360
  function buildSelectableColorTheme(
356
361
  options: {
357
362
  scheme: ThemeColorSchemeKey
363
+ tone: ThemeColorCardToneKey
358
364
  },
359
365
  config?: ThemeConfig,
360
366
  ): ThemeColorButtonMode_v2 {
361
- const {scheme} = options
367
+ const {scheme, tone: cardTone} = options
362
368
 
363
369
  const tones: Partial<ThemeColorButtonMode_v2> = {}
364
370
 
365
371
  for (const tone of THEME_COLOR_STATE_TONES) {
366
- tones[tone] = buildSelectableStatesColorTheme({scheme, tone}, config)
372
+ tones[tone] = buildSelectableStatesColorTheme({cardTone, scheme, tone}, config)
367
373
  }
368
374
 
369
375
  return tones as ThemeColorButtonMode_v2
@@ -371,17 +377,18 @@ function buildSelectableColorTheme(
371
377
 
372
378
  function buildSelectableStatesColorTheme(
373
379
  options: {
380
+ cardTone: ThemeColorCardToneKey
374
381
  scheme: ThemeColorSchemeKey
375
382
  tone: ThemeColorStateToneKey
376
383
  },
377
384
  config?: ThemeConfig,
378
385
  ): ThemeColorButtonTone_v2 {
379
- const {scheme, tone} = options
386
+ const {cardTone, scheme, tone} = options
380
387
 
381
388
  const states: Partial<ThemeColorButtonTone_v2> = {}
382
389
 
383
390
  for (const state of THEME_COLOR_STATES) {
384
- states[state] = buildSelectableStateColorTheme({tone, scheme, state}, config)
391
+ states[state] = buildSelectableStateColorTheme({cardTone, tone, scheme, state}, config)
385
392
  }
386
393
 
387
394
  return states as ThemeColorButtonTone_v2
@@ -389,15 +396,18 @@ function buildSelectableStatesColorTheme(
389
396
 
390
397
  function buildSelectableStateColorTheme(
391
398
  options: {
399
+ cardTone: ThemeColorCardToneKey
392
400
  scheme: ThemeColorSchemeKey
393
401
  state: ThemeColorStateKey
394
402
  tone: ThemeColorStateToneKey
395
403
  },
396
404
  config?: ThemeConfig,
397
405
  ): ThemeColorState_v2 {
398
- const {scheme, state, tone} = options
406
+ const {cardTone, scheme, state, tone} = options
407
+ const cardTokens = config?.color?.base?.[cardTone]
399
408
  const tokens = config?.color?.selectable?.[tone]?.[state]
400
- const hue = tokens?._hue || 'gray'
409
+
410
+ const hue = tokens?._hue || cardTokens?._hue || 'gray'
401
411
  const blendMode = tokens?._blend || ['screen', 'multiply']
402
412
  const context: ColorTokenContext = {hue, scheme}
403
413
 
@@ -1,36 +1,12 @@
1
- import {ThemeConfig} from '../config'
2
- import {defaultThemeConfig} from '../defaults/config'
3
- import {defaultThemeFonts} from '../defaults/fonts'
4
- import {RootTheme, RootTheme_v2} from '../system'
5
- import {v2_v0} from '../versioning'
6
- import {buildColorTheme} from './buildColorTheme'
7
- import {renderThemeColorSchemes} from './renderColorTheme'
1
+ import {type ThemeConfig} from '../config'
2
+ import {type RootTheme} from '../types'
3
+ import {buildTheme_v3, type Theme_v3} from '../v3'
4
+ import {v2_v0} from '../versioning/v2_v0'
5
+ import {v3_v2} from '../versioning/v3_v2'
8
6
 
9
7
  /** @internal */
10
- export function buildTheme(config?: ThemeConfig): RootTheme {
11
- const colorTheme = buildColorTheme(config)
8
+ export function buildTheme(_config?: ThemeConfig): RootTheme {
9
+ const v3: Theme_v3 = buildTheme_v3({v2: _config})
12
10
 
13
- const v2: RootTheme_v2 = {
14
- _version: 2,
15
- avatar: config?.avatar ?? defaultThemeConfig.avatar,
16
- button: config?.button ?? defaultThemeConfig.button,
17
- card: config?.card ?? defaultThemeConfig.card,
18
- // How colors are generated:
19
- // 1. Merge custom tokens with default tokens
20
- // 2. Generate tree of color keys (gray/500, black, white, etc.)
21
- // 3. Apply mixing and render to hex values
22
- // render(build(mergeWithDefaults()))
23
- color: renderThemeColorSchemes(colorTheme, config),
24
- container: config?.container ?? defaultThemeConfig.container,
25
- font: config?.font ?? defaultThemeFonts,
26
- input: config?.input ?? defaultThemeConfig.input,
27
- layer: config?.layer ?? defaultThemeConfig.layer,
28
- media: config?.media ?? defaultThemeConfig.media,
29
- radius: config?.radius ?? defaultThemeConfig.radius,
30
- shadow: config?.shadow ?? defaultThemeConfig.shadow,
31
- space: config?.space ?? defaultThemeConfig.space,
32
- style: config?.style ?? defaultThemeConfig.style,
33
- }
34
-
35
- return v2_v0(v2)
11
+ return v2_v0(v3_v2(v3), v3)
36
12
  }
@@ -1,4 +1,4 @@
1
- import {ThemeColorTokenValue, parseTokenValue} from '../../config'
1
+ import {parseTokenValue, ThemeColorTokenValue} from '../../config'
2
2
  import {compileColorTokenValue} from './compileColorToken'
3
3
  import {ColorTokenContext} from './types'
4
4
 
@@ -4,6 +4,10 @@ import {parseColor} from './parse'
4
4
  * @internal
5
5
  */
6
6
  export function rgba(color: unknown, a: number): string {
7
+ if (typeof color === 'string' && color.startsWith('var(')) {
8
+ return `color-mix(in srgb, transparent, ${color} ${a * 100}%)`
9
+ }
10
+
7
11
  const rgb = parseColor(color)
8
12
 
9
13
  return `rgba(${rgb.r},${rgb.g},${rgb.b},${a})`
@@ -1,5 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
-
3
1
  import {isRecord} from './lib/isRecord'
4
2
 
5
3
  export function merge<T extends Record<string, any>>(...records: (T | undefined)[]): T {
@@ -1,4 +1,4 @@
1
- import {RGB, multiply, parseColor, rgbToHex, screen} from './lib/color-fns'
1
+ import {multiply, parseColor, RGB, rgbToHex, screen} from './lib/color-fns'
2
2
  import {clamp, range} from './lib/utils'
3
3
 
4
4
  const RGB_RANGE: [number, number] = [0, 255]
@@ -1,28 +1,31 @@
1
+ // import {COLOR_HUES} from '@sanity/color'
1
2
  import {ThemeColorPalette, ThemeConfig} from '../config'
2
3
  import {defaultColorPalette} from '../defaults/colorPalette'
4
+ import {HUES} from '../palette'
3
5
  import {
6
+ THEME_COLOR_STATE_TONES,
4
7
  ThemeColorAvatar_v2,
5
- ThemeColorBadgeTone_v2,
6
8
  ThemeColorBadge_v2,
9
+ ThemeColorBadgeTone_v2,
7
10
  ThemeColorBlendModeKey,
11
+ ThemeColorButton_v2,
8
12
  ThemeColorButtonMode_v2,
9
13
  ThemeColorButtonTone_v2,
10
- ThemeColorButton_v2,
11
- ThemeColorCardToneKey,
12
14
  ThemeColorCard_v2,
15
+ ThemeColorCardToneKey,
16
+ ThemeColorInput_v2,
13
17
  ThemeColorInputMode_v2,
14
18
  ThemeColorInputState_v2,
15
- ThemeColorInput_v2,
16
19
  ThemeColorKBD,
17
20
  ThemeColorScheme_v2,
18
21
  ThemeColorSchemes_v2,
19
- ThemeColorSelectableTone_v2,
20
22
  ThemeColorSelectable_v2,
23
+ ThemeColorSelectableTone_v2,
21
24
  ThemeColorShadow,
22
25
  ThemeColorState_v2,
23
26
  ThemeColorSyntax,
24
- } from '../system'
25
- import {RenderColorValueOptions, renderColorValue} from './renderColorValue'
27
+ } from '../v2'
28
+ import {renderColorValue, RenderColorValueOptions} from './renderColorValue'
26
29
 
27
30
  export function renderThemeColorSchemes(
28
31
  value: ThemeColorSchemes_v2,
@@ -187,17 +190,13 @@ function renderThemeColorAvatar(
187
190
  colorPalette: ThemeColorPalette
188
191
  },
189
192
  ): ThemeColorAvatar_v2 {
190
- return {
191
- gray: renderThemeColorAvatarColor(value.gray, options),
192
- blue: renderThemeColorAvatarColor(value.blue, options),
193
- purple: renderThemeColorAvatarColor(value.purple, options),
194
- magenta: renderThemeColorAvatarColor(value.magenta, options),
195
- red: renderThemeColorAvatarColor(value.red, options),
196
- orange: renderThemeColorAvatarColor(value.orange, options),
197
- yellow: renderThemeColorAvatarColor(value.yellow, options),
198
- green: renderThemeColorAvatarColor(value.green, options),
199
- cyan: renderThemeColorAvatarColor(value.cyan, options),
193
+ const colorAvatar = {} as ThemeColorAvatar_v2
194
+
195
+ for (const hue of HUES) {
196
+ colorAvatar[hue] = renderThemeColorAvatarColor(value[hue], options)
200
197
  }
198
+
199
+ return colorAvatar
201
200
  }
202
201
 
203
202
  function renderThemeColorAvatarColor(
@@ -240,13 +239,13 @@ function renderThemeColorBadge(
240
239
  colorPalette: ThemeColorPalette
241
240
  },
242
241
  ): ThemeColorBadge_v2 {
243
- return {
244
- default: renderThemeColorBadgeColor(value.default, options),
245
- primary: renderThemeColorBadgeColor(value.primary, options),
246
- positive: renderThemeColorBadgeColor(value.positive, options),
247
- caution: renderThemeColorBadgeColor(value.caution, options),
248
- critical: renderThemeColorBadgeColor(value.critical, options),
242
+ const colorBadge = {} as ThemeColorBadge_v2
243
+
244
+ for (const tone of THEME_COLOR_STATE_TONES) {
245
+ colorBadge[tone] = renderThemeColorBadgeColor(value[tone], options)
249
246
  }
247
+
248
+ return colorBadge
250
249
  }
251
250
 
252
251
  function renderThemeColorBadgeColor(
@@ -259,8 +258,6 @@ function renderThemeColorBadgeColor(
259
258
  ): ThemeColorBadgeTone_v2 {
260
259
  const {baseBg, blendMode: rootBlendMode, colorPalette} = options
261
260
 
262
- // const blendMode = value._blend || 'multiply'
263
-
264
261
  const blendMode = rootBlendMode
265
262
 
266
263
  const rootOptions: RenderColorValueOptions = {
@@ -308,13 +305,13 @@ function renderThemeColorButtonTones(
308
305
  colorPalette: ThemeColorPalette
309
306
  },
310
307
  ): ThemeColorButtonMode_v2 {
311
- return {
312
- default: renderThemeColorButtonStates(value.default, options),
313
- primary: renderThemeColorButtonStates(value.primary, options),
314
- positive: renderThemeColorButtonStates(value.positive, options),
315
- caution: renderThemeColorButtonStates(value.caution, options),
316
- critical: renderThemeColorButtonStates(value.critical, options),
308
+ const colorButtonMode = {} as ThemeColorButtonMode_v2
309
+
310
+ for (const tone of THEME_COLOR_STATE_TONES) {
311
+ colorButtonMode[tone] = renderThemeColorButtonStates(value[tone], options)
317
312
  }
313
+
314
+ return colorButtonMode
318
315
  }
319
316
 
320
317
  function renderThemeColorButtonStates(
@@ -457,13 +454,13 @@ function renderThemeColorSelectable(
457
454
  colorPalette: ThemeColorPalette
458
455
  },
459
456
  ): ThemeColorSelectable_v2 {
460
- return {
461
- default: renderThemeColorSelectableStates(value.default, options),
462
- primary: renderThemeColorSelectableStates(value.primary, options),
463
- positive: renderThemeColorSelectableStates(value.positive, options),
464
- caution: renderThemeColorSelectableStates(value.caution, options),
465
- critical: renderThemeColorSelectableStates(value.critical, options),
457
+ const colorSelectable = {} as ThemeColorSelectable_v2
458
+
459
+ for (const tone of THEME_COLOR_STATE_TONES) {
460
+ colorSelectable[tone] = renderThemeColorSelectableStates(value[tone], options)
466
461
  }
462
+
463
+ return colorSelectable
467
464
  }
468
465
 
469
466
  function renderThemeColorSelectableStates(
@@ -1,7 +1,8 @@
1
1
  import {ColorTint as ColorPaletteValue} from '@sanity/color'
2
- import {ThemeColorPalette, parseTokenValue} from '../config'
3
- import {ThemeColorBlendModeKey} from '../system'
4
- import {hexToRgb, mix, rgbToHex, rgba} from './lib/color-fns'
2
+
3
+ import {parseTokenValue, ThemeColorPalette} from '../config'
4
+ import {ThemeColorBlendModeKey} from '../v2'
5
+ import {hexToRgb, mix, rgba, rgbToHex} from './lib/color-fns'
5
6
  import {mixThemeColor} from './mixThemeColor'
6
7
 
7
8
  export interface RenderColorValueOptions {