@sanity/ui 2.0.0-alpha.3 → 2.0.0-alpha.30

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 (637) hide show
  1. package/dist/index.cjs.mjs +37 -10
  2. package/dist/index.d.ts +445 -659
  3. package/dist/index.esm.js +735 -2923
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.js +1051 -3032
  6. package/dist/index.js.map +1 -1
  7. package/dist/theme.cjs.mjs +48 -0
  8. package/dist/theme.d.ts +1205 -0
  9. package/dist/theme.esm.js +4113 -0
  10. package/dist/theme.esm.js.map +1 -0
  11. package/dist/theme.js +4162 -0
  12. package/dist/theme.js.map +1 -0
  13. package/exports/index.ts +1 -0
  14. package/exports/theme.ts +1 -0
  15. package/package.json +56 -35
  16. package/src/{__workshop__ → core/__workshop__}/constants.ts +1 -3
  17. package/src/core/_compat.ts +115 -0
  18. package/src/{components → core/components}/autocomplete/__workshop__/async.tsx +4 -5
  19. package/src/{components → core/components}/autocomplete/__workshop__/constrainedHeight.tsx +27 -22
  20. package/src/{components → core/components}/autocomplete/__workshop__/custom.tsx +36 -31
  21. package/src/{components → core/components}/autocomplete/__workshop__/example.tsx +2 -2
  22. package/src/{components → core/components}/autocomplete/__workshop__/focusAndBlur.tsx +5 -3
  23. package/src/{components → core/components}/autocomplete/autocomplete.tsx +7 -1
  24. package/src/{components → core/components}/dialog/__workshop__/activate.tsx +0 -1
  25. package/src/{components → core/components}/dialog/__workshop__/layering.tsx +5 -1
  26. package/src/{components → core/components}/dialog/__workshop__/panes.tsx +2 -7
  27. package/src/{components → core/components}/dialog/dialog.tsx +25 -24
  28. package/src/{components → core/components}/dialog/styles.ts +40 -1
  29. package/src/{components → core/components}/hotkeys/hotkeys.tsx +2 -0
  30. package/src/{components → core/components}/menu/__workshop__/asComponent.tsx +4 -4
  31. package/src/{components → core/components}/menu/__workshop__/customMenuItem.tsx +9 -3
  32. package/src/{components → core/components}/menu/__workshop__/menuButton.tsx +1 -1
  33. package/src/{components → core/components}/menu/menu.test.tsx +1 -1
  34. package/src/{components → core/components}/menu/menu.tsx +2 -0
  35. package/src/{components → core/components}/menu/menuButton.tsx +3 -1
  36. package/src/{components → core/components}/menu/menuGroup.tsx +22 -23
  37. package/src/{components → core/components}/menu/menuItem.tsx +29 -35
  38. package/src/{components → core/components}/skeleton/textSkeleton.tsx +1 -1
  39. package/src/{components → core/components}/tab/tab.tsx +4 -2
  40. package/src/{components → core/components}/toast/toast.test.tsx +1 -1
  41. package/src/{components → core/components}/toast/toast.tsx +13 -4
  42. package/src/{components → core/components}/tree/__workshop__/tabFromElement.tsx +1 -1
  43. package/src/{components → core/components}/tree/style.ts +6 -6
  44. package/src/{components → core/components}/tree/treeItem.tsx +3 -3
  45. package/src/{constants.ts → core/constants.ts} +1 -0
  46. package/src/{hooks → core/hooks}/useElementRect/__workshop__/example.tsx +3 -1
  47. package/src/{hooks → core/hooks}/useMediaIndex/__workshop__/test.tsx +1 -1
  48. package/src/{hooks → core/hooks}/useMediaIndex/useMediaIndex.test.tsx +2 -1
  49. package/src/{index.ts → core/index.ts} +2 -0
  50. package/src/{lib → core/lib}/isRecord.ts +1 -1
  51. package/src/{primitives → core/primitives}/_selectable/style.ts +2 -1
  52. package/src/{primitives → core/primitives}/avatar/avatar.tsx +35 -21
  53. package/src/{primitives → core/primitives}/avatar/avatarCounter.tsx +3 -3
  54. package/src/{primitives → core/primitives}/avatar/styles.ts +15 -7
  55. package/src/{primitives → core/primitives}/avatar/types.ts +2 -1
  56. package/src/{primitives → core/primitives}/badge/badge.test.tsx +1 -1
  57. package/src/{primitives → core/primitives}/badge/badge.tsx +10 -5
  58. package/src/core/primitives/badge/styles.ts +20 -0
  59. package/src/{primitives → core/primitives}/badge/types.ts +1 -2
  60. package/src/{primitives → core/primitives}/box/box.tsx +3 -0
  61. package/src/{primitives → core/primitives}/button/__workshop__/sanityUploadButton.tsx +2 -1
  62. package/src/{primitives → core/primitives}/button/__workshop__/stacked.tsx +1 -1
  63. package/src/{primitives → core/primitives}/button/button.test.tsx +1 -1
  64. package/src/{primitives → core/primitives}/button/button.tsx +8 -4
  65. package/src/{primitives → core/primitives}/button/styles.ts +27 -10
  66. package/src/{primitives → core/primitives}/card/__workshop__/asButton.tsx +6 -6
  67. package/src/{primitives → core/primitives}/card/__workshop__/asComponent.tsx +1 -1
  68. package/src/{primitives → core/primitives}/card/__workshop__/selected.tsx +2 -12
  69. package/src/{primitives → core/primitives}/card/card.tsx +6 -1
  70. package/src/{primitives → core/primitives}/card/styles.ts +2 -0
  71. package/src/{primitives → core/primitives}/card/types.ts +1 -1
  72. package/src/{primitives → core/primitives}/checkbox/__workshop__/example.tsx +1 -1
  73. package/src/{primitives → core/primitives}/checkbox/__workshop__/props.tsx +1 -1
  74. package/src/{primitives → core/primitives}/checkbox/__workshop__/readOnly.tsx +1 -1
  75. package/src/{primitives → core/primitives}/checkbox/checkbox.tsx +2 -0
  76. package/src/{primitives → core/primitives}/checkbox/styles.ts +4 -3
  77. package/src/{primitives → core/primitives}/code/code.tsx +1 -0
  78. package/src/{primitives → core/primitives}/container/container.tsx +2 -0
  79. package/src/{primitives → core/primitives}/container/styles.ts +1 -1
  80. package/src/{primitives → core/primitives}/flex/flex.tsx +2 -0
  81. package/src/{primitives → core/primitives}/grid/grid.tsx +2 -0
  82. package/src/{primitives → core/primitives}/heading/heading.tsx +3 -1
  83. package/src/{primitives → core/primitives}/inline/inline.tsx +3 -0
  84. package/src/{primitives → core/primitives}/inline/styles.ts +1 -1
  85. package/src/{primitives → core/primitives}/kbd/kbd.tsx +2 -0
  86. package/src/{primitives → core/primitives}/label/label.tsx +3 -1
  87. package/src/{primitives → core/primitives}/popover/__workshop__/RecursiveStory.tsx +2 -9
  88. package/src/{primitives → core/primitives}/popover/__workshop__/TestStory.tsx +6 -3
  89. package/src/{primitives → core/primitives}/popover/constants.ts +3 -2
  90. package/src/{primitives → core/primitives}/popover/helpers.ts +1 -1
  91. package/src/{primitives → core/primitives}/popover/popover.tsx +12 -8
  92. package/src/{primitives → core/primitives}/popover/popoverCard.tsx +22 -16
  93. package/src/{primitives → core/primitives}/radio/radio.tsx +2 -0
  94. package/src/{primitives → core/primitives}/radio/styles.ts +1 -1
  95. package/src/{primitives → core/primitives}/select/select.tsx +2 -0
  96. package/src/{primitives → core/primitives}/select/styles.ts +4 -2
  97. package/src/{primitives → core/primitives}/spinner/spinner.tsx +2 -0
  98. package/src/{primitives → core/primitives}/stack/stack.tsx +2 -0
  99. package/src/{primitives → core/primitives}/stack/styles.ts +1 -1
  100. package/src/{primitives → core/primitives}/switch/__workshop__/example.tsx +1 -1
  101. package/src/{primitives → core/primitives}/switch/styles.ts +2 -2
  102. package/src/{primitives → core/primitives}/switch/switch.tsx +4 -0
  103. package/src/{primitives → core/primitives}/text/__workshop__/colored.tsx +2 -1
  104. package/src/{primitives → core/primitives}/text/text.tsx +4 -1
  105. package/src/{primitives → core/primitives}/textArea/__workshop__/plain.tsx +1 -1
  106. package/src/{primitives → core/primitives}/textArea/textArea.tsx +6 -2
  107. package/src/{primitives → core/primitives}/textInput/__workshop__/plain.tsx +1 -1
  108. package/src/{primitives → core/primitives}/textInput/__workshop__/states.tsx +3 -3
  109. package/src/{primitives → core/primitives}/textInput/textInput.tsx +12 -2
  110. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +99 -0
  111. package/src/core/primitives/tooltip/__workshop__/index.ts +29 -0
  112. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +73 -0
  113. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +85 -0
  114. package/src/core/primitives/tooltip/conditionalWrapper.tsx +15 -0
  115. package/src/core/primitives/tooltip/constants.ts +23 -0
  116. package/src/{primitives → core/primitives}/tooltip/tooltip.test.tsx +192 -20
  117. package/src/{primitives → core/primitives}/tooltip/tooltip.tsx +199 -76
  118. package/src/{primitives → core/primitives}/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +4 -10
  119. package/src/{primitives → core/primitives}/types.ts +4 -0
  120. package/src/{styles → core/styles}/border/borderStyle.ts +16 -13
  121. package/src/{styles → core/styles}/box/boxStyle.ts +1 -1
  122. package/src/{styles → core/styles}/colorVars/colorVarsStyle.ts +3 -3
  123. package/src/{styles → core/styles}/flex/flexItemStyle.ts +1 -1
  124. package/src/{styles → core/styles}/flex/flexStyle.ts +1 -1
  125. package/src/{styles → core/styles}/focusRing/index.ts +2 -2
  126. package/src/{styles → core/styles}/font/codeFontStyle.ts +1 -1
  127. package/src/{styles → core/styles}/font/headingFontStyle.ts +1 -1
  128. package/src/{styles → core/styles}/font/labelFontStyle.ts +1 -1
  129. package/src/{styles → core/styles}/font/responsiveFont.ts +2 -2
  130. package/src/{styles → core/styles}/font/textAlignStyle.ts +1 -1
  131. package/src/{styles → core/styles}/font/textFontStyle.ts +1 -1
  132. package/src/{styles → core/styles}/font/types.ts +1 -1
  133. package/src/{styles → core/styles}/grid/gridItemStyle.ts +1 -1
  134. package/src/{styles → core/styles}/grid/gridStyle.ts +1 -1
  135. package/src/{styles → core/styles}/helpers.ts +2 -2
  136. package/src/{styles → core/styles}/input/responsiveInputPaddingStyle.ts +1 -1
  137. package/src/{styles → core/styles}/input/textInputStyle.ts +13 -8
  138. package/src/{styles → core/styles}/margin/marginStyle.ts +1 -1
  139. package/src/{styles → core/styles}/margin/marginsStyle.test.ts +1 -1
  140. package/src/{styles → core/styles}/padding/paddingStyle.test.ts +1 -1
  141. package/src/{styles → core/styles}/padding/paddingStyle.ts +1 -1
  142. package/src/{styles → core/styles}/radius/radiusStyle.ts +1 -1
  143. package/src/{styles → core/styles}/shadow/shadowStyle.ts +9 -7
  144. package/src/{styles → core/styles}/types.ts +1 -1
  145. package/src/core/theme/__workshop__/build/Root.tsx +346 -0
  146. package/src/core/theme/__workshop__/build/helpers.ts +46 -0
  147. package/src/core/theme/__workshop__/build/story.tsx +457 -0
  148. package/src/{theme → core/theme}/__workshop__/canvas.tsx +87 -113
  149. package/src/{theme → core/theme}/__workshop__/color.tsx +3 -6
  150. package/src/{theme → core/theme}/__workshop__/index.ts +5 -0
  151. package/src/{theme → core/theme}/defaults.ts +1 -1
  152. package/src/core/theme/index.ts +5 -0
  153. package/src/{theme → core/theme}/theme.test.tsx +2 -2
  154. package/src/{theme → core/theme}/themeColorProvider.tsx +2 -2
  155. package/src/{theme → core/theme}/themeProvider.tsx +3 -3
  156. package/src/core/theme/types.ts +11 -0
  157. package/src/{theme → core/theme}/useRootTheme.ts +1 -2
  158. package/src/{theme → core/theme}/useTheme.ts +1 -2
  159. package/src/core/types/badge.ts +12 -0
  160. package/src/core/types/button.ts +22 -0
  161. package/src/core/types/card.ts +6 -0
  162. package/src/{types → core/types}/index.ts +0 -1
  163. package/src/core/types/selectable.ts +6 -0
  164. package/src/core/utils/arrow/arrow.tsx +121 -0
  165. package/src/core/utils/arrow/cmds.ts +91 -0
  166. package/src/core/utils/arrow/index.ts +1 -0
  167. package/src/{utils → core/utils}/boundaryElement/__workshop__/plain.tsx +2 -6
  168. package/src/{utils → core/utils}/boundaryElement/boundaryElement.test.tsx +1 -1
  169. package/src/{utils → core/utils}/index.ts +1 -0
  170. package/src/{utils → core/utils}/layer/__workshop__/_debug.tsx +1 -1
  171. package/src/{utils → core/utils}/layer/layer.test.tsx +1 -1
  172. package/src/{utils → core/utils}/portal/__workshop__/named.tsx +3 -3
  173. package/src/{utils → core/utils}/portal/portal.test.tsx +1 -1
  174. package/src/theme/{lib/theme/color/selectable → build/_deprecated/color/_selectable}/createSelectableTones.ts +7 -4
  175. package/src/theme/{lib/theme/color/solid → build/_deprecated/color/_solid}/createSolidTones.ts +1 -3
  176. package/src/theme/{lib/theme → build/_deprecated}/color/button/createButtonModes.ts +6 -4
  177. package/src/theme/{lib/theme → build/_deprecated}/color/button/createButtonTones.ts +7 -4
  178. package/src/theme/{lib/theme → build/_deprecated}/color/card/createCardStates.ts +7 -5
  179. package/src/theme/{lib/theme → build/_deprecated}/color/color.test.ts +1 -1
  180. package/src/theme/{lib/theme → build/_deprecated}/color/defaults.ts +7 -7
  181. package/src/theme/{lib/theme → build/_deprecated}/color/factory.ts +25 -21
  182. package/src/theme/build/_deprecated/color/index.ts +1 -0
  183. package/src/theme/{lib/theme → build/_deprecated}/color/input/createInputModes.ts +1 -4
  184. package/src/theme/{lib/theme → build/_deprecated}/color/muted/createMuted.ts +2 -4
  185. package/src/theme/{lib/theme → build/_deprecated}/color/spot/createSpot.ts +1 -2
  186. package/src/theme/build/buildColorTheme.test.ts +184 -0
  187. package/src/theme/build/buildColorTheme.ts +537 -0
  188. package/src/theme/build/buildTheme.test.ts +85 -0
  189. package/src/theme/build/buildTheme.ts +28 -0
  190. package/src/theme/build/colorToken.ts +37 -0
  191. package/src/theme/build/defaults/colorPalette.ts +5 -0
  192. package/src/theme/build/defaults/colorTokens.ts +499 -0
  193. package/src/theme/{studioTheme/theme.ts → build/defaults/config.ts} +27 -28
  194. package/src/theme/build/defaults/fonts.ts +219 -0
  195. package/src/theme/build/index.ts +3 -0
  196. package/src/theme/{lib → build/lib}/color-fns/blend/index.ts +1 -0
  197. package/src/theme/build/lib/color-fns/blend/mix.ts +21 -0
  198. package/src/theme/build/lib/color-fns/blend/multiply.ts +18 -0
  199. package/src/theme/build/lib/color-fns/blend/screen.ts +18 -0
  200. package/src/theme/{lib → build/lib}/color-fns/color-fns.test.ts +10 -7
  201. package/src/theme/build/lib/color-fns/contrastRatio.ts +30 -0
  202. package/src/theme/{lib → build/lib}/color-fns/convert.ts +25 -2
  203. package/src/theme/{lib → build/lib}/color-fns/index.ts +2 -1
  204. package/src/theme/{lib → build/lib}/color-fns/parse.ts +7 -3
  205. package/src/theme/{lib/color-fns/helpers → build/lib/color-fns}/rgba.ts +1 -1
  206. package/src/theme/{lib → build/lib}/color-fns/types.ts +11 -0
  207. package/src/theme/build/lib/utils.ts +19 -0
  208. package/src/theme/build/merge.ts +23 -0
  209. package/src/theme/build/mixThemeColor.test.ts +21 -0
  210. package/src/theme/build/mixThemeColor.ts +53 -0
  211. package/src/theme/build/renderColorTheme.ts +544 -0
  212. package/src/theme/build/renderColorValue.ts +70 -0
  213. package/src/theme/build/resolveColorTokens.ts +352 -0
  214. package/src/theme/config/helpers.ts +47 -0
  215. package/src/theme/config/index.ts +4 -0
  216. package/src/theme/config/system.ts +83 -0
  217. package/src/theme/config/tokens/color/types.ts +112 -0
  218. package/src/theme/config/tokens/index.ts +4 -0
  219. package/src/theme/config/tokens/parseTokenKey.test.ts +64 -0
  220. package/src/theme/config/tokens/parseTokenKey.ts +66 -0
  221. package/src/theme/config/tokens/parseTokenValue.test.ts +45 -0
  222. package/src/theme/config/tokens/parseTokenValue.ts +102 -0
  223. package/src/theme/config/tokens/types.ts +44 -0
  224. package/src/theme/config/types.ts +51 -0
  225. package/src/theme/index.ts +4 -8
  226. package/src/theme/system/_system.ts +95 -0
  227. package/src/theme/system/avatar.ts +14 -0
  228. package/src/theme/system/color/_constants.ts +38 -0
  229. package/src/theme/{lib/theme/color/muted/types.ts → system/color/_deprecated/muted.ts} +3 -1
  230. package/src/theme/{lib/theme/color/solid/types.ts → system/color/_deprecated/solid.ts} +3 -1
  231. package/src/theme/system/color/_deprecated/spot.ts +13 -0
  232. package/src/theme/{lib/theme/color/_generic/types.ts → system/color/_generic.ts} +5 -1
  233. package/src/theme/system/color/_helpers.ts +23 -0
  234. package/src/theme/system/color/_system.ts +100 -0
  235. package/src/theme/system/color/avatar.ts +13 -0
  236. package/src/theme/system/color/badge.ts +9 -0
  237. package/src/theme/{lib/theme/color/button/types.ts → system/color/button.ts} +6 -11
  238. package/src/theme/system/color/card.ts +18 -0
  239. package/src/theme/system/color/index.ts +20 -0
  240. package/src/theme/{lib/theme/color/input/types.ts → system/color/input.ts} +3 -0
  241. package/src/theme/system/color/kbd.ts +8 -0
  242. package/src/theme/{lib/theme/color/selectable/types.ts → system/color/selectable.ts} +1 -1
  243. package/src/theme/{lib/theme → system}/index.ts +2 -1
  244. package/src/theme/{lib/theme → system}/input.ts +6 -6
  245. package/src/theme/system/shadow.ts +24 -0
  246. package/src/theme/themes/studio/config.ts +69 -0
  247. package/src/theme/{studioTheme → themes/studio}/fonts.ts +50 -50
  248. package/src/theme/themes/studio/index.ts +1 -0
  249. package/src/theme/themes/studio/studioTheme.test.ts +27 -0
  250. package/src/theme/themes/studio/studioTheme.ts +8 -0
  251. package/src/primitives/badge/styles.ts +0 -20
  252. package/src/primitives/popover/popoverArrow.tsx +0 -76
  253. package/src/primitives/tooltip/__workshop__/index.ts +0 -14
  254. package/src/primitives/tooltip/constants.ts +0 -16
  255. package/src/primitives/tooltip/tooltipArrow.tsx +0 -89
  256. package/src/theme/lib/color-fns/blend/multiply.ts +0 -22
  257. package/src/theme/lib/color-fns/blend/screen.ts +0 -22
  258. package/src/theme/lib/color-fns/helpers/index.ts +0 -1
  259. package/src/theme/lib/theme/avatar.ts +0 -12
  260. package/src/theme/lib/theme/color/base/index.ts +0 -1
  261. package/src/theme/lib/theme/color/button/index.ts +0 -1
  262. package/src/theme/lib/theme/color/card/index.ts +0 -1
  263. package/src/theme/lib/theme/color/card/types.ts +0 -18
  264. package/src/theme/lib/theme/color/index.ts +0 -14
  265. package/src/theme/lib/theme/color/input/index.ts +0 -1
  266. package/src/theme/lib/theme/color/muted/index.ts +0 -1
  267. package/src/theme/lib/theme/color/selectable/index.ts +0 -1
  268. package/src/theme/lib/theme/color/solid/index.ts +0 -1
  269. package/src/theme/lib/theme/color/spot/index.ts +0 -1
  270. package/src/theme/lib/theme/color/spot/types.ts +0 -28
  271. package/src/theme/lib/theme/color/syntax/index.ts +0 -1
  272. package/src/theme/lib/theme/color/types.ts +0 -72
  273. package/src/theme/lib/theme/shadow.ts +0 -20
  274. package/src/theme/lib/theme/theme.ts +0 -43
  275. package/src/theme/studioTheme/color.ts +0 -650
  276. package/src/theme/studioTheme/helpers.ts +0 -17
  277. package/src/theme/studioTheme/index.ts +0 -1
  278. package/src/theme/studioTheme/tints.ts +0 -152
  279. package/src/theme/types.ts +0 -47
  280. package/src/types/badge.ts +0 -9
  281. package/src/types/button.ts +0 -14
  282. package/src/types/card.ts +0 -6
  283. package/src/types/selectable.ts +0 -4
  284. package/src/types/styled.ts +0 -9
  285. /package/src/{components → core/components}/autocomplete/__fixtures__/countries.ts +0 -0
  286. /package/src/{components → core/components}/autocomplete/__mocks__/apiStore.ts +0 -0
  287. /package/src/{components → core/components}/autocomplete/__workshop__/.eslintrc +0 -0
  288. /package/src/{components → core/components}/autocomplete/__workshop__/fullscreen.tsx +0 -0
  289. /package/src/{components → core/components}/autocomplete/__workshop__/index.ts +0 -0
  290. /package/src/{components → core/components}/autocomplete/__workshop__/types.ts +0 -0
  291. /package/src/{components → core/components}/autocomplete/autocomplete.styles.tsx +0 -0
  292. /package/src/{components → core/components}/autocomplete/autocompleteOption.tsx +0 -0
  293. /package/src/{components → core/components}/autocomplete/autocompleteReducer.ts +0 -0
  294. /package/src/{components → core/components}/autocomplete/constants.ts +0 -0
  295. /package/src/{components → core/components}/autocomplete/index.ts +0 -0
  296. /package/src/{components → core/components}/autocomplete/types.ts +0 -0
  297. /package/src/{components → core/components}/breadcrumbs/__workshop__/.eslintrc +0 -0
  298. /package/src/{components → core/components}/breadcrumbs/__workshop__/example.tsx +0 -0
  299. /package/src/{components → core/components}/breadcrumbs/__workshop__/index.ts +0 -0
  300. /package/src/{components → core/components}/breadcrumbs/breadcrumbs.styles.ts +0 -0
  301. /package/src/{components → core/components}/breadcrumbs/breadcrumbs.tsx +0 -0
  302. /package/src/{components → core/components}/breadcrumbs/index.ts +0 -0
  303. /package/src/{components → core/components}/dialog/__workshop__/.eslintrc +0 -0
  304. /package/src/{components → core/components}/dialog/__workshop__/autoFocus.tsx +0 -0
  305. /package/src/{components → core/components}/dialog/__workshop__/index.ts +0 -0
  306. /package/src/{components → core/components}/dialog/__workshop__/nested.tsx +0 -0
  307. /package/src/{components → core/components}/dialog/__workshop__/onScroll.tsx +0 -0
  308. /package/src/{components → core/components}/dialog/__workshop__/position.tsx +0 -0
  309. /package/src/{components → core/components}/dialog/__workshop__/props.tsx +0 -0
  310. /package/src/{components → core/components}/dialog/__workshop__/provider.tsx +0 -0
  311. /package/src/{components → core/components}/dialog/__workshop__/wrapped.tsx +0 -0
  312. /package/src/{components → core/components}/dialog/dialogContext.ts +0 -0
  313. /package/src/{components → core/components}/dialog/dialogProvider.tsx +0 -0
  314. /package/src/{components → core/components}/dialog/index.ts +0 -0
  315. /package/src/{components → core/components}/dialog/useDialog.ts +0 -0
  316. /package/src/{components → core/components}/hotkeys/__workshop__/.eslintrc +0 -0
  317. /package/src/{components → core/components}/hotkeys/__workshop__/index.ts +0 -0
  318. /package/src/{components → core/components}/hotkeys/__workshop__/plain.tsx +0 -0
  319. /package/src/{components → core/components}/hotkeys/index.ts +0 -0
  320. /package/src/{components → core/components}/index.ts +0 -0
  321. /package/src/{components → core/components}/menu/__workshop__/.eslintrc +0 -0
  322. /package/src/{components → core/components}/menu/__workshop__/closableMenuButton.tsx +0 -0
  323. /package/src/{components → core/components}/menu/__workshop__/constrainedInBoundary.tsx +0 -0
  324. /package/src/{components → core/components}/menu/__workshop__/disableFocusOnClose.tsx +0 -0
  325. /package/src/{components → core/components}/menu/__workshop__/groups.tsx +0 -0
  326. /package/src/{components → core/components}/menu/__workshop__/index.ts +0 -0
  327. /package/src/{components → core/components}/menu/__workshop__/menuGroupRight.tsx +0 -0
  328. /package/src/{components → core/components}/menu/__workshop__/nestedMenu.tsx +0 -0
  329. /package/src/{components → core/components}/menu/__workshop__/onCloseMenuButton.tsx +0 -0
  330. /package/src/{components → core/components}/menu/__workshop__/selectedItem.tsx +0 -0
  331. /package/src/{components → core/components}/menu/__workshop__/shouldFocus.tsx +0 -0
  332. /package/src/{components → core/components}/menu/__workshop__/tones.tsx +0 -0
  333. /package/src/{components → core/components}/menu/__workshop__/withoutArrow.tsx +0 -0
  334. /package/src/{components → core/components}/menu/helpers.ts +0 -0
  335. /package/src/{components → core/components}/menu/index.ts +0 -0
  336. /package/src/{components → core/components}/menu/menuContext.ts +0 -0
  337. /package/src/{components → core/components}/menu/menuDivider.ts +0 -0
  338. /package/src/{components → core/components}/menu/useMenu.ts +0 -0
  339. /package/src/{components → core/components}/menu/useMenuController.ts +0 -0
  340. /package/src/{components → core/components}/skeleton/__workshop__/.eslintrc +0 -0
  341. /package/src/{components → core/components}/skeleton/__workshop__/delay.tsx +0 -0
  342. /package/src/{components → core/components}/skeleton/__workshop__/index.ts +0 -0
  343. /package/src/{components → core/components}/skeleton/__workshop__/skeleton.tsx +0 -0
  344. /package/src/{components → core/components}/skeleton/index.ts +0 -0
  345. /package/src/{components → core/components}/skeleton/skeleton.tsx +0 -0
  346. /package/src/{components → core/components}/skeleton/styles.ts +0 -0
  347. /package/src/{components → core/components}/tab/__workshop__/.eslintrc +0 -0
  348. /package/src/{components → core/components}/tab/__workshop__/example.tsx +0 -0
  349. /package/src/{components → core/components}/tab/__workshop__/index.ts +0 -0
  350. /package/src/{components → core/components}/tab/index.ts +0 -0
  351. /package/src/{components → core/components}/tab/tabList.tsx +0 -0
  352. /package/src/{components → core/components}/tab/tabPanel.tsx +0 -0
  353. /package/src/{components → core/components}/toast/__workshop__/.eslintrc +0 -0
  354. /package/src/{components → core/components}/toast/__workshop__/hook.tsx +0 -0
  355. /package/src/{components → core/components}/toast/__workshop__/index.ts +0 -0
  356. /package/src/{components → core/components}/toast/__workshop__/toast.tsx +0 -0
  357. /package/src/{components → core/components}/toast/index.ts +0 -0
  358. /package/src/{components → core/components}/toast/toastContext.ts +0 -0
  359. /package/src/{components → core/components}/toast/toastProvider.tsx +0 -0
  360. /package/src/{components → core/components}/toast/types.ts +0 -0
  361. /package/src/{components → core/components}/toast/useToast.ts +0 -0
  362. /package/src/{components → core/components}/tree/__workshop__/.eslintrc +0 -0
  363. /package/src/{components → core/components}/tree/__workshop__/basic.perf.ts +0 -0
  364. /package/src/{components → core/components}/tree/__workshop__/basic.tsx +0 -0
  365. /package/src/{components → core/components}/tree/__workshop__/index.ts +0 -0
  366. /package/src/{components → core/components}/tree/helpers.ts +0 -0
  367. /package/src/{components → core/components}/tree/index.ts +0 -0
  368. /package/src/{components → core/components}/tree/tree.tsx +0 -0
  369. /package/src/{components → core/components}/tree/treeContext.ts +0 -0
  370. /package/src/{components → core/components}/tree/treeGroup.tsx +0 -0
  371. /package/src/{components → core/components}/tree/types.ts +0 -0
  372. /package/src/{components → core/components}/tree/useTree.ts +0 -0
  373. /package/src/{global.ts → core/global.ts} +0 -0
  374. /package/src/{helpers → core/helpers}/animation.ts +0 -0
  375. /package/src/{helpers → core/helpers}/element.ts +0 -0
  376. /package/src/{helpers → core/helpers}/focus.ts +0 -0
  377. /package/src/{helpers → core/helpers}/index.ts +0 -0
  378. /package/src/{helpers → core/helpers}/scroll.ts +0 -0
  379. /package/src/{hooks → core/hooks}/_internal/index.ts +0 -0
  380. /package/src/{hooks → core/hooks}/_internal/useUnique.ts +0 -0
  381. /package/src/{hooks → core/hooks}/index.ts +0 -0
  382. /package/src/{hooks → core/hooks}/useArrayProp.ts +0 -0
  383. /package/src/{hooks → core/hooks}/useClickOutside.ts +0 -0
  384. /package/src/{hooks → core/hooks}/useCustomValidity.ts +0 -0
  385. /package/src/{hooks → core/hooks}/useDelayed.test.ts +0 -0
  386. /package/src/{hooks → core/hooks}/useDelayedState.ts +0 -0
  387. /package/src/{hooks → core/hooks}/useElementRect/__workshop__/.eslintrc +0 -0
  388. /package/src/{hooks → core/hooks}/useElementRect/__workshop__/index.ts +0 -0
  389. /package/src/{hooks → core/hooks}/useElementRect/index.ts +0 -0
  390. /package/src/{hooks → core/hooks}/useElementRect/useElementRect.ts +0 -0
  391. /package/src/{hooks → core/hooks}/useElementSize.ts +0 -0
  392. /package/src/{hooks → core/hooks}/useForwardedRef.ts +0 -0
  393. /package/src/{hooks → core/hooks}/useGlobalKeyDown.ts +0 -0
  394. /package/src/{hooks → core/hooks}/useIsomorphicEffect.ts +0 -0
  395. /package/src/{hooks → core/hooks}/useMediaIndex/__workshop__/.eslintrc +0 -0
  396. /package/src/{hooks → core/hooks}/useMediaIndex/__workshop__/index.ts +0 -0
  397. /package/src/{hooks → core/hooks}/useMediaIndex/index.ts +0 -0
  398. /package/src/{hooks → core/hooks}/useMediaIndex/useMediaIndex.ts +0 -0
  399. /package/src/{hooks → core/hooks}/useMounted.ts +0 -0
  400. /package/src/{hooks → core/hooks}/usePrefersDark.hydration.test.tsx +0 -0
  401. /package/src/{hooks → core/hooks}/usePrefersDark.test.tsx +0 -0
  402. /package/src/{hooks → core/hooks}/usePrefersDark.ts +0 -0
  403. /package/src/{hooks → core/hooks}/usePrefersReducedMotion.hydration.test.tsx +0 -0
  404. /package/src/{hooks → core/hooks}/usePrefersReducedMotion.test.tsx +0 -0
  405. /package/src/{hooks → core/hooks}/usePrefersReducedMotion.ts +0 -0
  406. /package/src/{lib → core/lib}/globalScope.ts +0 -0
  407. /package/src/{observers → core/observers}/elementSizeObserver.ts +0 -0
  408. /package/src/{observers → core/observers}/index.ts +0 -0
  409. /package/src/{observers → core/observers}/resizeObserver.ts +0 -0
  410. /package/src/{primitives → core/primitives}/_selectable/index.ts +0 -0
  411. /package/src/{primitives → core/primitives}/_selectable/selectable.tsx +0 -0
  412. /package/src/{primitives → core/primitives}/avatar/__workshop__/.eslintrc +0 -0
  413. /package/src/{primitives → core/primitives}/avatar/__workshop__/asButton.tsx +0 -0
  414. /package/src/{primitives → core/primitives}/avatar/__workshop__/index.ts +0 -0
  415. /package/src/{primitives → core/primitives}/avatar/__workshop__/stack.tsx +0 -0
  416. /package/src/{primitives → core/primitives}/avatar/avatarStack.tsx +0 -0
  417. /package/src/{primitives → core/primitives}/avatar/index.ts +0 -0
  418. /package/src/{primitives → core/primitives}/badge/__workshop__/.eslintrc +0 -0
  419. /package/src/{primitives → core/primitives}/badge/__workshop__/index.ts +0 -0
  420. /package/src/{primitives → core/primitives}/badge/__workshop__/props.tsx +0 -0
  421. /package/src/{primitives → core/primitives}/badge/__workshop__/tones.tsx +0 -0
  422. /package/src/{primitives → core/primitives}/badge/index.ts +0 -0
  423. /package/src/{primitives → core/primitives}/box/__workshop__/.eslintrc +0 -0
  424. /package/src/{primitives → core/primitives}/box/__workshop__/index.ts +0 -0
  425. /package/src/{primitives → core/primitives}/box/__workshop__/props.tsx +0 -0
  426. /package/src/{primitives → core/primitives}/box/__workshop__/responsive.tsx +0 -0
  427. /package/src/{primitives → core/primitives}/box/index.ts +0 -0
  428. /package/src/{primitives → core/primitives}/button/__workshop__/.eslintrc +0 -0
  429. /package/src/{primitives → core/primitives}/button/__workshop__/custom.tsx +0 -0
  430. /package/src/{primitives → core/primitives}/button/__workshop__/customIcons.tsx +0 -0
  431. /package/src/{primitives → core/primitives}/button/__workshop__/index.ts +0 -0
  432. /package/src/{primitives → core/primitives}/button/__workshop__/mixedChildren.tsx +0 -0
  433. /package/src/{primitives → core/primitives}/button/__workshop__/props.tsx +0 -0
  434. /package/src/{primitives → core/primitives}/button/__workshop__/styled1.tsx +0 -0
  435. /package/src/{primitives → core/primitives}/button/__workshop__/styled2.tsx +0 -0
  436. /package/src/{primitives → core/primitives}/button/__workshop__/uploadButton.tsx +0 -0
  437. /package/src/{primitives → core/primitives}/button/index.ts +0 -0
  438. /package/src/{primitives → core/primitives}/card/__workshop__/.eslintrc +0 -0
  439. /package/src/{primitives → core/primitives}/card/__workshop__/allTones.tsx +0 -0
  440. /package/src/{primitives → core/primitives}/card/__workshop__/checkered.tsx +0 -0
  441. /package/src/{primitives → core/primitives}/card/__workshop__/index.ts +0 -0
  442. /package/src/{primitives → core/primitives}/card/__workshop__/interactive.tsx +0 -0
  443. /package/src/{primitives → core/primitives}/card/__workshop__/listNavigation.tsx +0 -0
  444. /package/src/{primitives → core/primitives}/card/__workshop__/props.tsx +0 -0
  445. /package/src/{primitives → core/primitives}/card/__workshop__/styled.tsx +0 -0
  446. /package/src/{primitives → core/primitives}/card/index.ts +0 -0
  447. /package/src/{primitives → core/primitives}/checkbox/__workshop__/.eslintrc +0 -0
  448. /package/src/{primitives → core/primitives}/checkbox/__workshop__/index.ts +0 -0
  449. /package/src/{primitives → core/primitives}/checkbox/__workshop__/tones.tsx +0 -0
  450. /package/src/{primitives → core/primitives}/checkbox/index.ts +0 -0
  451. /package/src/{primitives → core/primitives}/code/__workshop__/.eslintrc +0 -0
  452. /package/src/{primitives → core/primitives}/code/__workshop__/index.ts +0 -0
  453. /package/src/{primitives → core/primitives}/code/__workshop__/opticalAlignment.tsx +0 -0
  454. /package/src/{primitives → core/primitives}/code/__workshop__/props.tsx +0 -0
  455. /package/src/{primitives → core/primitives}/code/index.ts +0 -0
  456. /package/src/{primitives → core/primitives}/code/styles.ts +0 -0
  457. /package/src/{primitives → core/primitives}/container/__workshop__/.eslintrc +0 -0
  458. /package/src/{primitives → core/primitives}/container/__workshop__/example.tsx +0 -0
  459. /package/src/{primitives → core/primitives}/container/__workshop__/index.ts +0 -0
  460. /package/src/{primitives → core/primitives}/container/index.ts +0 -0
  461. /package/src/{primitives → core/primitives}/container/types.ts +0 -0
  462. /package/src/{primitives → core/primitives}/flex/__workshop__/.eslintrc +0 -0
  463. /package/src/{primitives → core/primitives}/flex/__workshop__/example.tsx +0 -0
  464. /package/src/{primitives → core/primitives}/flex/__workshop__/gap.tsx +0 -0
  465. /package/src/{primitives → core/primitives}/flex/__workshop__/index.ts +0 -0
  466. /package/src/{primitives → core/primitives}/flex/index.ts +0 -0
  467. /package/src/{primitives → core/primitives}/grid/__workshop__/.eslintrc +0 -0
  468. /package/src/{primitives → core/primitives}/grid/__workshop__/index.ts +0 -0
  469. /package/src/{primitives → core/primitives}/grid/__workshop__/responsive.tsx +0 -0
  470. /package/src/{primitives → core/primitives}/grid/index.ts +0 -0
  471. /package/src/{primitives → core/primitives}/heading/__workshop__/.eslintrc +0 -0
  472. /package/src/{primitives → core/primitives}/heading/__workshop__/index.ts +0 -0
  473. /package/src/{primitives → core/primitives}/heading/__workshop__/opticalAlignment.tsx +0 -0
  474. /package/src/{primitives → core/primitives}/heading/__workshop__/plain.tsx +0 -0
  475. /package/src/{primitives → core/primitives}/heading/index.ts +0 -0
  476. /package/src/{primitives → core/primitives}/heading/styles.ts +0 -0
  477. /package/src/{primitives → core/primitives}/heading/types.ts +0 -0
  478. /package/src/{primitives → core/primitives}/helpers.ts +0 -0
  479. /package/src/{primitives → core/primitives}/index.ts +0 -0
  480. /package/src/{primitives → core/primitives}/inline/__workshop__/.eslintrc +0 -0
  481. /package/src/{primitives → core/primitives}/inline/__workshop__/index.ts +0 -0
  482. /package/src/{primitives → core/primitives}/inline/__workshop__/plain.tsx +0 -0
  483. /package/src/{primitives → core/primitives}/inline/index.ts +0 -0
  484. /package/src/{primitives → core/primitives}/inline/types.ts +0 -0
  485. /package/src/{primitives → core/primitives}/kbd/__workshop__/.eslintrc +0 -0
  486. /package/src/{primitives → core/primitives}/kbd/__workshop__/index.ts +0 -0
  487. /package/src/{primitives → core/primitives}/kbd/__workshop__/plain.tsx +0 -0
  488. /package/src/{primitives → core/primitives}/kbd/index.tsx +0 -0
  489. /package/src/{primitives → core/primitives}/label/__workshop__/.eslintrc +0 -0
  490. /package/src/{primitives → core/primitives}/label/__workshop__/index.ts +0 -0
  491. /package/src/{primitives → core/primitives}/label/__workshop__/opticalAlignment.tsx +0 -0
  492. /package/src/{primitives → core/primitives}/label/__workshop__/plain.tsx +0 -0
  493. /package/src/{primitives → core/primitives}/label/index.ts +0 -0
  494. /package/src/{primitives → core/primitives}/label/styles.ts +0 -0
  495. /package/src/{primitives → core/primitives}/popover/__workshop__/.eslintrc +0 -0
  496. /package/src/{primitives → core/primitives}/popover/__workshop__/AlignedStory.tsx +0 -0
  497. /package/src/{primitives → core/primitives}/popover/__workshop__/MarginsStory.tsx +0 -0
  498. /package/src/{primitives → core/primitives}/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -0
  499. /package/src/{primitives → core/primitives}/popover/__workshop__/OpenOnMountStory.tsx +0 -0
  500. /package/src/{primitives → core/primitives}/popover/__workshop__/PlainStory.tsx +0 -0
  501. /package/src/{primitives → core/primitives}/popover/__workshop__/SidePanelStory.tsx +0 -0
  502. /package/src/{primitives → core/primitives}/popover/__workshop__/index.ts +0 -0
  503. /package/src/{primitives → core/primitives}/popover/floating-ui/size.ts +0 -0
  504. /package/src/{primitives → core/primitives}/popover/index.ts +0 -0
  505. /package/src/{primitives → core/primitives}/popover/types.ts +0 -0
  506. /package/src/{primitives → core/primitives}/radio/__workshop__/.eslintrc +0 -0
  507. /package/src/{primitives → core/primitives}/radio/__workshop__/example.tsx +0 -0
  508. /package/src/{primitives → core/primitives}/radio/__workshop__/index.ts +0 -0
  509. /package/src/{primitives → core/primitives}/radio/__workshop__/plain.tsx +0 -0
  510. /package/src/{primitives → core/primitives}/radio/index.ts +0 -0
  511. /package/src/{primitives → core/primitives}/select/__workshop__/.eslintrc +0 -0
  512. /package/src/{primitives → core/primitives}/select/__workshop__/index.ts +0 -0
  513. /package/src/{primitives → core/primitives}/select/__workshop__/plain.tsx +0 -0
  514. /package/src/{primitives → core/primitives}/select/__workshop__/readOnly.tsx +0 -0
  515. /package/src/{primitives → core/primitives}/select/index.ts +0 -0
  516. /package/src/{primitives → core/primitives}/spinner/__workshop__/.eslintrc +0 -0
  517. /package/src/{primitives → core/primitives}/spinner/__workshop__/Props.tsx +0 -0
  518. /package/src/{primitives → core/primitives}/spinner/__workshop__/index.ts +0 -0
  519. /package/src/{primitives → core/primitives}/spinner/index.ts +0 -0
  520. /package/src/{primitives → core/primitives}/stack/__workshop__/.eslintrc +0 -0
  521. /package/src/{primitives → core/primitives}/stack/__workshop__/index.ts +0 -0
  522. /package/src/{primitives → core/primitives}/stack/__workshop__/plain.tsx +0 -0
  523. /package/src/{primitives → core/primitives}/stack/index.ts +0 -0
  524. /package/src/{primitives → core/primitives}/switch/__workshop__/.eslintrc +0 -0
  525. /package/src/{primitives → core/primitives}/switch/__workshop__/index.ts +0 -0
  526. /package/src/{primitives → core/primitives}/switch/__workshop__/props.tsx +0 -0
  527. /package/src/{primitives → core/primitives}/switch/index.ts +0 -0
  528. /package/src/{primitives → core/primitives}/text/__workshop__/.eslintrc +0 -0
  529. /package/src/{primitives → core/primitives}/text/__workshop__/example.tsx +0 -0
  530. /package/src/{primitives → core/primitives}/text/__workshop__/index.ts +0 -0
  531. /package/src/{primitives → core/primitives}/text/__workshop__/opticalAlignment.tsx +0 -0
  532. /package/src/{primitives → core/primitives}/text/index.ts +0 -0
  533. /package/src/{primitives → core/primitives}/text/styles.ts +0 -0
  534. /package/src/{primitives → core/primitives}/textArea/__workshop__/.eslintrc +0 -0
  535. /package/src/{primitives → core/primitives}/textArea/__workshop__/index.ts +0 -0
  536. /package/src/{primitives → core/primitives}/textArea/index.ts +0 -0
  537. /package/src/{primitives → core/primitives}/textInput/__workshop__/.eslintrc +0 -0
  538. /package/src/{primitives → core/primitives}/textInput/__workshop__/clearButton.tsx +0 -0
  539. /package/src/{primitives → core/primitives}/textInput/__workshop__/customValidity.tsx +0 -0
  540. /package/src/{primitives → core/primitives}/textInput/__workshop__/index.ts +0 -0
  541. /package/src/{primitives → core/primitives}/textInput/__workshop__/multipleTones.tsx +0 -0
  542. /package/src/{primitives → core/primitives}/textInput/__workshop__/readOnly.tsx +0 -0
  543. /package/src/{primitives → core/primitives}/textInput/__workshop__/tones.tsx +0 -0
  544. /package/src/{primitives → core/primitives}/textInput/__workshop__/typed.tsx +0 -0
  545. /package/src/{primitives → core/primitives}/textInput/index.ts +0 -0
  546. /package/src/{primitives → core/primitives}/tooltip/__workshop__/.eslintrc +0 -0
  547. /package/src/{primitives → core/primitives}/tooltip/__workshop__/props.tsx +0 -0
  548. /package/src/{primitives → core/primitives}/tooltip/index.ts +0 -0
  549. /package/src/{primitives → core/primitives}/tooltip/tooltipDelayGroup/index.ts +0 -0
  550. /package/src/{primitives → core/primitives}/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +0 -0
  551. /package/src/{primitives → core/primitives}/tooltip/tooltipDelayGroup/types.ts +0 -0
  552. /package/src/{primitives → core/primitives}/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -0
  553. /package/src/{styles → core/styles}/border/index.ts +0 -0
  554. /package/src/{styles → core/styles}/border/types.ts +0 -0
  555. /package/src/{styles → core/styles}/box/index.ts +0 -0
  556. /package/src/{styles → core/styles}/box/types.ts +0 -0
  557. /package/src/{styles → core/styles}/colorVars/index.ts +0 -0
  558. /package/src/{styles → core/styles}/flex/index.ts +0 -0
  559. /package/src/{styles → core/styles}/flex/types.ts +0 -0
  560. /package/src/{styles → core/styles}/font/index.ts +0 -0
  561. /package/src/{styles → core/styles}/grid/index.ts +0 -0
  562. /package/src/{styles → core/styles}/grid/types.ts +0 -0
  563. /package/src/{styles → core/styles}/index.ts +0 -0
  564. /package/src/{styles → core/styles}/input/index.ts +0 -0
  565. /package/src/{styles → core/styles}/internal.ts +0 -0
  566. /package/src/{styles → core/styles}/margin/index.ts +0 -0
  567. /package/src/{styles → core/styles}/margin/types.ts +0 -0
  568. /package/src/{styles → core/styles}/padding/index.ts +0 -0
  569. /package/src/{styles → core/styles}/padding/types.ts +0 -0
  570. /package/src/{styles → core/styles}/radius/index.ts +0 -0
  571. /package/src/{styles → core/styles}/radius/types.ts +0 -0
  572. /package/src/{styles → core/styles}/shadow/index.ts +0 -0
  573. /package/src/{styles → core/styles}/shadow/types.ts +0 -0
  574. /package/src/{theme → core/theme}/__workshop__/.eslintrc +0 -0
  575. /package/src/{theme → core/theme}/__workshop__/layer.tsx +0 -0
  576. /package/src/{theme → core/theme}/__workshop__/nestedProvider.tsx +0 -0
  577. /package/src/{theme → core/theme}/themeContext.ts +0 -0
  578. /package/src/{types → core/types}/avatar.ts +0 -0
  579. /package/src/{types → core/types}/box.ts +0 -0
  580. /package/src/{types → core/types}/dialog.ts +0 -0
  581. /package/src/{types → core/types}/flex.ts +0 -0
  582. /package/src/{types → core/types}/grid.ts +0 -0
  583. /package/src/{types → core/types}/gridItem.ts +0 -0
  584. /package/src/{types → core/types}/placement.ts +0 -0
  585. /package/src/{types → core/types}/popover.ts +0 -0
  586. /package/src/{types → core/types}/radius.ts +0 -0
  587. /package/src/{types → core/types}/text.ts +0 -0
  588. /package/src/{utils → core/utils}/boundaryElement/__workshop__/.eslintrc +0 -0
  589. /package/src/{utils → core/utils}/boundaryElement/__workshop__/index.ts +0 -0
  590. /package/src/{utils → core/utils}/boundaryElement/boundaryElementContext.ts +0 -0
  591. /package/src/{utils → core/utils}/boundaryElement/boundaryElementProvider.tsx +0 -0
  592. /package/src/{utils → core/utils}/boundaryElement/index.ts +0 -0
  593. /package/src/{utils → core/utils}/boundaryElement/types.ts +0 -0
  594. /package/src/{utils → core/utils}/boundaryElement/useBoundaryElement.ts +0 -0
  595. /package/src/{utils → core/utils}/elementQuery/__workshop__/.eslintrc +0 -0
  596. /package/src/{utils → core/utils}/elementQuery/__workshop__/customMedia.tsx +0 -0
  597. /package/src/{utils → core/utils}/elementQuery/__workshop__/index.ts +0 -0
  598. /package/src/{utils → core/utils}/elementQuery/elementQuery.tsx +0 -0
  599. /package/src/{utils → core/utils}/elementQuery/helpers.ts +0 -0
  600. /package/src/{utils → core/utils}/elementQuery/index.ts +0 -0
  601. /package/src/{utils → core/utils}/errorBoundary.tsx +0 -0
  602. /package/src/{utils → core/utils}/layer/__workshop__/.eslintrc +0 -0
  603. /package/src/{utils → core/utils}/layer/__workshop__/index.ts +0 -0
  604. /package/src/{utils → core/utils}/layer/__workshop__/multipleRoots.tsx +0 -0
  605. /package/src/{utils → core/utils}/layer/__workshop__/nested.tsx +0 -0
  606. /package/src/{utils → core/utils}/layer/__workshop__/responsiveZOffset.tsx +0 -0
  607. /package/src/{utils → core/utils}/layer/getLayerContext.test.ts +0 -0
  608. /package/src/{utils → core/utils}/layer/getLayerContext.ts +0 -0
  609. /package/src/{utils → core/utils}/layer/index.ts +0 -0
  610. /package/src/{utils → core/utils}/layer/layer.tsx +0 -0
  611. /package/src/{utils → core/utils}/layer/layerContext.ts +0 -0
  612. /package/src/{utils → core/utils}/layer/layerProvider.tsx +0 -0
  613. /package/src/{utils → core/utils}/layer/types.ts +0 -0
  614. /package/src/{utils → core/utils}/layer/useLayer.ts +0 -0
  615. /package/src/{utils → core/utils}/portal/__workshop__/.eslintrc +0 -0
  616. /package/src/{utils → core/utils}/portal/__workshop__/index.ts +0 -0
  617. /package/src/{utils → core/utils}/portal/index.ts +0 -0
  618. /package/src/{utils → core/utils}/portal/portal.ts +0 -0
  619. /package/src/{utils → core/utils}/portal/portalContext.ts +0 -0
  620. /package/src/{utils → core/utils}/portal/portalProvider.tsx +0 -0
  621. /package/src/{utils → core/utils}/portal/types.ts +0 -0
  622. /package/src/{utils → core/utils}/portal/usePortal.ts +0 -0
  623. /package/src/{utils → core/utils}/srOnly/index.ts +0 -0
  624. /package/src/{utils → core/utils}/srOnly/srOnly.tsx +0 -0
  625. /package/src/{utils → core/utils}/virtualList/__workshop__/.eslintrc +0 -0
  626. /package/src/{utils → core/utils}/virtualList/__workshop__/changingProps.tsx +0 -0
  627. /package/src/{utils → core/utils}/virtualList/__workshop__/elementScroll.tsx +0 -0
  628. /package/src/{utils → core/utils}/virtualList/__workshop__/index.ts +0 -0
  629. /package/src/{utils → core/utils}/virtualList/__workshop__/infiniteList.tsx +0 -0
  630. /package/src/{utils → core/utils}/virtualList/__workshop__/windowScrolll.tsx +0 -0
  631. /package/src/{utils → core/utils}/virtualList/index.ts +0 -0
  632. /package/src/{utils → core/utils}/virtualList/virtualList.tsx +0 -0
  633. /package/src/theme/{lib/theme/color/_generic → config/tokens/color}/index.ts +0 -0
  634. /package/src/theme/{lib/theme/color/base/types.ts → system/color/base.ts} +0 -0
  635. /package/src/theme/{lib/theme/color/syntax/types.ts → system/color/syntax.ts} +0 -0
  636. /package/src/theme/{lib/theme → system}/fonts.ts +0 -0
  637. /package/src/theme/{lib/theme → system}/layer.ts +0 -0
