@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
@@ -0,0 +1,468 @@
1
+ import {black, hues, white} from '@sanity/color'
2
+ import {
3
+ _parseColorToken,
4
+ AVATAR_COLORS,
5
+ AVATAR_SIZE,
6
+ buildTheme_v3,
7
+ COLOR_VARIANTS,
8
+ type ColorValue,
9
+ CONTAINER_SCALE,
10
+ FONT_CODE_SIZE,
11
+ FONT_HEADING_SIZE,
12
+ FONT_LABEL_SIZE,
13
+ FONT_TEXT_SIZE,
14
+ type Hue,
15
+ HUES,
16
+ RADIUS,
17
+ SHADOW,
18
+ SPACE,
19
+ THEME_COLOR_CARD_TONES,
20
+ THEME_COLOR_STATE_TONES,
21
+ type ThemeColorCard_v3,
22
+ type ThemeColorCardToneKey,
23
+ type ThemeColorSchemeKey,
24
+ type ThemeColorStateToneKey,
25
+ type ThemeColorVariantKey,
26
+ TINTS,
27
+ } from '@sanity/ui/theme'
28
+ import {createTheme} from '@vanilla-extract/css'
29
+
30
+ import {_fromEntries} from './_fromEntries'
31
+ import {layers} from './layers.css'
32
+ import type {CSSTheme, CSSThemeColorCard} from './types'
33
+ import {px, toBoxShadow} from './util'
34
+ import {paletteVars, themeVars} from './vars.css'
35
+
36
+ const theme = buildTheme_v3()
37
+
38
+ const themeValue: CSSTheme = {
39
+ '@layer': layers.theme,
40
+ 'avatar': {
41
+ focusRing: {
42
+ offset: px(theme.avatar.focusRing.offset),
43
+ width: px(theme.avatar.focusRing.width),
44
+ },
45
+ scale: {
46
+ ..._fromEntries(
47
+ AVATAR_SIZE.map((s) => [
48
+ s,
49
+ {
50
+ distance: px(theme.avatar.sizes[s].distance),
51
+ size: px(theme.avatar.sizes[s].size),
52
+ },
53
+ ]),
54
+ ),
55
+ },
56
+ },
57
+ 'button': {
58
+ border: {
59
+ width: px(theme.button.border.width),
60
+ },
61
+ focusRing: {
62
+ offset: px(theme.button.focusRing.offset),
63
+ width: px(theme.button.focusRing.width),
64
+ },
65
+ },
66
+ 'card': {
67
+ shadow: {
68
+ outline: px(theme.card.shadow.outline),
69
+ },
70
+ },
71
+ 'container': {
72
+ ..._fromEntries(CONTAINER_SCALE.map((s) => [s, rem(theme.container[s])])),
73
+ },
74
+ 'color': {
75
+ palette: {
76
+ black: black.hex,
77
+ white: white.hex,
78
+ ..._fromEntries(
79
+ HUES.map((h) => [h, {..._fromEntries(TINTS.map((t) => [t, hues[h][t].hex]))}]),
80
+ ),
81
+ },
82
+
83
+ light: renderColorScheme({scheme: 'light'}),
84
+ dark: renderColorScheme({scheme: 'dark'}),
85
+ },
86
+ 'font': {
87
+ code: {
88
+ family: theme.font.code.family,
89
+ featureSettings: theme.font.code.featureSettings || 'normal',
90
+ weight: {
91
+ regular: theme.font.code.weight.regular.toString(),
92
+ medium: theme.font.code.weight.medium.toString(),
93
+ semibold: theme.font.code.weight.semibold.toString(),
94
+ bold: theme.font.code.weight.bold.toString(),
95
+ },
96
+ scale: {
97
+ ..._fromEntries(
98
+ FONT_CODE_SIZE.map((s) => [
99
+ s,
100
+ {
101
+ fontSize: rem(theme.font.code.scale[s].fontSize),
102
+ lineHeight: rem(theme.font.code.scale[s].lineHeight),
103
+ letterSpacing: rem(theme.font.code.scale[s].letterSpacing),
104
+ ascenderHeight: rem(theme.font.code.scale[s].ascenderHeight),
105
+ descenderHeight: rem(theme.font.code.scale[s].descenderHeight),
106
+ iconSize: rem(theme.font.code.scale[s].iconSize),
107
+ customIconSize: rem(theme.font.code.scale[s].customIconSize),
108
+ },
109
+ ]),
110
+ ),
111
+ },
112
+ },
113
+
114
+ heading: {
115
+ family: theme.font.heading.family,
116
+ featureSettings: theme.font.heading.featureSettings || 'normal',
117
+ weight: {
118
+ regular: theme.font.heading.weight.regular.toString(),
119
+ medium: theme.font.heading.weight.medium.toString(),
120
+ semibold: theme.font.heading.weight.semibold.toString(),
121
+ bold: theme.font.heading.weight.bold.toString(),
122
+ },
123
+ scale: {
124
+ ..._fromEntries(
125
+ FONT_HEADING_SIZE.map((s) => [
126
+ s,
127
+ {
128
+ fontSize: rem(theme.font.heading.scale[s].fontSize),
129
+ lineHeight: rem(theme.font.heading.scale[s].lineHeight),
130
+ letterSpacing: rem(theme.font.heading.scale[s].letterSpacing),
131
+ ascenderHeight: rem(theme.font.heading.scale[s].ascenderHeight),
132
+ descenderHeight: rem(theme.font.heading.scale[s].descenderHeight),
133
+ iconSize: rem(theme.font.heading.scale[s].iconSize),
134
+ customIconSize: rem(theme.font.heading.scale[s].customIconSize),
135
+ },
136
+ ]),
137
+ ),
138
+ },
139
+ },
140
+
141
+ label: {
142
+ family: theme.font.label.family,
143
+ featureSettings: theme.font.label.featureSettings || 'normal',
144
+ weight: {
145
+ regular: theme.font.label.weight.regular.toString(),
146
+ medium: theme.font.label.weight.medium.toString(),
147
+ semibold: theme.font.label.weight.semibold.toString(),
148
+ bold: theme.font.label.weight.bold.toString(),
149
+ },
150
+ scale: {
151
+ ..._fromEntries(
152
+ FONT_LABEL_SIZE.map((s) => [
153
+ s,
154
+ {
155
+ fontSize: rem(theme.font.label.scale[s].fontSize),
156
+ lineHeight: rem(theme.font.label.scale[s].lineHeight),
157
+ letterSpacing: rem(theme.font.label.scale[s].letterSpacing),
158
+ ascenderHeight: rem(theme.font.label.scale[s].ascenderHeight),
159
+ descenderHeight: rem(theme.font.label.scale[s].descenderHeight),
160
+ iconSize: rem(theme.font.label.scale[s].iconSize),
161
+ customIconSize: rem(theme.font.label.scale[s].customIconSize),
162
+ },
163
+ ]),
164
+ ),
165
+ },
166
+ },
167
+
168
+ text: {
169
+ family: theme.font.text.family,
170
+ featureSettings: theme.font.text.featureSettings || 'normal',
171
+ weight: {
172
+ regular: theme.font.text.weight.regular.toString(),
173
+ medium: theme.font.text.weight.medium.toString(),
174
+ semibold: theme.font.text.weight.semibold.toString(),
175
+ bold: theme.font.text.weight.bold.toString(),
176
+ },
177
+ scale: {
178
+ ..._fromEntries(
179
+ FONT_TEXT_SIZE.map((s) => [
180
+ s,
181
+ {
182
+ fontSize: rem(theme.font.text.scale[s].fontSize),
183
+ lineHeight: rem(theme.font.text.scale[s].lineHeight),
184
+ letterSpacing: rem(theme.font.text.scale[s].letterSpacing),
185
+ ascenderHeight: rem(theme.font.text.scale[s].ascenderHeight),
186
+ descenderHeight: rem(theme.font.text.scale[s].descenderHeight),
187
+ iconSize: rem(theme.font.text.scale[s].iconSize),
188
+ customIconSize: rem(theme.font.text.scale[s].customIconSize),
189
+ },
190
+ ]),
191
+ ),
192
+ },
193
+ },
194
+ },
195
+ 'input': {
196
+ border: {
197
+ width: px(theme.input.border.width),
198
+ },
199
+ checkbox: {
200
+ size: rem(theme.input.checkbox.size),
201
+ focusRing: {
202
+ offset: px(theme.input.checkbox.focusRing.offset),
203
+ width: px(theme.input.checkbox.focusRing.width),
204
+ },
205
+ },
206
+ radio: {
207
+ size: rem(theme.input.radio.size),
208
+ markSize: rem(theme.input.radio.markSize),
209
+ focusRing: {
210
+ offset: px(theme.input.radio.focusRing.offset),
211
+ width: px(theme.input.radio.focusRing.width),
212
+ },
213
+ },
214
+ select: {
215
+ focusRing: {
216
+ offset: px(theme.input.select.focusRing.offset),
217
+ width: px(theme.input.select.focusRing.width),
218
+ },
219
+ },
220
+ switch: {
221
+ width: rem(theme.input.switch.width),
222
+ height: rem(theme.input.switch.height),
223
+ focusRing: {
224
+ offset: px(theme.input.switch.focusRing.offset),
225
+ width: px(theme.input.switch.focusRing.width),
226
+ },
227
+ padding: rem(theme.input.switch.padding),
228
+ transitionDurationMs: `${theme.input.switch.transitionDurationMs}ms`,
229
+ transitionTimingFunction: theme.input.switch.transitionTimingFunction,
230
+ },
231
+ text: {
232
+ focusRing: {
233
+ offset: px(theme.input.text.focusRing.offset),
234
+ width: px(theme.input.text.focusRing.width),
235
+ },
236
+ },
237
+ },
238
+
239
+ 'radius': _fromEntries(RADIUS.map((key) => [key, `${theme.radius[key]}px`])),
240
+
241
+ 'shadow': _fromEntries(
242
+ SHADOW.map((s) => [
243
+ s,
244
+ {
245
+ umbra: toBoxShadow(theme.shadow[s]?.umbra),
246
+ penumbra: toBoxShadow(theme.shadow[s]?.penumbra),
247
+ ambient: toBoxShadow(theme.shadow[s]?.ambient),
248
+ },
249
+ ]),
250
+ ),
251
+
252
+ 'space': _fromEntries(SPACE.map((key) => [key, `${theme.space[key]}px`])),
253
+ } as const
254
+
255
+ /** @public */
256
+ export const defaultTheme = createTheme(themeVars, themeValue)
257
+
258
+ function renderColorScheme(options: {scheme: ThemeColorSchemeKey}) {
259
+ const {scheme} = options
260
+
261
+ const defaultCardColor = renderCardColor({
262
+ tone: 'default',
263
+ scheme,
264
+ })
265
+
266
+ return {
267
+ ..._fromEntries(
268
+ THEME_COLOR_CARD_TONES.map((key) => {
269
+ if (key === 'default') {
270
+ return [key, defaultCardColor]
271
+ }
272
+
273
+ return [
274
+ key,
275
+ renderCardColor({
276
+ bgValue: defaultCardColor.tinted.default.bg[0],
277
+ tone: key,
278
+ scheme,
279
+ }),
280
+ ]
281
+ }),
282
+ ),
283
+ }
284
+ }
285
+
286
+ function renderCardColor(options: {
287
+ bgValue?: string
288
+ tone: ThemeColorCardToneKey
289
+ scheme: 'light' | 'dark'
290
+ }): CSSThemeColorCard {
291
+ const {bgValue, tone: t, scheme} = options
292
+
293
+ const tokens = theme.color[t]
294
+
295
+ const tintedDefaultVariant = renderColorVariant(tokens, {
296
+ bgValue,
297
+ variant: 'tinted',
298
+ scheme,
299
+ tone: 'default',
300
+ })
301
+
302
+ const colorOptions = {
303
+ bgValue: tintedDefaultVariant.bg[0],
304
+ defaultHue: tokens._hue ?? 'gray',
305
+ scheme,
306
+ } as const
307
+
308
+ const variants = {
309
+ ..._fromEntries(
310
+ COLOR_VARIANTS.map((v) => [
311
+ v,
312
+ {
313
+ ..._fromEntries(
314
+ THEME_COLOR_STATE_TONES.map((t) => {
315
+ if (v === 'tinted' && t === 'default') {
316
+ return [t, tintedDefaultVariant]
317
+ }
318
+
319
+ return [t, renderColorVariant(tokens, {scheme, variant: v, tone: t})]
320
+ }),
321
+ ),
322
+ },
323
+ ]),
324
+ ),
325
+ }
326
+
327
+ return {
328
+ avatar: {
329
+ ..._fromEntries(
330
+ AVATAR_COLORS.map((c) => [
331
+ c,
332
+ {
333
+ bg: renderColor(tokens.avatar[c].bg, {...colorOptions, defaultHue: c}),
334
+ fg: renderColor(tokens.avatar[c].fg, {...colorOptions, defaultHue: c}),
335
+ },
336
+ ]),
337
+ ),
338
+ },
339
+ backdrop: renderColor(tokens.backdrop, colorOptions),
340
+ code: {
341
+ bg: renderColor(tokens.code.bg, colorOptions),
342
+ fg: renderColor(tokens.code.fg, colorOptions),
343
+
344
+ token: {
345
+ atrule: renderColor(tokens.code.token.atrule, colorOptions),
346
+ attrName: renderColor(tokens.code.token.attrName, colorOptions),
347
+ attrValue: renderColor(tokens.code.token.attrValue, colorOptions),
348
+ attribute: renderColor(tokens.code.token.attribute, colorOptions),
349
+ boolean: renderColor(tokens.code.token.boolean, colorOptions),
350
+ builtin: renderColor(tokens.code.token.builtin, colorOptions),
351
+ cdata: renderColor(tokens.code.token.cdata, colorOptions),
352
+ char: renderColor(tokens.code.token.char, colorOptions),
353
+ class: renderColor(tokens.code.token.class, colorOptions),
354
+ className: renderColor(tokens.code.token.className, colorOptions),
355
+ comment: renderColor(tokens.code.token.comment, colorOptions),
356
+ constant: renderColor(tokens.code.token.constant, colorOptions),
357
+ deleted: renderColor(tokens.code.token.deleted, colorOptions),
358
+ doctype: renderColor(tokens.code.token.doctype, colorOptions),
359
+ entity: renderColor(tokens.code.token.entity, colorOptions),
360
+ function: renderColor(tokens.code.token.function, colorOptions),
361
+ hexcode: renderColor(tokens.code.token.hexcode, colorOptions),
362
+ id: renderColor(tokens.code.token.id, colorOptions),
363
+ important: renderColor(tokens.code.token.important, colorOptions),
364
+ inserted: renderColor(tokens.code.token.inserted, colorOptions),
365
+ keyword: renderColor(tokens.code.token.keyword, colorOptions),
366
+ number: renderColor(tokens.code.token.number, colorOptions),
367
+ operator: renderColor(tokens.code.token.operator, colorOptions),
368
+ prolog: renderColor(tokens.code.token.prolog, colorOptions),
369
+ property: renderColor(tokens.code.token.property, colorOptions),
370
+ pseudoClass: renderColor(tokens.code.token.pseudoClass, colorOptions),
371
+ pseudoElement: renderColor(tokens.code.token.pseudoElement, colorOptions),
372
+ punctuation: renderColor(tokens.code.token.punctuation, colorOptions),
373
+ regex: renderColor(tokens.code.token.regex, colorOptions),
374
+ selector: renderColor(tokens.code.token.selector, colorOptions),
375
+ string: renderColor(tokens.code.token.string, colorOptions),
376
+ symbol: renderColor(tokens.code.token.symbol, colorOptions),
377
+ tag: renderColor(tokens.code.token.tag, colorOptions),
378
+ unit: renderColor(tokens.code.token.unit, colorOptions),
379
+ url: renderColor(tokens.code.token.url, colorOptions),
380
+ variable: renderColor(tokens.code.token.variable, colorOptions),
381
+ },
382
+ },
383
+
384
+ focusRing: renderColor(tokens.focusRing, colorOptions),
385
+ link: {
386
+ fg: renderColor(tokens.link.fg, colorOptions),
387
+ },
388
+ shadow: {
389
+ outline: renderColor(tokens.shadow.outline, colorOptions),
390
+ umbra: renderColor(tokens.shadow.umbra, colorOptions),
391
+ penumbra: renderColor(tokens.shadow.penumbra, colorOptions),
392
+ ambient: renderColor(tokens.shadow.ambient, colorOptions),
393
+ },
394
+
395
+ skeleton: {
396
+ from: renderColor(tokens.skeleton.from, colorOptions),
397
+ to: renderColor(tokens.skeleton.to, colorOptions),
398
+ },
399
+
400
+ ...variants,
401
+ }
402
+ }
403
+
404
+ function renderColorVariant(
405
+ tokens: ThemeColorCard_v3,
406
+ options: {
407
+ bgValue?: string
408
+ scheme: ThemeColorSchemeKey
409
+ variant: ThemeColorVariantKey
410
+ tone: ThemeColorStateToneKey
411
+ },
412
+ ) {
413
+ const {bgValue, scheme, variant: v, tone: t} = options
414
+
415
+ const elementColorOptions = {bgValue, defaultHue: tokens.variant[v][t]._hue, scheme}
416
+
417
+ return {
418
+ bg: {
419
+ 0: renderColor(tokens.variant[v][t].bg[0], elementColorOptions),
420
+ 4: renderColor(tokens.variant[v][t].bg[4], elementColorOptions),
421
+ },
422
+ border: {
423
+ 0: renderColor(tokens.variant[v][t].border[0], elementColorOptions),
424
+ 4: renderColor(tokens.variant[v][t].border[4], elementColorOptions),
425
+ },
426
+ fg: {
427
+ 0: renderColor(tokens.variant[v][t].fg[0], elementColorOptions),
428
+ 4: renderColor(tokens.variant[v][t].fg[4], elementColorOptions),
429
+ },
430
+ }
431
+ }
432
+
433
+ function renderColor(
434
+ value: ColorValue,
435
+ context: {bgValue?: string; defaultHue: Hue; scheme: 'light' | 'dark'},
436
+ ) {
437
+ const {bgValue = 'transparent', defaultHue, scheme} = context
438
+
439
+ const expr = _parseColorToken(value[scheme === 'light' ? 0 : 1], {defaultHue})
440
+
441
+ if (expr.type === 'inherit') {
442
+ return bgValue
443
+ }
444
+
445
+ let v = bgValue
446
+
447
+ if (expr.type === 'color') {
448
+ v = paletteVars[expr.name]
449
+ }
450
+
451
+ if (expr.type === 'tint') {
452
+ v = paletteVars[expr.hue][expr.tint]
453
+ }
454
+
455
+ if (expr.mix < 1) {
456
+ v = `color-mix(in srgb, ${bgValue}, ${v} ${expr.mix * 100}%)`
457
+ }
458
+
459
+ if (expr.opacity < 1) {
460
+ v = `color-mix(in srgb, transparent, ${v} ${expr.opacity * 100}%)`
461
+ }
462
+
463
+ return v
464
+ }
465
+
466
+ function rem(value: number) {
467
+ return `${value / 16}rem`
468
+ }
package/src/css/index.ts CHANGED
@@ -1,40 +1,14 @@
1
- export * from './_compileSystem'
2
- export * from './_compileTheme'
3
- export * from './_composeClassNames'
4
- export * from './_scopeClassName'
5
- export * from './aspects'
6
- export * from './components/breadcrumbs'
7
- export * from './components/dialog'
8
- export * from './components/menu'
9
- export * from './components/skeleton'
10
- export * from './components/toast'
11
- export * from './components/tree'
1
+ /* eslint-disable */
2
+
3
+ export * from './layers.css'
4
+ export * from './vars.css'
5
+ export * from './props'
6
+ export * from './utils'
7
+ export * from './primitives'
8
+ export * from './components'
9
+
10
+ export * from './defaultTheme.css'
11
+
12
12
  export * from './constants'
