@sanity/ui 3.0.0-static.17 → 3.0.0-static.19

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 (542) hide show
  1. package/dist/_chunks-cjs/_visual-editing.cjs +138 -137
  2. package/dist/_chunks-cjs/_visual-editing.cjs.map +1 -1
  3. package/dist/_chunks-cjs/buildCommand.cjs +21 -22
  4. package/dist/_chunks-cjs/buildCommand.cjs.map +1 -1
  5. package/dist/_chunks-es/_visual-editing.js +139 -138
  6. package/dist/_chunks-es/_visual-editing.js.map +1 -1
  7. package/dist/_visual-editing.d.cts +12 -22
  8. package/dist/_visual-editing.d.ts +12 -22
  9. package/dist/cli.cjs +1 -1
  10. package/dist/css.cjs +1589 -2016
  11. package/dist/css.cjs.map +1 -1
  12. package/dist/css.d.cts +9427 -874
  13. package/dist/css.d.ts +9427 -874
  14. package/dist/css.js +1591 -2018
  15. package/dist/css.js.map +1 -1
  16. package/dist/index.cjs +28 -40
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.d.cts +26 -23
  19. package/dist/index.d.ts +26 -23
  20. package/dist/index.js +30 -42
  21. package/dist/index.js.map +1 -1
  22. package/dist/theme.cjs +2749 -2756
  23. package/dist/theme.cjs.map +1 -1
  24. package/dist/theme.d.cts +242 -161
  25. package/dist/theme.d.ts +242 -161
  26. package/dist/theme.js +2750 -2757
  27. package/dist/theme.js.map +1 -1
  28. package/dist/ui-system.css +15719 -16097
  29. package/dist/ui-system.min.css +1 -1
  30. package/dist/ui-theme.css +850 -4568
  31. package/dist/ui-theme.min.css +1 -1
  32. package/dist/ui.css +16569 -20772
  33. package/dist/ui.min.css +1 -1
  34. package/package.json +10 -15
  35. package/src/cli/buildCommand.ts +13 -30
  36. package/src/core/StyleTags.tsx +4 -12
  37. package/src/core/_compat/styles/_responsive.ts +1 -1
  38. package/src/core/_compat/theme/theme.test.tsx +4 -5
  39. package/src/core/_compat/theme/themeColorProvider.tsx +2 -2
  40. package/src/core/_compat/theme/themeContext.ts +2 -2
  41. package/src/core/_compat/theme/themeProvider.tsx +2 -2
  42. package/src/core/_compat/theme/types.ts +1 -1
  43. package/src/core/_compat/theme/useRootTheme.ts +1 -1
  44. package/src/core/_compat/theme/useTheme.ts +1 -1
  45. package/src/core/components/autocomplete/__workshop__/async.tsx +2 -2
  46. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +2 -2
  47. package/src/core/components/autocomplete/__workshop__/custom.tsx +11 -11
  48. package/src/core/components/autocomplete/__workshop__/example.tsx +6 -7
  49. package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +2 -2
  50. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +1 -1
  51. package/src/core/components/autocomplete/autocomplete.tsx +5 -5
  52. package/src/core/components/autocomplete/autocompleteOption.tsx +1 -1
  53. package/src/core/components/autocomplete/autocompleteReducer.ts +1 -1
  54. package/src/core/components/autocomplete/constants.ts +1 -1
  55. package/src/core/components/autocomplete/types.ts +1 -1
  56. package/src/core/components/breadcrumbs/__workshop__/example.tsx +1 -1
  57. package/src/core/components/breadcrumbs/breadcrumbs.tsx +7 -7
  58. package/src/core/components/dialog/__workshop__/activate.tsx +4 -4
  59. package/src/core/components/dialog/__workshop__/position.tsx +1 -1
  60. package/src/core/components/dialog/__workshop__/props.tsx +1 -1
  61. package/src/core/components/dialog/__workshop__/wrapped.tsx +2 -2
  62. package/src/core/components/dialog/dialog.tsx +15 -8
  63. package/src/core/components/dialog/dialogCard.tsx +18 -3
  64. package/src/core/components/dialog/dialogContext.ts +1 -1
  65. package/src/core/components/dialog/dialogProvider.tsx +3 -3
  66. package/src/core/components/dialog/useDialog.ts +1 -1
  67. package/src/core/components/hotkeys/hotkeys.tsx +4 -4
  68. package/src/core/components/menu/__workshop__/closableMenuButton.tsx +5 -4
  69. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +2 -2
  70. package/src/core/components/menu/__workshop__/customMenuItem.tsx +3 -3
  71. package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +1 -1
  72. package/src/core/components/menu/__workshop__/groups.tsx +2 -2
  73. package/src/core/components/menu/__workshop__/menuButton.tsx +1 -1
  74. package/src/core/components/menu/__workshop__/menuGroupRight.tsx +1 -1
  75. package/src/core/components/menu/__workshop__/nestedMenu.tsx +1 -1
  76. package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +13 -4
  77. package/src/core/components/menu/__workshop__/selectedItem.tsx +2 -2
  78. package/src/core/components/menu/__workshop__/withoutArrow.tsx +1 -1
  79. package/src/core/components/menu/menu.test.tsx +6 -7
  80. package/src/core/components/menu/menu.tsx +2 -2
  81. package/src/core/components/menu/menuButton.tsx +9 -9
  82. package/src/core/components/menu/menuContext.ts +1 -1
  83. package/src/core/components/menu/menuDivider.tsx +3 -3
  84. package/src/core/components/menu/menuGroup.tsx +9 -9
  85. package/src/core/components/menu/menuItem.tsx +9 -6
  86. package/src/core/components/menu/useMenu.ts +1 -1
  87. package/src/core/components/menu/useMenuController.ts +4 -4
  88. package/src/core/components/skeleton/__workshop__/delay.tsx +1 -1
  89. package/src/core/components/skeleton/__workshop__/skeleton.tsx +2 -2
  90. package/src/core/components/skeleton/codeSkeleton.tsx +5 -5
  91. package/src/core/components/skeleton/headingSkeleton.tsx +5 -5
  92. package/src/core/components/skeleton/labelSkeleton.tsx +5 -5
  93. package/src/core/components/skeleton/skeleton.tsx +4 -4
  94. package/src/core/components/skeleton/textSkeleton.tsx +5 -5
  95. package/src/core/components/tab/__workshop__/example.tsx +1 -1
  96. package/src/core/components/tab/tab.tsx +7 -7
  97. package/src/core/components/tab/tabList.tsx +14 -7
  98. package/src/core/components/tab/tabPanel.tsx +10 -7
  99. package/src/core/components/toast/__workshop__/hook.tsx +1 -1
  100. package/src/core/components/toast/toast.test.tsx +5 -5
  101. package/src/core/components/toast/toast.tsx +6 -7
  102. package/src/core/components/toast/toastContext.ts +1 -1
  103. package/src/core/components/toast/toastLayer.tsx +2 -2
  104. package/src/core/components/toast/toastProvider.tsx +1 -1
  105. package/src/core/components/toast/types.ts +1 -1
  106. package/src/core/components/toast/useToast.ts +1 -1
  107. package/src/core/components/tree/__workshop__/basic.perf.ts +1 -1
  108. package/src/core/components/tree/__workshop__/basic.tsx +1 -1
  109. package/src/core/components/tree/__workshop__/tabFromElement.tsx +1 -1
  110. package/src/core/components/tree/helpers.ts +1 -1
  111. package/src/core/components/tree/tree.tsx +6 -6
  112. package/src/core/components/tree/treeContext.ts +1 -1
  113. package/src/core/components/tree/treeGroup.tsx +2 -2
  114. package/src/core/components/tree/treeItem.tsx +15 -15
  115. package/src/core/components/tree/types.ts +2 -2
  116. package/src/core/components/tree/useTree.ts +1 -1
  117. package/src/core/hooks/useClickOutside.test.tsx +15 -16
  118. package/src/core/hooks/useClickOutsideEvent.test.tsx +4 -5
  119. package/src/core/hooks/useDelayed.test.ts +6 -7
  120. package/src/core/hooks/useDelayedState.ts +1 -1
  121. package/src/core/hooks/useElementRect/__workshop__/example.tsx +1 -1
  122. package/src/core/hooks/useElementSize.ts +1 -1
  123. package/src/core/hooks/useForwardedRef.ts +1 -1
  124. package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +1 -1
  125. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +3 -18
  126. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +10 -10
  127. package/src/core/hooks/usePrefersDark.hydration.test.tsx +4 -4
  128. package/src/core/hooks/usePrefersDark.test.tsx +1 -0
  129. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +4 -4
  130. package/src/core/hooks/usePrefersReducedMotion.test.tsx +1 -0
  131. package/src/core/middleware/origin.ts +1 -1
  132. package/src/core/primitives/_selectable/selectable.tsx +3 -3
  133. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +1 -1
  134. package/src/core/primitives/avatar/avatar.tsx +6 -6
  135. package/src/core/primitives/avatar/avatarCounter.tsx +3 -3
  136. package/src/core/primitives/avatar/avatarStack.tsx +7 -7
  137. package/src/core/primitives/avatar/types.ts +1 -3
  138. package/src/core/primitives/badge/badge.test.tsx +2 -3
  139. package/src/core/primitives/badge/badge.tsx +3 -3
  140. package/src/core/primitives/box/__workshop__/responsive.tsx +2 -1
  141. package/src/core/primitives/box/box.tsx +4 -2
  142. package/src/core/primitives/button/__workshop__/custom.tsx +2 -2
  143. package/src/core/primitives/button/__workshop__/customIcons.tsx +3 -3
  144. package/src/core/primitives/button/__workshop__/disabled.tsx +9 -9
  145. package/src/core/primitives/button/__workshop__/props.tsx +3 -4
  146. package/src/core/primitives/button/__workshop__/stacked.tsx +4 -5
  147. package/src/core/primitives/button/button.test.tsx +2 -3
  148. package/src/core/primitives/button/button.tsx +11 -6
  149. package/src/core/primitives/card/__workshop__/asButton.tsx +16 -7
  150. package/src/core/primitives/card/__workshop__/checkered.tsx +1 -1
  151. package/src/core/primitives/card/__workshop__/index.ts +1 -1
  152. package/src/core/primitives/card/__workshop__/interactive.tsx +1 -1
  153. package/src/core/primitives/card/__workshop__/listNavigation.tsx +3 -3
  154. package/src/core/primitives/card/__workshop__/props.tsx +3 -3
  155. package/src/core/primitives/card/__workshop__/selected.tsx +2 -2
  156. package/src/core/primitives/card/__workshop__/{allTones.tsx → tones.tsx} +3 -3
  157. package/src/core/primitives/card/card.tsx +4 -4
  158. package/src/core/primitives/card/cardContext.ts +2 -2
  159. package/src/core/primitives/card/cardProvider.tsx +3 -3
  160. package/src/core/primitives/card/types.ts +2 -2
  161. package/src/core/primitives/card/useCard.ts +2 -1
  162. package/src/core/primitives/checkbox/__workshop__/props.tsx +2 -0
  163. package/src/core/primitives/checkbox/__workshop__/tones.tsx +11 -20
  164. package/src/core/primitives/checkbox/checkbox.tsx +5 -7
  165. package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +1 -1
  166. package/src/core/primitives/code/code.tsx +3 -3
  167. package/src/core/primitives/container/container.tsx +4 -4
  168. package/src/core/primitives/flex/flex.tsx +2 -2
  169. package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +1 -1
  170. package/src/core/primitives/heading/heading.tsx +2 -2
  171. package/src/core/primitives/inline/__workshop__/plain.tsx +1 -1
  172. package/src/core/primitives/inline/inline.tsx +2 -2
  173. package/src/core/primitives/inline/types.ts +1 -0
  174. package/src/core/primitives/kbd/kbd.tsx +5 -5
  175. package/src/core/primitives/label/label.tsx +5 -5
  176. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +2 -2
  177. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +3 -4
  178. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +4 -4
  179. package/src/core/primitives/popover/__workshop__/TestStory.tsx +2 -3
  180. package/src/core/primitives/popover/constants.ts +1 -1
  181. package/src/core/primitives/popover/floating-ui/size.ts +2 -2
  182. package/src/core/primitives/popover/helpers.ts +1 -1
  183. package/src/core/primitives/popover/popover.tsx +1 -1
  184. package/src/core/primitives/popover/popoverLayer.tsx +4 -4
  185. package/src/core/primitives/popover/types.ts +3 -2
  186. package/src/core/primitives/radio/__workshop__/example.tsx +1 -1
  187. package/src/core/primitives/radio/radio.tsx +5 -5
  188. package/src/core/primitives/select/__workshop__/plain.tsx +15 -3
  189. package/src/core/primitives/select/__workshop__/readOnly.tsx +1 -1
  190. package/src/core/primitives/select/select.tsx +4 -10
  191. package/src/core/primitives/spinner/__workshop__/Props.tsx +1 -2
  192. package/src/core/primitives/spinner/animatedSpinnerIcon.tsx +3 -3
  193. package/src/core/primitives/spinner/spinner.tsx +3 -3
  194. package/src/core/primitives/stack/__workshop__/plain.tsx +1 -1
  195. package/src/core/primitives/stack/stack.tsx +5 -5
  196. package/src/core/primitives/switch/switch.tsx +3 -3
  197. package/src/core/primitives/text/__workshop__/colored.tsx +5 -5
  198. package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +1 -1
  199. package/src/core/primitives/text/text.tsx +6 -6
  200. package/src/core/primitives/textArea/__workshop__/plain.tsx +35 -23
  201. package/src/core/primitives/textArea/textArea.tsx +14 -5
  202. package/src/core/primitives/textInput/__workshop__/customValidity.tsx +1 -1
  203. package/src/core/primitives/textInput/__workshop__/plain.tsx +9 -15
  204. package/src/core/primitives/textInput/__workshop__/states.tsx +4 -4
  205. package/src/core/primitives/textInput/__workshop__/tones.tsx +2 -2
  206. package/src/core/primitives/textInput/textInput.tsx +13 -11
  207. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +2 -2
  208. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +1 -1
  209. package/src/core/primitives/tooltip/__workshop__/props.tsx +5 -4
  210. package/src/core/primitives/tooltip/constants.ts +1 -1
  211. package/src/core/primitives/tooltip/tooltip.test.tsx +61 -60
  212. package/src/core/primitives/tooltip/tooltip.tsx +11 -6
  213. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +1 -1
  214. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +3 -3
  215. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +1 -1
  216. package/src/core/primitives/tooltip/tooltipLayer.tsx +4 -4
  217. package/src/core/primitives/types.ts +15 -24
  218. package/src/core/types/badge.ts +1 -1
  219. package/src/core/types/button.ts +1 -1
  220. package/src/core/types/card.ts +1 -1
  221. package/src/core/types/selectable.ts +1 -1
  222. package/src/core/utils/arrow/arrow.tsx +5 -14
  223. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +5 -5
  224. package/src/core/utils/boundaryElement/boundaryElementContext.ts +1 -1
  225. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +2 -2
  226. package/src/core/utils/boundaryElement/useBoundaryElement.ts +1 -1
  227. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +15 -8
  228. package/src/core/utils/elementQuery/elementQuery.tsx +1 -1
  229. package/src/core/utils/errorBoundary.tsx +4 -4
  230. package/src/core/utils/layer/__workshop__/multipleRoots.tsx +5 -5
  231. package/src/core/utils/layer/__workshop__/nested.tsx +3 -3
  232. package/src/core/utils/layer/__workshop__/responsiveZOffset.tsx +9 -5
  233. package/src/core/utils/layer/getLayerContext.test.ts +3 -1
  234. package/src/core/utils/layer/getLayerContext.ts +1 -1
  235. package/src/core/utils/layer/layer.test.tsx +5 -5
  236. package/src/core/utils/layer/layer.tsx +2 -2
  237. package/src/core/utils/layer/layerCard.tsx +3 -3
  238. package/src/core/utils/layer/layerContext.ts +1 -1
  239. package/src/core/utils/layer/layerProvider.tsx +10 -2
  240. package/src/core/utils/layer/useLayer.ts +1 -1
  241. package/src/core/utils/portal/__workshop__/named.tsx +3 -3
  242. package/src/core/utils/portal/portal.test.tsx +5 -5
  243. package/src/core/utils/portal/portal.tsx +3 -2
  244. package/src/core/utils/portal/portalContext.ts +1 -1
  245. package/src/core/utils/portal/portalProvider.tsx +2 -2
  246. package/src/core/utils/portal/usePortal.ts +1 -1
  247. package/src/core/utils/srOnly/srOnly.tsx +3 -3
  248. package/src/core/utils/virtualList/__workshop__/infiniteList.tsx +1 -1
  249. package/src/core/utils/virtualList/virtualList.tsx +3 -3
  250. package/src/css/_assign.ts +3 -0
  251. package/src/css/_compileStyle.ts +12 -4
  252. package/src/css/_compileTheme.ts +10 -13
  253. package/src/css/_composeClassNames.ts +12 -0
  254. package/src/css/_fromEntries.ts +3 -0
  255. package/src/css/_getClassNames.ts +9 -0
  256. package/src/css/_hash.ts +9 -0
  257. package/src/css/_mergeStyles.ts +1 -1
  258. package/src/css/_resp.ts +6 -12
  259. package/src/css/_scopeClassName.ts +9 -0
  260. package/src/css/_scopeClassNames.ts +12 -0
  261. package/src/css/_system.style.ts +2 -0
  262. package/src/css/aspects/border/border.style.ts +2 -2
  263. package/src/css/aspects/border/border.ts +3 -3
  264. package/src/css/aspects/border/types.ts +1 -1
  265. package/src/css/aspects/boxSizing/boxSizing.style.ts +10 -0
  266. package/src/css/aspects/boxSizing/boxSizing.ts +8 -0
  267. package/src/css/aspects/boxSizing/index.ts +2 -0
  268. package/src/css/aspects/boxSizing/types.ts +9 -0
  269. package/src/css/aspects/display/display.style.ts +8 -8
  270. package/src/css/aspects/display/display.ts +3 -3
  271. package/src/css/aspects/display/types.ts +1 -1
  272. package/src/css/aspects/flex/flex.ts +3 -3
  273. package/src/css/aspects/flex/types.ts +1 -1
  274. package/src/css/aspects/flexItem/flex.style.ts +1 -1
  275. package/src/css/aspects/flexItem/flexItem.ts +3 -3
  276. package/src/css/aspects/flexItem/types.ts +1 -1
  277. package/src/css/aspects/font/font.style.ts +33 -22
  278. package/src/css/aspects/font/font.ts +3 -3
  279. package/src/css/aspects/font/types.ts +1 -1
  280. package/src/css/aspects/gap/gap.style.ts +2 -2
  281. package/src/css/aspects/gap/gap.ts +3 -3
  282. package/src/css/aspects/gap/types.ts +2 -2
  283. package/src/css/aspects/grid/grid.ts +3 -3
  284. package/src/css/aspects/grid/types.ts +1 -1
  285. package/src/css/aspects/gridItem/gridItem.ts +3 -3
  286. package/src/css/aspects/gridItem/types.ts +1 -1
  287. package/src/css/aspects/height/height.ts +3 -3
  288. package/src/css/aspects/index.ts +1 -0
  289. package/src/css/aspects/inset/inset.ts +3 -3
  290. package/src/css/aspects/inset/types.ts +1 -1
  291. package/src/css/aspects/margin/margin.style.ts +10 -10
  292. package/src/css/aspects/margin/margin.ts +3 -3
  293. package/src/css/aspects/margin/types.ts +1 -1
  294. package/src/css/aspects/maxWidth/maxWidth.style.ts +1 -1
  295. package/src/css/aspects/maxWidth/maxWidth.ts +4 -3
  296. package/src/css/aspects/maxWidth/types.ts +2 -2
  297. package/src/css/aspects/minWidth/minWidth.ts +4 -3
  298. package/src/css/aspects/minWidth/types.ts +1 -1
  299. package/src/css/aspects/overflow/overflow.ts +3 -3
  300. package/src/css/aspects/overflow/types.ts +1 -1
  301. package/src/css/aspects/padding/padding.style.ts +2 -5
  302. package/src/css/aspects/padding/padding.ts +3 -3
  303. package/src/css/aspects/padding/types.ts +2 -2
  304. package/src/css/aspects/pointerEvents/pointerEvents.ts +3 -3
  305. package/src/css/aspects/position/position.ts +3 -3
  306. package/src/css/aspects/position/types.ts +1 -1
  307. package/src/css/aspects/radius/radius.style.ts +1 -1
  308. package/src/css/aspects/radius/radius.ts +3 -3
  309. package/src/css/aspects/radius/types.ts +2 -2
  310. package/src/css/aspects/shadow/shadow.style.ts +7 -7
  311. package/src/css/aspects/shadow/shadow.ts +3 -3
  312. package/src/css/aspects/shadow/types.ts +2 -2
  313. package/src/css/aspects/textAlign/textAlign.style.ts +1 -1
  314. package/src/css/aspects/textAlign/textAlign.ts +3 -3
  315. package/src/css/aspects/textOverflow/textOverflow.ts +3 -3
  316. package/src/css/aspects/width/types.ts +2 -2
  317. package/src/css/aspects/width/width.style.ts +1 -1
  318. package/src/css/aspects/width/width.ts +4 -3
  319. package/src/css/components/breadcrumbs/breadcrumbs.style.ts +1 -1
  320. package/src/css/components/breadcrumbs/breadcrumbs.ts +2 -2
  321. package/src/css/components/dialog/dialog.style.ts +14 -16
  322. package/src/css/components/dialog/dialog.ts +9 -8
  323. package/src/css/components/menu/menu.style.ts +2 -2
  324. package/src/css/components/menu/menu.ts +3 -3
  325. package/src/css/components/skeleton/skeleton.style.ts +24 -17
  326. package/src/css/components/skeleton/skeleton.ts +8 -7
  327. package/src/css/components/skeleton/types.ts +4 -6
  328. package/src/css/components/toast/toast.style.ts +1 -1
  329. package/src/css/components/toast/toast.ts +6 -6
  330. package/src/css/components/tree/tree.style.ts +7 -23
  331. package/src/css/components/tree/tree.ts +2 -2
  332. package/src/css/constants.ts +1 -3
  333. package/src/css/index.ts +3 -5
  334. package/src/css/prefix/constants.ts +6 -0
  335. package/src/css/prefix/types.ts +1 -0
  336. package/src/css/primitives/_arrow/_arrow.style.ts +11 -13
  337. package/src/css/primitives/_arrow/_arrow.ts +5 -5
  338. package/src/css/primitives/_input/_input.style.ts +171 -75
  339. package/src/css/primitives/_input/input.ts +13 -10
  340. package/src/css/primitives/_input/types.ts +3 -3
  341. package/src/css/primitives/_selectable/_selectable.style.ts +5 -6
  342. package/src/css/primitives/_selectable/selectable.ts +4 -3
  343. package/src/css/primitives/_selectable/types.ts +2 -2
  344. package/src/css/primitives/avatar/avatar.style.ts +38 -39
  345. package/src/css/primitives/avatar/avatar.ts +8 -8
  346. package/src/css/primitives/avatar/types.ts +3 -3
  347. package/src/css/primitives/badge/badge.style.ts +2 -3
  348. package/src/css/primitives/badge/badge.ts +7 -3
  349. package/src/css/primitives/badge/types.ts +2 -2
  350. package/src/css/primitives/box/box.style.ts +5 -15
  351. package/src/css/primitives/box/box.ts +7 -9
  352. package/src/css/primitives/box/types.ts +3 -6
  353. package/src/css/primitives/button/button.style.ts +189 -162
  354. package/src/css/primitives/button/button.ts +11 -4
  355. package/src/css/primitives/button/types.ts +1 -1
  356. package/src/css/primitives/card/card.style.ts +102 -68
  357. package/src/css/primitives/card/card.ts +5 -7
  358. package/src/css/primitives/card/types.ts +2 -2
  359. package/src/css/primitives/checkbox/checkbox.style.ts +125 -101
  360. package/src/css/primitives/checkbox/checkbox.ts +3 -3
  361. package/src/css/primitives/code/code.style.ts +24 -26
  362. package/src/css/primitives/code/code.ts +7 -3
  363. package/src/css/primitives/code/types.ts +2 -2
  364. package/src/css/primitives/container/container.style.ts +1 -1
  365. package/src/css/primitives/container/container.ts +4 -3
  366. package/src/css/primitives/container/types.ts +2 -2
  367. package/src/css/primitives/heading/heading.style.ts +31 -23
  368. package/src/css/primitives/heading/heading.ts +10 -8
  369. package/src/css/primitives/heading/types.ts +3 -2
  370. package/src/css/primitives/kbd/kbd.style.ts +7 -7
  371. package/src/css/primitives/kbd/kbd.ts +4 -3
  372. package/src/css/primitives/kbd/types.ts +1 -1
  373. package/src/css/primitives/label/label.style.ts +27 -24
  374. package/src/css/primitives/label/label.ts +5 -8
  375. package/src/css/primitives/label/types.ts +4 -3
  376. package/src/css/primitives/popover/popover.style.ts +6 -2
  377. package/src/css/primitives/popover/popover.ts +3 -3
  378. package/src/css/primitives/radio/radio.style.ts +37 -76
  379. package/src/css/primitives/radio/radio.ts +2 -2
  380. package/src/css/primitives/select/select.style.ts +3 -3
  381. package/src/css/primitives/select/select.ts +5 -5
  382. package/src/css/primitives/select/types.ts +1 -1
  383. package/src/css/primitives/spinner/spinner.style.ts +1 -1
  384. package/src/css/primitives/spinner/spinner.ts +3 -3
  385. package/src/css/primitives/stack/stack.style.ts +6 -2
  386. package/src/css/primitives/stack/stack.ts +2 -2
  387. package/src/css/primitives/switch/switch.style.ts +47 -39
  388. package/src/css/primitives/switch/switch.ts +6 -6
  389. package/src/css/primitives/text/text.style.ts +28 -23
  390. package/src/css/primitives/text/text.ts +5 -8
  391. package/src/css/primitives/text/types.ts +2 -2
  392. package/src/css/primitives/textArea/textArea.style.ts +6 -2
  393. package/src/css/primitives/textArea/textArea.ts +4 -4
  394. package/src/css/primitives/textArea/types.ts +1 -1
  395. package/src/css/primitives/textInput/textInput.style.ts +23 -17
  396. package/src/css/primitives/textInput/textInput.ts +4 -4
  397. package/src/css/primitives/textInput/types.ts +2 -8
  398. package/src/css/primitives/token/token.style.ts +4 -4
  399. package/src/css/primitives/tooltip/tooltip.style.ts +5 -4
  400. package/src/css/primitives/tooltip/tooltip.ts +3 -3
  401. package/src/css/renderColor.ts +31 -0
  402. package/src/css/theme/index.ts +14 -0
  403. package/src/css/theme/lib/contract/buildVarContract.ts +76 -0
  404. package/src/css/theme/lib/contract/index.ts +2 -0
  405. package/src/css/theme/lib/contract/types.ts +15 -0
  406. package/src/css/theme/resolveTheme.ts +852 -0
  407. package/src/css/types.ts +26 -910
  408. package/src/css/utils/srOnly/srOnly.style.ts +1 -1
  409. package/src/css/utils/srOnly/srOnly.ts +3 -3
  410. package/src/theme/getScopedTheme.ts +4 -4
  411. package/src/theme/index.ts +0 -5
  412. package/src/theme/types.ts +4 -4
  413. package/src/theme/v0/color/_generic.ts +1 -1
  414. package/src/theme/v0/color/button.ts +1 -1
  415. package/src/theme/v0/color/card.ts +1 -1
  416. package/src/theme/v0/color/color.ts +11 -11
  417. package/src/theme/v0/color/input.ts +1 -1
  418. package/src/theme/v0/color/muted.ts +1 -1
  419. package/src/theme/v0/color/selectable.ts +1 -1
  420. package/src/theme/v0/color/solid.ts +1 -1
  421. package/src/theme/v0/color/spot.ts +1 -1
  422. package/src/theme/v0/styles.ts +1 -1
  423. package/src/theme/v0/theme.ts +7 -7
  424. package/src/theme/v2/avatar.ts +1 -1
  425. package/src/theme/{build → v2/build}/_deprecated/color/_selectable/createSelectableTones.ts +3 -3
  426. package/src/theme/{build → v2/build}/_deprecated/color/_solid/createSolidTones.ts +2 -2
  427. package/src/theme/{build → v2/build}/_deprecated/color/button/createButtonModes.ts +7 -2
  428. package/src/theme/{build → v2/build}/_deprecated/color/button/createButtonTones.ts +4 -4
  429. package/src/theme/{build → v2/build}/_deprecated/color/card/createCardStates.ts +3 -3
  430. package/src/theme/{build → v2/build}/_deprecated/color/color.test.ts +1 -1
  431. package/src/theme/{build → v2/build}/_deprecated/color/defaults.ts +1 -1
  432. package/src/theme/{build → v2/build}/_deprecated/color/factory.ts +3 -3
  433. package/src/theme/{build → v2/build}/_deprecated/color/input/createInputModes.ts +7 -2
  434. package/src/theme/{build → v2/build}/_deprecated/color/muted/createMuted.ts +2 -2
  435. package/src/theme/{build → v2/build}/_deprecated/color/spot/createSpot.ts +2 -2
  436. package/src/theme/{build → v2/build}/buildColorTheme.test.ts +3 -1
  437. package/src/theme/{build → v2/build}/buildColorTheme.ts +24 -24
  438. package/src/theme/{build → v2/build}/buildTheme.test.ts +10 -8
  439. package/src/theme/{build → v2/build}/buildTheme.ts +4 -4
  440. package/src/theme/{build → v2/build}/colorToken/colorToken.ts +2 -2
  441. package/src/theme/{build → v2/build}/colorToken/compileColorToken.ts +1 -1
  442. package/src/theme/{build → v2/build}/colorToken/types.ts +2 -2
  443. package/src/theme/{build → v2/build}/lib/color-fns/blend/mix.ts +1 -1
  444. package/src/theme/{build → v2/build}/lib/color-fns/blend/multiply.ts +1 -1
  445. package/src/theme/{build → v2/build}/lib/color-fns/blend/screen.ts +1 -1
  446. package/src/theme/{build → v2/build}/lib/color-fns/color-fns.test.ts +1 -1
  447. package/src/theme/{build → v2/build}/lib/color-fns/contrastRatio.ts +5 -2
  448. package/src/theme/{build → v2/build}/lib/color-fns/convert.ts +1 -1
  449. package/src/theme/{build → v2/build}/lib/color-fns/parse.ts +1 -1
  450. package/src/theme/{build → v2/build}/mixThemeColor.test.ts +2 -0
  451. package/src/theme/{build → v2/build}/mixThemeColor.ts +1 -1
  452. package/src/theme/{build → v2/build}/renderColorTheme.ts +27 -27
  453. package/src/theme/{build → v2/build}/renderColorValue.ts +3 -3
  454. package/src/theme/{build → v2/build}/resolveColorTokens.ts +13 -13
  455. package/src/theme/v2/color/_helpers.ts +2 -2
  456. package/src/theme/v2/color/_system.ts +1 -1
  457. package/src/theme/v2/color/avatar.ts +1 -1
  458. package/src/theme/v2/color/badge.ts +1 -1
  459. package/src/theme/v2/color/button.ts +2 -2
  460. package/src/theme/v2/color/color.ts +7 -7
  461. package/src/theme/v2/color/input.ts +5 -1
  462. package/src/theme/v2/color/selectable.ts +2 -2
  463. package/src/theme/v2/color/state.ts +4 -4
  464. package/src/theme/{config → v2/config}/helpers.ts +6 -13
  465. package/src/theme/{config → v2/config}/system.ts +11 -12
  466. package/src/theme/{config → v2/config}/tokens/color/types.ts +14 -10
  467. package/src/theme/{config → v2/config}/tokens/index.ts +0 -1
  468. package/src/theme/{config → v2/config}/tokens/parseTokenValue.test.ts +2 -0
  469. package/src/theme/{config → v2/config}/tokens/parseTokenValue.ts +2 -2
  470. package/src/theme/{config → v2/config}/tokens/types.ts +3 -3
  471. package/src/theme/{config → v2/config}/types.ts +8 -6
  472. package/src/theme/{defaults → v2/defaults}/colorPalette.ts +1 -1
  473. package/src/theme/{defaults → v2/defaults}/colorTokens.ts +1 -1
  474. package/src/theme/{defaults → v2/defaults}/config.ts +1 -1
  475. package/src/theme/{defaults → v2/defaults}/fonts.ts +1 -1
  476. package/src/theme/v2/index.ts +2 -0
  477. package/src/theme/v2/input.ts +1 -1
  478. package/src/theme/v2/theme.ts +8 -8
  479. package/src/theme/{_constants.ts → v3/_constants.ts} +6 -3
  480. package/src/theme/v3/_parseColorToken.ts +185 -0
  481. package/src/theme/v3/buildTheme_v3.ts +11 -7
  482. package/src/theme/v3/color/_constants.ts +15 -0
  483. package/src/theme/v3/color/avatar.ts +14 -0
  484. package/src/theme/v3/color/card.ts +53 -53
  485. package/src/theme/v3/color/color.ts +66 -68
  486. package/src/theme/v3/color/element.ts +8 -8
  487. package/src/theme/v3/color/index.ts +2 -2
  488. package/src/theme/v3/color/token.ts +18 -4
  489. package/src/theme/v3/color/tokens.ts +2 -2
  490. package/src/theme/v3/defaultTokens.ts +73 -85
  491. package/src/theme/v3/index.ts +3 -0
  492. package/src/theme/v3/palette/index.ts +2 -0
  493. package/src/theme/v3/resolveTokens.ts +65 -65
  494. package/src/theme/v3/tokens.ts +2 -2
  495. package/src/theme/v3/types.ts +61 -7
  496. package/src/theme/versioning/getTheme_v2.ts +3 -3
  497. package/src/theme/versioning/is_v0.ts +2 -2
  498. package/src/theme/versioning/is_v2.ts +2 -2
  499. package/src/theme/versioning/themeColor_v0_v2.ts +2 -2
  500. package/src/theme/versioning/themeColor_v2_v2_9.ts +1 -1
  501. package/src/theme/versioning/themeColor_v3_v2.ts +229 -52
  502. package/src/theme/versioning/v0_v2.ts +3 -3
  503. package/src/theme/versioning/v2_v0.ts +4 -4
  504. package/src/theme/versioning/v3_v2.ts +38 -38
  505. package/dist/ui-palette.css +0 -105
  506. package/dist/ui-palette.min.css +0 -1
  507. package/src/css/_comp.test.ts +0 -7
  508. package/src/css/_comp.ts +0 -11
  509. package/src/css/_compilePalette.ts +0 -32
  510. package/src/css/_compileTheme_v3.ts +0 -440
  511. package/src/css/aspects/flex/flex.style.ts +0 -30
  512. package/src/css/composeClassNames.ts +0 -19
  513. package/src/css/primitives/_selectable/__style.ts +0 -117
  514. package/src/css/primitives/checkbox/__styles.ts +0 -129
  515. package/src/css/scopeClassName.ts +0 -7
  516. package/src/css/varNames.ts +0 -607
  517. package/src/css/vars.ts +0 -520
  518. package/src/theme/_types.ts +0 -41
  519. package/src/theme/build/theme.test.ts +0 -27
  520. package/src/theme/config/tokens/parseTokenKey.test.ts +0 -64
  521. package/src/theme/config/tokens/parseTokenKey.ts +0 -67
  522. package/src/theme/v3/buildTheme_v3.test.ts +0 -40
  523. package/src/theme/v3/color/buildColor_v3.ts +0 -226
  524. package/src/theme/v3/color/parseColor.test.ts +0 -79
  525. package/src/theme/v3/color/parseColor.ts +0 -167
  526. package/src/theme/v3/color/renderColor.test.ts +0 -20
  527. package/src/theme/v3/color/renderColor.ts +0 -43
  528. /package/src/{theme/palette → css/prefix}/index.ts +0 -0
  529. /package/src/theme/{build → v2/build}/_deprecated/color/index.ts +0 -0
  530. /package/src/theme/{build → v2/build}/colorToken/index.ts +0 -0
  531. /package/src/theme/{build → v2/build}/index.ts +0 -0
  532. /package/src/theme/{build → v2/build}/lib/color-fns/blend/index.ts +0 -0
  533. /package/src/theme/{build → v2/build}/lib/color-fns/index.ts +0 -0
  534. /package/src/theme/{build → v2/build}/lib/color-fns/rgba.ts +0 -0
  535. /package/src/theme/{build → v2/build}/lib/color-fns/types.ts +0 -0
  536. /package/src/theme/{build → v2/build}/lib/isRecord.ts +0 -0
  537. /package/src/theme/{build → v2/build}/lib/utils.ts +0 -0
  538. /package/src/theme/{build → v2/build}/merge.ts +0 -0
  539. /package/src/theme/{config → v2/config}/index.ts +0 -0
  540. /package/src/theme/{config → v2/config}/tokens/color/index.ts +0 -0
  541. /package/src/theme/{palette → v3/palette}/constants.ts +0 -0
  542. /package/src/theme/{palette → v3/palette}/types.ts +0 -0
