@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
@@ -9,6 +9,7 @@ import {
9
9
  shift,
10
10
  useFloating,
11
11
  } from '@floating-ui/react-dom'
12
+ import {type MaxWidth, popover as popoverCss, type ResponsiveProp} from '@sanity/ui/css'
12
13
  import {AnimatePresence} from 'framer-motion'
13
14
  import {
14
15
  cloneElement,
@@ -24,7 +25,7 @@ import {
24
25
  } from 'react'
25
26
 
26
27
  import {Z_OFFSETS} from '../../constants'
27
- import {useArrayProp, usePrefersReducedMotion} from '../../hooks'
28
+ import {usePrefersReducedMotion, useResponsiveProp} from '../../hooks'
28
29
  import {origin} from '../../middleware/origin'
29
30
  import type {ComponentType, Placement, PopoverMargins, Props} from '../../types'
30
31
  import {type LayerOwnProps, Portal, useBoundaryElement, useLayer} from '../../utils'
@@ -43,7 +44,7 @@ import type {PopoverUpdateCallback} from './types'
43
44
  export const DEFAULT_POPOVER_ELEMENT = 'div'
44
45
 
45
46
  /** @public */
46
- export type PopoverOwnProps = LayerOwnProps & {
47
+ export type PopoverOwnProps = Omit<LayerOwnProps, 'maxWidth'> & {
47
48
  /** @beta */
48
49
  __unstable_margins?: PopoverMargins
49
50
  /**
@@ -102,6 +103,7 @@ export type PopoverOwnProps = LayerOwnProps & {
102
103
  referenceElement?: HTMLElement | null
103
104
  /** @beta */
104
105
  updateRef?: Ref<PopoverUpdateCallback | undefined>
106
+ width?: ResponsiveProp<MaxWidth>
105
107
  }
106
108
 
107
109
  /** @public */
@@ -147,6 +149,7 @@ export function Popover<E extends PopoverElementType = typeof DEFAULT_POPOVER_EL
147
149
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
148
150
  boundaryElement = boundaryElementContext.element,
149
151
  children: childProp,
152
+ className,
150
153
  constrainSize = false,
151
154
  content,
152
155
  disabled,
@@ -180,7 +183,7 @@ export function Popover<E extends PopoverElementType = typeof DEFAULT_POPOVER_EL
180
183
 
181
184
  const prefersReducedMotion = usePrefersReducedMotion()
182
185
  const animate = prefersReducedMotion ? false : _animate
183
- const zOffset = useArrayProp(zOffsetProp)
186
+ const zOffset = useResponsiveProp(zOffsetProp)
184
187
  const ref = useRef<HTMLDivElement | null>(null)
185
188
  const arrowRef = useRef<HTMLDivElement | null>(null)
186
189
  const rootBoundary: RootBoundary = 'viewport'
@@ -352,9 +355,9 @@ export function Popover<E extends PopoverElementType = typeof DEFAULT_POPOVER_EL
352
355
  return childProp || <></>
353
356
  }
354
357
 
355
- const popover = (
358
+ const node = (
356
359
  <>
357
- {/* Optional transparent blocking overlay at the top-most z-index layer. Must be positioned
360
+ {/* Optional transparent blocking overlay at the top-most z-index layer. Must be positioned
358
361
  before the below popover card. */}
359
362
  {modal && <ViewportOverlay />}
360
363
 
@@ -367,6 +370,7 @@ export function Popover<E extends PopoverElementType = typeof DEFAULT_POPOVER_EL
367
370
  arrowX={arrowX}
368
371
  arrowY={arrowY}
369
372
  as={as}
373
+ className={popoverCss({className})}
370
374
  hidden={referenceHidden}
371
375
  maxWidth={widthProp}
372
376
  overflow={overflow}
@@ -396,11 +400,11 @@ export function Popover<E extends PopoverElementType = typeof DEFAULT_POPOVER_EL
396
400
  tone={tone === 'inherit' ? (card?.tone ?? 'default') : tone}
397
401
  scheme={scheme ?? 'light'}
398
402
  >
399
- {popover}
403
+ {node}
400
404
  </CardProvider>
401
405
  </Portal>
402
406
  ) : (
403
- popover
407
+ node
404
408
  ))
405
409
 
406
410
  return (
@@ -414,8 +418,6 @@ export function Popover<E extends PopoverElementType = typeof DEFAULT_POPOVER_EL
414
418
  )
415
419
  }
