@sanity/ui 3.0.0-static.20 → 3.0.0-static.21

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 (500) hide show
  1. package/README.md +2 -1
  2. package/dist/_chunks-cjs/_visual-editing.cjs +198 -862
  3. package/dist/_chunks-cjs/_visual-editing.cjs.map +1 -1
  4. package/dist/_chunks-cjs/refractor.cjs +0 -1
  5. package/dist/_chunks-cjs/refractor.cjs.map +1 -1
  6. package/dist/_chunks-es/_visual-editing.js +211 -874
  7. package/dist/_chunks-es/_visual-editing.js.map +1 -1
  8. package/dist/_chunks-es/refractor.js +0 -1
  9. package/dist/_chunks-es/refractor.js.map +1 -1
  10. package/dist/_visual-editing.d.cts +34 -100
  11. package/dist/_visual-editing.d.ts +34 -100
  12. package/dist/css.cjs +368 -4123
  13. package/dist/css.cjs.map +1 -1
  14. package/dist/css.d.cts +13095 -8462
  15. package/dist/css.d.ts +13095 -8462
  16. package/dist/css.js +368 -4124
  17. package/dist/css.js.map +1 -1
  18. package/dist/index.cjs +769 -141
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.d.cts +93 -287
  21. package/dist/index.d.ts +93 -287
  22. package/dist/index.js +740 -112
  23. package/dist/index.js.map +1 -1
  24. package/dist/theme.cjs +31 -10
  25. package/dist/theme.cjs.map +1 -1
  26. package/dist/theme.d.cts +2 -2
  27. package/dist/theme.d.ts +2 -2
  28. package/dist/theme.js +31 -10
  29. package/dist/theme.js.map +1 -1
  30. package/dist/ui.css +21459 -24610
  31. package/package.json +17 -12
  32. package/src/cli/buildCommand.ts +1 -91
  33. package/src/core/_compat/theme/themeColorProvider.tsx +0 -2
  34. package/src/core/_compat/theme/themeProvider.tsx +0 -2
  35. package/src/core/components/autocomplete/autocomplete.tsx +15 -15
  36. package/src/core/components/autocomplete/autocompleteOption.tsx +0 -2
  37. package/src/core/components/breadcrumbs/breadcrumbs.tsx +2 -4
  38. package/src/core/components/dialog/dialog.tsx +9 -13
  39. package/src/core/components/dialog/dialogCard.tsx +2 -10
  40. package/src/core/components/dialog/dialogContext.ts +4 -2
  41. package/src/core/components/dialog/dialogProvider.tsx +3 -4
  42. package/src/core/components/hotkeys/hotkeys.tsx +0 -2
  43. package/src/core/components/menu/menu.tsx +2 -4
  44. package/src/core/components/menu/menuButton.tsx +0 -2
  45. package/src/core/components/menu/menuDivider.tsx +2 -4
  46. package/src/core/components/menu/menuGroup.tsx +0 -2
  47. package/src/core/components/menu/menuItem.tsx +2 -4
  48. package/src/core/components/skeleton/codeSkeleton.tsx +6 -10
  49. package/src/core/components/skeleton/headingSkeleton.tsx +6 -10
  50. package/src/core/components/skeleton/labelSkeleton.tsx +6 -10
  51. package/src/core/components/skeleton/skeleton.tsx +4 -8
  52. package/src/core/components/skeleton/textSkeleton.tsx +6 -10
  53. package/src/core/components/tab/tab.tsx +0 -2
  54. package/src/core/components/tab/tabList.tsx +0 -2
  55. package/src/core/components/tab/tabPanel.tsx +0 -2
  56. package/src/core/components/toast/toast.tsx +6 -36
  57. package/src/core/components/toast/toastLayer.tsx +0 -2
  58. package/src/core/components/toast/toastProvider.tsx +2 -3
  59. package/src/core/components/tree/tree.tsx +0 -2
  60. package/src/core/components/tree/treeGroup.tsx +0 -2
  61. package/src/core/components/tree/treeItem.tsx +3 -5
  62. package/src/core/helpers/props.ts +18 -0
  63. package/src/core/hooks/index.ts +1 -0
  64. package/src/core/hooks/useArrayProp.ts +1 -4
  65. package/src/core/hooks/useResponsiveProp.ts +28 -0
  66. package/src/core/index.ts +0 -1
  67. package/src/core/lib/isArray.ts +3 -0
  68. package/src/core/primitives/_selectable/selectable.tsx +2 -6
  69. package/src/core/primitives/avatar/avatar.tsx +15 -17
  70. package/src/core/primitives/avatar/avatarCounter.tsx +14 -15
  71. package/src/core/primitives/avatar/avatarStack.tsx +14 -22
  72. package/src/core/primitives/badge/badge.tsx +3 -10
  73. package/src/core/primitives/box/box.tsx +90 -70
  74. package/src/core/primitives/button/button.tsx +10 -21
  75. package/src/core/primitives/card/card.tsx +5 -11
  76. package/src/core/primitives/card/cardProvider.tsx +2 -2
  77. package/src/core/primitives/card/useCard.ts +1 -0
  78. package/src/core/primitives/checkbox/checkbox.tsx +4 -6
  79. package/src/core/primitives/code/code.tsx +5 -10
  80. package/src/core/primitives/code/refractor.tsx +0 -2
  81. package/src/core/primitives/container/container.tsx +2 -11
  82. package/src/core/primitives/flex/flex.tsx +29 -4
  83. package/src/core/primitives/grid/grid.tsx +0 -2
  84. package/src/core/primitives/heading/heading.tsx +8 -13
  85. package/src/core/primitives/inline/inline.tsx +22 -6
  86. package/src/core/primitives/kbd/kbd.tsx +2 -4
  87. package/src/core/primitives/label/label.tsx +7 -12
  88. package/src/core/primitives/popover/popover.tsx +11 -9
  89. package/src/core/primitives/popover/popoverLayer.tsx +1 -3
  90. package/src/core/primitives/radio/radio.tsx +4 -5
  91. package/src/core/primitives/select/select.tsx +0 -2
  92. package/src/core/primitives/spinner/animatedSpinnerIcon.tsx +6 -10
  93. package/src/core/primitives/spinner/spinner.tsx +6 -6
  94. package/src/core/primitives/stack/stack.tsx +16 -6
  95. package/src/core/primitives/switch/switch.tsx +1 -4
  96. package/src/core/primitives/text/text.tsx +9 -19
  97. package/src/core/primitives/textArea/textArea.tsx +0 -2
  98. package/src/core/primitives/textInput/textInput.tsx +40 -47
  99. package/src/core/primitives/tooltip/tooltip.tsx +4 -12
  100. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +0 -2
  101. package/src/core/primitives/tooltip/tooltipLayer.tsx +0 -2
  102. package/src/core/primitives/types.ts +6 -6
  103. package/src/core/types/flex.ts +3 -3
  104. package/src/core/utils/arrow/arrow.tsx +11 -5
  105. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +0 -2
  106. package/src/core/utils/elementQuery/elementQuery.tsx +0 -2
  107. package/src/core/utils/layer/layer.tsx +3 -3
  108. package/src/core/utils/layer/layerCard.tsx +0 -2
  109. package/src/core/utils/layer/layerProvider.tsx +6 -7
  110. package/src/core/utils/portal/portal.tsx +0 -2
  111. package/src/core/utils/portal/portalProvider.tsx +0 -2
  112. package/src/core/utils/srOnly/srOnly.tsx +2 -9
  113. package/src/core/utils/virtualList/virtualList.tsx +0 -2
  114. package/src/css/__theme/index.ts +16 -0
  115. package/src/css/__theme/lib/contract/buildVarContract.ts +78 -0
  116. package/src/css/__theme/lib/contract/index.ts +4 -0
  117. package/src/css/__theme/lib/contract/types.ts +17 -0
  118. package/src/css/__theme/resolveTheme.ts +865 -0
  119. package/src/css/_responsiveClassName.ts +45 -0
  120. package/src/css/_responsiveStyle.css.ts +34 -0
  121. package/src/css/_style.css.ts +9 -0
  122. package/src/css/components/breadcrumbs/breadcrumbs.css.ts +6 -0
  123. package/src/css/components/breadcrumbs/breadcrumbs.ts +4 -3
  124. package/src/css/components/dialog/dialog.css.ts +81 -0
  125. package/src/css/components/dialog/dialog.ts +12 -12
  126. package/src/css/components/index.ts +6 -0
  127. package/src/css/components/menu/menu.css.ts +14 -0
  128. package/src/css/components/menu/menu.ts +6 -5
  129. package/src/css/components/skeleton/skeleton.css.ts +132 -0
  130. package/src/css/components/skeleton/skeleton.ts +8 -8
  131. package/src/css/components/skeleton/types.ts +9 -3
  132. package/src/css/components/toast/toast.css.ts +16 -0
  133. package/src/css/components/toast/toast.ts +3 -18
  134. package/src/css/components/tree/tree.css.ts +65 -0
  135. package/src/css/components/tree/tree.ts +4 -3
  136. package/src/css/defaultTheme.css.ts +468 -0
  137. package/src/css/index.ts +11 -37
  138. package/src/css/layers.css.ts +9 -0
  139. package/src/css/primitives/_arrow/_arrow.css.ts +68 -0
  140. package/src/css/primitives/_arrow/_arrow.ts +10 -5
  141. package/src/css/primitives/_input/_input.css.ts +258 -0
  142. package/src/css/primitives/_input/input.ts +10 -12
  143. package/src/css/primitives/_input/types.ts +1 -1
  144. package/src/css/primitives/_selectable/_selectable.css.ts +121 -0
  145. package/src/css/primitives/_selectable/selectable.ts +3 -3
  146. package/src/css/primitives/_selectable/types.ts +2 -1
  147. package/src/css/primitives/avatar/avatar.css.ts +175 -0
  148. package/src/css/primitives/avatar/avatar.ts +45 -10
  149. package/src/css/primitives/avatar/types.ts +1 -0
  150. package/src/css/primitives/badge/badge.css.ts +26 -0
  151. package/src/css/primitives/badge/badge.ts +2 -6
  152. package/src/css/primitives/badge/types.ts +4 -3
  153. package/src/css/primitives/box/box.css.ts +19 -0
  154. package/src/css/primitives/box/box.ts +39 -9
  155. package/src/css/primitives/box/types.ts +35 -8
  156. package/src/css/primitives/button/button.css.ts +285 -0
  157. package/src/css/primitives/button/button.ts +10 -7
  158. package/src/css/primitives/button/types.ts +10 -4
  159. package/src/css/primitives/card/card.css.ts +365 -0
  160. package/src/css/primitives/card/card.ts +5 -4
  161. package/src/css/primitives/card/types.ts +2 -3
  162. package/src/css/primitives/checkbox/checkbox.css.ts +193 -0
  163. package/src/css/primitives/checkbox/checkbox.ts +11 -5
  164. package/src/css/primitives/code/code.css.ts +271 -0
  165. package/src/css/primitives/code/code.ts +8 -4
  166. package/src/css/primitives/code/types.ts +3 -2
  167. package/src/css/primitives/container/container.css.ts +4 -0
  168. package/src/css/primitives/container/container.ts +9 -3
  169. package/src/css/primitives/container/types.ts +1 -0
  170. package/src/css/primitives/heading/heading.css.ts +85 -0
  171. package/src/css/primitives/heading/heading.ts +9 -10
  172. package/src/css/primitives/heading/types.ts +3 -2
  173. package/src/css/primitives/index.ts +24 -0
  174. package/src/css/primitives/kbd/kbd.css.ts +16 -0
  175. package/src/css/primitives/kbd/kbd.ts +3 -3
  176. package/src/css/primitives/kbd/types.ts +2 -3
  177. package/src/css/primitives/label/label.css.ts +85 -0
  178. package/src/css/primitives/label/label.ts +9 -4
  179. package/src/css/primitives/label/types.ts +3 -2
  180. package/src/css/primitives/popover/popover.css.ts +6 -0
  181. package/src/css/primitives/popover/popover.ts +6 -5
  182. package/src/css/primitives/radio/radio.css.ts +78 -0
  183. package/src/css/primitives/radio/radio.ts +14 -3
  184. package/src/css/primitives/select/select.css.ts +24 -0
  185. package/src/css/primitives/select/select.ts +3 -3
  186. package/src/css/primitives/spinner/index.ts +1 -0
  187. package/src/css/primitives/spinner/spinner.css.ts +23 -0
  188. package/src/css/primitives/spinner/spinner.ts +7 -5
  189. package/src/css/primitives/spinner/types.ts +4 -0
  190. package/src/css/primitives/stack/stack.css.ts +6 -0
  191. package/src/css/primitives/stack/stack.ts +4 -3
  192. package/src/css/primitives/switch/switch.css.ts +98 -0
  193. package/src/css/primitives/switch/switch.ts +8 -7
  194. package/src/css/primitives/text/text.css.ts +85 -0
  195. package/src/css/primitives/text/text.ts +9 -5
  196. package/src/css/primitives/text/types.ts +3 -2
  197. package/src/css/primitives/textArea/textArea.css.ts +4 -0
  198. package/src/css/primitives/textArea/textArea.ts +2 -2
  199. package/src/css/primitives/textArea/types.ts +4 -2
  200. package/src/css/primitives/textInput/textInput.css.ts +41 -0
  201. package/src/css/primitives/textInput/textInput.ts +5 -5
  202. package/src/css/primitives/textInput/types.ts +4 -2
  203. package/src/css/primitives/tooltip/index.ts +1 -0
  204. package/src/css/primitives/tooltip/tooltip.css.ts +6 -0
  205. package/src/css/primitives/tooltip/tooltip.ts +7 -3
  206. package/src/css/primitives/tooltip/types.ts +4 -0
  207. package/src/css/props/alignItems/alignItems.css.ts +22 -0
  208. package/src/css/props/alignItems/alignItems.ts +8 -0
  209. package/src/css/props/alignItems/index.ts +2 -0
  210. package/src/css/props/alignItems/types.ts +9 -0
  211. package/src/css/props/border/border.css.ts +65 -0
  212. package/src/css/props/border/border.ts +36 -0
  213. package/src/css/props/border/types.ts +13 -0
  214. package/src/css/props/boxSizing/boxSizing.css.ts +11 -0
  215. package/src/css/props/boxSizing/boxSizing.ts +10 -0
  216. package/src/css/{aspects → props}/boxSizing/types.ts +1 -3
  217. package/src/css/props/display/display.css.ts +56 -0
  218. package/src/css/props/display/display.ts +17 -0
  219. package/src/css/props/flex/flex.css.ts +52 -0
  220. package/src/css/props/flex/flex.ts +8 -0
  221. package/src/css/props/flex/types.ts +9 -0
  222. package/src/css/props/flexDirection/flexDirection.css.ts +19 -0
  223. package/src/css/props/flexDirection/flexDirection.ts +8 -0
  224. package/src/css/props/flexDirection/index.ts +2 -0
  225. package/src/css/props/flexDirection/types.ts +9 -0
  226. package/src/css/props/flexWrap/flexWrap.css.ts +16 -0
  227. package/src/css/props/flexWrap/flexWrap.ts +8 -0
  228. package/src/css/props/flexWrap/index.ts +2 -0
  229. package/src/css/props/flexWrap/types.ts +9 -0
  230. package/src/css/props/font/font.css.ts +93 -0
  231. package/src/css/props/font/font.ts +8 -0
  232. package/src/css/props/gap/gap.css.ts +40 -0
  233. package/src/css/props/gap/gap.ts +13 -0
  234. package/src/css/props/gridAutoColumns/gridAutoColumns.css.ts +19 -0
  235. package/src/css/props/gridAutoColumns/gridAutoColumns.ts +8 -0
  236. package/src/css/props/gridAutoColumns/index.ts +2 -0
  237. package/src/css/props/gridAutoColumns/types.ts +19 -0
  238. package/src/css/props/gridAutoFlow/gridAutoFlow.css.ts +19 -0
  239. package/src/css/props/gridAutoFlow/gridAutoFlow.ts +8 -0
  240. package/src/css/props/gridAutoFlow/index.ts +2 -0
  241. package/src/css/props/gridAutoFlow/types.ts +13 -0
  242. package/src/css/props/gridAutoRows/gridAutoRows.css.ts +19 -0
  243. package/src/css/props/gridAutoRows/gridAutoRows.ts +8 -0
  244. package/src/css/props/gridAutoRows/index.ts +2 -0
  245. package/src/css/props/gridAutoRows/types.ts +13 -0
  246. package/src/css/props/gridColumn/gridColumn.css.ts +49 -0
  247. package/src/css/props/gridColumn/gridColumn.ts +8 -0
  248. package/src/css/props/gridColumn/index.ts +2 -0
  249. package/src/css/props/gridColumn/types.ts +19 -0
  250. package/src/css/props/gridColumnEnd/gridColumnEnd.css.ts +46 -0
  251. package/src/css/props/gridColumnEnd/gridColumnEnd.ts +8 -0
  252. package/src/css/props/gridColumnEnd/index.ts +2 -0
  253. package/src/css/props/gridColumnEnd/types.ts +19 -0
  254. package/src/css/props/gridColumnStart/gridColumnStart.css.ts +46 -0
  255. package/src/css/props/gridColumnStart/gridColumnStart.ts +11 -0
  256. package/src/css/props/gridColumnStart/index.ts +2 -0
  257. package/src/css/props/gridColumnStart/types.ts +19 -0
  258. package/src/css/props/gridRow/gridRow.css.ts +49 -0
  259. package/src/css/props/gridRow/gridRow.ts +8 -0
  260. package/src/css/props/gridRow/index.ts +2 -0
  261. package/src/css/props/gridRow/types.ts +19 -0
  262. package/src/css/props/gridRowEnd/gridRowEnd.css.ts +46 -0
  263. package/src/css/props/gridRowEnd/gridRowEnd.ts +8 -0
  264. package/src/css/props/gridRowEnd/index.ts +2 -0
  265. package/src/css/props/gridRowEnd/types.ts +19 -0
  266. package/src/css/props/gridRowStart/gridRowStart.css.ts +46 -0
  267. package/src/css/props/gridRowStart/gridRowStart.ts +8 -0
  268. package/src/css/props/gridRowStart/index.ts +2 -0
  269. package/src/css/props/gridRowStart/types.ts +19 -0
  270. package/src/css/props/gridTemplateColumns/gridTemplateColumns.css.ts +43 -0
  271. package/src/css/props/gridTemplateColumns/gridTemplateColumns.ts +8 -0
  272. package/src/css/props/gridTemplateColumns/index.ts +2 -0
  273. package/src/css/props/gridTemplateColumns/types.ts +19 -0
  274. package/src/css/props/gridTemplateRows/gridTemplateRows.css.ts +43 -0
  275. package/src/css/props/gridTemplateRows/gridTemplateRows.ts +8 -0
  276. package/src/css/props/gridTemplateRows/index.ts +2 -0
  277. package/src/css/props/gridTemplateRows/types.ts +19 -0
  278. package/src/css/props/height/height.css.ts +25 -0
  279. package/src/css/props/height/height.ts +8 -0
  280. package/src/css/{aspects → props}/height/index.ts +1 -0
  281. package/src/css/props/height/types.ts +15 -0
  282. package/src/css/{aspects → props}/index.ts +16 -3
  283. package/src/css/props/inset/inset.css.ts +37 -0
  284. package/src/css/props/inset/inset.ts +21 -0
  285. package/src/css/props/justifyContent/index.ts +2 -0
  286. package/src/css/props/justifyContent/justifyContent.css.ts +25 -0
  287. package/src/css/props/justifyContent/justifyContent.ts +8 -0
  288. package/src/css/props/justifyContent/types.ts +15 -0
  289. package/src/css/props/margin/margin.css.ts +117 -0
  290. package/src/css/props/margin/margin.ts +25 -0
  291. package/src/css/props/maxWidth/maxWidth.css.ts +32 -0
  292. package/src/css/props/maxWidth/maxWidth.ts +8 -0
  293. package/src/css/{aspects → props}/maxWidth/types.ts +4 -1
  294. package/src/css/props/minHeight/minHeight.css.ts +13 -0
  295. package/src/css/props/minHeight/minHeight.ts +8 -0
  296. package/src/css/props/minWidth/minWidth.css.ts +25 -0
  297. package/src/css/props/minWidth/minWidth.ts +8 -0
  298. package/src/css/props/outline/index.ts +2 -0
  299. package/src/css/props/outline/outline.css.ts +10 -0
  300. package/src/css/props/outline/outline.ts +8 -0
  301. package/src/css/props/outline/types.ts +7 -0
  302. package/src/css/props/overflow/overflow.css.ts +16 -0
  303. package/src/css/props/overflow/overflow.ts +8 -0
  304. package/src/css/props/overflow/types.ts +17 -0
  305. package/src/css/props/padding/padding.css.ts +87 -0
  306. package/src/css/props/padding/padding.ts +25 -0
  307. package/src/css/props/padding/types.ts +17 -0
  308. package/src/css/props/pointerEvents/pointerEvents.css.ts +13 -0
  309. package/src/css/props/pointerEvents/pointerEvents.ts +8 -0
  310. package/src/css/props/position/position.css.ts +22 -0
  311. package/src/css/props/position/position.ts +8 -0
  312. package/src/css/props/radius/radius.css.ts +21 -0
  313. package/src/css/props/radius/radius.ts +8 -0
  314. package/src/css/props/shadow/shadow.css.ts +23 -0
  315. package/src/css/props/shadow/shadow.ts +8 -0
  316. package/src/css/props/textAlign/textAlign.css.ts +22 -0
  317. package/src/css/props/textAlign/textAlign.ts +8 -0
  318. package/src/css/props/textOverflow/textOverflow.css.ts +13 -0
  319. package/src/css/props/textOverflow/textOverflow.ts +8 -0
  320. package/src/css/{aspects → props}/textOverflow/types.ts +5 -2
  321. package/src/css/{aspects → props}/width/types.ts +1 -1
  322. package/src/css/props/width/width.css.ts +28 -0
  323. package/src/css/props/width/width.ts +8 -0
  324. package/src/css/types.ts +223 -42
  325. package/src/css/util.ts +0 -10
  326. package/src/css/utils/index.ts +1 -0
  327. package/src/css/utils/srOnly/srOnly.css.ts +10 -0
  328. package/src/css/utils/srOnly/srOnly.ts +3 -3
  329. package/src/css/vars.css.ts +676 -0
  330. package/src/theme/v3/buildTheme_v3.ts +7 -2
  331. package/src/theme/v3/defaultFonts.ts +4 -4
  332. package/src/theme/v3/defaultTokens.ts +3 -3
  333. package/src/theme/v3/types.ts +3 -2
  334. package/src/theme/versioning/v3_v2.ts +24 -3
  335. package/dist/_chunks-cjs/buildCommand.cjs +0 -71
  336. package/dist/_chunks-cjs/buildCommand.cjs.map +0 -1
  337. package/dist/cli.cjs +0 -357
  338. package/dist/cli.cjs.map +0 -1
  339. package/dist/cli.d.cts +0 -1
  340. package/dist/ui-system.css +0 -24528
  341. package/dist/ui-system.min.css +0 -1
  342. package/dist/ui-theme.css +0 -1184
  343. package/dist/ui-theme.min.css +0 -1
  344. package/dist/ui.min.css +0 -1
  345. package/src/core/StyleTags.tsx +0 -18
  346. package/src/css/_compileStyle.ts +0 -156
  347. package/src/css/_compileSystem.ts +0 -7
  348. package/src/css/_compileTheme.ts +0 -13
  349. package/src/css/_hash.ts +0 -9
  350. package/src/css/_mergeStyles.ts +0 -24
  351. package/src/css/_resp.ts +0 -31
  352. package/src/css/_responsiveRule.ts +0 -38
  353. package/src/css/_scopeClassName.ts +0 -9
  354. package/src/css/_scopeClassNames.ts +0 -12
  355. package/src/css/_system.style.ts +0 -166
  356. package/src/css/aspects/border/border.style.ts +0 -13
  357. package/src/css/aspects/border/border.ts +0 -14
  358. package/src/css/aspects/border/types.ts +0 -10
  359. package/src/css/aspects/boxSizing/boxSizing.style.ts +0 -10
  360. package/src/css/aspects/boxSizing/boxSizing.ts +0 -8
  361. package/src/css/aspects/display/display.style.ts +0 -34
  362. package/src/css/aspects/display/display.ts +0 -8
  363. package/src/css/aspects/flex/flex.ts +0 -13
  364. package/src/css/aspects/flex/flexAlign.style.ts +0 -12
  365. package/src/css/aspects/flex/flexDirection.style.ts +0 -11
  366. package/src/css/aspects/flex/flexJustify.style.ts +0 -13
  367. package/src/css/aspects/flex/flexWrap.style.ts +0 -10
  368. package/src/css/aspects/flex/types.ts +0 -27
  369. package/src/css/aspects/flexItem/flex.style.ts +0 -22
  370. package/src/css/aspects/flexItem/flexItem.ts +0 -8
  371. package/src/css/aspects/flexItem/index.ts +0 -2
  372. package/src/css/aspects/flexItem/types.ts +0 -25
  373. package/src/css/aspects/font/font.style.ts +0 -83
  374. package/src/css/aspects/font/font.ts +0 -7
  375. package/src/css/aspects/gap/gap.style.ts +0 -21
  376. package/src/css/aspects/gap/gap.ts +0 -8
  377. package/src/css/aspects/grid/grid.ts +0 -14
  378. package/src/css/aspects/grid/gridAutoColumns.style.ts +0 -11
  379. package/src/css/aspects/grid/gridAutoFlow.style.ts +0 -11
  380. package/src/css/aspects/grid/gridAutoRows.style.ts +0 -11
  381. package/src/css/aspects/grid/gridColumns.style.ts +0 -18
  382. package/src/css/aspects/grid/gridRows.style.ts +0 -18
  383. package/src/css/aspects/grid/index.ts +0 -2
  384. package/src/css/aspects/grid/types.ts +0 -25
  385. package/src/css/aspects/gridItem/gridColumn.style.ts +0 -20
  386. package/src/css/aspects/gridItem/gridColumnEnd.style.ts +0 -20
  387. package/src/css/aspects/gridItem/gridColumnStart.style.ts +0 -20
  388. package/src/css/aspects/gridItem/gridItem.ts +0 -15
  389. package/src/css/aspects/gridItem/gridRow.style.ts +0 -20
  390. package/src/css/aspects/gridItem/gridRowEnd.style.ts +0 -20
  391. package/src/css/aspects/gridItem/gridRowStart.style.ts +0 -20
  392. package/src/css/aspects/gridItem/index.ts +0 -2
  393. package/src/css/aspects/gridItem/types.ts +0 -30
  394. package/src/css/aspects/height/height.style.ts +0 -9
  395. package/src/css/aspects/height/height.ts +0 -16
  396. package/src/css/aspects/inset/inset.style.ts +0 -12
  397. package/src/css/aspects/inset/inset.ts +0 -14
  398. package/src/css/aspects/margin/margin.style.ts +0 -56
  399. package/src/css/aspects/margin/margin.ts +0 -16
  400. package/src/css/aspects/maxWidth/maxWidth.style.ts +0 -16
  401. package/src/css/aspects/maxWidth/maxWidth.ts +0 -8
  402. package/src/css/aspects/minHeight/minHeight.style.ts +0 -9
  403. package/src/css/aspects/minHeight/minHeight.ts +0 -8
  404. package/src/css/aspects/minWidth/minWidth.style.ts +0 -13
  405. package/src/css/aspects/minWidth/minWidth.ts +0 -8
  406. package/src/css/aspects/outline/outline.style.ts +0 -9
  407. package/src/css/aspects/overflow/overflow.style.ts +0 -11
  408. package/src/css/aspects/overflow/overflow.ts +0 -12
  409. package/src/css/aspects/overflow/types.ts +0 -11
  410. package/src/css/aspects/padding/padding.style.ts +0 -43
  411. package/src/css/aspects/padding/padding.ts +0 -16
  412. package/src/css/aspects/padding/types.ts +0 -14
  413. package/src/css/aspects/pointerEvents/pointerEvents.style.ts +0 -13
  414. package/src/css/aspects/pointerEvents/pointerEvents.ts +0 -7
  415. package/src/css/aspects/position/position.style.ts +0 -12
  416. package/src/css/aspects/position/position.ts +0 -8
  417. package/src/css/aspects/radius/radius.style.ts +0 -16
  418. package/src/css/aspects/radius/radius.ts +0 -8
  419. package/src/css/aspects/shadow/shadow.style.ts +0 -24
  420. package/src/css/aspects/shadow/shadow.ts +0 -8
  421. package/src/css/aspects/textAlign/textAlign.style.ts +0 -26
  422. package/src/css/aspects/textAlign/textAlign.ts +0 -8
  423. package/src/css/aspects/textOverflow/textOverflow.style.ts +0 -21
  424. package/src/css/aspects/textOverflow/textOverflow.ts +0 -7
  425. package/src/css/aspects/width/width.style.ts +0 -11
  426. package/src/css/aspects/width/width.ts +0 -8
  427. package/src/css/components/breadcrumbs/breadcrumbs.style.ts +0 -9
  428. package/src/css/components/dialog/dialog.style.ts +0 -77
  429. package/src/css/components/menu/menu.style.ts +0 -17
  430. package/src/css/components/skeleton/skeleton.style.ts +0 -104
  431. package/src/css/components/toast/toast.style.ts +0 -20
  432. package/src/css/components/tree/tree.style.ts +0 -39
  433. package/src/css/prefix/constants.ts +0 -6
  434. package/src/css/prefix/index.ts +0 -2
  435. package/src/css/prefix/types.ts +0 -1
  436. package/src/css/primitives/_arrow/_arrow.style.ts +0 -69
  437. package/src/css/primitives/_input/_input.style.ts +0 -235
  438. package/src/css/primitives/_selectable/_selectable.style.ts +0 -129
  439. package/src/css/primitives/avatar/avatar.style.ts +0 -171
  440. package/src/css/primitives/badge/badge.style.ts +0 -21
  441. package/src/css/primitives/box/box.style.ts +0 -22
  442. package/src/css/primitives/button/button.style.ts +0 -275
  443. package/src/css/primitives/card/card.style.ts +0 -295
  444. package/src/css/primitives/checkbox/checkbox.style.ts +0 -178
  445. package/src/css/primitives/code/code.style.ts +0 -61
  446. package/src/css/primitives/container/container.style.ts +0 -10
  447. package/src/css/primitives/heading/heading.style.ts +0 -56
  448. package/src/css/primitives/kbd/kbd.style.ts +0 -19
  449. package/src/css/primitives/label/label.style.ts +0 -52
  450. package/src/css/primitives/popover/popover.style.ts +0 -9
  451. package/src/css/primitives/radio/radio.style.ts +0 -84
  452. package/src/css/primitives/select/select.style.ts +0 -24
  453. package/src/css/primitives/spinner/spinner.style.ts +0 -22
  454. package/src/css/primitives/stack/stack.style.ts +0 -13
  455. package/src/css/primitives/switch/switch.style.ts +0 -102
  456. package/src/css/primitives/text/text.style.ts +0 -65
  457. package/src/css/primitives/textArea/textArea.style.ts +0 -11
  458. package/src/css/primitives/textInput/textInput.style.ts +0 -46
  459. package/src/css/primitives/token/token.style.ts +0 -50
  460. package/src/css/primitives/tooltip/tooltip.style.ts +0 -9
  461. package/src/css/renderColor.ts +0 -31
  462. package/src/css/responsiveRules.ts +0 -18
  463. package/src/css/theme/index.ts +0 -14
  464. package/src/css/theme/lib/contract/buildVarContract.ts +0 -76
  465. package/src/css/theme/lib/contract/index.ts +0 -2
  466. package/src/css/theme/lib/contract/types.ts +0 -15
  467. package/src/css/theme/resolveTheme.ts +0 -863
  468. package/src/css/utils/srOnly/srOnly.style.ts +0 -14
  469. package/src/css/{aspects → props}/border/index.ts +0 -0
  470. package/src/css/{aspects → props}/boxSizing/index.ts +0 -0
  471. package/src/css/{aspects → props}/display/index.ts +0 -0
  472. package/src/css/{aspects → props}/display/types.ts +0 -0
  473. package/src/css/{aspects → props}/flex/index.ts +0 -0
  474. package/src/css/{aspects → props}/font/index.ts +0 -0
  475. package/src/css/{aspects → props}/font/types.ts +0 -0
  476. package/src/css/{aspects → props}/gap/index.ts +0 -0
  477. package/src/css/{aspects → props}/gap/types.ts +0 -0
  478. package/src/css/{aspects → props}/inset/index.ts +0 -0
  479. package/src/css/{aspects → props}/inset/types.ts +0 -0
  480. package/src/css/{aspects → props}/margin/index.ts +0 -0
  481. package/src/css/{aspects → props}/margin/types.ts +2 -2
  482. /package/src/css/{aspects → props}/maxWidth/index.ts +0 -0
  483. /package/src/css/{aspects → props}/minHeight/index.ts +0 -0
  484. /package/src/css/{aspects → props}/minHeight/types.ts +0 -0
  485. /package/src/css/{aspects → props}/minWidth/index.ts +0 -0
  486. /package/src/css/{aspects → props}/minWidth/types.ts +0 -0
  487. /package/src/css/{aspects → props}/overflow/index.ts +0 -0
  488. /package/src/css/{aspects → props}/padding/index.ts +0 -0
  489. /package/src/css/{aspects → props}/pointerEvents/index.ts +0 -0
  490. /package/src/css/{aspects → props}/pointerEvents/types.ts +0 -0
  491. /package/src/css/{aspects → props}/position/index.ts +0 -0
  492. /package/src/css/{aspects → props}/position/types.ts +0 -0
  493. /package/src/css/{aspects → props}/radius/index.ts +0 -0
  494. /package/src/css/{aspects → props}/radius/types.ts +0 -0
  495. /package/src/css/{aspects → props}/shadow/index.ts +0 -0
  496. /package/src/css/{aspects → props}/shadow/types.ts +0 -0
  497. /package/src/css/{aspects → props}/textAlign/index.ts +0 -0
  498. /package/src/css/{aspects → props}/textAlign/types.ts +0 -0
  499. /package/src/css/{aspects → props}/textOverflow/index.ts +0 -0
  500. /package/src/css/{aspects → props}/width/index.ts +0 -0
