@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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/ui",
3
- "version": "3.0.0-static.20",
3
+ "version": "3.0.0-static.21",
4
4
  "keywords": [
5
5
  "react",
6
6
  "ui",
@@ -48,8 +48,6 @@
48
48
  "require": "./dist/theme.cjs",
49
49
  "default": "./dist/theme.js"
50
50
  },
51
- "./ui-theme.css": "./dist/ui-theme.css",
52
- "./ui-system.css": "./dist/ui-system.css",
53
51
  "./ui.css": "./dist/ui.css"
54
52
  },
55
53
  "main": "./dist/index.cjs",
@@ -86,7 +84,7 @@
86
84
  "prettier --write --cache --ignore-unknown"
87
85
  ]
88
86
  },
89
- "prettier": "@sanity/prettier-config",
87
+ "browserslist": "extends @sanity/browserslist-config",
90
88
  "release": {
91
89
  "branches": [
92
90
  "+([0-9])?(.{+([0-9]),x}).x",
@@ -108,13 +106,11 @@
108
106
  "@juggle/resize-observer": "^3.4.0",
109
107
  "@sanity/color": "^3.0.6",
110
108
  "@sanity/icons": "^3.7.0",
111
- "cssnano": "^7.0.7",
109
+ "@vanilla-extract/css": "^1.17.2",
110
+ "@vanilla-extract/dynamic": "^2.1.3",
112
111
  "csstype": "^3.1.3",
113
112
  "framer-motion": "^12.9.7",
114
113
  "gzip-size": "^7.0.0",
115
- "postcss": "^8.5.3",
116
- "prettier": "^3.5.3",
117
- "pretty-bytes": "^7.0.0",
118
114
  "react-compiler-runtime": "19.1.0-rc.2",
119
115
  "react-refractor": "^2.2.0",
120
116
  "use-effect-event": "^1.0.2"
@@ -127,8 +123,10 @@
127
123
  "@commitlint/cli": "^19.8.0",
128
124
  "@commitlint/config-conventional": "^19.8.0",
129
125
  "@eslint/js": "^9.26.0",
126
+ "@sanity/browserslist-config": "^1.0.5",
130
127
  "@sanity/pkg-utils": "^7.2.2",
131
128
  "@sanity/prettier-config": "^1.0.3",
129
+ "@sanity/semantic-release-preset": "^5.0.0",
132
130
  "@sanity/ui-workshop": "^2.1.2",
133
131
  "@storybook/addon-a11y": "^8.6.12",
134
132
  "@storybook/addon-docs": "^8.6.12",
@@ -153,8 +151,10 @@
153
151
  "@types/react-dom": "^19.1.3",
154
152
  "@types/react-is": "^19.0.0",
155
153
  "@types/refractor": "^3.4.1",
154
+ "@vanilla-extract/rollup-plugin": "^1.3.15",
156
155
  "@vitejs/plugin-react": "^4.4.1",
157
156
  "@vitest/browser": "^3.1.4",
157
+ "autoprefixer": "^10.4.21",
158
158
  "babel-plugin-react-compiler": "19.1.0-rc.2",
159
159
  "cac": "^6.7.14",
160
160
  "commitizen": "^4.3.1",
@@ -178,7 +178,12 @@
178
178
  "http-server": "^14.1.1",
179
179
  "husky": "^8.0.3",
180
180
  "lint-staged": "^14.0.1",
181
- "npm-run-all2": "^5.0.2",
181
+ "mkdirp": "^3.0.1",
182
+ "npm-run-all2": "^8.0.4",
183
+ "postcss": "^8.5.3",
184
+ "postcss-merge-at-rules": "^1.2.0",
185
+ "postcss-preset-env": "^10.2.0",
186
+ "prettier": "^3.5.3",
182
187
  "react": "^19.1.0",
183
188
  "react-dom": "^19.1.0",
184
189
  "react-is": "^19.1.0",
@@ -212,9 +217,9 @@
212
217
  "bundle": false
213
218
  },
214
219
  "scripts": {
215
- "build": "run-s clean css:build pkg:build pkg:check figma:pkg:build",
220
+ "build": "run-s clean pkg:build pkg:check",
216
221
  "clean": "rimraf dist",
217
- "css:build": "node -r esbuild-register scripts/build",
222
+ "_css:build": "node -r esbuild-register scripts/build",
218
223
  "commit": "cz",
219
224
  "cypress:dev": "run-p dev cypress:open",
220
225
  "cypress:open": "cypress open",
@@ -223,7 +228,7 @@
223
228
  "figma:pkg:build": "cd figma && pnpm build",
224
229
  "format": "prettier --write --cache --ignore-unknown .",
225
230
  "lint": "eslint .",
226
- "pkg:build": "pkg build --strict",
231
+ "pkg:build": "mkdirp dist && touch dist/ui.css && pkg build --strict",
227
232
  "pkg:check": "pkg --strict",
228
233
  "release": "semantic-release",
229
234
  "storybook:build": "storybook build",
@@ -1,100 +1,10 @@
1
1
  /* eslint-disable no-console */
2
2
 
3
- import {_compileSystem, _compileTheme} from '@sanity/ui/css'
4
- import cssnano from 'cssnano'
5
- import fs from 'fs/promises'
6
- import {gzipSizeSync} from 'gzip-size'
7
3
  import path from 'path'
8
- import postcss from 'postcss'
9
- import {format, resolveConfig} from 'prettier'
10
- import prettyBytes from 'pretty-bytes'
11
4
 
12
5
  export async function buildCommand(options: {cwd?: string; outDir?: string}): Promise<void> {
13
6
  const cwd = options.cwd ?? process.cwd()
14
7
  const outDir = options.outDir ?? path.resolve(cwd, 'dist')
15
8
 
16
- await buildTheme({cwd, outDir})
17
- await buildSystem({cwd, outDir})
18
- await buildAll({cwd, outDir})
19
- }
20
-
21
- // @sanity/ui/ui-theme.css
22
- async function buildTheme(options: {cwd: string; outDir: string}) {
23
- const {cwd, outDir} = options
24
- const css = await prettify(_compileTheme())
25
- const minified = await minify(css)
26
- const prettified = await prettify(css)
27
-
28
- const cssFile = path.resolve(outDir, 'ui-theme.css')
29
- const minCssFile = path.resolve(outDir, 'ui-theme.min.css')
30
-
31
- await fs.mkdir(outDir, {recursive: true})
32
- await fs.writeFile(cssFile, prettified, 'utf-8')
33
- await fs.writeFile(minCssFile, minified.css, 'utf-8')
34
-
35
- console.log(`- built ${path.relative(cwd, cssFile)} (${prettySize(prettified)})`)
36
- console.log(`- built ${path.relative(cwd, minCssFile)} (${prettySize(minified.css)})`)
37
- }
38
-
39
- // @sanity/ui/ui-system.css
40
- async function buildSystem(options: {cwd: string; outDir: string}) {
41
- const {cwd, outDir} = options
42
- const css = await prettify(_compileSystem())
43
- const minified = await minify(css)
44
- const prettified = await prettify(css)
45
-
46
- const cssFile = path.resolve(outDir, 'ui-system.css')
47
- const minCssFile = path.resolve(outDir, 'ui-system.min.css')
48
-
49
- await fs.mkdir(outDir, {recursive: true})
50
- await fs.writeFile(cssFile, prettified, 'utf-8')
51
- await fs.writeFile(minCssFile, minified.css, 'utf-8')
52
-
53
- console.log(`- built ${path.relative(cwd, cssFile)} (${prettySize(prettified)})`)
54
- console.log(`- built ${path.relative(cwd, minCssFile)} (${prettySize(minified.css)})`)
55
- }
56
-
57
- // @sanity/ui/ui.css
58
- async function buildAll(options: {cwd: string; outDir: string}) {
59
- const {cwd, outDir} = options
60
- const css = await prettify(
61
- [
62
- `/* @sanity/ui/ui-theme.css */\n`,
63
- _compileTheme(),
64
- `\n\n/* @sanity/ui/ui-system.css */\n`,
65
- _compileSystem(),
66
- `\n`,
67
- ].join(''),
68
- )
69
-
70
- const minified = await minify(css)
71
- const prettified = await prettify(css)
72
-
73
- const cssFile = path.resolve(outDir, 'ui.css')
74
- const minCssFile = path.resolve(outDir, 'ui.min.css')
75
-
76
- await fs.mkdir(outDir, {recursive: true})
77
- await fs.writeFile(cssFile, prettified, 'utf-8')
78
- await fs.writeFile(minCssFile, minified.css, 'utf-8')
79
-
80
- console.log(`- built ${path.relative(cwd, cssFile)} (${prettySize(prettified)})`)
81
- console.log(`- built ${path.relative(cwd, minCssFile)} (${prettySize(minified.css)})`)
82
- }
83
-
84
- async function minify(css: string) {
85
- return postcss([cssnano()]).process(css, {from: undefined})
86
- }
87
-
88
- async function prettify(css: string) {
89
- const options = await resolveConfig(__dirname)
90
-
91
- if (!options) {
92
- throw new Error('Prettier config not found')
93
- }
94
-
95
- return format(css, {...options, filepath: 'index.css', printWidth: 9999})
96
- }
97
-
98
- function prettySize(str: string) {
99
- return `${prettyBytes(str.length)} / ${prettyBytes(gzipSizeSync(str))}`
9
+ console.log('TODO: buildCommand', {cwd, outDir})
100
10
  }
@@ -22,5 +22,3 @@ export function ThemeColorProvider(props: ThemeColorProviderProps): ReactElement
22
22
  </ThemeProvider>
23
23
  )
24
24
  }