416
420
 
417
- Popover.displayName = 'Popover'
418
-
419
421
  // Before React 19 accessing `element.props.ref` will throw a warning and suggest using `element.ref`
420
422
  // After React 19 accessing `element.ref` does the opposite.
421
423
  // https://github.com/facebook/react/pull/28348
@@ -107,7 +107,7 @@ export function PopoverLayer(props: PopoverLayerProps) {
107
107
  as={motion.div}
108
108
  data-context-tone={tone}
109
109
  data-placement={placement}
110
- direction="column"
110
+ flexDirection="column"
111
111
  display="flex"
112
112
  position={strategy}
113
113
  radius={radius}
@@ -145,5 +145,3 @@ export function PopoverLayer(props: PopoverLayerProps) {
145
145
  </Layer>
146
146
  )
147
147
  }
148
-
149
- PopoverLayer.displayName = 'PopoverCard'
@@ -1,4 +1,4 @@
1
- import {_composeClassNames, radio} from '@sanity/ui/css'
1
+ import {radio, radioInput, radioPresentation} from '@sanity/ui/css'
2
2
  import {useImperativeHandle, useRef} from 'react'
3
3
 
4
4
  import {useCustomValidity} from '../../hooks'
@@ -47,9 +47,10 @@ export function Radio<E extends RadioElementType = typeof DEFAULT_RADIO_ELEMENT>
47
47
  useCustomValidity(ref, customValidity)
48
48
 
49
49
  return (
50
- <div className={_composeClassNames(className, radio())} data-ui="Radio" style={style}>
50
+ <div className={radio({className})} data-ui="Radio" style={style}>
51
51
  <Element
52
52
  {...rest}
53
+ className={radioInput()}
53
54
  data-invalid={customValidity ? '' : undefined}
54
55
  data-read-only={!disabled && readOnly ? '' : undefined}
55
56
  disabled={disabled || readOnly}
@@ -57,9 +58,7 @@ export function Radio<E extends RadioElementType = typeof DEFAULT_RADIO_ELEMENT>
57
58
  ref={ref}
58
59
  type="radio"
59
60
  />
60
- <span />
61
+ <span className={radioPresentation()} />
61
62
  </div>
62
63
  )
63
64
  }
64
-
65
- Radio.displayName = 'Radio'
@@ -83,5 +83,3 @@ export function Select<E extends SelectElementType = typeof DEFAULT_SELECT_ELEME
83
83
  </div>
84
84
  )
85
85
  }
86
-
87
- Select.displayName = 'Select'
@@ -1,18 +1,14 @@
1
1
  import {SpinnerIcon} from '@sanity/icons'
2
- import {_composeClassNames, animatedSpinnerIcon} from '@sanity/ui/css'
2
+ import {animatedSpinnerIcon} from '@sanity/ui/css'
3
3
  import type {ReactElement, SVGProps} from 'react'
4
4
 
5
5
  /** @internal */