@@ -1,863 +0,0 @@
1
- import {
2
- _parseColorToken,
3
- AVATAR_COLORS,
4
- AVATAR_SIZE,
5
- COLOR_VARIANTS,
6
- type ColorToken,
7
- CONTAINER_SCALE,
8
- FONT_CODE_SIZE,
9
- FONT_HEADING_SIZE,
10
- FONT_LABEL_SIZE,
11
- FONT_TEXT_SIZE,
12
- type Hue,
13
- HUES,
14
- RADIUS,
15
- SHADOW,
16
- SPACE,
17
- THEME_COLOR_CARD_TONES,
18
- THEME_COLOR_STATE_TONES,
19
- type Theme_v3,
20
- type ThemeBoxShadow,
21
- type ThemeColorCard_v3,
22
- type ThemeColorCardToneKey,
23
- type ThemeColorSchemeKey,
24
- type ThemeColorStateToneKey,
25
- type ThemeColorVariantKey,
26
- TINTS,
27
- } from '@sanity/ui/theme'
28
-
29
- import {_fromEntries} from '../_fromEntries'
30
- import {buildVarContract} from './lib/contract'
31
-
32
- /**
33
- * Resolve CSS theme
34
- *
35
- * @public
36
- */
37
- export function resolveTheme(options: {theme: Theme_v3}) {
38
- const {theme} = options
39
-
40
- const paletteResult = buildVarContract(
41
- {
42
- palette: {
43
- black: theme.palette.black.hex,
44
- white: theme.palette.white.hex,
45
- ..._fromEntries(
46
- HUES.map((hue) => [
47
- hue,
48
- _fromEntries(TINTS.map((tint) => [tint, theme.palette.hues[hue][tint].hex])),
49
- ]),
50
- ),
51
- },
52
- },
53
- {layer: 'palette', prefix: 's'},
54
- )
55
-
56
- const themeResult = buildVarContract(
57
- {
58
- arrow: {
59
- size: null,
60
- },
61
- avatar: {
62
- distance: null,
63
- size: null,
64
- focusRing: {
65
- offset: px(theme.avatar.focusRing.offset),
66
- width: px(theme.avatar.focusRing.width),
67
- },
68
-
69
- sizes: _fromEntries(
70
- AVATAR_SIZE.map((s) => [
71
- s,
72
- {
73
- distance: rem(theme.avatar.sizes[s].distance),
74
- size: rem(theme.avatar.sizes[s].size),
75
- },
76
- ]),
77
- ),
78
- },
79
- button: {
80
- boxShadow: null,
81
- focusRing: {
82
- offset: px(theme.button.focusRing.offset),
83
- width: px(theme.button.focusRing.width),
84
- },
85
- border: {
86
- width: px(theme.button.border.width),
87
- },
88
- },
89
- card: {
90
- shadow: {
91
- outline: px(theme.card.shadow.outline),
92
- },
93
- },
94
- color: {
95
- backdrop: null,
96
- bg: null,
97
- border: null,
98
-
99
- code: {
100
- bg: null,
101
- fg: null,
102
-
103
- token: {
104
- atrule: null,
105
- attrName: null,
106
- attrValue: null,
107
- attribute: null,
108
- boolean: null,
109
- builtin: null,
110
- cdata: null,
111
- char: null,
112
- class: null,
113
- className: null,
114
- comment: null,
115
- constant: null,
116
- deleted: null,
117
- doctype: null,
118
- entity: null,
119
- function: null,
120
- hexcode: null,
121
- id: null,
122
- important: null,
123
- inserted: null,
124
- keyword: null,
125
- number: null,
126
- operator: null,
127
- prolog: null,
128
- property: null,
129
- pseudoClass: null,
130
- pseudoElement: null,
131
- punctuation: null,
132
- regex: null,
133
- selector: null,
134
- string: null,
135
- symbol: null,
136
- tag: null,
137
- unit: null,
138
- url: null,
139
- variable: null,
140
- },
141
- },
142
-
143
- fg: null,
144
- focusRing: null,
145
-
146
- link: {
147
- fg: null,
148
- },
149
-
150
- avatar: {
151
- bg: null,
152
- fg: null,
153
-
154
- ..._fromEntries(
155
- AVATAR_COLORS.map((c) => [
156
- c,
157
- {
158
- bg: null,
159
- fg: null,
160
- },
161
- ]),
162
- ),
163
- },
164
-
165
- button: {},
166
-
167
- input: {
168
- checkbox: {
169
- bg: null,
170
- border: null,
171
- fg: null,
172
- },
173
-
174
- radio: {
175
- bg: null,
176
- border: null,
177
- fg: null,
178
- },
179
-
180
- text: {
181
- bg: null,
182
- fg: null,
183
- border: null,
184
- placeholder: null,
185
- invalid: {
186
- bg: null,
187
- border: null,
188
- fg: null,
189
- },
190
- },
191
-
192
- switch: {
193
- bg: null,
194
- fg: null,
195
- },
196
- },
197
-
198
- muted: {
199
- bg: null,
200
- fg: null,
201
- },
202
-
203
- shadow: {
204
- outline: null,
205
- umbra: null,
206
- penumbra: null,
207
- ambient: null,
208
- },
209
-
210
- skeleton: {
211
- from: null,
212
- to: null,
213
- },
214
-
215
- light: _fromEntries(
216
- THEME_COLOR_CARD_TONES.map((t) => [
217
- t,
218
- buildCardContract({
219
- theme,
220
- scheme: 'light',
221
- tone: t,
222
- }),
223
- ]),
224
- ),
225
-
226
- dark: _fromEntries(
227
- THEME_COLOR_CARD_TONES.map((t) => [
228
- t,
229
- buildCardContract({
230
- theme,
231
- scheme: 'dark',
232
- tone: t,
233
- }),
234
- ]),
235
- ),
236
-
237
- // tones
238
- ..._fromEntries(
239
- THEME_COLOR_CARD_TONES.map((t) => [
240
- t,
241
- {
242
- avatar: {
243
- ..._fromEntries(AVATAR_COLORS.map((c) => [c, {bg: null, fg: null}])),
244
- },
245
- backdrop: null,
246
- code: {
247
- bg: null,
248
- fg: null,
249
-
250
- token: {
251
- atrule: null,
252
- attrName: null,
253
- attrValue: null,
254
- attribute: null,
255
- boolean: null,
256
- builtin: null,
257
- cdata: null,
258
- char: null,
259
- class: null,
260
- className: null,
261
- comment: null,
262
- constant: null,
263
- deleted: null,
264
- doctype: null,
265
- entity: null,
266
- function: null,
267
- hexcode: null,
268
- id: null,
269
- important: null,
270
- inserted: null,
271
- keyword: null,
272
- number: null,
273
- operator: null,
274
- prolog: null,
275
- property: null,
276
- pseudoClass: null,
277
- pseudoElement: null,
278
- punctuation: null,
279
- regex: null,
280
- selector: null,
281
- string: null,
282
- symbol: null,
283
- tag: null,
284
- unit: null,
285
- url: null,
286
- variable: null,
287
- },
288
- },
289
- focusRing: null,
290
- link: {
291
- fg: null,
292
- },
293
- shadow: {
294
- outline: null,
295
- umbra: null,
296
- penumbra: null,
297
- ambient: null,
298
- },
299
- skeleton: {
300
- from: null,
301
- to: null,
302
- },
303
-
304
- ..._fromEntries(
305
- COLOR_VARIANTS.map((v) => [
306
- v,
307
- {
308
- bg: {
309
- 0: null,
310
- 1: null,
311
- 2: null,
312
- 3: null,
313
- 4: null,
314
- },
315
-
316
- fg: {
317
- 0: null,
318
- 1: null,
319
- 2: null,
320
- 3: null,
321
- 4: null,
322
- },
323
-
324
- border: {
325
- 0: null,
326
- 1: null,
327
- 2: null,
328
- 3: null,
329
- 4: null,
330
- },
331
-
332
- ..._fromEntries(
333
- THEME_COLOR_STATE_TONES.map((t) => [
334
- t,
335
- {
336
- bg: {
337
- 0: null,
338
- 1: null,
339
- 2: null,
340
- 3: null,
341
- 4: null,
342
- },
343
-
344
- fg: {
345
- 0: null,
346
- 1: null,
347
- 2: null,
348
- 3: null,
349
- 4: null,
350
- },
351
-
352
- border: {
353
- 0: null,
354
- 1: null,
355
- 2: null,
356
- 3: null,
357
- 4: null,
358
- },
359
- },
360
- ]),
361
- ),
362
- },
363
- ]),
364
- ),
365
- },
366
- ]),
367
- ),
368
-
369
- ..._fromEntries(
370
- COLOR_VARIANTS.map((v) => [
371
- v,
372
- {
373
- bg: {
374
- 0: null,
375
- 1: null,
376
- 2: null,
377
- 3: null,
378
- 4: null,
379
- },
380
-
381
- fg: {
382
- 0: null,
383
- 1: null,
384
- 2: null,
385
- 3: null,
386
- 4: null,
387
- },
388
-
389
- border: {
390
- 0: null,
391
- 1: null,
392
- 2: null,
393
- 3: null,
394
- 4: null,
395
- },
396
-
397
- ..._fromEntries(
398
- THEME_COLOR_STATE_TONES.map((t) => [
399
- t,
400
- {
401
- bg: {
402
- 0: null,
403
- 1: null,
404
- 2: null,
405
- 3: null,
406
- 4: null,
407
- },
408
-
409
- fg: {
410
- 0: null,
411
- 1: null,
412
- 2: null,
413
- 3: null,
414
- 4: null,
415
- },
416
-
417
- border: {
418
- 0: null,
419
- 1: null,
420
- 2: null,
421
- 3: null,
422
- 4: null,
423
- },
424
- },
425
- ]),
426
- ),
427
- },
428
- ]),
429
- ),
430
- },
431
- container: _fromEntries(CONTAINER_SCALE.map((c) => [c, px(theme.container[c])])),
432
- font: {
433
- family: null,
434
- fontSize: null,
435
- letterSpacing: null,
436
- lineHeight: null,
437
- ascenderHeight: null,
438
- descenderHeight: null,
439
- iconSize: null,
440
- featureSettings: null,
441
- fontWeight: null,
442
-
443
- capHeight: null,
444
- iconOffset: null,
445
- customIconSize: null,
446
- customIconOffset: null,
447
-
448
- code: {
449
- family: theme.font.code.family,
450
- featureSettings: theme.font.code.featureSettings ?? 'normal',
451
- weight: {
452
- regular: String(theme.font.code.weight.regular),
453
- medium: String(theme.font.code.weight.medium),
454
- semibold: String(theme.font.code.weight.semibold),
455
- bold: String(theme.font.code.weight.bold),
456
- },
457
- sizes: _fromEntries(
458
- FONT_CODE_SIZE.map((s) => [
459
- s,
460
- {
461
- fontSize: rem(theme.font.code.sizes[s].fontSize),
462
- lineHeight: rem(theme.font.code.sizes[s].lineHeight),
463
- letterSpacing: rem(theme.font.code.sizes[s].letterSpacing),
464
- ascenderHeight: rem(theme.font.code.sizes[s].ascenderHeight),
465
- descenderHeight: rem(theme.font.code.sizes[s].descenderHeight),
466
- iconSize: rem(theme.font.code.sizes[s].iconSize),
467
- customIconSize: rem(theme.font.code.sizes[s].customIconSize),
468
- },
469
- ]),
470
- ),
471
- },
472
-
473
- heading: {
474
- family: theme.font.heading.family,
475
- featureSettings: theme.font.heading.featureSettings ?? 'normal',
476
- weight: {
477
- regular: String(theme.font.heading.weight.regular),
478
- medium: String(theme.font.heading.weight.medium),
479
- semibold: String(theme.font.heading.weight.semibold),
480
- bold: String(theme.font.heading.weight.bold),
481
- },
482
- sizes: _fromEntries(
483
- FONT_HEADING_SIZE.map((s) => [
484
- s,
485
- {
486
- fontSize: rem(theme.font.heading.sizes[s].fontSize),
487
- lineHeight: rem(theme.font.heading.sizes[s].lineHeight),
488
- letterSpacing: rem(theme.font.heading.sizes[s].letterSpacing),
489
- ascenderHeight: rem(theme.font.heading.sizes[s].ascenderHeight),
490
- descenderHeight: rem(theme.font.heading.sizes[s].descenderHeight),
491
- iconSize: rem(theme.font.heading.sizes[s].iconSize),
492
- customIconSize: rem(theme.font.heading.sizes[s].customIconSize),
493
- },
494
- ]),
495
- ),
496
- },
497
-
498
- label: {
499
- family: theme.font.label.family,
500
- featureSettings: theme.font.label.featureSettings ?? 'normal',
501
- weight: {
502
- regular: String(theme.font.label.weight.regular),
503
- medium: String(theme.font.label.weight.medium),
504
- semibold: String(theme.font.label.weight.semibold),
505
- bold: String(theme.font.label.weight.bold),
506
- },
507
- sizes: _fromEntries(
508
- FONT_LABEL_SIZE.map((s) => [
509
- s,
510
- {
511
- fontSize: rem(theme.font.label.sizes[s].fontSize),
512
- lineHeight: rem(theme.font.label.sizes[s].lineHeight),
513
- letterSpacing: rem(theme.font.label.sizes[s].letterSpacing),
514
- ascenderHeight: rem(theme.font.label.sizes[s].ascenderHeight),
515
- descenderHeight: rem(theme.font.label.sizes[s].descenderHeight),
516
- iconSize: rem(theme.font.label.sizes[s].iconSize),
517
- customIconSize: rem(theme.font.label.sizes[s].customIconSize),
518
- },
519
- ]),
520
- ),
521
- },
522
-
523
- text: {
524
- family: theme.font.text.family,
525
- featureSettings: theme.font.text.featureSettings ?? 'normal',
526
- weight: {
527
- regular: String(theme.font.text.weight.regular),
528
- medium: String(theme.font.text.weight.medium),
529
- semibold: String(theme.font.text.weight.semibold),
530
- bold: String(theme.font.text.weight.bold),
531
- },
532
- sizes: _fromEntries(
533
- FONT_TEXT_SIZE.map((s) => [
534
- s,
535
- {
536
- fontSize: rem(theme.font.text.sizes[s].fontSize),
537
- lineHeight: rem(theme.font.text.sizes[s].lineHeight),
538
- letterSpacing: rem(theme.font.text.sizes[s].letterSpacing),
539
- ascenderHeight: rem(theme.font.text.sizes[s].ascenderHeight),
540
- descenderHeight: rem(theme.font.text.sizes[s].descenderHeight),
541
- iconSize: rem(theme.font.text.sizes[s].iconSize),
542
- customIconSize: rem(theme.font.text.sizes[s].customIconSize),
543
- },
544
- ]),
545
- ),
546
- },
547
-
548
- skeleton: {
549
- lineHeight: null,
550
- ascenderHeight: null,
551
- descenderHeight: null,
552
- },
553
-
554
- weight: {
555
- regular: null,
556
- medium: null,
557
- semibold: null,
558
- bold: null,
559
- },
560
- },
561
- input: {
562
- gap: null,
563
- descenderHeight: null,
564
- ascenderHeight: null,
565
- fontSize: null,
566
- lineHeight: null,
567
- letterSpacing: null,
568
- padding: null,
569
-
570
- border: {
571
- width: px(theme.input.border.width),
572
- },
573
-
574
- checkbox: {
575
- size: px(theme.input.checkbox.size),
576
-
577
- focusRing: {
578
- offset: px(theme.input.checkbox.focusRing.offset),
579
- width: px(theme.input.checkbox.focusRing.width),
580
- },
581
- },
582
-
583
- radio: {
584
- focusRing: {
585
- offset: px(theme.input.radio.focusRing.offset),
586
- width: px(theme.input.radio.focusRing.width),
587
- },
588
-
589
- markSize: px(theme.input.radio.markSize),
590
- size: px(theme.input.radio.size),
591
- },
592
-
593
- select: {
594
- focusRing: {
595
- offset: px(theme.input.select.focusRing.offset),
596
- width: px(theme.input.select.focusRing.width),
597
- },
598
- },
599
-
600
- text: {
601
- focusRing: {
602
- offset: px(theme.input.text.focusRing.offset),
603
- width: px(theme.input.text.focusRing.width),
604
- },
605
- },
606
-
607
- switch: {
608
- width: px(theme.input.switch.width),
609
- height: px(theme.input.switch.height),
610
-
611
- focusRing: {
612
- offset: px(theme.input.switch.focusRing.offset),
613
- width: px(theme.input.switch.focusRing.width),
614
- },
615
-
616
- padding: px(theme.input.switch.padding),
617
-
618
- thumb: {
619
- offset: null,
620
- size: null,
621
- },
622
-
623
- transitionDurationMs: `${theme.input.switch.transitionDurationMs}ms`,
624
- transitionTimingFunction: theme.input.switch.transitionTimingFunction,
625
- },
626
- },
627
- radius: _fromEntries(RADIUS.map((r) => [r, px(theme.radius[r])])),
628
- shadow: _fromEntries(
629
- SHADOW.map((s) => [
630
- s,
631
- {
632
- umbra: toBoxShadow(theme.shadow[s]?.umbra),
633
- penumbra: toBoxShadow(theme.shadow[s]?.penumbra),
634
- ambient: toBoxShadow(theme.shadow[s]?.ambient),
635
- },
636
- ]),
637
- ),
638
- space: _fromEntries(SPACE.map((s) => [s, px(theme.space[s])])),
639
- },
640
- {layer: 'theme', prefix: 's'},
641
- )
642
-
643
- return {
644
- vars: Object.freeze({
645
- ...paletteResult.vars,
646
- ...themeResult.vars,
647
- }),
648
- varNames: Object.freeze({
649
- ...paletteResult.varNames,
650
- ...themeResult.varNames,
651
- }),
652
- properties: Object.freeze({
653
- ...paletteResult.properties,
654
- ...themeResult.properties,
655
- }),
656
- }
657
-
658
- function renderColor(t: ColorToken, options: {bgValue?: string; defaultHue: Hue}) {
659
- const {bgValue = 'transparent'} = options
660
-
661
- const color = _parseColorToken(t, options)
662
-
663
- if (color.type === 'inherit') {
664
- return bgValue
665
- }
666
-
667
- let value = '#000'
668
-
669
- if (color.type === 'color') {
670
- value = paletteResult.vars.palette[color.name]
671
- }
672
-
673
- if (color.type === 'tint') {
674
- value = paletteResult.vars.palette[color.hue][color.tint]
675
- }
676
-
677
- if (color.opacity < 1) {
678
- value = `color-mix(in srgb, transparent, ${value} ${color.opacity * 100}%)`
679
- }
680
-
681
- if (color.mix < 1) {
682
- value = `color-mix(in srgb, ${bgValue}, ${value} ${color.mix * 100}%)`
683
- }
684
-
685
- return value
686
- }
687
-
688
- function buildCardContract(options: {
689
- theme: Theme_v3
690
- scheme: ThemeColorSchemeKey
691
- tone: ThemeColorCardToneKey
692
- }) {
693
- const {theme, scheme, tone} = options
694
- const card = theme.color[tone]
695
- const i = scheme === 'dark' ? 1 : 0
696
-
697
- const defaultElement = buildElementContract({
698
- card,
699
- variant: 'tinted',
700
- tone: 'default',
701
- scheme,
702
- })
703
-
704
- const bgValue = defaultElement.bg[0]
705
-
706
- const cardOptions = {bgValue, defaultHue: card._hue}
707
-
708
- return {
709
- avatar: _fromEntries(
710
- AVATAR_COLORS.map((c) => [
711
- c,
712
- {
713
- bg: renderColor(card.avatar[c].bg[i], {defaultHue: c}),
714
- fg: renderColor(card.avatar[c].fg[i], {defaultHue: c}),
715
- },
716
- ]),
717
- ),
718
- backdrop: renderColor(card.backdrop[i], cardOptions),
719
- code: {
720
- bg: renderColor(card.code.bg[i], cardOptions),
721
- fg: renderColor(card.code.fg[i], cardOptions),
722
- token: {
723
- atrule: renderColor(card.code.token.atrule[i], cardOptions),
724
- attrName: renderColor(card.code.token.attrName[i], cardOptions),
725
- attrValue: renderColor(card.code.token.attrValue[i], cardOptions),
726
- attribute: renderColor(card.code.token.attribute[i], cardOptions),
727
- boolean: renderColor(card.code.token.boolean[i], cardOptions),
728
- builtin: renderColor(card.code.token.builtin[i], cardOptions),
729
- cdata: renderColor(card.code.token.cdata[i], cardOptions),
730
- char: renderColor(card.code.token.char[i], cardOptions),
731
- class: renderColor(card.code.token.class[i], cardOptions),
732
- className: renderColor(card.code.token.className[i], cardOptions),
733
- comment: renderColor(card.code.token.comment[i], cardOptions),
734
- constant: renderColor(card.code.token.constant[i], cardOptions),
735
- deleted: renderColor(card.code.token.deleted[i], cardOptions),
736
- doctype: renderColor(card.code.token.doctype[i], cardOptions),
737
- entity: renderColor(card.code.token.entity[i], cardOptions),
738
- function: renderColor(card.code.token.function[i], cardOptions),
739
- hexcode: renderColor(card.code.token.hexcode[i], cardOptions),
740
- id: renderColor(card.code.token.id[i], cardOptions),
741
- important: renderColor(card.code.token.important[i], cardOptions),
742
- inserted: renderColor(card.code.token.inserted[i], cardOptions),
743
- keyword: renderColor(card.code.token.keyword[i], cardOptions),
744
- number: renderColor(card.code.token.number[i], cardOptions),
745
- operator: renderColor(card.code.token.operator[i], cardOptions),
746
- prolog: renderColor(card.code.token.prolog[i], cardOptions),
747
- property: renderColor(card.code.token.property[i], cardOptions),
748
- pseudoClass: renderColor(card.code.token.pseudoClass[i], cardOptions),
749
- pseudoElement: renderColor(card.code.token.pseudoElement[i], cardOptions),
750
- punctuation: renderColor(card.code.token.punctuation[i], cardOptions),
751
- regex: renderColor(card.code.token.regex[i], cardOptions),
752
- selector: renderColor(card.code.token.selector[i], cardOptions),
753
- string: renderColor(card.code.token.string[i], cardOptions),
754
- symbol: renderColor(card.code.token.symbol[i], cardOptions),
755
- tag: renderColor(card.code.token.tag[i], cardOptions),
756
- unit: renderColor(card.code.token.unit[i], cardOptions),
757
- url: renderColor(card.code.token.url[i], cardOptions),
758
- variable: renderColor(card.code.token.variable[i], cardOptions),
759
- },
760
- },
761
- focusRing: renderColor(card.focusRing[i], cardOptions),
762
- link: {
763
- fg: renderColor(card.link.fg[i], cardOptions),
764
- },
765
- shadow: {
766
- outline: renderColor(card.shadow.outline[i], cardOptions),
767
- umbra: renderColor(card.shadow.umbra[i], cardOptions),
768
- penumbra: renderColor(card.shadow.penumbra[i], cardOptions),
769
- ambient: renderColor(card.shadow.ambient[i], cardOptions),
770
- },
771
- skeleton: {
772
- from: renderColor(card.skeleton.from[i], cardOptions),
773
- to: renderColor(card.skeleton.to[i], cardOptions),
774
- },
775
-
776
- ..._fromEntries(
777
- COLOR_VARIANTS.map((v) => [
778
- v,
779
- _fromEntries(
780
- THEME_COLOR_STATE_TONES.map((e) => [
781
- e,
782
- v === 'tinted' && e === 'default'
783
- ? defaultElement
784
- : buildElementContract({
785
- card,
786
- variant: v,
787
- tone: e,
788
- scheme,
789
- bgValue,
790
- }),
791
- ]),
792
- ),
793
- ]),
794
- ),
795
- } as const
796
- }
797
-
798
- function buildElementContract(options: {
799
- bgValue?: string
800
- card: ThemeColorCard_v3
801
- variant: ThemeColorVariantKey
802
- tone: ThemeColorStateToneKey
803
- scheme: ThemeColorSchemeKey
804
- }) {
805
- const {bgValue, card, variant: v, tone: e, scheme} = options
806
- const element = card.variant[v][e]
807
- const elementOptions = {bgValue, defaultHue: element._hue}
808
- const i = scheme === 'dark' ? 1 : 0
809
-
810
- const bg = {
811
- 0: renderColor(element.bg[0][i], elementOptions),
812
- 4: renderColor(element.bg[4][i], elementOptions),
813
- }
814
-
815
- const border = {
816
- 0: renderColor(element.border[0][i], elementOptions),
817
- 4: renderColor(element.border[4][i], elementOptions),
818
- }
819
-
820
- const fg = {
821
- 0: renderColor(element.fg[0][i], elementOptions),
822
- 4: renderColor(element.fg[4][i], elementOptions),
823
- }
824
-
825
- return {
826
- bg: {
827
- 0: bg[0],
828
- 1: `color-mix(in srgb, ${bg[0]}, ${bg[4]} 25%)`,
829
- 2: `color-mix(in srgb, ${bg[0]}, ${bg[4]} 50%)`,
830
- 3: `color-mix(in srgb, ${bg[0]}, ${bg[4]} 75%)`,
831
- 4: bg[4],
832
- },
833
- border: {
834
- 0: border[0],
835
- 1: `color-mix(in srgb, ${border[0]}, ${border[4]} 25%)`,
836
- 2: `color-mix(in srgb, ${border[0]}, ${border[4]} 50%)`,
837
- 3: `color-mix(in srgb, ${border[0]}, ${border[4]} 75%)`,
838
- 4: border[4],
839
- },
840
- fg: {
841
- 0: fg[0],
842
- 1: `color-mix(in srgb, ${fg[0]}, ${fg[4]} 25%)`,
843
- 2: `color-mix(in srgb, ${fg[0]}, ${fg[4]} 50%)`,
844
- 3: `color-mix(in srgb, ${fg[0]}, ${fg[4]} 75%)`,
845
- 4: fg[4],
846
- },
847
- }
848
- }
849
- }
850
-
851
- function px(value: number): string {
852
- return `${value}px`
853
- }
854
-
855
- function rem(value: number): string {
856
- return `${value / 16}rem`
857
- }
858
-
859
- function toBoxShadow(value: ThemeBoxShadow | undefined): string {
860
- if (!value) return 'none'
861
-
862
- return value.map((n) => px(n)).join(' ')
863
- }