@sanity/ui 2.0.0-alpha.9 → 2.0.0-beta.1

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