6
- export function AnimatedSpinnerIcon(props: SVGProps<SVGSVGElement>): ReactElement {
7
- const {className, ...rest} = props
6
+ export function AnimatedSpinnerIcon(
7
+ props: Omit<SVGProps<SVGSVGElement>, 'className'>,
8
+ ): ReactElement {
9
+ const {...rest} = props
8
10
 
9
11
  return (
10
- <SpinnerIcon
11
- {...rest}
12
- data-sanity-icon="animated-spinner"
13
- className={_composeClassNames(className, animatedSpinnerIcon())}
14
- />
12
+ <SpinnerIcon data-sanity-icon="animated-spinner" {...rest} className={animatedSpinnerIcon()} />
15
13
  )
16
14
  }
17
-
18
- AnimatedSpinnerIcon.displayName = 'AnimatedSpinnerIcon'
@@ -31,15 +31,15 @@ export type SpinnerProps<E extends SpinnerElementType = SpinnerElementType> = Pr
31
31
  export function Spinner<E extends SpinnerElementType = typeof DEFAULT_SPINNER_ELEMENT>(
32
32
  props: SpinnerProps<E>,
33
33
  ) {
34
- const {as = DEFAULT_SPINNER_ELEMENT, ...rest} = props as SpinnerProps<
35
- typeof DEFAULT_SPINNER_ELEMENT
36
- >
34
+ const {
35
+ as = DEFAULT_SPINNER_ELEMENT,
36
+ className,
37
+ ...rest
38
+ } = props as SpinnerProps<typeof DEFAULT_SPINNER_ELEMENT>
37
39
 
38
40
  return (
39
- <Text as={as} data-ui="Spinner" {...rest} className={spinner()}>
41
+ <Text as={as} data-ui="Spinner" {...rest} className={spinner({className})}>
40
42
  <AnimatedSpinnerIcon />
41
43
  </Text>
42
44
  )
43
45
  }
44
-
45
- Spinner.displayName = 'Spinner'
@@ -1,4 +1,4 @@
1
- import {_composeClassNames, type ResponsiveProp, stack} from '@sanity/ui/css'
1
+ import {type ResponsiveProp, stack} from '@sanity/ui/css'
2
2
  import type {Space} from '@sanity/ui/theme'
3
3
 
4
4
  import type {Props} from '../../types'
@@ -10,7 +10,19 @@ export const DEFAULT_STACK_ELEMENT = 'div'
10
10
  /** @public */
11
11
  export type StackOwnProps = Omit<
12
12
  BoxOwnProps,
13
- 'align' | 'columns' | 'direction' | 'display' | 'gapX' | 'gapY' | 'justify'
13
+ | 'align'
14
+ | 'alignItems'
15
+ | 'columns'
16
+ | 'gridTemplateColumns'
17
+ | 'direction'
18
+ | 'display'
19
+ | 'flexDirection'
20
+ | 'gapX'
21
+ | 'gapY'
22
+ | 'justify'
23
+ | 'justifyContent'
24
+ | 'rows'
25
+ | 'gridTemplateRows'
14
26
  > & {
15
27
  /** @deprecated Use `gap` instead. */
16
28
  space?: ResponsiveProp<Space>
@@ -43,12 +55,10 @@ export function Stack<E extends StackElementType = typeof DEFAULT_STACK_ELEMENT>
43
55
  data-ui="Stack"
44
56
  {...rest}
45
57
  as={as}
46
- autoRows="min"
47
- className={_composeClassNames(className, stack())}
58
+ gridAutoRows="min"
59
+ className={stack({className})}
48
60
  display="grid"
49
61
  gap={gap ?? space}
50
62
  />
51
63
  )
52
64
  }
53
-
54
- Stack.displayName = 'Stack'
@@ -1,5 +1,4 @@
1
1
  import {
2
- _composeClassNames,
3
2
  _switch,
4
3
  _switchElement,
5
4
  _switchPresentation,
@@ -63,7 +62,7 @@ export function Switch<E extends SwitchElementType = typeof DEFAULT_SWITCH_ELEME
63
62
 
64
63
  return (
65
64
  <Box
66
- className={_composeClassNames(className, _switch())}
65
+ className={_switch({className})}
67
66
  data-checked={checked ? '' : undefined}
68
67
  data-indeterminate={indeterminate ? '' : undefined}
69
68
  data-ui="Switch"
@@ -88,5 +87,3 @@ export function Switch<E extends SwitchElementType = typeof DEFAULT_SWITCH_ELEME
88
87
  </Box>
89
88
  )
90
89
  }
91
-
92
- Switch.displayName = 'Switch'
@@ -1,10 +1,4 @@
1
- import {
2
- _composeClassNames,
3
- text,
4
- textOverflow,
5
- type TextOverflowStyleProps,
6
- type TextStyleProps,
7
- } from '@sanity/ui/css'
1
+ import {text, textOverflow, type TextOverflowStyleProps, type TextStyleProps} from '@sanity/ui/css'
8
2
 
9
3
  import type {ComponentType, Props} from '../../types'
10
4
 