13
- export * from './primitives/_arrow'
14
- export * from './primitives/_input'
15
- export * from './primitives/_selectable'
16
- export * from './primitives/avatar'
17
- export * from './primitives/badge'
18
- export * from './primitives/box'
19
- export * from './primitives/button'
20
- export * from './primitives/card'
21
- export * from './primitives/checkbox'
22
- export * from './primitives/code'
23
- export * from './primitives/container'
24
- export * from './primitives/heading'
25
- export * from './primitives/kbd'
26
- export * from './primitives/label'
27
- export * from './primitives/popover'
28
- export * from './primitives/radio'
29
- export * from './primitives/select'
30
- export * from './primitives/spinner'
31
- export * from './primitives/stack'
32
- export * from './primitives/switch'
33
- export * from './primitives/text'
34
- export * from './primitives/textArea'
35
- export * from './primitives/textInput'
36
- export * from './primitives/tooltip'
37
- export * from './theme'
38
13
  export * from './types'
39
14
  export * from './util'
40
- export * from './utils/srOnly'
@@ -0,0 +1,9 @@
1
+ import {layer} from '@vanilla-extract/css'
2
+
3
+ /** @public */
4
+ export const layers = {
5
+ theme: layer('theme'),
6
+ utils: layer('utils'),
7
+ primitives: layer('primitives'),
8
+ components: layer('components'),
9
+ }
@@ -0,0 +1,68 @@
1
+ import {_style} from '../../_style.css'
2
+ import {layers} from '../../layers.css'
3
+ import {vars} from '../../vars.css'
4
+
5
+ export const root = _style(layers.primitives, {
6
+ position: 'absolute',
7
+ width: vars.arrow.size,
8
+ height: vars.arrow.size,
9
+
10
+ selectors: {
11
+ ':empty + &': {
12
+ display: 'none',
13
+ },
14
+
15
+ '[data-placement^="top"] &': {
16
+ bottom: `calc(0px - ${vars.arrow.size})`,
17
+ },
18
+
19
+ '[data-placement^="right"] &': {
20
+ left: `calc(0px - ${vars.arrow.size})`,
21
+ },
22
+
23
+ '[data-placement^="left"] &': {
24
+ right: `calc(0px - ${vars.arrow.size})`,
25
+ },
26
+
27
+ '[data-placement^="bottom"] &': {
28
+ top: `calc(0px - ${vars.arrow.size})`,
29
+ },
30
+ },
31
+ })
32
+
33
+ export const svg = _style(layers.primitives, {
34
+ display: 'block',
35
+ transformOrigin: `calc(${vars.arrow.size} / 2) calc(${vars.arrow.size} / 2)`,
36
+
37
+ selectors: {
38
+ '[data-placement^="top"] &': {
39
+ transform: 'rotate(0deg)',
40
+ },
41
+
42
+ '[data-placement^="right"] &': {
43
+ transform: 'rotate(90deg)',
44
+ },
45
+
46
+ '[data-placement^="left"] &': {
47
+ transform: 'rotate(-90deg)',
48
+ },
49
+
50
+ '[data-placement^="bottom"] &': {
51
+ transform: 'rotate(180deg)',
52
+ },
53
+ },
54
+ })
55
+
56
+ export const strokeMask = _style(layers.primitives, {
57
+ // @ts-expect-error `y` is not a valid property in 'csstype'
58
+ y: vars.shadow.outline,
59
+ })
60
+
61
+ export const stroke = _style(layers.primitives, {
62
+ stroke: vars.color.shadow.outline,
63
+ strokeWidth: `calc(${vars.card.shadow.outline} * 2)`,
64
+ })
65
+
66
+ export const fill = _style(layers.primitives, {
67
+ fill: vars.color.bg,
68
+ })
@@ -1,21 +1,26 @@
1
- import {_scopeClassNames} from '../../_scopeClassNames'
1
+ import {fill, root, stroke, strokeMask, svg} from './_arrow.css'
2
2
 
3
3
  /** @internal */
4
4
  export function _arrow(): string | undefined {
5
- return _scopeClassNames('arrow')
5
+ return root
6
+ }
7
+
8
+ /** @internal */
9
+ export function _arrowSvg(): string | undefined {
10
+ return svg
6
11
  }
7
12
 
8
13
  /** @internal */
9
14
  export function _arrowStroke(): string | undefined {
10
- return _scopeClassNames('arrow-stroke')
15
+ return stroke
11
16
  }
12
17
 
13
18
  /** @internal */
14
19
  export function _arrowStrokeMask(): string | undefined {
15
- return _scopeClassNames('arrow-stroke-mask')
20
+ return strokeMask
16
21
  }
17
22
 
18
23
  /** @internal */
19
24
  export function _arrowShape(): string | undefined {
20
- return _scopeClassNames('arrow-shape')
25
+ return fill
21
26
  }