25
-
26
- ThemeColorProvider.displayName = 'ThemeColorProvider'
@@ -66,5 +66,3 @@ export function ThemeProvider(props: ThemeProviderProps): ReactElement {
66
66
  </CardProvider>
67
67
  )
68
68
  }
69
-
70
- ThemeProvider.displayName = 'ThemeProvider'
@@ -20,7 +20,7 @@ import {
20
20
 
21
21
  import {EMPTY_ARRAY, EMPTY_RECORD} from '../../constants'
22
22
  import {_hasFocus, _raf, focusFirstDescendant} from '../../helpers'
23
- import {useArrayProp} from '../../hooks'
23
+ import {useResponsiveProp} from '../../hooks'
24
24
  import {
25
25
  Box,
26
26
  type BoxProps,
@@ -196,7 +196,7 @@ export function Autocomplete<
196
196
 
197
197
  const listBoxId = `${id}-listbox`
198
198
  const options = Array.isArray(optionsProp) ? optionsProp : EMPTY_ARRAY
199
- const padding = useArrayProp(paddingProp)
199
+ const padding = useResponsiveProp(paddingProp)
200
200
  const currentOption = useMemo(
201
201
  () => (value !== null ? options.find((o) => o.value === value) : undefined),
202
202
  [options, value],
@@ -452,20 +452,22 @@ export function Autocomplete<
452
452
  return undefined
453
453
  }, [disabled, handleClearButtonFocus, loading, value])
454
454
 
455
- const openButtonBoxPadding = useMemo(
456
- () =>
457
- padding.map((v) => {
458
- if (v === 0) return 0
459
- if (v === 1) return 1
460
- if (v === 2) return 1
455
+ const openButtonBoxPadding = useMemo(() => {
456
+ const result = Object.fromEntries(
457
+ Object.entries(padding).map(([key, value]) => {
458
+ if (value === 0) return [key, 0]
459
+ if (value === 1) return [key, 1]
460
+ if (value === 2) return [key, 1]
461
461
 
462
- return (v as Space) - 2
463
- }) as Space[],
464
- [padding],
465
- )
462
+ return [key, (value as Space) - 2]
463
+ }),
464
+ ) as ResponsiveProp<Space>
465
+
466
+ return result
467
+ }, [padding])
466
468
 
467
469
  const openButtonPadding = useMemo(
468
- () => padding.map((v) => Math.max((v as Space) - 1, 0)) as Space[],
470
+ () => Object.values(padding).map((v) => Math.max((v as Space) - 1, 0)) as ResponsiveProp<Space>,
469
471
  [padding],
470
472
  )
471
473
 
@@ -690,5 +692,3 @@ export function Autocomplete<
690
692
  </div>
691
693
  )