@@ -56,17 +50,15 @@ export function Text<E extends TextElementType = typeof DEFAULT_TEXT_ELEMENT>(pr
56
50
  <Element
57
51
  data-ui="Text"
58
52
  {...rest}
59
- className={_composeClassNames(
53
+ className={text({
60
54
  className,
61
- text({
62
- accent,
63
- align,
64
- flex,
65
- muted,
66
- size,
67
- weight,
68
- }),
69
- )}
55
+ accent,
56
+ align,
57
+ flex,
58
+ muted,
59
+ size,
60
+ weight,
61
+ })}
70
62
  >
71
63
  <span
72
64
  className={textOverflow({
@@ -78,5 +70,3 @@ export function Text<E extends TextElementType = typeof DEFAULT_TEXT_ELEMENT>(pr
78
70
  </Element>
79
71
  )
80
72
  }
81
-
82
- Text.displayName = 'Text'
@@ -94,5 +94,3 @@ export function TextArea<E extends TextAreaElementType = typeof DEFAULT_TEXT_ARE
94
94
  </span>
95
95
  )
96
96
  }
97
-
98
- TextArea.displayName = 'TextArea'
@@ -1,6 +1,5 @@
1
1
  import {CloseIcon} from '@sanity/icons'
2
2
  import {
3
- _composeClassNames,
4
3
  _inputElement,
5
4
  _inputPresentation,
6
5
  type InputStyleProps,
@@ -12,7 +11,6 @@ import {
12
11
  } from '@sanity/ui/css'
13
12
  import type {Space, ThemeFontWeightKey} from '@sanity/ui/theme'
14
13
  import {
15
- type CSSProperties,
16
14
  type ElementType,
17
15
  isValidElement,
18
16
  type MouseEvent,
@@ -25,7 +23,7 @@ import {
25
23
  import {isValidElementType} from 'react-is'
26
24
 
27
25
  import {EMPTY_RECORD} from '../../constants'
28
- import {useArrayProp, useCustomValidity} from '../../hooks'
26
+ import {useCustomValidity, useResponsiveProp} from '../../hooks'
29
27
  import {isRecord} from '../../lib/isRecord'
30
28
  import type {ComponentType, Props} from '../../types'
31
29
  import {Box} from '../box'
@@ -74,13 +72,6 @@ export type TextInputProps<E extends TextInputElementType = TextInputElementType
74
72
  E
75
73
  >
76
74
 
77
- const CLEAR_BUTTON_BOX_STYLE: CSSProperties = {
78
- backgroundColor: 'transparent',
79
- top: 0,
80
- right: 0,
81
- zIndex: 2,
82
- }
83
-
84
75
  /**
85
76
  * Single line text input.
86
77
  *
@@ -117,7 +108,7 @@ export function TextInput<E extends TextInputElementType = typeof DEFAULT_TEXT_I
117
108
 
118
109
  const ref = useRef<HTMLInputElement | null>(null)
119
110
 
120
- const paddingArray = useArrayProp(padding)
111
+ const responsivePadding = useResponsiveProp(padding)
121
112
 
122
113
  const withClearButton = Boolean(clearButton)
123
114
 
@@ -147,29 +138,29 @@ export function TextInput<E extends TextInputElementType = typeof DEFAULT_TEXT_I
147
138
  [onClear, ref],
148
139
  )
149
140
 
150
- const clearButtonBoxPadding = useMemo(
151
- () =>
152
- paddingArray.map((v) => {
153
- if (v === 0) return 0
154
- if (v === 1) return 1
155
- if (v === 2) return 1
141
+ const clearButtonBoxPadding = useMemo(() => {
142
+ return Object.fromEntries(
143
+ Object.entries(responsivePadding).map(([key, value]) => {
144
+ if (value === 0) return [key, 0]
145
+ if (value === 1) return [key, 1]
146
+ if (value === 2) return [key, 1]
156
147
 
157
- return typeof v === 'number' ? v - 2 : 0
158
- }) as Space[],
159
- [paddingArray],
160
- )
148
+ return [key, typeof value === 'number' ? value - 2 : 0]
149
+ }),
150
+ ) as ResponsiveProp<Space>
151
+ }, [responsivePadding])
161
152
 
162
- const clearButtonPadding = useMemo(
163
- () =>
164
- paddingArray.map((v) => {
165
- if (v === 0) return 0
166
- if (v === 1) return 0
167
- if (v === 2) return 1
153
+ const clearButtonPadding = useMemo(() => {
154
+ return Object.fromEntries(
155
+ Object.entries(responsivePadding).map(([key, value]) => {
156
+ if (value === 0) return [key, 0]
157
+ if (value === 1) return [key, 0]
158
+ if (value === 2) return [key, 1]
168
159
 
169
- return typeof v === 'number' ? v - 1 : 0
170
- }) as Space[],
171
- [paddingArray],
172
- )
160
+ return [key, typeof value === 'number' ? value - 1 : 0]
161
+ }),
162
+ ) as ResponsiveProp<Space>
163
+ }, [responsivePadding])
173
164
 
174
165
  const clearButtonProps: TextInputClearButtonProps = useMemo(
175
166
  () => (isRecord(clearButton) ? clearButton : EMPTY_RECORD),
@@ -178,18 +169,16 @@ export function TextInput<E extends TextInputElementType = typeof DEFAULT_TEXT_I
178
169
 
179
170
  return (
180
171
  <Box
181
- align="center"
182
- className={_composeClassNames(
172
+ alignItems="center"
173
+ className={textInput({
183
174
  className,
184
- textInput({
185
- border,
186
- fontSize,
187
- padding,
188
- radius,
189
- gap: gap ?? space,
190
- width,
191
- }),
192
- )}
175
+ border,
176
+ fontSize,
177
+ padding,
178
+ radius,
179
+ gap: gap ?? space,
180
+ width,
181
+ })}
193
182
  data-icon-left={IconComponent ? '' : undefined}
194
183
  data-icon-right={IconRightComponent ? '' : undefined}
195
184
  data-invalid={customValidity ? '' : undefined}
@@ -218,7 +207,7 @@ export function TextInput<E extends TextInputElementType = typeof DEFAULT_TEXT_I
218
207
 
219
208
  <Box className={_inputPresentation()} position="absolute">
220
209
  {IconComponent && (
221
- <Box padding={padding} position="absolute" style={{top: 0, left: 0}}>
210
+ <Box padding={padding} position="absolute" insetTop={0} insetLeft={0}>
222
211
  <Text size={fontSize}>
223
212
  {isValidElement(IconComponent) && IconComponent}
224
213
  {isValidElementType(IconComponent) && <IconComponent />}
@@ -227,7 +216,7 @@ export function TextInput<E extends TextInputElementType = typeof DEFAULT_TEXT_I
227
216
  )}
228
217
 
229
218
  {!withClearButton && IconRightComponent && (
230
- <Box padding={padding} position="absolute" style={{top: 0, right: 0}}>
219
+ <Box padding={padding} position="absolute" insetTop={0} insetRight={0}>
231
220
  <Text size={fontSize}>
232
221
  {isValidElement(IconRightComponent) && IconRightComponent}
233
222
  {isValidElementType(IconRightComponent) && <IconRightComponent />}
@@ -237,7 +226,13 @@ export function TextInput<E extends TextInputElementType = typeof DEFAULT_TEXT_I
237
226
  </Box>
238
227
 
239
228
  {!disabled && !readOnly && clearButton && (
240
- <Box padding={clearButtonBoxPadding} position="absolute" style={CLEAR_BUTTON_BOX_STYLE}>
229
+ <Box
230
+ insetTop={0}
231
+ insetRight={0}
232
+ padding={clearButtonBoxPadding}
233
+ position="absolute"
234
+ style={{zIndex: 2}}
235
+ >
241
236
  <Button
242
237
  aria-label="Clear"
243
238
  data-qa="clear-button"
@@ -263,5 +258,3 @@ export function TextInput<E extends TextInputElementType = typeof DEFAULT_TEXT_I
263
258
  </Box>
264
259
  )
265
260
  }
266
-
267
- TextInput.displayName = 'TextInput'
@@ -8,12 +8,7 @@ import {
8
8
  shift,
9
9
  useFloating,
10
10
  } from '@floating-ui/react-dom'
11
- import {
12
- _composeClassNames,
13
- type RadiusStyleProps,
14
- type ShadowStyleProps,
15
- tooltip,
16
- } from '@sanity/ui/css'
11
+ import {type RadiusStyleProps, type ShadowStyleProps, tooltip} from '@sanity/ui/css'
17
12
  import type {ThemeColorCardToneKey, ThemeColorSchemeKey} from '@sanity/ui/theme'
18
13
  import {AnimatePresence} from 'framer-motion'
19
14
  import {
@@ -36,7 +31,7 @@ import {
36
31
  import {useEffectEvent} from 'use-effect-event'
37
32
 
38
33
  import {Z_OFFSETS} from '../../constants'
39
- import {useArrayProp, usePrefersReducedMotion} from '../../hooks'
34
+ import {usePrefersReducedMotion} from '../../hooks'
40
35
  import {useDelayedState} from '../../hooks/useDelayedState'
41
36
  import {origin} from '../../middleware/origin'
42
37
  import type {ComponentType, Placement, Props} from '../../types'
@@ -121,7 +116,7 @@ export function Tooltip<E extends TooltipElementType = typeof DEFAULT_TOOLTIP_EL
121
116
  content,
122
117
  delay,
123
118
  disabled,
124
- fallbackPlacements: fallbackPlacementsProp = props.fallbackPlacements ??
119
+ fallbackPlacements = props.fallbackPlacements ??
125
120
  DEFAULT_FALLBACK_PLACEMENTS[props.placement ?? 'bottom'],
126
121
  padding = 2,
127
122
  placement: placementProp = 'bottom',
@@ -138,7 +133,6 @@ export function Tooltip<E extends TooltipElementType = typeof DEFAULT_TOOLTIP_EL
138
133
  const card = useCard()
139
134
  const prefersReducedMotion = usePrefersReducedMotion()
140
135
  const animate = prefersReducedMotion ? false : _animate
141
- const fallbackPlacements = useArrayProp(fallbackPlacementsProp)
142
136
  const ref = useRef<HTMLDivElement | null>(null)
143
137
  const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(null)
144
138
  const arrowRef = useRef<HTMLDivElement | null>(null)
@@ -396,7 +390,7 @@ export function Tooltip<E extends TooltipElementType = typeof DEFAULT_TOOLTIP_EL
396
390
  arrowX={arrowX}
397
391
  arrowY={arrowY}
398
392
  as={as}
399
- className={_composeClassNames(className, tooltip())}
393
+ className={tooltip({className})}
400
394
  originX={originX}
401
395
  originY={originY}
402
396
  padding={padding}
@@ -488,5 +482,3 @@ function useCloseOnMouseLeave({
488
482
  return () => window.removeEventListener('mousemove', handleMouseMove)
489
483
  }, [isInsideGroup, showTooltip])
490
484
  }
491
-
492
- Tooltip.displayName = 'Tooltip'
@@ -51,5 +51,3 @@ export function TooltipDelayGroupProvider(props: TooltipDelayGroupProviderProps)
51
51
  <TooltipDelayGroupContext.Provider value={value}>{children}</TooltipDelayGroupContext.Provider>
52
52
  )
53
53
  }
54
-
55
- TooltipDelayGroupProvider.displayName = 'TooltipDelayGroupProvider'
@@ -103,5 +103,3 @@ export function TooltipLayer(props: TooltipLayerProps) {
103
103
  </Layer>
104
104
  )
105
105
  }
106
-
107
- TooltipLayer.displayName = 'TooltipLayer'
@@ -1,8 +1,7 @@
1
1
  import type {
2
- FlexAlign,
2
+ AlignItems,
3
+ Flex,
3
4
  FlexDirection,
4
- FlexJustify,
5
- FlexValue,
6
5
  FlexWrap,
7
6
  GridItemColumn,
8
7
  GridItemColumnEnd,
@@ -10,6 +9,7 @@ import type {
10
9
  GridItemRow,
11
10
  GridItemRowEnd,
12
11
  GridItemRowStart,
12
+ JustifyContent,
13
13
  } from '@sanity/ui/css'
14
14
 
15
15
  import type {
@@ -51,9 +51,9 @@ export interface ResponsiveBoxProps {
51
51
  * @deprecated
52
52
  */
53
53
  export interface ResponsiveFlexProps {
54
- align?: FlexAlign | FlexAlign[]
54
+ align?: AlignItems | AlignItems[]
55
55
  direction?: FlexDirection | FlexDirection[]
56
- justify?: FlexJustify | FlexJustify[]
56
+ justify?: JustifyContent | JustifyContent[]
57
57
  wrap?: FlexWrap | FlexWrap[]
58
58
  }
59
59
 
@@ -63,7 +63,7 @@ export interface ResponsiveFlexProps {
63
63
  */
64
64
  export interface ResponsiveFlexItemProps {
65
65
  /** Sets the flex CSS attribute. The property is responsive. */
66
- flex?: FlexValue | FlexValue[]
66
+ flex?: Flex | Flex[]
67
67
  }
68
68
 
69
69
  /**
@@ -3,7 +3,7 @@ export {
3
3
  * @public
4
4
  * @deprecated
5
5
  */
6
- type FlexAlign,
6
+ type AlignItems as FlexAlign,
7
7
  /**
8
8
  * @public
9
9
  * @deprecated
@@ -13,12 +13,12 @@ export {
13
13
  * @public
14
14
  * @deprecated
15
15
  */
16
- type FlexJustify,
16
+ type JustifyContent as FlexJustify,
17
17
  /**
18
18
  * @public
19
19
  * @deprecated
20
20
  */
21
- type FlexValue,
21
+ type Flex as FlexValue,
22
22
  /**
23
23
  * @public
24
24
  * @deprecated
@@ -1,4 +1,5 @@
1
- import {_arrow, _arrowShape, _arrowStroke, _arrowStrokeMask, varNames} from '@sanity/ui/css'
1
+ import {_arrow, _arrowShape, _arrowStroke, _arrowStrokeMask, _arrowSvg, vars} from '@sanity/ui/css'
2
+ import {assignInlineVars} from '@vanilla-extract/dynamic'
2
3
  import {useMemo} from 'react'
3
4
 
4
5
  import type {ComponentType, Props} from '../../types'
@@ -53,8 +54,15 @@ export function Arrow<E extends ArrowElementType = typeof DEFAULT_ARROW_ELEMENT>
53
54
  const fillPath = `${path} M ${w} -1 M 0 -1 Z`
54
55
 
55
56
  return (
56
- <Element {...rest} className={_arrow()} style={{...style, [varNames.arrow.size]: `${w}px`}}>
57
- <svg width={w} height={w} viewBox={`0 0 ${w} ${w}`}>
57
+ <Element
58
+ {...rest}
59
+ className={_arrow()}
60
+ style={{
61
+ ...style,
62
+ ...assignInlineVars({[vars.arrow.size]: `${w}px`}),
63
+ }}
64
+ >
65
+ <svg className={_arrowSvg()} width={w} height={w} viewBox={`0 0 ${w} ${w}`}>
58
66
  <mask id="stroke-mask">
59
67
  <rect className={_arrowStrokeMask()} x={0} width={w} height={w} fill="white" />
60
68
  </mask>
@@ -64,5 +72,3 @@ export function Arrow<E extends ArrowElementType = typeof DEFAULT_ARROW_ELEMENT>
64
72
  </Element>
65
73
  )
66
74
  }
67
-
68
- Arrow.displayName = 'Arrow'
@@ -16,5 +16,3 @@ export function BoundaryElementProvider(props: BoundaryElementProviderProps): Re
16
16
 
17
17
  return <BoundaryElementContext.Provider value={value}>{children}</BoundaryElementContext.Provider>
18
18
  }
19
-
20
- BoundaryElementProvider.displayName = 'BoundaryElementProvider'
@@ -73,5 +73,3 @@ export function ElementQuery<
73
73
  </Element>
74
74
  )
75
75
  }
76
-
77
- ElementQuery.displayName = 'ElementQuery'
@@ -1,3 +1,5 @@
1
+ import type {ResponsiveProp} from '@sanity/ui/css'
2
+
1
3
  import type {CardElementType, CardOwnProps} from '../../primitives'
2
4
  import type {Props} from '../../types'
3
5
  import {LayerCard} from './layerCard'
@@ -10,7 +12,7 @@ export const DEFAULT_LAYER_ELEMENT = 'div'
10
12
  export type LayerOwnProps = CardOwnProps & {
11
13
  /** A callback that fires when the layer becomes the top layer when it was not the top layer before. */
12
14
  onActivate?: (props: {activeElement: HTMLElement | null}) => void
13
- zOffset?: number | number[]
15
+ zOffset?: ResponsiveProp<number>
14
16
  }
15
17
 
16
18
  /** @public */
@@ -38,5 +40,3 @@ export function Layer<E extends LayerElementType = typeof DEFAULT_LAYER_ELEMENT>
38
40
  </LayerProvider>
39
41
  )
40
42
  }
41
-
42
- Layer.displayName = 'Layer'
@@ -88,5 +88,3 @@ export function LayerCard<E extends LayerCardElementType = typeof DEFAULT_LAYER_
88
88
  </Card>
89
89
  )
90
90
  }
91
-
92
- LayerCard.displayName = 'LayerCard'