@@ -1,607 +0,0 @@
1
- import {COLOR_HUES, COLOR_TINTS, ColorHueKey, ColorTintKey} from '@sanity/color'
2
- import {
3
- AVATAR_SIZE,
4
- AvatarSize,
5
- FONT_CODE_SIZE,
6
- FONT_HEADING_SIZE,
7
- FONT_LABEL_SIZE,
8
- FONT_TEXT_SIZE,
9
- type FontCodeSize,
10
- type FontHeadingSize,
11
- type FontLabelSize,
12
- type FontTextSize,
13
- RADIUS,
14
- Radius,
15
- SHADOW,
16
- Shadow,
17
- SPACE,
18
- type Space,
19
- THEME_COLOR_CARD_TONES,
20
- THEME_COLOR_STATE_TONES,
21
- type ThemeColorCardToneKey as CardTone,
22
- ThemeColorCardToneKey,
23
- type ThemeColorSchemeKey as Scheme,
24
- } from '@sanity/ui/theme'
25
-
26
- import {
27
- type ColorCardVarNames,
28
- type ColorVariantVarNames,
29
- type FontSizeVarNames,
30
- type VarName,
31
- type VarNames,
32
- } from './types'
33
-
34
- /** @public */
35
- export const varNames: VarNames = {
36
- avatar: {
37
- distance: `--avatar-distance`,
38
- focusRing: {
39
- offset: `--avatar-focus-ring-offset`,
40
- width: `--avatar-focus-ring-width`,
41
- },
42
- size: `--avatar-size`,
43
- sizes: AVATAR_SIZE.reduce(
44
- (acc, size) => {
45
- return {
46
- ...acc,
47
- [size]: {
48
- distance: `--avatar-${size}-distance`,
49
- size: `--avatar-${size}-size`,
50
- } satisfies {distance: VarName; size: VarName},
51
- }
52
- },
53
- {} as Record<AvatarSize, {distance: VarName; size: VarName}>,
54
- ),
55
- },
56
- button: {
57
- border: {
58
- width: `--button-border-width`,
59
- },
60
- focusRing: {
61
- offset: `--button-focus-ring-offset`,
62
- width: `--button-focus-ring-width`,
63
- },
64
- },
65
- card: {
66
- shadow: {
67
- outline: `--card-shadow-outline`,
68
- },
69
- },
70
- color: {
71
- // card scope
72
- avatar: {
73
- bg: `--color-avatar-bg`,
74
- fg: `--color-avatar-fg`,
75
-
76
- gray: {
77
- bg: `--color-avatar-gray-bg`,
78
- fg: `--color-avatar-gray-fg`,
79
- },
80
- blue: {
81
- bg: `--color-avatar-blue-bg`,
82
- fg: `--color-avatar-blue-fg`,
83
- },
84
- purple: {
85
- bg: `--color-avatar-purple-bg`,
86
- fg: `--color-avatar-purple-fg`,
87
- },
88
- magenta: {
89
- bg: `--color-avatar-magenta-bg`,
90
- fg: `--color-avatar-magenta-fg`,
91
- },
92
- red: {
93
- bg: `--color-avatar-red-bg`,
94
- fg: `--color-avatar-red-fg`,
95
- },
96
- orange: {
97
- bg: `--color-avatar-orange-bg`,
98
- fg: `--color-avatar-gray-fg`,
99
- },
100
- yellow: {
101
- bg: `--color-avatar-yellow-bg`,
102
- fg: `--color-avatar-yellow-fg`,
103
- },
104
- green: {
105
- bg: `--color-avatar-green-bg`,
106
- fg: `--color-avatar-green-fg`,
107
- },
108
- cyan: {
109
- bg: `--color-avatar-cyan-bg`,
110
- fg: `--color-avatar-yellow-fg`,
111
- },
112
- },
113
- backdrop: `--color-backdrop`,
114
- bg: `--color-bg`,
115
- border: `--color-border`,
116
- code: {
117
- bg: `--color-code-bg`,
118
- fg: `--color-code-fg`,
119
-
120
- token: {
121
- atrule: `--color-code-token-atrule`,
122
- attrName: `--color-code-token-attr-name`,
123
- attrValue: `--color-code-token-attr-value`,
124
- attribute: `--color-code-token-attribute`,
125
- boolean: `--color-code-token-boolean`,
126
- builtin: `--color-code-token-builtin`,
127
- cdata: `--color-code-token-cdata`,
128
- char: `--color-code-token-char`,
129
- class: `--color-code-token-class`,
130
- className: `--color-code-token-class-name`,
131
- comment: `--color-code-token-comment`,
132
- constant: `--color-code-token-constant`,
133
- deleted: `--color-code-token-deleted`,
134
- doctype: `--color-code-token-doctype`,
135
- entity: `--color-code-token-entity`,
136
- function: `--color-code-token-function`,
137
- hexcode: `--color-code-token-hexcode`,
138
- id: `--color-code-token-id`,
139
- important: `--color-code-token-important`,
140
- inserted: `--color-code-token-inserted`,
141
- keyword: `--color-code-token-keyword`,
142
- number: `--color-code-token-number`,
143
- operator: `--color-code-token-operator`,
144
- prolog: `--color-code-token-prolog`,
145
- property: `--color-code-token-property`,
146
- pseudoClass: `--color-code-token-pseudo-class`,
147
- pseudoElement: `--color-code-token-pseudo-element`,
148
- punctuation: `--color-code-token-punctuation`,
149
- regex: `--color-code-token-regex`,
150
- selector: `--color-code-token-selector`,
151
- string: `--color-code-token-string`,
152
- symbol: `--color-code-token-symbol`,
153
- tag: `--color-code-token-tag`,
154
- unit: `--color-code-token-unit`,
155
- url: `--color-code-token-url`,
156
- variable: `--color-code-token-variable`,
157
- },
158
- },
159
- fg: `--color-fg`,
160
- focusRing: `--color-focus-ring`,
161
- input: {
162
- bg: `--color-input-bg`,
163
- border: `--color-input-border`,
164
- fg: `--color-input-fg`,
165
- placeholder: `--color-input-placeholder`,
166
- },
167
- link: {
168
- fg: `--color-link-fg`,
169
- },
170
- muted: {
171
- bg: `--color-muted-bg`,
172
- fg: `--color-muted-fg`,
173
- },
174
- shadow: {
175
- outline: `--color-shadow-outline`,
176
- umbra: `--color-shadow-umbra`,
177
- penumbra: `--color-shadow-penumbra`,
178
- ambient: `--color-shadow-ambient`,
179
- },
180
- skeleton: {
181
- from: `--color-skeleton-from`,
182
- to: `--color-skeleton-to`,
183
- },
184
-
185
- solid: buildColorVariantVarNames({variant: 'solid'}),
186
- tinted: buildColorVariantVarNames({variant: 'tinted'}),
187
-
188
- // tone scopes
189
- ...THEME_COLOR_CARD_TONES.reduce(
190
- (acc, tone) => {
191
- acc[tone] = buildColorCardVarNames({tone})
192
-
193
- return acc
194
- },
195
- {} as Record<ThemeColorCardToneKey, ColorCardVarNames>,
196
- ),
197
-
198
- // scheme scopes
199
- dark: THEME_COLOR_CARD_TONES.reduce(
200
- (acc, tone) => {
201
- acc[tone] = buildColorCardVarNames({scheme: 'dark', tone})
202
-
203
- return acc
204
- },
205
- {} as Record<ThemeColorCardToneKey, ColorCardVarNames>,
206
- ),
207
- light: THEME_COLOR_CARD_TONES.reduce(
208
- (acc, tone) => {
209
- acc[tone] = buildColorCardVarNames({scheme: 'light', tone})
210
-
211
- return acc
212
- },
213
- {} as Record<ThemeColorCardToneKey, ColorCardVarNames>,
214
- ),
215
- },
216
- container: {
217
- 0: `--container-0`,
218
- 1: `--container-1`,
219
- 2: `--container-2`,
220
- 3: `--container-3`,
221
- 4: `--container-4`,
222
- 5: `--container-5`,
223
- },
224
- font: {
225
- code: {
226
- family: `--font-code-family`,
227
- featureSettings: `--font-code-feature-settings`,
228
- sizes: FONT_CODE_SIZE.reduce(
229
- (acc, size) => {
230
- return {
231
- ...acc,
232
- [size]: {
233
- fontSize: `--font-code-${size}-size`,
234
- ascenderHeight: `--font-code-${size}-ascender-height`,
235
- descenderHeight: `--font-code-${size}-descender-height`,
236
- lineHeight: `--font-code-${size}-line-height`,
237
- letterSpacing: `--font-code-${size}-letter-spacing`,
238
- iconSize: `--font-code-${size}-icon-size`,
239
- },
240
- }
241
- },
242
- {} as Record<FontCodeSize, FontSizeVarNames>,
243
- ),
244
- weights: {
245
- regular: `--font-code-weight-regular`,
246
- medium: `--font-code-weight-medium`,
247
- semibold: `--font-code-weight-semibold`,
248
- bold: `--font-code-weight-bold`,
249
- },
250
- },
251
- heading: {
252
- family: `--font-heading-family`,
253
- featureSettings: `--font-heading-feature-settings`,
254
- sizes: FONT_HEADING_SIZE.reduce(
255
- (acc, size) => {
256
- return {
257
- ...acc,
258
- [size]: {
259
- fontSize: `--font-heading-${size}-size`,
260
- ascenderHeight: `--font-heading-${size}-ascender-height`,
261
- descenderHeight: `--font-heading-${size}-descender-height`,
262
- lineHeight: `--font-heading-${size}-line-height`,
263
- letterSpacing: `--font-heading-${size}-letter-spacing`,
264
- iconSize: `--font-heading-${size}-icon-size`,
265
- },
266
- }
267
- },
268
- {} as Record<FontHeadingSize, FontSizeVarNames>,
269
- ),
270
- weights: {
271
- regular: `--font-heading-weight-regular`,
272
- medium: `--font-heading-weight-medium`,
273
- semibold: `--font-heading-weight-semibold`,
274
- bold: `--font-heading-weight-bold`,
275
- },
276
- },
277
- label: {
278
- family: `--font-label-family`,
279
- featureSettings: `--font-label-feature-settings`,
280
- sizes: FONT_LABEL_SIZE.reduce(
281
- (acc, size) => {
282
- return {
283
- ...acc,
284
- [size]: {
285
- fontSize: `--font-label-${size}-size`,
286
- ascenderHeight: `--font-label-${size}-ascender-height`,
287
- descenderHeight: `--font-label-${size}-descender-height`,
288
- lineHeight: `--font-label-${size}-line-height`,
289
- letterSpacing: `--font-label-${size}-letter-spacing`,
290
- iconSize: `--font-label-${size}-icon-size`,
291
- },
292
- }
293
- },
294
- {} as Record<FontLabelSize, FontSizeVarNames>,
295
- ),
296
- weights: {
297
- regular: `--font-label-weight-regular`,
298
- medium: `--font-label-weight-medium`,
299
- semibold: `--font-label-weight-semibold`,
300
- bold: `--font-label-weight-bold`,
301
- },
302
- },
303
- text: {
304
- family: `--font-text-family`,
305
- featureSettings: `--font-text-feature-settings`,
306
- sizes: FONT_TEXT_SIZE.reduce(
307
- (acc, size) => {
308
- return {
309
- ...acc,
310
- [size]: {
311
- fontSize: `--font-text-${size}-size`,
312
- ascenderHeight: `--font-text-${size}-ascender-height`,
313
- descenderHeight: `--font-text-${size}-descender-height`,
314
- lineHeight: `--font-text-${size}-line-height`,
315
- letterSpacing: `--font-text-${size}-letter-spacing`,
316
- iconSize: `--font-text-${size}-icon-size`,
317
- },
318
- }
319
- },
320
- {} as Record<FontTextSize, FontSizeVarNames>,
321
- ),
322
- weights: {
323
- regular: `--font-text-weight-regular`,
324
- medium: `--font-text-weight-medium`,
325
- semibold: `--font-text-weight-semibold`,
326
- bold: `--font-text-weight-bold`,
327
- },
328
- },
329
- },
330
- input: {
331
- border: {
332
- width: `--input-border-width`,
333
- },
334
-
335
- checkbox: {
336
- focusRing: {
337
- offset: `--input-checkbox-focus-ring-offset`,
338
- width: `--input-checkbox-focus-ring-width`,
339
- },
340
- size: `--input-checkbox-size`,
341
- },
342
-
343
- radio: {
344
- focusRing: {
345
- offset: `--input-radio-focus-ring-offset`,
346
- width: `--input-radio-focus-ring-width`,
347
- },
348
- markSize: `--input-radio-mark-size`,
349
- size: `--input-radio-size`,
350
- },
351
-
352
- select: {
353
- focusRing: {
354
- offset: `--input-select-focus-ring-offset`,
355
- width: `--input-select-focus-ring-width`,
356
- },
357
- },
358
-
359
- switch: {
360
- focusRing: {
361
- offset: `--input-switch-focus-ring-offset`,
362
- width: `--input-switch-focus-ring-width`,
363
- },
364
- height: `--input-switch-height`,
365
- padding: `--input-switch-padding`,
366
- transitionDurationMs: `--input-switch-transition-duration-ms`,
367
- transitionTimingFunction: `--input-switch-transition-timing-function`,
368
- width: `--input-switch-width`,
369
- },
370
-
371
- text: {
372
- focusRing: {
373
- offset: `--input-text-focus-ring-offset`,
374
- width: `--input-text-focus-ring-width`,
375
- },
376
- },
377
-
378
- fontSize: `--input-font-size`,
379
-
380
- lineHeight: `--input-line-height`,
381
- letterSpacing: `--input-letter-spacing`,
382
- ascenderHeight: `--input-ascender-height`,
383
- descenderHeight: `--input-descender-height`,
384
-
385
- gap: `--input-gap`,
386
- padding: `--input-padding`,
387
- },
388
- radius: Object.fromEntries(
389
- RADIUS.map((radius) => [radius, `--radius-${radius}` as VarName]),
390
- ) as Record<Radius, VarName>,
391
- shadow: Object.fromEntries(
392
- SHADOW.map((shadow) => [
393
- shadow,
394
- {
395
- umbra: `--shadow-${shadow}-umbra`,
396
- penumbra: `--shadow-${shadow}-penumbra`,
397
- ambient: `--shadow-${shadow}-ambient`,
398
- },
399
- ]),
400
- ) as Record<Shadow, {umbra: VarName; penumbra: VarName; ambient: VarName}>,
401
- space: Object.fromEntries(
402
- SPACE.map((space) => [space, `--space-${String(space).replace('.', '_')}` as VarName]),
403
- ) as Record<Space, VarName>,
404
-
405
- // color
406
- black: `--black`,
407
- white: `--white`,
408
- ...COLOR_HUES.reduce(
409
- (acc, hue) => {
410
- const tints = {} as Record<ColorTintKey, VarName>
411
-
412
- for (const tint of COLOR_TINTS) {
413
- tints[tint] = `--${hue}-${tint}`
414
- }
415
-
416
- acc[hue] = tints
417
-
418
- return acc
419
- },
420
- {} as Record<ColorHueKey, Record<ColorTintKey, VarName>>,
421
- ),
422
- } as const
423
-
424
- function buildColorCardVarNames(props: {scheme?: Scheme; tone: CardTone}): ColorCardVarNames {
425
- const {scheme, tone} = props
426
-
427
- const prefix = scheme ? (`--color-${scheme}-${tone}` as const) : (`--color-${tone}` as const)
428
-
429
- return {
430
- avatar: {
431
- gray: {
432
- bg: `${prefix}-avatar-gray-bg`,
433
- fg: `${prefix}-avatar-gray-fg`,
434
- },
435
- blue: {
436
- bg: `${prefix}-avatar-blue-bg`,
437
- fg: `${prefix}-avatar-blue-fg`,
438
- },
439
- purple: {
440
- bg: `${prefix}-avatar-purple-bg`,
441
- fg: `${prefix}-avatar-purple-fg`,
442
- },
443
- magenta: {
444
- bg: `${prefix}-avatar-magenta-bg`,
445
- fg: `${prefix}-avatar-magenta-fg`,
446
- },
447
- red: {
448
- bg: `${prefix}-avatar-red-bg`,
449
- fg: `${prefix}-avatar-red-fg`,
450
- },
451
- orange: {
452
- bg: `${prefix}-avatar-orange-bg`,
453
- fg: `${prefix}-avatar-gray-fg`,
454
- },
455
- yellow: {
456
- bg: `${prefix}-avatar-yellow-bg`,
457
- fg: `${prefix}-avatar-yellow-fg`,
458
- },
459
- green: {
460
- bg: `${prefix}-avatar-green-bg`,
461
- fg: `${prefix}-avatar-green-fg`,
462
- },
463
- cyan: {
464
- bg: `${prefix}-avatar-cyan-bg`,
465
- fg: `${prefix}-avatar-yellow-fg`,
466
- },
467
- },
468
- backdrop: `${prefix}-backdrop`,
469
- code: {
470
- bg: `${prefix}-code-bg`,
471
- fg: `${prefix}-code-fg`,
472
- token: {
473
- atrule: `${prefix}-code-token-atrule`,
474
- attrName: `${prefix}-code-token-attr-name`,
475
- attrValue: `${prefix}-code-token-attr-value`,
476
- attribute: `${prefix}-code-token-attribute`,
477
- boolean: `${prefix}-code-token-boolean`,
478
- builtin: `${prefix}-code-token-builtin`,
479
- cdata: `${prefix}-code-token-cdata`,
480
- char: `${prefix}-code-token-char`,
481
- class: `${prefix}-code-token-class`,
482
- className: `${prefix}-code-token-class-name`,
483
- comment: `${prefix}-code-token-comment`,
484
- constant: `${prefix}-code-token-constant`,
485
- deleted: `${prefix}-code-token-deleted`,
486
- doctype: `${prefix}-code-token-doctype`,
487
- entity: `${prefix}-code-token-entity`,
488
- function: `${prefix}-code-token-function`,
489
- hexcode: `${prefix}-code-token-hexcode`,
490
- id: `${prefix}-code-token-id`,
491
- important: `${prefix}-code-token-important`,
492
- inserted: `${prefix}-code-token-inserted`,
493
- keyword: `${prefix}-code-token-keyword`,
494
- number: `${prefix}-code-token-number`,
495
- operator: `${prefix}-code-token-operator`,
496
- prolog: `${prefix}-code-token-prolog`,
497
- property: `${prefix}-code-token-property`,
498
- pseudoClass: `${prefix}-code-token-pseudo-class`,
499
- pseudoElement: `${prefix}-code-token-pseudo-element`,
500
- punctuation: `${prefix}-code-token-punctuation`,
501
- regex: `${prefix}-code-token-regex`,
502
- selector: `${prefix}-code-token-selector`,
503
- string: `${prefix}-code-token-string`,
504
- symbol: `${prefix}-code-token-symbol`,
505
- tag: `${prefix}-code-token-tag`,
506
- unit: `${prefix}-code-token-unit`,
507
- url: `${prefix}-code-token-url`,
508
- variable: `${prefix}-code-token-variable`,
509
- },
510
- },
511
- focusRing: `${prefix}-focus-ring`,
512
- link: {
513
- fg: `${prefix}-link-fg`,
514
- },
515
- muted: {
516
- bg: `${prefix}-muted-bg`,
517
- fg: `${prefix}-muted-fg`,
518
- },
519
- shadow: {
520
- outline: `${prefix}-shadow-outline`,
521
- umbra: `${prefix}-shadow-umbra`,
522
- penumbra: `${prefix}-shadow-penumbra`,
523
- ambient: `${prefix}-shadow-ambient`,
524
- },
525
- skeleton: {
526
- from: `${prefix}-skeleton-from`,
527
- to: `${prefix}-skeleton-to`,
528
- },
529
-
530
- solid: buildColorVariantVarNames({scheme, tone, variant: 'solid'}),
531
- tinted: buildColorVariantVarNames({scheme, tone, variant: 'tinted'}),
532
- }
533
- }
534
-
535
- function buildColorVariantVarNames(options: {
536
- scheme?: Scheme
537
- tone?: CardTone
538
- variant: 'solid' | 'tinted'
539
- }): ColorVariantVarNames {
540
- const {scheme, tone, variant} = options
541
-
542
- const prefix =
543
- scheme && tone
544
- ? (`--color-${scheme}-${tone}-${variant}` as const)
545
- : tone
546
- ? (`--color-${tone}-${variant}` as const)
547
- : (`--color-${variant}` as const)
548
-
549
- const vars = {
550
- bg: {
551
- 0: `${prefix}-bg-0`,
552
- 1: `${prefix}-bg-1`,
553
- 2: `${prefix}-bg-2`,
554
- 3: `${prefix}-bg-3`,
555
- 4: `${prefix}-bg-4`,
556
- },
557
- border: {
558
- 0: `${prefix}-border-0`,
559
- 1: `${prefix}-border-1`,
560
- 2: `${prefix}-border-2`,
561
- 3: `${prefix}-border-3`,
562
- 4: `${prefix}-border-4`,
563
- },
564
- fg: {
565
- 0: `${prefix}-fg-0`,
566
- 1: `${prefix}-fg-1`,
567
- 2: `${prefix}-fg-2`,
568
- 3: `${prefix}-fg-3`,
569
- 4: `${prefix}-fg-4`,
570
- },
571
- } as ColorVariantVarNames
572
-
573
- for (const elementTone of THEME_COLOR_STATE_TONES) {
574
- const _prefix =
575
- scheme && tone
576
- ? (`--color-${scheme}-${tone}-${variant}-${elementTone}` as const)
577
- : tone
578
- ? (`--color-${tone}-${variant}-${elementTone}` as const)
579
- : (`--color-${variant}-${elementTone}` as const)
580
-
581
- vars[elementTone] = {
582
- bg: {
583
- 0: `${_prefix}-bg-0`,
584
- 1: `${_prefix}-bg-1`,
585
- 2: `${_prefix}-bg-2`,
586
- 3: `${_prefix}-bg-3`,
587
- 4: `${_prefix}-bg-4`,
588
- },
589
- border: {
590
- 0: `${_prefix}-border-0`,
591
- 1: `${_prefix}-border-1`,
592
- 2: `${_prefix}-border-2`,
593
- 3: `${_prefix}-border-3`,
594
- 4: `${_prefix}-border-4`,
595
- },
596
- fg: {
597
- 0: `${_prefix}-fg-0`,
598
- 1: `${_prefix}-fg-1`,
599
- 2: `${_prefix}-fg-2`,
600
- 3: `${_prefix}-fg-3`,
601
- 4: `${_prefix}-fg-4`,
602
- },
603
- }
604
- }
605
-
606
- return vars
607
- }