692
694
  }
693
-
694
- Autocomplete.displayName = 'Autocomplete'
@@ -43,5 +43,3 @@ export function AutocompleteOption(props: AutocompleteOptionProps): ReactElement
43
43
  </li>
44
44
  )
45
45
  }
46
-
47
- AutocompleteOption.displayName = 'AutocompleteOption'
@@ -1,4 +1,4 @@
1
- import {_composeClassNames, breadcrumbs, type GapStyleProps} from '@sanity/ui/css'
1
+ import {breadcrumbs, type GapStyleProps} from '@sanity/ui/css'
2
2
  import type {Space} from '@sanity/ui/theme'
3
3
  import {
4
4
  Children,
@@ -112,7 +112,7 @@ export function Breadcrumbs<E extends BreadcrumbsElementType = typeof DEFAULT_BR
112
112
  as={as}
113
113
  data-ui="Breadcrumbs"
114
114
  {...rest}
115
- className={_composeClassNames(className, breadcrumbs())}
115
+ className={breadcrumbs({className})}
116
116
  gapX={gapX}
117
117
  gapY={gapY}
118
118
  >
@@ -129,5 +129,3 @@ export function Breadcrumbs<E extends BreadcrumbsElementType = typeof DEFAULT_BR
129
129
  </Flex>
130
130
  )