@@ -21,7 +21,9 @@ export default function ExampleStory() {
21
21
  <Card scheme="dark" style={{position: 'absolute', ...size}} />
22
22
  </div>
23
23
 
24
- <Code language="json">{JSON.stringify(size)}</Code>
24
+ <Code language="json" size={1}>
25
+ {JSON.stringify(size)}
26
+ </Code>
25
27
  </Stack>
26
28
  </Container>
27
29
  </Box>
@@ -6,7 +6,7 @@ export default function TestStory() {
6
6
  return (
7
7
  <Card padding={[3, 4, 5]}>
8
8
  <Stack space={2}>
9
- <Text weight="semibold">The current media index is {mediaIndex}.</Text>
9
+ <Text weight="medium">The current media index is {mediaIndex}.</Text>
10
10
  <Text muted>Try resizing the browser.</Text>
11
11
  </Stack>
12
12
  </Card>
@@ -1,6 +1,7 @@
1
1
  /** @jest-environment node */
2
+ import {studioTheme} from '@sanity/ui/theme'
2
3
  import {renderToString, renderToStaticMarkup} from 'react-dom/server'
3
- import {studioTheme, ThemeProvider} from '../../theme'
4
+ import {ThemeProvider} from '../../theme'
4
5
  import {useMediaIndex} from './useMediaIndex'
5
6
 
6
7
  function Log() {
@@ -1,3 +1,5 @@
1
+ export * from './_compat'
2
+
1
3
  export * from './primitives'
2
4
  export * from './components'
3
5
  export * from './helpers'
@@ -1,3 +1,3 @@
1
1
  export function isRecord(value: unknown): value is Record<string, unknown> {
2
- return Boolean(value && typeof value === 'object')
2
+ return Boolean(value && typeof value === 'object' && !Array.isArray(value))
3
3
  }
@@ -22,6 +22,8 @@ export function selectableBaseStyle(): ReturnType<typeof css> {
22
22
  font: inherit;
23
23
  text-align: inherit;
24
24
  border: 0;
25
+ width: -moz-available;
26
+ width: -webkit-fill-available;
25
27
  width: stretch;
26
28
  }
27
29
 
@@ -99,7 +101,6 @@ export function selectableColorStyle(
99
101
  &:hover {
100
102
  ${_colorVarsStyle(base, tone.hovered)}
101
103
  }
102
-
103
104
  &:active {
104
105
  ${_colorVarsStyle(base, tone.pressed)}
105
106
  }
@@ -1,20 +1,23 @@
1
+ import {ThemeColorAvatarColorKey} from '@sanity/ui/theme'
1
2
  import {forwardRef, useCallback, useEffect, useId, useMemo, useState} from 'react'
2
3
  import ReactIs from 'react-is'
3
4
  import styled from 'styled-components'
4
5
  import {useArrayProp} from '../../hooks'
5
- import {ThemeColorSpotKey, useTheme} from '../../theme'
6
+ import {useTheme} from '../../theme'
6
7
  import {AvatarPosition, AvatarSize, AvatarStatus} from '../../types'
7
- import {Text} from '../text'
8
+ import {Label} from '../label'
8
9
  import {avatarStyle, responsiveAvatarSizeStyle} from './styles'
9
10
 
10
11
  /**
11
12
  * @public
12
13
  */
13
14
  export interface AvatarProps {
15
+ /** @beta */
16
+ __unstable_hideInnerStroke?: boolean
14
17
  animateArrowFrom?: AvatarPosition
15
18
  arrowPosition?: AvatarPosition
16
19
  as?: React.ElementType | keyof JSX.IntrinsicElements
17
- color?: ThemeColorSpotKey
20
+ color?: ThemeColorAvatarColorKey
18
21
  initials?: string
19
22
  onImageLoadError?: (event: Error) => void
20
23
  size?: AvatarSize | AvatarSize[]
@@ -27,7 +30,7 @@ export interface AvatarProps {
27
30
  title?: string
28
31
  }
29
32
 
30
- const Root = styled.div<{$color: string; $size: AvatarSize[]}>(
33
+ const Root = styled.div<{$color: ThemeColorAvatarColorKey; $size: AvatarSize[]}>(
31
34
  responsiveAvatarSizeStyle,
32
35
  avatarStyle.root,
33
36
  )
@@ -40,7 +43,15 @@ const Stroke = styled.ellipse(avatarStyle.stroke)
40
43
 
41
44
  const Initials = styled.div(avatarStyle.initials)
42
45
 
46
+ const InitialsLabel = styled(Label)({
47
+ color: 'inherit',
48
+ })
49
+
50
+ const Image = styled.svg(avatarStyle.image)
51
+
43
52
  /**
53
+ * Avatars are used to represent people and other agents (e.g. bots).
54
+ *
44
55
  * @public
45
56
  */
46
57
  export const Avatar = forwardRef(function Avatar(
@@ -48,8 +59,9 @@ export const Avatar = forwardRef(function Avatar(
48
59
  ref: React.ForwardedRef<HTMLDivElement>,
49
60
  ) {
50
61
  const {
62
+ __unstable_hideInnerStroke,
51
63
  as: asProp,
52
- color: colorKey = 'gray',
64
+ color = 'gray',
53
65
  src,
54
66
  title,
55
67
  initials,
@@ -63,7 +75,6 @@ export const Avatar = forwardRef(function Avatar(
63
75
  const as = ReactIs.isValidElementType(asProp) ? asProp : 'div'
64
76
  const size = useArrayProp(sizeProp)
65
77
  const theme = useTheme()
66
- const color = theme.sanity.color.spot[colorKey] || theme.sanity.color.spot.gray
67
78
 
68
79
  // @todo: remove this
69
80
  const avatarSize = theme.sanity.avatar.sizes[size[0]] || theme.sanity.avatar.sizes[0]
@@ -100,7 +111,7 @@ export const Avatar = forwardRef(function Avatar(
100
111
  }
101
112
  }, [onImageLoadError])
102
113
 
103
- const initialsSize = useMemo(() => size.map((s) => (s === 0 ? 0 : s + 1)), [size])
114
+ const initialsSize = useMemo(() => size.map((s) => (s === 0 ? 0 : s * 2)), [size])
104
115
 
105
116
  return (
106
117
  <Root
@@ -108,8 +119,8 @@ export const Avatar = forwardRef(function Avatar(
108
119
  data-as={typeof as === 'string' ? as : undefined}
109
120
  data-ui="Avatar"
110
121
  {...restProps}
111
- $size={size}
112
122
  $color={color}
123
+ $size={size}
113
124
  aria-label={title}
114
125
  data-arrow-position={arrowPosition}
115
126
  data-status={status}
@@ -126,7 +137,7 @@ export const Avatar = forwardRef(function Avatar(
126
137
  </Arrow>
127
138
 
128
139
  {!imageFailed && src && (
129
- <svg viewBox={`0 0 ${_sizeRem} ${_sizeRem}`} fill="none">
140
+ <Image viewBox={`0 0 ${_sizeRem} ${_sizeRem}`} fill="none">
130
141
  <defs>
131
142
  <pattern id={imageId} patternContentUnits="objectBoundingBox" width="1" height="1">
132
143
  <image
@@ -140,30 +151,33 @@ export const Avatar = forwardRef(function Avatar(
140
151
  </defs>
141
152
 
142
153
  <circle cx={_radius} cy={_radius} r={_radius} fill={`url(#${imageId})`} />
143
- <BgStroke
144
- cx={_radius}
145
- cy={_radius}
146
- rx={_radius}
147
- ry={_radius}
148
- vectorEffect="non-scaling-stroke"
149
- />
154
+
155
+ {!__unstable_hideInnerStroke && (
156
+ <BgStroke
157
+ cx={_radius}
158
+ cy={_radius}
159
+ rx={_radius}
160
+ ry={_radius}
161
+ vectorEffect="non-scaling-stroke"
162
+ />
163
+ )}
164
+
150
165
  <Stroke
151
166
  cx={_radius}
152
167
  cy={_radius}
153
168
  rx={_radius}
154
169
  ry={_radius}
155
- stroke={color}
156
170
  vectorEffect="non-scaling-stroke"
157
171
  />
158
- </svg>
172
+ </Image>
159
173
  )}
160
174
 
161
175
  {(imageFailed || !src) && initials && (
162
176
  <>
163
177
  <Initials>
164
- <Text as="span" size={initialsSize}>
165
- <strong>{initials}</strong>
166
- </Text>
178
+ <InitialsLabel forwardedAs="span" size={initialsSize}>
179
+ {initials}
180
+ </InitialsLabel>
167
181
  </Initials>
168
182
  </>
169
183
  )}
@@ -36,7 +36,7 @@ function _avatarCounterBaseStyle(props: ThemeProps) {
36
36
  background: var(--card-bg-color);
37
37
  box-shadow:
38
38
  0 0 0 1px var(--card-bg-color),
39
- inset 0 0 0 1.5px var(--card-hairline-hard-color);
39
+ inset 0 0 0 1px var(--card-hairline-hard-color);
40
40
  padding: 0 ${rem(theme.sanity.space[2])};
41
41
 
42
42
  &:not([hidden]) {
@@ -73,8 +73,8 @@ export const AvatarCounter = forwardRef(function AvatarCounter(
73
73
 
74
74
  return (
75
75
  <Root $size={size} data-ui="AvatarCounter" ref={ref}>
76
- <Text as="span" size={counterSize}>
77
- <strong>{count}</strong>
76
+ <Text as="span" size={counterSize} weight="medium">
77
+ {count}
78
78
  </Text>
79
79
  </Root>
80
80
  )
@@ -1,6 +1,6 @@
1
+ import {CSSObject} from '@sanity/ui/theme'
1
2
  import {rem, _responsive, ThemeProps} from '../../styles'
2
3
  import {focusRingStyle} from '../../styles/internal'
3
- import {CSSObject} from '../../types/styled'
4
4
  import {AvatarRootStyleProps, ResponsiveAvatarSizeStyleProps} from './types'
5
5
 
6
6
  export const avatarStyle = {
@@ -9,6 +9,7 @@ export const avatarStyle = {
9
9
  bgStroke: avatarBgStrokeStyle,
10
10
  stroke: avatarStrokeStyle,
11
11
  initials: avatarInitialsStyle,
12
+ image: avatarImageStyle,
12
13
  }
13
14
 
14
15
  function avatarArrowStyle(): CSSObject {
@@ -60,7 +61,10 @@ export function avatarRootStyle(props: AvatarRootStyleProps & ThemeProps): CSSOb
60
61
  const {focusRing} = theme.sanity.avatar
61
62
 
62
63
  return {
63
- backgroundColor: $color,
64
+ '--avatar-bg-color': theme.sanity.color.avatar?.[$color]?.bg || theme.sanity.color.spot[$color],
65
+ '--avatar-fg-color': theme.sanity.color.avatar?.[$color]?.fg || 'var(--card-bg-color)',
66
+
67
+ backgroundColor: 'var(--avatar-bg-color)',
64
68
  position: 'relative',
65
69
  boxSizing: 'border-box',
66
70
  userSelect: 'none',
@@ -123,14 +127,17 @@ export function responsiveAvatarSizeStyle(
123
127
  })
124
128
  }
125
129
 
126
- export function avatarInitialsStyle(props: ThemeProps): CSSObject {
127
- const {theme} = props
128
- const {base} = theme.sanity.color
130
+ export function avatarImageStyle(): CSSObject {
131
+ return {
132
+ position: 'relative',
133
+ }
134
+ }
129
135
 
136
+ export function avatarInitialsStyle(): CSSObject {
130
137
  return {
131
138
  width: '100%',
132
139
  height: '100%',
133
- color: base.fg,
140
+ color: 'var(--avatar-fg-color)',
134
141
  alignItems: 'center',
135
142
  justifyContent: 'center',
136
143
  textTransform: 'uppercase',
@@ -152,7 +159,8 @@ function avatarBgStrokeStyle(): CSSObject {
152
159
 
153
160
  function avatarStrokeStyle(): CSSObject {
154
161
  return {
155
- strokeWidth: '3px',
162
+ strokeWidth: '2px',
163
+ stroke: 'var(--avatar-bg-color)',
156
164
 
157
165
  '[data-status="editing"] &': {
158
166
  strokeDasharray: '2 4',
@@ -1,10 +1,11 @@
1
+ import {ThemeColorSpotKey} from '@sanity/ui/theme'
1
2
  import {AvatarSize} from '../../types'
2
3
 
3
4
  /**
4
5
  * @internal
5
6
  */
6
7
  export interface AvatarRootStyleProps {
7
- $color: string
8
+ $color: ThemeColorSpotKey
8
9
  }
9
10
 
10
11
  /**
@@ -1,7 +1,7 @@
1
1
  /** @jest-environment jsdom */
2
2
 
3
3
  import {axe} from 'jest-axe'
4
- import {render} from '../../../test'
4
+ import {render} from '../../../../test'
5
5
  import {Badge} from './badge'
6
6
 
7
7
  describe('atoms/badge', () => {
@@ -4,7 +4,7 @@ import {useArrayProp} from '../../hooks'
4
4
  import {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'
5
5
  import {BadgeMode, BadgeTone} from '../../types'
6
6
  import {Box, BoxProps} from '../box'
7
- import {Label} from '../label'
7
+ import {Text} from '../text'
8
8
  import {ResponsiveRadiusProps} from '../types'
9
9
  import {badgeStyle} from './styles'
10
10
  import {BadgeStyleProps} from './types'
@@ -15,6 +15,7 @@ import {BadgeStyleProps} from './types'
15
15
  export interface BadgeProps extends BoxProps, ResponsiveRadiusProps {
16
16
  as?: React.ElementType | keyof JSX.IntrinsicElements
17
17
  fontSize?: number | number[]
18
+ /** @deprecated No longer used. */
18
19
  mode?: BadgeMode
19
20
  tone?: BadgeTone
20
21
  }
@@ -25,6 +26,8 @@ const Root = styled(Box)<BadgeStyleProps & ResponsiveRadiusStyleProps>(
25
26
  )
26
27
 
27
28
  /**
29
+ * Badges are used to tag resources.
30
+ *
28
31
  * @public
29
32
  */
30
33
  export const Badge = forwardRef(function Badge(
@@ -33,8 +36,9 @@ export const Badge = forwardRef(function Badge(
33
36
  ) {
34
37
  const {
35
38
  children,
36
- fontSize,
37
- mode = 'default',
39
+ fontSize = 1,
40
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
41
+ mode: _deprecated_mode,
38
42
  padding = 1,
39
43
  radius = 2,
40
44
  tone = 'default',
@@ -45,13 +49,14 @@ export const Badge = forwardRef(function Badge(
45
49
  <Root
46
50
  data-ui="Badge"
47
51
  {...restProps}
48
- $mode={mode}
49
52
  $tone={tone}
50
53
  $radius={useArrayProp(radius)}
51
54
  padding={useArrayProp(padding)}
52
55
  ref={ref}
53
56
  >
54
- <Label size={fontSize}>{children}</Label>
57
+ <Text size={fontSize} weight="medium">
58
+ {children}
59
+ </Text>
55
60
  </Root>
56
61
  )
57
62
  })
@@ -0,0 +1,20 @@
1
+ import {CSSObject} from '@sanity/ui/theme'
2
+ import {ThemeProps} from '../../styles'
3
+ import {BadgeStyleProps} from './types'
4
+
5
+ export function badgeStyle(props: BadgeStyleProps & ThemeProps): CSSObject {
6
+ const {$tone, theme} = props
7
+ const color = theme.sanity.color.badge?.[$tone] || theme.sanity.color.muted[$tone].enabled
8
+
9
+ return {
10
+ '--card-bg-color': color.bg,
11
+ '--card-fg-color': color.fg,
12
+
13
+ backgroundColor: 'var(--card-bg-color)',
14
+ cursor: 'default',
15
+
16
+ '&:not([hidden])': {
17
+ display: 'inline-block',
18
+ },
19
+ }
20
+ }
@@ -1,9 +1,8 @@
1
- import {BadgeMode, BadgeTone} from '../../types'
1
+ import {BadgeTone} from '../../types'
2
2
 
3
3
  /**
4
4
  * @internal
5
5
  */
6
6
  export interface BadgeStyleProps {
7
- $mode: BadgeMode
8
7
  $tone: BadgeTone
9
8
  }
@@ -51,6 +51,9 @@ const Root = styled.div<
51
51
  )
52
52
 
53
53
  /**
54
+ * The `Box` component is a basic layout wrapper component which provides utility properties
55
+ * for flex, margins and padding.
56
+ *
54
57
  * @public
55
58
  */
56
59
  export const Box = forwardRef(function Box(
@@ -4,7 +4,7 @@ import styled from 'styled-components'
4
4
 
5
5
  const SanityUploadButton = styled(Button).attrs({forwardedAs: 'label'})`
6
6
  & input {
7
- -webkit-appearance: none;
7
+ appearance: none;
8
8
  overflow: hidden;
9
9
  overflow: clip;
10
10
  top: 0;
@@ -14,6 +14,7 @@ const SanityUploadButton = styled(Button).attrs({forwardedAs: 'label'})`
14
14
  opacity: 0;
15
15
  position: absolute;
16
16
  max-width: 0;
17
+ width: -webkit-fill-available;
17
18
  width: stretch;
18
19
  }
19
20
 
@@ -25,7 +25,7 @@ export default function StackedStory() {
25
25
  const space = useSelect('Space', WORKSHOP_SPACE_OPTIONS, 3, 'Props')
26
26
 
27
27
  return (
28
- <Card height="fill" tone="transparent">
28
+ <Card height="fill">
29
29
  <Flex align="center" height="fill" justify="center">
30
30
  <Container width={0} style={{textAlign: 'center'}}>
31
31
  <Box padding={4}>
@@ -3,7 +3,7 @@
3
3
  import {AddIcon} from '@sanity/icons'
4
4
  import {screen} from '@testing-library/react'
5
5
  import {axe} from 'jest-axe'
6
- import {render} from '../../../test'
6
+ import {render} from '../../../../test'
7
7
  import {Button, ButtonProps} from './button'
8
8
 
9
9
  describe('atoms/button', () => {
@@ -5,7 +5,7 @@ import {useArrayProp} from '../../hooks'
5
5
  import {ThemeProps} from '../../styles'
6
6
  import {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'
7
7
  import {useTheme} from '../../theme'
8
- import {ButtonMode, ButtonTextAlign, ButtonTone, FlexJustify} from '../../types'
8
+ import {ButtonMode, ButtonTextAlign, ButtonTone, ButtonWidth, FlexJustify} from '../../types'
9
9
  import {Box} from '../box'
10
10
  import {Flex} from '../flex'
11
11
  import {Spinner} from '../spinner'
@@ -34,10 +34,12 @@ export interface ButtonProps extends ResponsivePaddingProps, ResponsiveRadiusPro
34
34
  text?: React.ReactNode
35
35
  tone?: ButtonTone
36
36
  type?: 'button' | 'reset' | 'submit'
37
+ width?: ButtonWidth
37
38
  }
38
39
 
39
40
  const Root = styled.button<
40
- {$mode: ButtonMode; $tone: ButtonTone} & ResponsiveRadiusStyleProps & ThemeProps
41
+ {$mode: ButtonMode; $tone: ButtonTone; $width?: ButtonWidth} & ResponsiveRadiusStyleProps &
42
+ ThemeProps
41
43
  >(responsiveRadiusStyle, buttonBaseStyles, buttonColorStyles)
42
44
 
43
45
  const LoadingBox = styled.div`
@@ -59,7 +61,7 @@ const LoadingBox = styled.div`
59
61
  * @public
60
62
  */
61
63
  export const Button = forwardRef(function Button(
62
- props: ButtonProps & Omit<React.HTMLProps<HTMLButtonElement>, 'as'>,
64
+ props: ButtonProps & Omit<React.HTMLProps<HTMLButtonElement>, 'as' | 'width'>,
63
65
  ref: React.ForwardedRef<HTMLButtonElement>,
64
66
  ) {
65
67
  const {
@@ -70,7 +72,7 @@ export const Button = forwardRef(function Button(
70
72
  iconRight,
71
73
  justify: justifyProp = 'center',
72
74
  loading,
73
- mode = 'default',
75
+ mode = 'ghost',
74
76
  padding: paddingProp = 3,
75
77
  paddingX: paddingXProp,
76
78
  paddingY: paddingYProp,
@@ -86,6 +88,7 @@ export const Button = forwardRef(function Button(
86
88
  tone = 'default',
87
89
  type = 'button',
88
90
  muted = false,
91
+ width,
89
92
  ...restProps
90
93
  } = props
91
94
 
@@ -128,6 +131,7 @@ export const Button = forwardRef(function Button(
128
131
  disabled={Boolean(loading || disabled)}
129
132
  ref={ref}
130
133
  type={type}
134
+ $width={width}
131
135
  >
132
136
  {Boolean(loading) && (
133
137
  <LoadingBox>
@@ -1,15 +1,22 @@
1
+ import {CSSObject} from '@sanity/ui/theme'
1
2
  import {css} from 'styled-components'
2
3
  import {ThemeProps} from '../../styles'
3
4
  import {_colorVarsStyle} from '../../styles/colorVars'
4
5
  import {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'
5
- import {ButtonMode, ButtonTone} from '../../types'
6
- import {CSSObject} from '../../types/styled'
6
+ import {ButtonMode, ButtonTone, ButtonWidth} from '../../types'
7
7
 
8
8
  /**
9
9
  * @internal
10
10
  */
11
- export function buttonBaseStyles(): ReturnType<typeof css> {
11
+ export function buttonBaseStyles({
12
+ $width,
13
+ theme,
14
+ }: {$width?: ButtonWidth} & ThemeProps): ReturnType<typeof css> {
15
+ const {styles} = theme.sanity
16
+
12
17
  return css`
18
+ ${styles?.button};
19
+
13
20
  -webkit-font-smoothing: inherit;
14
21
  appearance: none;
15
22
  display: inline-flex;
@@ -26,6 +33,14 @@ export function buttonBaseStyles(): ReturnType<typeof css> {
26
33
  white-space: nowrap;
27
34
  text-align: left;
28
35
  position: relative;
36
+ vertical-align: top;
37
+
38
+ ${$width === 'fill' &&
39
+ css`
40
+ width: -moz-available;
41
+ width: -webkit-fill-available;
42
+ width: stretch;
43
+ `}
29
44
 
30
45
  & > span {
31
46
  display: block;
@@ -41,9 +56,6 @@ export function buttonBaseStyles(): ReturnType<typeof css> {
41
56
  `
42
57
  }
43
58
 
44
- const buttonTheme = {border: {width: 1}}
45
- const defaultBoxShadow = '0px 2px 0px 0px rgba(112, 128, 155, 0.19);'
46
-
47
59
  function combineBoxShadow(...boxShadows: (string | undefined)[]): string {
48
60
  return boxShadows.filter(Boolean).join(',')
49
61
  }
@@ -55,12 +67,17 @@ export function buttonColorStyles(
55
67
  props: {$mode: ButtonMode; $tone: ButtonTone} & ThemeProps,
56
68
  ): CSSObject[] {
57
69
  const {$mode, theme} = props
58
- const {focusRing} = theme.sanity.button
59
- const shadow = props.$mode !== 'bleed'
70
+ const buttonTheme = theme.sanity.button
71
+ const shadow = props.$mode === 'ghost'
60
72
  const base = theme.sanity.color.base
61
73
  const mode = theme.sanity.color.button[$mode] || theme.sanity.color.button.default
62
74
  const color = mode[props.$tone] || mode.default
63
- const border = {width: buttonTheme.border.width, color: 'var(--card-border-color)'}
75
+ const border = {
76
+ width: buttonTheme.border.width,
77
+ color: 'var(--card-border-color)',
78
+ }
79
+ // const defaultBoxShadow = `inset 0px -1.5px 0px ${buttonTheme.border.width}px color-mix(in srgb, var(--card-border-color) 25%, var(--card-bg-color))`
80
+ const defaultBoxShadow = undefined
64
81
 
65
82
  return [
66
83
  _colorVarsStyle(base, color.enabled),
@@ -78,7 +95,7 @@ export function buttonColorStyles(
78
95
  boxShadow: focusRingStyle({
79
96
  base,
80
97
  border: {width: 2, color: base.bg},
81
- focusRing,
98
+ focusRing: buttonTheme.focusRing,
82
99
  }),
83
100
  },
84
101
  '&:focus:not(:focus-visible)': {
@@ -9,7 +9,7 @@ export default function AsButtonStory() {
9
9
  <Container>
10
10
  <Grid columns={3} gap={2}>
11
11
  <Box>
12
- <Text align="center" size={1} weight="semibold">
12
+ <Text align="center" size={1} weight="medium">
13
13
  Enabled
14
14
  </Text>
15
15
  <Stack marginTop={3} space={2}>
@@ -23,7 +23,7 @@ export default function AsButtonStory() {
23
23
  tone={tone}
24
24
  >
25
25
  <Stack space={2}>
26
- <Text weight="semibold">{title}</Text>
26
+ <Text weight="medium">{title}</Text>
27
27
  <Text muted>Muted</Text>
28
28
  <Text accent>Accent</Text>
29
29
  </Stack>
@@ -33,7 +33,7 @@ export default function AsButtonStory() {
33
33
  </Box>
34
34
 
35
35
  <Box>
36
- <Text align="center" size={1} weight="semibold">
36
+ <Text align="center" size={1} weight="medium">
37
37
  Disabled
38
38
  </Text>
39
39
  <Stack marginTop={3} space={2}>
@@ -48,7 +48,7 @@ export default function AsButtonStory() {
48
48
  tone={tone}
49
49
  >
50
50
  <Stack space={2}>
51
- <Text weight="semibold">{title}</Text>
51
+ <Text weight="medium">{title}</Text>
52
52
  <Text muted>Muted</Text>
53
53
  <Text accent>Accent</Text>
54
54
  </Stack>
@@ -58,7 +58,7 @@ export default function AsButtonStory() {
58
58
  </Box>
59
59
 
60
60
  <Box>
61
- <Text align="center" size={1} weight="semibold">
61
+ <Text align="center" size={1} weight="medium">
62
62
  Selected
63
63
  </Text>
64
64
  <Stack marginTop={3} space={2}>
@@ -72,7 +72,7 @@ export default function AsButtonStory() {
72
72
  tone={tone}
73
73
  >
74
74
  <Stack space={2}>
75
- <Text weight="semibold">{title}</Text>
75
+ <Text weight="medium">{title}</Text>
76
76
  <Text muted>Muted</Text>
77
77
  <Text accent>Accent</Text>
78
78
  </Stack>
@@ -19,7 +19,7 @@ export default function AsComponentStory() {
19
19
 
20
20
  return (
21
21
  <Flex align="center" height="fill" justify="center">
22
- <Card as={CustomLink} data-as="a" {...props} padding={3} tone="primary">
22
+ <Card as={CustomLink} data-as="a" {...props} padding={3}>
23
23
  <Text>As component</Text>
24
24
  </Card>
25
25
  </Flex>
@@ -1,16 +1,6 @@
1
1
  import {EditIcon, PublishIcon} from '@sanity/icons'
2
- import {
3
- Box,
4
- Card,
5
- Container,
6
- Flex,
7
- Inline,
8
- Stack,
9
- Text,
10
- Theme,
11
- ThemeColorToneKey,
12
- useRootTheme,
13
- } from '@sanity/ui'
2
+ import {Box, Card, Container, Flex, Inline, Stack, Text, useRootTheme} from '@sanity/ui'
3
+ import {Theme, ThemeColorToneKey} from '@sanity/ui/theme'
14
4
  import {useBoolean} from '@sanity/ui-workshop'
15
5
  import styled, {css} from 'styled-components'
16
6