131
131
  }
132
-
133
- Breadcrumbs.displayName = 'Breadcrumbs'
@@ -1,5 +1,4 @@
1
1
  import {
2
- _composeClassNames,
3
2
  type ContainerStyleProps,
4
3
  dialog,
5
4
  dialogContainer,
@@ -10,7 +9,7 @@ import {type FocusEvent, type ForwardedRef, type ReactNode, useCallback, useRef}
10
9
 
11
10
  import {Z_OFFSETS} from '../../constants'
12
11
  import {focusFirstDescendant, focusLastDescendant, isHTMLElement} from '../../helpers'
13
- import {useArrayProp, usePrefersReducedMotion} from '../../hooks'
12
+ import {usePrefersReducedMotion, useResponsiveProp} from '../../hooks'
14
13
  import {Container} from '../../primitives'
15
14
  import type {CardTone, ComponentType, DialogPosition, Props, Radius} from '../../types'
16
15
  import {
@@ -57,7 +56,7 @@ export type DialogOwnProps = ContainerStyleProps &
57
56
  onClose?: () => void
58
57
  open?: boolean
59
58
  portal?: string
60
- position?: DialogPosition | DialogPosition[]
59
+ position?: ResponsiveProp<DialogPosition>
61
60
  scheme?: ThemeColorSchemeKey
62
61
  tone?: CardTone
63
62
  zOffset?: number | number[]
@@ -111,10 +110,9 @@ export function Dialog<E extends DialogElementType = typeof DEFAULT_DIALOG_ELEME
111
110
  const portal = usePortal()
112
111
  const portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element
113
112
  const boundaryElement = useBoundaryElement().element
114
- const cardRadius = useArrayProp(cardRadiusProp)
115
- const position = useArrayProp(positionProp)
116
- // const width = useArrayProp(widthProp)
117
- const zOffset = useArrayProp(zOffsetProp)
113
+ const cardRadius = useResponsiveProp(cardRadiusProp)
114
+ const position = useResponsiveProp(positionProp)
115
+ const zOffset = useResponsiveProp(zOffsetProp)
118
116
  const preDivRef = useRef<HTMLDivElement | null>(null)
119
117
  const postDivRef = useRef<HTMLDivElement | null>(null)
120
118
  const cardRef = useRef<HTMLDivElement | null>(null)
@@ -183,7 +181,7 @@ export function Dialog<E extends DialogElementType = typeof DEFAULT_DIALOG_ELEME
183
181
  {...rest}
184
182
  aria-labelledby={labelId}
185
183
  aria-modal
186
- className={_composeClassNames(className, dialog())}
184
+ className={dialog({className})}
187
185
  data-animate={animate ? '' : undefined}
188
186
  data-ui="Dialog"
189
187
  display="flex"
@@ -199,12 +197,12 @@ export function Dialog<E extends DialogElementType = typeof DEFAULT_DIALOG_ELEME
199
197
  {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}
200
198
  <div ref={preDivRef} tabIndex={0} />
201
199
  <Container
202
- align="center"
200
+ alignItems="center"
203
201
  className={dialogContainer()}
204
202
  data-ui="DialogCard"
205
- direction="column"
203
+ flexDirection="column"
206
204
  display="flex"
207
- justify="center"
205
+ justifyContent="center"
208
206
  width={width}
209
207
  >
210
208
  <DialogCard
@@ -233,5 +231,3 @@ export function Dialog<E extends DialogElementType = typeof DEFAULT_DIALOG_ELEME
233
231
  </Portal>
234
232
  )
235
233
  }
236
-
237
- Dialog.displayName = 'Dialog'
@@ -1,11 +1,5 @@
1
1
  import {CloseIcon} from '@sanity/icons'
2
- import {
3
- dialogCardRoot,
4
- dialogContent,
5
- dialogFooter,
6
- dialogHeader,
7
- dialogLayout,
8
- } from '@sanity/ui/css'
2
+ import {dialogCard, dialogContent, dialogFooter, dialogHeader, dialogLayout} from '@sanity/ui/css'
9
3
  import {
10
4
  type ForwardedRef,
11
5
  type ReactNode,
@@ -148,7 +142,7 @@ export function DialogCard<E extends DialogCardElementType = typeof DEFAULT_DIAL
148
142
  )
149
143
 
150
144
  return (
151
- <Card {...rest} as={as} className={dialogCardRoot()} display="flex" ref={ref}>
145
+ <Card {...rest} as={as} className={dialogCard()} display="flex" ref={ref}>
152
146
  <Flex className={dialogLayout()} direction="column" flex={1}>
153
147
  {showHeader && (
154
148
  <Box className={dialogHeader()} position="relative">
@@ -194,5 +188,3 @@ export function DialogCard<E extends DialogCardElementType = typeof DEFAULT_DIAL
194
188
  </Card>
195
189
  )
196
190
  }
197
-
198
- DialogCard.displayName = 'DialogCard'
@@ -1,3 +1,5 @@
1
+ import type {ResponsiveProp} from '@sanity/ui/css'
2
+
1
3
  import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'
2
4
  import type {DialogPosition} from '../../types'
3
5
 
@@ -7,8 +9,8 @@ import type {DialogPosition} from '../../types'
7
9
  */
8
10
  export interface DialogContextValue {
9
11
  version: 0.0
10
- position?: DialogPosition | DialogPosition[]
11
- zOffset?: number | number[]
12
+ position?: ResponsiveProp<DialogPosition>
13
+ zOffset?: ResponsiveProp<number>
12
14
  }
13
15
 
14
16
  /**
@@ -1,3 +1,4 @@
1
+ import type {ResponsiveProp} from '@sanity/ui/css'
1
2
  import {type ReactElement, type ReactNode, useMemo} from 'react'
2
3
 
3
4
  import type {DialogPosition} from '../../types'
@@ -9,8 +10,8 @@ import {DialogContext, type DialogContextValue} from './dialogContext'
9
10
  */
10
11
  export interface DialogProviderProps {
11
12
  children?: ReactNode
12
- position?: DialogPosition | DialogPosition[]
13
- zOffset?: number | number[]
13
+ position?: ResponsiveProp<DialogPosition>
14
+ zOffset?: ResponsiveProp<number>
14
15
  }
15
16
 
16
17
  /**
@@ -31,5 +32,3 @@ export function DialogProvider(props: DialogProviderProps): ReactElement {
31
32
 
32
33
  return <DialogContext.Provider value={contextValue}>{children}</DialogContext.Provider>
33
34
  }
34
-
35
- DialogProvider.displayName = 'DialogProvider'
@@ -68,5 +68,3 @@ export function Hotkeys<E extends HotkeysElementType = typeof DEFAULT_HOTKEYS_EL
68
68
  </Box>
69
69
  )
70
70
  }
71
-
72
- Hotkeys.displayName = 'Hotkeys'
@@ -1,4 +1,4 @@
1
- import {_composeClassNames, menu, type PaddingStyleProps, type ResponsiveProp} from '@sanity/ui/css'
1
+ import {menu, type PaddingStyleProps, type ResponsiveProp} from '@sanity/ui/css'
2
2
  import type {Space} from '@sanity/ui/theme'
3
3
  import {useCallback, useEffect, useImperativeHandle, useMemo, useRef} from 'react'
4
4
 
@@ -176,7 +176,7 @@ export function Menu<E extends MenuElementType = typeof DEFAULT_MENU_ELEMENT>(pr
176
176
  data-ui="Menu"
177
177
  {...rest}
178
178
  as={as}
179
- className={_composeClassNames(className, menu())}
179
+ className={menu({className})}
180
180
  onKeyDown={handleKeyDown}
181
181
  overflow="auto"
182
182
  outline="none"
@@ -190,5 +190,3 @@ export function Menu<E extends MenuElementType = typeof DEFAULT_MENU_ELEMENT>(pr
190
190
  </MenuContext.Provider>
191
191
  )
192
192
  }
193
-
194
- Menu.displayName = 'Menu'
@@ -267,5 +267,3 @@ export function MenuButton(props: MenuButtonProps) {
267
267
  </Popover>
268
268
  )
269
269
  }
270
-
271
- MenuButton.displayName = 'MenuButton'
@@ -1,4 +1,4 @@
1
- import {_composeClassNames, menuDivider} from '@sanity/ui/css'
1
+ import {menuDivider} from '@sanity/ui/css'
2
2
 
3
3
  import type {ComponentType, Props} from '../../types'
4
4
 
@@ -28,7 +28,5 @@ export function MenuDivider<E extends MenuDividerElementType = typeof DEFAULT_ME
28
28
  ...rest
29
29
  } = props as MenuDividerProps<typeof DEFAULT_MENU_DIVIDER_ELEMENT>
30
30
 
31
- return <Element {...rest} className={_composeClassNames(className, menuDivider())} />
31
+ return <Element {...rest} className={menuDivider({className})} />
32
32
  }
33
-
34
- MenuDivider.displayName = 'MenuDivider'
@@ -232,5 +232,3 @@ export function MenuGroup<E extends MenuGroupElementType = typeof DEFAULT_MENU_G
232
232
  </Popover>
233
233
  )
234
234
  }
235
-
236
- MenuGroup.displayName = 'MenuGroup'
@@ -4,7 +4,7 @@ import type {
4
4
  RadiusStyleProps,
5
5
  ResponsiveProp,
6
6
  } from '@sanity/ui/css'
7
- import type {Space, ThemeColorStateToneKey} from '@sanity/ui/theme'
7
+ import type {FontTextSize, Space, ThemeColorStateToneKey} from '@sanity/ui/theme'
8
8
  import {
9
9
  type ElementType,
10
10
  isValidElement,
@@ -33,7 +33,7 @@ export type MenuItemOwnProps = GapStyleProps &
33
33
  PaddingStyleProps &
34
34
  RadiusStyleProps & {
35
35
  disabled?: boolean
36
- fontSize?: number | number[]
36
+ fontSize?: ResponsiveProp<FontTextSize>
37
37
  hotkeys?: string[]
38
38
  icon?: ElementType | ReactNode
39
39
  iconRight?: ElementType | ReactNode
@@ -190,5 +190,3 @@ export function MenuItem<E extends MenuItemElementType = typeof DEFAULT_MENU_ITE
190
190
  </Selectable>
191
191
  )
192
192
  }
193
-
194
- MenuItem.displayName = 'MenuItem'
@@ -1,10 +1,10 @@
1
- import {_composeClassNames, codeSkeleton, type ResponsiveProp} from '@sanity/ui/css'
1
+ import {codeSkeleton, type ResponsiveProp} from '@sanity/ui/css'
2
2
  import type {FontCodeSize} from '@sanity/ui/theme'
3
3
 
4
4
  import type {Props} from '../../types'
5
5
  import {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './skeleton'
6
6
 
7
- /** @public */
7
+ /** @beta */
8
8
  export const DEFAULT_CODE_SKELETON_ELEMENT = 'div'
9
9
 
10
10
  /** @beta */
@@ -12,7 +12,7 @@ export type CodeSkeletonOwnProps = SkeletonOwnProps & {
12
12
  size?: ResponsiveProp<FontCodeSize>
13
13
  }
14
14
 
15
- /** @public */
15
+ /** @beta */
16
16
  export type CodeSkeletonElementType = SkeletonElementType
17
17
 
18
18
  /**
@@ -40,14 +40,10 @@ export function CodeSkeleton<
40
40
  return (
41
41
  <Skeleton
42
42
  {...rest}
43
- className={_composeClassNames(
43
+ className={codeSkeleton({
44
44
  className,
45
- codeSkeleton({
46
- size,
47
- }),
48
- )}
45
+ size,
46
+ })}
49
47
  />
50
48
  )
51
49
  }
52
-
53
- CodeSkeleton.displayName = 'CodeSkeleton'
@@ -1,10 +1,10 @@
1
- import {_composeClassNames, headingSkeleton, type ResponsiveProp} from '@sanity/ui/css'
1
+ import {headingSkeleton, type ResponsiveProp} from '@sanity/ui/css'
2
2
  import type {FontHeadingSize} from '@sanity/ui/theme'
3
3
 
4
4
  import type {Props} from '../../types'
5
5
  import {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './skeleton'
6
6
 
7
- /** @public */
7
+ /** @beta */
8
8
  export const DEFAULT_HEADING_SKELETON_ELEMENT = 'div'
9
9
 
10
10
  /** @beta */
@@ -12,7 +12,7 @@ export type HeadingSkeletonOwnProps = SkeletonOwnProps & {
12
12
  size?: ResponsiveProp<FontHeadingSize>
13
13
  }
14
14
 
15
- /** @public */
15
+ /** @beta */
16
16
  export type HeadingSkeletonElementType = SkeletonElementType
17
17
 
18
18
  /**
@@ -39,14 +39,10 @@ export function HeadingSkeleton<
39
39
  return (
40
40
  <Skeleton
41
41
  {...rest}
42
- className={_composeClassNames(
42
+ className={headingSkeleton({
43
43
  className,
44
- headingSkeleton({
45
- size,
46
- }),
47
- )}
44
+ size,
45
+ })}
48
46
  />
49
47
  )
50
48
  }
51
-
52
- HeadingSkeleton.displayName = 'HeadingSkeleton'
@@ -1,10 +1,10 @@
1
- import {_composeClassNames, labelSkeleton, type ResponsiveProp} from '@sanity/ui/css'
1
+ import {labelSkeleton, type ResponsiveProp} from '@sanity/ui/css'
2
2
  import type {FontLabelSize} from '@sanity/ui/theme'
3
3
 
4
4
  import type {Props} from '../../types'
5
5
  import {Skeleton, type SkeletonElementType, type SkeletonOwnProps} from './skeleton'
6
6
 
7
- /** @public */
7
+ /** @beta */
8
8
  export const DEFAULT_LABEL_SKELETON_ELEMENT = 'div'
9
9
 
10
10
  /** @beta */
@@ -12,7 +12,7 @@ export type LabelSkeletonOwnProps = SkeletonOwnProps & {
12
12
  size?: ResponsiveProp<FontLabelSize>
13
13
  }
14
14
 
15
- /** @public */
15
+ /** @beta */
16
16
  export type LabelSkeletonElementType = SkeletonElementType
17
17
 
18
18
  /**
@@ -38,14 +38,10 @@ export function LabelSkeleton<
38
38
  return (
39
39
  <Skeleton
40
40
  {...rest}
41
- className={_composeClassNames(
41
+ className={labelSkeleton({
42
42
  className,
43
- labelSkeleton({
44
- size,
45
- }),
46
- )}
43
+ size,
44
+ })}
47
45
  />
48
46
  )
49
47
  }
50
-
51
- LabelSkeleton.displayName = 'LabelSkeleton'
@@ -1,4 +1,4 @@
1
- import {_composeClassNames, skeleton, type SkeletonStyleProps} from '@sanity/ui/css'
1
+ import {skeleton, type SkeletonStyleProps} from '@sanity/ui/css'
2
2
  import {useEffect, useState} from 'react'
3
3
 
4
4
  import {Box, type BoxOwnProps} from '../../primitives'
@@ -61,16 +61,12 @@ export function Skeleton<E extends SkeletonElementType = typeof DEFAULT_SKELETON
61
61
  <Box
62
62
  data-ui="Skeleton"
63
63
  {...rest}
64
- className={_composeClassNames(
64
+ className={skeleton({
65
65
  className,
66
- skeleton({
67
- radius,
68
- }),
69
- )}
66
+ radius,
67
+ })}
70
68
  data-animated={animated ? '' : undefined}
71
69
  data-visible={visible ? '' : undefined}
72
70
  />
73
71
  )
74
72
  }
75
-
76
- Skeleton.displayName = 'Skeleton'