@sanity/ui 2.0.0-alpha.26 → 2.0.0-alpha.28

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 (653) hide show
  1. package/dist/index.cjs.mjs +37 -38
  2. package/dist/index.d.ts +302 -1001
  3. package/dist/index.esm.js +570 -3598
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.js +897 -3746
  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 +38 -15
  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}/dialog/__workshop__/activate.tsx +0 -1
  24. package/src/{components → core/components}/dialog/__workshop__/layering.tsx +5 -1
  25. package/src/{components → core/components}/dialog/__workshop__/panes.tsx +2 -7
  26. package/src/{components → core/components}/dialog/dialog.tsx +7 -5
  27. package/src/{components → core/components}/dialog/styles.ts +1 -1
  28. package/src/{components → core/components}/menu/__workshop__/asComponent.tsx +4 -4
  29. package/src/{components → core/components}/menu/__workshop__/customMenuItem.tsx +9 -3
  30. package/src/{components → core/components}/menu/__workshop__/menuButton.tsx +1 -1
  31. package/src/{components → core/components}/menu/menu.test.tsx +1 -1
  32. package/src/{components → core/components}/menu/menuButton.tsx +1 -1
  33. package/src/{components → core/components}/skeleton/textSkeleton.tsx +1 -1
  34. package/src/{components → core/components}/toast/toast.test.tsx +1 -1
  35. package/src/{components → core/components}/toast/toast.tsx +1 -1
  36. package/src/{components → core/components}/tree/__workshop__/tabFromElement.tsx +1 -1
  37. package/src/{components → core/components}/tree/style.ts +6 -6
  38. package/src/{components → core/components}/tree/treeItem.tsx +3 -3
  39. package/src/{constants.ts → core/constants.ts} +1 -0
  40. package/src/{hooks → core/hooks}/useElementRect/__workshop__/example.tsx +3 -1
  41. package/src/{hooks → core/hooks}/useMediaIndex/__workshop__/test.tsx +1 -1
  42. package/src/{hooks → core/hooks}/useMediaIndex/useMediaIndex.test.tsx +2 -1
  43. package/src/{index.ts → core/index.ts} +2 -0
  44. package/src/{lib → core/lib}/isRecord.ts +1 -1
  45. package/src/{primitives → core/primitives}/avatar/avatar.tsx +16 -11
  46. package/src/{primitives → core/primitives}/avatar/styles.ts +8 -7
  47. package/src/{primitives → core/primitives}/avatar/types.ts +2 -1
  48. package/src/{primitives → core/primitives}/badge/badge.test.tsx +1 -1
  49. package/src/{primitives → core/primitives}/badge/badge.tsx +3 -2
  50. package/src/core/primitives/badge/styles.ts +20 -0
  51. package/src/{primitives → core/primitives}/badge/types.ts +1 -2
  52. package/src/{primitives → core/primitives}/button/__workshop__/stacked.tsx +1 -1
  53. package/src/{primitives → core/primitives}/button/button.test.tsx +1 -1
  54. package/src/{primitives → core/primitives}/button/button.tsx +1 -1
  55. package/src/{primitives → core/primitives}/button/styles.ts +19 -9
  56. package/src/{primitives → core/primitives}/card/__workshop__/asButton.tsx +6 -6
  57. package/src/{primitives → core/primitives}/card/__workshop__/asComponent.tsx +1 -1
  58. package/src/{primitives → core/primitives}/card/__workshop__/selected.tsx +2 -12
  59. package/src/{primitives → core/primitives}/card/card.tsx +2 -1
  60. package/src/{primitives → core/primitives}/card/types.ts +1 -1
  61. package/src/{primitives → core/primitives}/checkbox/__workshop__/example.tsx +1 -1
  62. package/src/{primitives → core/primitives}/checkbox/__workshop__/props.tsx +1 -1
  63. package/src/{primitives → core/primitives}/checkbox/__workshop__/readOnly.tsx +1 -1
  64. package/src/{primitives → core/primitives}/checkbox/styles.ts +4 -3
  65. package/src/{primitives → core/primitives}/container/styles.ts +1 -1
  66. package/src/{primitives → core/primitives}/heading/heading.tsx +1 -1
  67. package/src/{primitives → core/primitives}/inline/styles.ts +1 -1
  68. package/src/{primitives → core/primitives}/label/label.tsx +1 -1
  69. package/src/{primitives → core/primitives}/popover/__workshop__/RecursiveStory.tsx +2 -9
  70. package/src/{primitives → core/primitives}/popover/__workshop__/TestStory.tsx +6 -3
  71. package/src/{primitives → core/primitives}/popover/constants.ts +3 -2
  72. package/src/{primitives → core/primitives}/popover/helpers.ts +1 -1
  73. package/src/{primitives → core/primitives}/popover/popover.tsx +6 -7
  74. package/src/{primitives → core/primitives}/popover/popoverCard.tsx +22 -16
  75. package/src/{primitives → core/primitives}/radio/styles.ts +1 -1
  76. package/src/{primitives → core/primitives}/select/styles.ts +2 -2
  77. package/src/{primitives → core/primitives}/stack/styles.ts +1 -1
  78. package/src/{primitives → core/primitives}/switch/__workshop__/example.tsx +1 -1
  79. package/src/{primitives → core/primitives}/switch/styles.ts +2 -2
  80. package/src/{primitives → core/primitives}/text/__workshop__/colored.tsx +2 -1
  81. package/src/{primitives → core/primitives}/text/text.tsx +1 -1
  82. package/src/{primitives → core/primitives}/textArea/__workshop__/plain.tsx +1 -1
  83. package/src/{primitives → core/primitives}/textArea/textArea.tsx +2 -1
  84. package/src/{primitives → core/primitives}/textInput/__workshop__/plain.tsx +1 -1
  85. package/src/{primitives → core/primitives}/textInput/__workshop__/states.tsx +3 -3
  86. package/src/{primitives → core/primitives}/textInput/textInput.tsx +2 -1
  87. package/src/{primitives → core/primitives}/tooltip/constants.ts +5 -0
  88. package/src/{primitives → core/primitives}/tooltip/tooltip.test.tsx +3 -3
  89. package/src/{primitives → core/primitives}/tooltip/tooltip.tsx +25 -18
  90. package/src/{styles → core/styles}/border/borderStyle.ts +16 -13
  91. package/src/{styles → core/styles}/box/boxStyle.ts +1 -1
  92. package/src/{styles → core/styles}/colorVars/colorVarsStyle.ts +3 -3
  93. package/src/{styles → core/styles}/flex/flexItemStyle.ts +1 -1
  94. package/src/{styles → core/styles}/flex/flexStyle.ts +1 -1
  95. package/src/{styles → core/styles}/focusRing/index.ts +2 -2
  96. package/src/{styles → core/styles}/font/codeFontStyle.ts +1 -1
  97. package/src/{styles → core/styles}/font/headingFontStyle.ts +1 -1
  98. package/src/{styles → core/styles}/font/labelFontStyle.ts +1 -1
  99. package/src/{styles → core/styles}/font/responsiveFont.ts +2 -2
  100. package/src/{styles → core/styles}/font/textAlignStyle.ts +1 -1
  101. package/src/{styles → core/styles}/font/textFontStyle.ts +1 -1
  102. package/src/{styles → core/styles}/font/types.ts +1 -1
  103. package/src/{styles → core/styles}/grid/gridItemStyle.ts +1 -1
  104. package/src/{styles → core/styles}/grid/gridStyle.ts +1 -1
  105. package/src/{styles → core/styles}/helpers.ts +2 -2
  106. package/src/{styles → core/styles}/input/responsiveInputPaddingStyle.ts +1 -1
  107. package/src/{styles → core/styles}/input/textInputStyle.ts +2 -2
  108. package/src/{styles → core/styles}/margin/marginStyle.ts +1 -1
  109. package/src/{styles → core/styles}/margin/marginsStyle.test.ts +1 -1
  110. package/src/{styles → core/styles}/padding/paddingStyle.test.ts +1 -1
  111. package/src/{styles → core/styles}/padding/paddingStyle.ts +1 -1
  112. package/src/{styles → core/styles}/radius/radiusStyle.ts +1 -1
  113. package/src/{styles → core/styles}/shadow/shadowStyle.ts +9 -7
  114. package/src/{styles → core/styles}/types.ts +1 -1
  115. package/src/core/theme/__workshop__/build/Root.tsx +346 -0
  116. package/src/core/theme/__workshop__/build/helpers.ts +46 -0
  117. package/src/core/theme/__workshop__/build/story.tsx +457 -0
  118. package/src/{theme → core/theme}/__workshop__/canvas.tsx +87 -113
  119. package/src/{theme → core/theme}/__workshop__/color.tsx +3 -6
  120. package/src/{theme → core/theme}/__workshop__/index.ts +5 -0
  121. package/src/{theme → core/theme}/defaults.ts +1 -1
  122. package/src/core/theme/index.ts +5 -0
  123. package/src/{theme → core/theme}/theme.test.tsx +2 -2
  124. package/src/{theme → core/theme}/themeColorProvider.tsx +2 -2
  125. package/src/{theme → core/theme}/themeProvider.tsx +3 -3
  126. package/src/core/theme/types.ts +11 -0
  127. package/src/{theme → core/theme}/useRootTheme.ts +1 -2
  128. package/src/{theme → core/theme}/useTheme.ts +1 -2
  129. package/src/core/types/badge.ts +12 -0
  130. package/src/core/types/button.ts +22 -0
  131. package/src/core/types/card.ts +6 -0
  132. package/src/{types → core/types}/index.ts +0 -1
  133. package/src/core/types/selectable.ts +6 -0
  134. package/src/core/utils/arrow/arrow.tsx +121 -0
  135. package/src/core/utils/arrow/cmds.ts +91 -0
  136. package/src/core/utils/arrow/index.ts +1 -0
  137. package/src/{utils → core/utils}/boundaryElement/__workshop__/plain.tsx +2 -6
  138. package/src/{utils → core/utils}/boundaryElement/boundaryElement.test.tsx +1 -1
  139. package/src/{utils → core/utils}/index.ts +1 -0
  140. package/src/{utils → core/utils}/layer/__workshop__/_debug.tsx +1 -1
  141. package/src/{utils → core/utils}/layer/layer.test.tsx +1 -1
  142. package/src/{utils → core/utils}/portal/__workshop__/named.tsx +3 -3
  143. package/src/{utils → core/utils}/portal/portal.test.tsx +1 -1
  144. package/src/theme/{lib/theme/color/selectable → build/_deprecated/color/_selectable}/createSelectableTones.ts +7 -4
  145. package/src/theme/{lib/theme/color/solid → build/_deprecated/color/_solid}/createSolidTones.ts +1 -3
  146. package/src/theme/{lib/theme → build/_deprecated}/color/button/createButtonModes.ts +6 -4
  147. package/src/theme/{lib/theme → build/_deprecated}/color/button/createButtonTones.ts +7 -4
  148. package/src/theme/{lib/theme → build/_deprecated}/color/card/createCardStates.ts +7 -5
  149. package/src/theme/{lib/theme → build/_deprecated}/color/color.test.ts +1 -1
  150. package/src/theme/{lib/theme → build/_deprecated}/color/defaults.ts +7 -7
  151. package/src/theme/{lib/theme → build/_deprecated}/color/factory.ts +25 -21
  152. package/src/theme/build/_deprecated/color/index.ts +1 -0
  153. package/src/theme/{lib/theme → build/_deprecated}/color/input/createInputModes.ts +1 -4
  154. package/src/theme/{lib/theme → build/_deprecated}/color/muted/createMuted.ts +2 -4
  155. package/src/theme/{lib/theme → build/_deprecated}/color/spot/createSpot.ts +1 -2
  156. package/src/theme/{_internal/build/colorTheme → build}/buildColorTheme.test.ts +52 -53
  157. package/src/theme/build/buildColorTheme.ts +537 -0
  158. package/src/theme/{_internal/build → build}/buildTheme.test.ts +19 -12
  159. package/src/theme/build/buildTheme.ts +28 -0
  160. package/src/theme/build/colorToken.ts +37 -0
  161. package/src/theme/build/defaults/colorPalette.ts +5 -0
  162. package/src/theme/build/defaults/colorTokens.ts +499 -0
  163. package/src/theme/build/defaults/config.ts +81 -0
  164. package/src/theme/build/defaults/fonts.ts +219 -0
  165. package/src/theme/build/index.ts +3 -0
  166. package/src/theme/{lib → build/lib}/color-fns/blend/index.ts +1 -0
  167. package/src/theme/build/lib/color-fns/blend/mix.ts +21 -0
  168. package/src/theme/{lib → build/lib}/color-fns/blend/multiply.ts +3 -7
  169. package/src/theme/{lib → build/lib}/color-fns/blend/screen.ts +3 -7
  170. package/src/theme/{lib → build/lib}/color-fns/color-fns.test.ts +10 -7
  171. package/src/theme/build/lib/color-fns/contrastRatio.ts +30 -0
  172. package/src/theme/{lib → build/lib}/color-fns/convert.ts +10 -1
  173. package/src/theme/{lib → build/lib}/color-fns/index.ts +2 -1
  174. package/src/theme/{lib/color-fns/helpers → build/lib/color-fns}/rgba.ts +1 -1
  175. package/src/theme/build/lib/utils.ts +19 -0
  176. package/src/theme/build/merge.ts +23 -0
  177. package/src/theme/build/mixThemeColor.test.ts +21 -0
  178. package/src/theme/build/mixThemeColor.ts +53 -0
  179. package/src/theme/build/renderColorTheme.ts +544 -0
  180. package/src/theme/build/renderColorValue.ts +70 -0
  181. package/src/theme/build/resolveColorTokens.ts +352 -0
  182. package/src/theme/{_internal/config → config}/helpers.ts +2 -2
  183. package/src/theme/{_internal/config → config}/index.ts +2 -1
  184. package/src/theme/config/system.ts +83 -0
  185. package/src/theme/config/tokens/color/types.ts +112 -0
  186. package/src/theme/{_internal/config/token → config/tokens}/index.ts +2 -0
  187. package/src/theme/{_internal/config/token → config/tokens}/parseTokenKey.test.ts +0 -8
  188. package/src/theme/{_internal/config/token → config/tokens}/parseTokenKey.ts +2 -24
  189. package/src/theme/{_internal/config/token → config/tokens}/parseTokenValue.ts +5 -26
  190. package/src/theme/config/tokens/types.ts +44 -0
  191. package/src/theme/config/types.ts +51 -0
  192. package/src/theme/index.ts +4 -9
  193. package/src/theme/system/_system.ts +95 -0
  194. package/src/theme/system/avatar.ts +14 -0
  195. package/src/theme/system/color/_constants.ts +38 -0
  196. package/src/theme/{lib/theme/color/muted/types.ts → system/color/_deprecated/muted.ts} +3 -1
  197. package/src/theme/{lib/theme/color/solid/types.ts → system/color/_deprecated/solid.ts} +3 -1
  198. package/src/theme/system/color/_deprecated/spot.ts +13 -0
  199. package/src/theme/{lib/theme/color/_generic/types.ts → system/color/_generic.ts} +5 -1
  200. package/src/theme/system/color/_helpers.ts +23 -0
  201. package/src/theme/system/color/_system.ts +100 -0
  202. package/src/theme/system/color/avatar.ts +13 -0
  203. package/src/theme/system/color/badge.ts +9 -0
  204. package/src/theme/{lib/theme/color/button/types.ts → system/color/button.ts} +6 -11
  205. package/src/theme/system/color/card.ts +18 -0
  206. package/src/theme/system/color/index.ts +20 -0
  207. package/src/theme/{lib/theme/color/input/types.ts → system/color/input.ts} +3 -0
  208. package/src/theme/system/color/kbd.ts +8 -0
  209. package/src/theme/{lib/theme/color/selectable/types.ts → system/color/selectable.ts} +1 -1
  210. package/src/theme/{lib/theme → system}/index.ts +2 -1
  211. package/src/theme/{lib/theme → system}/input.ts +6 -6
  212. package/src/theme/system/shadow.ts +24 -0
  213. package/src/theme/{studioTheme/theme.ts → themes/studio/config.ts} +12 -25
  214. package/src/theme/{studioTheme → themes/studio}/fonts.ts +50 -50
  215. package/src/theme/themes/studio/index.ts +1 -0
  216. package/src/theme/themes/studio/studioTheme.test.ts +27 -0
  217. package/src/theme/themes/studio/studioTheme.ts +8 -0
  218. package/src/primitives/badge/styles.ts +0 -22
  219. package/src/primitives/popover/popoverArrow.tsx +0 -76
  220. package/src/primitives/tooltip/tooltipArrow.tsx +0 -89
  221. package/src/theme/_internal/__workshop__/build/story.tsx +0 -288
  222. package/src/theme/_internal/__workshop__/build/theme.ts +0 -3
  223. package/src/theme/_internal/__workshop__/index.ts +0 -14
  224. package/src/theme/_internal/build/buildTheme.ts +0 -16
  225. package/src/theme/_internal/build/colorTheme/buildColorTheme.ts +0 -164
  226. package/src/theme/_internal/build/colorTheme/renderColorTheme.ts +0 -242
  227. package/src/theme/_internal/build/colorTheme/resolveColorTokens.ts +0 -121
  228. package/src/theme/_internal/build/defaults/colorPalette.ts +0 -8
  229. package/src/theme/_internal/build/defaults/colorTokens.ts +0 -147
  230. package/src/theme/_internal/build/helpers.ts +0 -65
  231. package/src/theme/_internal/build/index.ts +0 -1
  232. package/src/theme/_internal/config/types.ts +0 -137
  233. package/src/theme/_internal/constants.ts +0 -48
  234. package/src/theme/_internal/helpers.ts +0 -19
  235. package/src/theme/_internal/index.ts +0 -5
  236. package/src/theme/_internal/types.ts +0 -91
  237. package/src/theme/lib/color-fns/helpers/index.ts +0 -1
  238. package/src/theme/lib/theme/avatar.ts +0 -14
  239. package/src/theme/lib/theme/color/_legacy/createColorTheme.ts +0 -7
  240. package/src/theme/lib/theme/color/_legacy/index.ts +0 -1
  241. package/src/theme/lib/theme/color/_legacy/legacyColor.ts +0 -3997
  242. package/src/theme/lib/theme/color/base/index.ts +0 -1
  243. package/src/theme/lib/theme/color/button/index.ts +0 -1
  244. package/src/theme/lib/theme/color/card/index.ts +0 -1
  245. package/src/theme/lib/theme/color/card/types.ts +0 -18
  246. package/src/theme/lib/theme/color/index.ts +0 -14
  247. package/src/theme/lib/theme/color/input/index.ts +0 -1
  248. package/src/theme/lib/theme/color/muted/index.ts +0 -1
  249. package/src/theme/lib/theme/color/selectable/index.ts +0 -1
  250. package/src/theme/lib/theme/color/solid/index.ts +0 -1
  251. package/src/theme/lib/theme/color/spot/index.ts +0 -1
  252. package/src/theme/lib/theme/color/spot/types.ts +0 -28
  253. package/src/theme/lib/theme/color/syntax/index.ts +0 -1
  254. package/src/theme/lib/theme/color/types.ts +0 -72
  255. package/src/theme/lib/theme/shadow.ts +0 -20
  256. package/src/theme/lib/theme/theme.ts +0 -43
  257. package/src/theme/studioTheme/color.ts +0 -666
  258. package/src/theme/studioTheme/helpers.ts +0 -31
  259. package/src/theme/studioTheme/index.ts +0 -1
  260. package/src/theme/studioTheme/tints.ts +0 -312
  261. package/src/theme/types.ts +0 -47
  262. package/src/types/badge.ts +0 -9
  263. package/src/types/button.ts +0 -19
  264. package/src/types/card.ts +0 -6
  265. package/src/types/selectable.ts +0 -4
  266. package/src/types/styled.ts +0 -9
  267. /package/src/{components → core/components}/autocomplete/__fixtures__/countries.ts +0 -0
  268. /package/src/{components → core/components}/autocomplete/__mocks__/apiStore.ts +0 -0
  269. /package/src/{components → core/components}/autocomplete/__workshop__/.eslintrc +0 -0
  270. /package/src/{components → core/components}/autocomplete/__workshop__/fullscreen.tsx +0 -0
  271. /package/src/{components → core/components}/autocomplete/__workshop__/index.ts +0 -0
  272. /package/src/{components → core/components}/autocomplete/__workshop__/types.ts +0 -0
  273. /package/src/{components → core/components}/autocomplete/autocomplete.styles.tsx +0 -0
  274. /package/src/{components → core/components}/autocomplete/autocomplete.tsx +0 -0
  275. /package/src/{components → core/components}/autocomplete/autocompleteOption.tsx +0 -0
  276. /package/src/{components → core/components}/autocomplete/autocompleteReducer.ts +0 -0
  277. /package/src/{components → core/components}/autocomplete/constants.ts +0 -0
  278. /package/src/{components → core/components}/autocomplete/index.ts +0 -0
  279. /package/src/{components → core/components}/autocomplete/types.ts +0 -0
  280. /package/src/{components → core/components}/breadcrumbs/__workshop__/.eslintrc +0 -0
  281. /package/src/{components → core/components}/breadcrumbs/__workshop__/example.tsx +0 -0
  282. /package/src/{components → core/components}/breadcrumbs/__workshop__/index.ts +0 -0
  283. /package/src/{components → core/components}/breadcrumbs/breadcrumbs.styles.ts +0 -0
  284. /package/src/{components → core/components}/breadcrumbs/breadcrumbs.tsx +0 -0
  285. /package/src/{components → core/components}/breadcrumbs/index.ts +0 -0
  286. /package/src/{components → core/components}/dialog/__workshop__/.eslintrc +0 -0
  287. /package/src/{components → core/components}/dialog/__workshop__/autoFocus.tsx +0 -0
  288. /package/src/{components → core/components}/dialog/__workshop__/index.ts +0 -0
  289. /package/src/{components → core/components}/dialog/__workshop__/nested.tsx +0 -0
  290. /package/src/{components → core/components}/dialog/__workshop__/onScroll.tsx +0 -0
  291. /package/src/{components → core/components}/dialog/__workshop__/position.tsx +0 -0
  292. /package/src/{components → core/components}/dialog/__workshop__/props.tsx +0 -0
  293. /package/src/{components → core/components}/dialog/__workshop__/provider.tsx +0 -0
  294. /package/src/{components → core/components}/dialog/__workshop__/wrapped.tsx +0 -0
  295. /package/src/{components → core/components}/dialog/constants.ts +0 -0
  296. /package/src/{components → core/components}/dialog/dialogContext.ts +0 -0
  297. /package/src/{components → core/components}/dialog/dialogProvider.tsx +0 -0
  298. /package/src/{components → core/components}/dialog/index.ts +0 -0
  299. /package/src/{components → core/components}/dialog/useDialog.ts +0 -0
  300. /package/src/{components → core/components}/hotkeys/__workshop__/.eslintrc +0 -0
  301. /package/src/{components → core/components}/hotkeys/__workshop__/index.ts +0 -0
  302. /package/src/{components → core/components}/hotkeys/__workshop__/plain.tsx +0 -0
  303. /package/src/{components → core/components}/hotkeys/hotkeys.tsx +0 -0
  304. /package/src/{components → core/components}/hotkeys/index.ts +0 -0
  305. /package/src/{components → core/components}/index.ts +0 -0
  306. /package/src/{components → core/components}/menu/__workshop__/.eslintrc +0 -0
  307. /package/src/{components → core/components}/menu/__workshop__/closableMenuButton.tsx +0 -0
  308. /package/src/{components → core/components}/menu/__workshop__/constrainedInBoundary.tsx +0 -0
  309. /package/src/{components → core/components}/menu/__workshop__/disableFocusOnClose.tsx +0 -0
  310. /package/src/{components → core/components}/menu/__workshop__/groups.tsx +0 -0
  311. /package/src/{components → core/components}/menu/__workshop__/index.ts +0 -0
  312. /package/src/{components → core/components}/menu/__workshop__/menuGroupRight.tsx +0 -0
  313. /package/src/{components → core/components}/menu/__workshop__/nestedMenu.tsx +0 -0
  314. /package/src/{components → core/components}/menu/__workshop__/onCloseMenuButton.tsx +0 -0
  315. /package/src/{components → core/components}/menu/__workshop__/selectedItem.tsx +0 -0
  316. /package/src/{components → core/components}/menu/__workshop__/shouldFocus.tsx +0 -0
  317. /package/src/{components → core/components}/menu/__workshop__/tones.tsx +0 -0
  318. /package/src/{components → core/components}/menu/__workshop__/withoutArrow.tsx +0 -0
  319. /package/src/{components → core/components}/menu/helpers.ts +0 -0
  320. /package/src/{components → core/components}/menu/index.ts +0 -0
  321. /package/src/{components → core/components}/menu/menu.tsx +0 -0
  322. /package/src/{components → core/components}/menu/menuContext.ts +0 -0
  323. /package/src/{components → core/components}/menu/menuDivider.ts +0 -0
  324. /package/src/{components → core/components}/menu/menuGroup.tsx +0 -0
  325. /package/src/{components → core/components}/menu/menuItem.tsx +0 -0
  326. /package/src/{components → core/components}/menu/useMenu.ts +0 -0
  327. /package/src/{components → core/components}/menu/useMenuController.ts +0 -0
  328. /package/src/{components → core/components}/skeleton/__workshop__/.eslintrc +0 -0
  329. /package/src/{components → core/components}/skeleton/__workshop__/delay.tsx +0 -0
  330. /package/src/{components → core/components}/skeleton/__workshop__/index.ts +0 -0
  331. /package/src/{components → core/components}/skeleton/__workshop__/skeleton.tsx +0 -0
  332. /package/src/{components → core/components}/skeleton/index.ts +0 -0
  333. /package/src/{components → core/components}/skeleton/skeleton.tsx +0 -0
  334. /package/src/{components → core/components}/skeleton/styles.ts +0 -0
  335. /package/src/{components → core/components}/tab/__workshop__/.eslintrc +0 -0
  336. /package/src/{components → core/components}/tab/__workshop__/example.tsx +0 -0
  337. /package/src/{components → core/components}/tab/__workshop__/index.ts +0 -0
  338. /package/src/{components → core/components}/tab/index.ts +0 -0
  339. /package/src/{components → core/components}/tab/tab.tsx +0 -0
  340. /package/src/{components → core/components}/tab/tabList.tsx +0 -0
  341. /package/src/{components → core/components}/tab/tabPanel.tsx +0 -0
  342. /package/src/{components → core/components}/toast/__workshop__/.eslintrc +0 -0
  343. /package/src/{components → core/components}/toast/__workshop__/hook.tsx +0 -0
  344. /package/src/{components → core/components}/toast/__workshop__/index.ts +0 -0
  345. /package/src/{components → core/components}/toast/__workshop__/toast.tsx +0 -0
  346. /package/src/{components → core/components}/toast/index.ts +0 -0
  347. /package/src/{components → core/components}/toast/toastContext.ts +0 -0
  348. /package/src/{components → core/components}/toast/toastProvider.tsx +0 -0
  349. /package/src/{components → core/components}/toast/types.ts +0 -0
  350. /package/src/{components → core/components}/toast/useToast.ts +0 -0
  351. /package/src/{components → core/components}/tree/__workshop__/.eslintrc +0 -0
  352. /package/src/{components → core/components}/tree/__workshop__/basic.perf.ts +0 -0
  353. /package/src/{components → core/components}/tree/__workshop__/basic.tsx +0 -0
  354. /package/src/{components → core/components}/tree/__workshop__/index.ts +0 -0
  355. /package/src/{components → core/components}/tree/helpers.ts +0 -0
  356. /package/src/{components → core/components}/tree/index.ts +0 -0
  357. /package/src/{components → core/components}/tree/tree.tsx +0 -0
  358. /package/src/{components → core/components}/tree/treeContext.ts +0 -0
  359. /package/src/{components → core/components}/tree/treeGroup.tsx +0 -0
  360. /package/src/{components → core/components}/tree/types.ts +0 -0
  361. /package/src/{components → core/components}/tree/useTree.ts +0 -0
  362. /package/src/{global.ts → core/global.ts} +0 -0
  363. /package/src/{helpers → core/helpers}/animation.ts +0 -0
  364. /package/src/{helpers → core/helpers}/element.ts +0 -0
  365. /package/src/{helpers → core/helpers}/focus.ts +0 -0
  366. /package/src/{helpers → core/helpers}/index.ts +0 -0
  367. /package/src/{helpers → core/helpers}/scroll.ts +0 -0
  368. /package/src/{hooks → core/hooks}/_internal/index.ts +0 -0
  369. /package/src/{hooks → core/hooks}/_internal/useUnique.ts +0 -0
  370. /package/src/{hooks → core/hooks}/index.ts +0 -0
  371. /package/src/{hooks → core/hooks}/useArrayProp.ts +0 -0
  372. /package/src/{hooks → core/hooks}/useClickOutside.ts +0 -0
  373. /package/src/{hooks → core/hooks}/useCustomValidity.ts +0 -0
  374. /package/src/{hooks → core/hooks}/useDelayed.test.ts +0 -0
  375. /package/src/{hooks → core/hooks}/useDelayedState.ts +0 -0
  376. /package/src/{hooks → core/hooks}/useElementRect/__workshop__/.eslintrc +0 -0
  377. /package/src/{hooks → core/hooks}/useElementRect/__workshop__/index.ts +0 -0
  378. /package/src/{hooks → core/hooks}/useElementRect/index.ts +0 -0
  379. /package/src/{hooks → core/hooks}/useElementRect/useElementRect.ts +0 -0
  380. /package/src/{hooks → core/hooks}/useElementSize.ts +0 -0
  381. /package/src/{hooks → core/hooks}/useForwardedRef.ts +0 -0
  382. /package/src/{hooks → core/hooks}/useGlobalKeyDown.ts +0 -0
  383. /package/src/{hooks → core/hooks}/useIsomorphicEffect.ts +0 -0
  384. /package/src/{hooks → core/hooks}/useMediaIndex/__workshop__/.eslintrc +0 -0
  385. /package/src/{hooks → core/hooks}/useMediaIndex/__workshop__/index.ts +0 -0
  386. /package/src/{hooks → core/hooks}/useMediaIndex/index.ts +0 -0
  387. /package/src/{hooks → core/hooks}/useMediaIndex/useMediaIndex.ts +0 -0
  388. /package/src/{hooks → core/hooks}/useMounted.ts +0 -0
  389. /package/src/{hooks → core/hooks}/usePrefersDark.hydration.test.tsx +0 -0
  390. /package/src/{hooks → core/hooks}/usePrefersDark.test.tsx +0 -0
  391. /package/src/{hooks → core/hooks}/usePrefersDark.ts +0 -0
  392. /package/src/{hooks → core/hooks}/usePrefersReducedMotion.hydration.test.tsx +0 -0
  393. /package/src/{hooks → core/hooks}/usePrefersReducedMotion.test.tsx +0 -0
  394. /package/src/{hooks → core/hooks}/usePrefersReducedMotion.ts +0 -0
  395. /package/src/{lib → core/lib}/globalScope.ts +0 -0
  396. /package/src/{observers → core/observers}/elementSizeObserver.ts +0 -0
  397. /package/src/{observers → core/observers}/index.ts +0 -0
  398. /package/src/{observers → core/observers}/resizeObserver.ts +0 -0
  399. /package/src/{primitives → core/primitives}/_selectable/index.ts +0 -0
  400. /package/src/{primitives → core/primitives}/_selectable/selectable.tsx +0 -0
  401. /package/src/{primitives → core/primitives}/_selectable/style.ts +0 -0
  402. /package/src/{primitives → core/primitives}/avatar/__workshop__/.eslintrc +0 -0
  403. /package/src/{primitives → core/primitives}/avatar/__workshop__/asButton.tsx +0 -0
  404. /package/src/{primitives → core/primitives}/avatar/__workshop__/index.ts +0 -0
  405. /package/src/{primitives → core/primitives}/avatar/__workshop__/stack.tsx +0 -0
  406. /package/src/{primitives → core/primitives}/avatar/avatarCounter.tsx +0 -0
  407. /package/src/{primitives → core/primitives}/avatar/avatarStack.tsx +0 -0
  408. /package/src/{primitives → core/primitives}/avatar/index.ts +0 -0
  409. /package/src/{primitives → core/primitives}/badge/__workshop__/.eslintrc +0 -0
  410. /package/src/{primitives → core/primitives}/badge/__workshop__/index.ts +0 -0
  411. /package/src/{primitives → core/primitives}/badge/__workshop__/props.tsx +0 -0
  412. /package/src/{primitives → core/primitives}/badge/__workshop__/tones.tsx +0 -0
  413. /package/src/{primitives → core/primitives}/badge/index.ts +0 -0
  414. /package/src/{primitives → core/primitives}/box/__workshop__/.eslintrc +0 -0
  415. /package/src/{primitives → core/primitives}/box/__workshop__/index.ts +0 -0
  416. /package/src/{primitives → core/primitives}/box/__workshop__/props.tsx +0 -0
  417. /package/src/{primitives → core/primitives}/box/__workshop__/responsive.tsx +0 -0
  418. /package/src/{primitives → core/primitives}/box/box.tsx +0 -0
  419. /package/src/{primitives → core/primitives}/box/index.ts +0 -0
  420. /package/src/{primitives → core/primitives}/button/__workshop__/.eslintrc +0 -0
  421. /package/src/{primitives → core/primitives}/button/__workshop__/custom.tsx +0 -0
  422. /package/src/{primitives → core/primitives}/button/__workshop__/customIcons.tsx +0 -0
  423. /package/src/{primitives → core/primitives}/button/__workshop__/index.ts +0 -0
  424. /package/src/{primitives → core/primitives}/button/__workshop__/mixedChildren.tsx +0 -0
  425. /package/src/{primitives → core/primitives}/button/__workshop__/props.tsx +0 -0
  426. /package/src/{primitives → core/primitives}/button/__workshop__/sanityUploadButton.tsx +0 -0
  427. /package/src/{primitives → core/primitives}/button/__workshop__/styled1.tsx +0 -0
  428. /package/src/{primitives → core/primitives}/button/__workshop__/styled2.tsx +0 -0
  429. /package/src/{primitives → core/primitives}/button/__workshop__/uploadButton.tsx +0 -0
  430. /package/src/{primitives → core/primitives}/button/index.ts +0 -0
  431. /package/src/{primitives → core/primitives}/card/__workshop__/.eslintrc +0 -0
  432. /package/src/{primitives → core/primitives}/card/__workshop__/allTones.tsx +0 -0
  433. /package/src/{primitives → core/primitives}/card/__workshop__/checkered.tsx +0 -0
  434. /package/src/{primitives → core/primitives}/card/__workshop__/index.ts +0 -0
  435. /package/src/{primitives → core/primitives}/card/__workshop__/interactive.tsx +0 -0
  436. /package/src/{primitives → core/primitives}/card/__workshop__/listNavigation.tsx +0 -0
  437. /package/src/{primitives → core/primitives}/card/__workshop__/props.tsx +0 -0
  438. /package/src/{primitives → core/primitives}/card/__workshop__/styled.tsx +0 -0
  439. /package/src/{primitives → core/primitives}/card/index.ts +0 -0
  440. /package/src/{primitives → core/primitives}/card/styles.ts +0 -0
  441. /package/src/{primitives → core/primitives}/checkbox/__workshop__/.eslintrc +0 -0
  442. /package/src/{primitives → core/primitives}/checkbox/__workshop__/index.ts +0 -0
  443. /package/src/{primitives → core/primitives}/checkbox/__workshop__/tones.tsx +0 -0
  444. /package/src/{primitives → core/primitives}/checkbox/checkbox.tsx +0 -0
  445. /package/src/{primitives → core/primitives}/checkbox/index.ts +0 -0
  446. /package/src/{primitives → core/primitives}/code/__workshop__/.eslintrc +0 -0
  447. /package/src/{primitives → core/primitives}/code/__workshop__/index.ts +0 -0
  448. /package/src/{primitives → core/primitives}/code/__workshop__/opticalAlignment.tsx +0 -0
  449. /package/src/{primitives → core/primitives}/code/__workshop__/props.tsx +0 -0
  450. /package/src/{primitives → core/primitives}/code/code.tsx +0 -0
  451. /package/src/{primitives → core/primitives}/code/index.ts +0 -0
  452. /package/src/{primitives → core/primitives}/code/styles.ts +0 -0
  453. /package/src/{primitives → core/primitives}/container/__workshop__/.eslintrc +0 -0
  454. /package/src/{primitives → core/primitives}/container/__workshop__/example.tsx +0 -0
  455. /package/src/{primitives → core/primitives}/container/__workshop__/index.ts +0 -0
  456. /package/src/{primitives → core/primitives}/container/container.tsx +0 -0
  457. /package/src/{primitives → core/primitives}/container/index.ts +0 -0
  458. /package/src/{primitives → core/primitives}/container/types.ts +0 -0
  459. /package/src/{primitives → core/primitives}/flex/__workshop__/.eslintrc +0 -0
  460. /package/src/{primitives → core/primitives}/flex/__workshop__/example.tsx +0 -0
  461. /package/src/{primitives → core/primitives}/flex/__workshop__/gap.tsx +0 -0
  462. /package/src/{primitives → core/primitives}/flex/__workshop__/index.ts +0 -0
  463. /package/src/{primitives → core/primitives}/flex/flex.tsx +0 -0
  464. /package/src/{primitives → core/primitives}/flex/index.ts +0 -0
  465. /package/src/{primitives → core/primitives}/grid/__workshop__/.eslintrc +0 -0
  466. /package/src/{primitives → core/primitives}/grid/__workshop__/index.ts +0 -0
  467. /package/src/{primitives → core/primitives}/grid/__workshop__/responsive.tsx +0 -0
  468. /package/src/{primitives → core/primitives}/grid/grid.tsx +0 -0
  469. /package/src/{primitives → core/primitives}/grid/index.ts +0 -0
  470. /package/src/{primitives → core/primitives}/heading/__workshop__/.eslintrc +0 -0
  471. /package/src/{primitives → core/primitives}/heading/__workshop__/index.ts +0 -0
  472. /package/src/{primitives → core/primitives}/heading/__workshop__/opticalAlignment.tsx +0 -0
  473. /package/src/{primitives → core/primitives}/heading/__workshop__/plain.tsx +0 -0
  474. /package/src/{primitives → core/primitives}/heading/index.ts +0 -0
  475. /package/src/{primitives → core/primitives}/heading/styles.ts +0 -0
  476. /package/src/{primitives → core/primitives}/heading/types.ts +0 -0
  477. /package/src/{primitives → core/primitives}/helpers.ts +0 -0
  478. /package/src/{primitives → core/primitives}/index.ts +0 -0
  479. /package/src/{primitives → core/primitives}/inline/__workshop__/.eslintrc +0 -0
  480. /package/src/{primitives → core/primitives}/inline/__workshop__/index.ts +0 -0
  481. /package/src/{primitives → core/primitives}/inline/__workshop__/plain.tsx +0 -0
  482. /package/src/{primitives → core/primitives}/inline/index.ts +0 -0
  483. /package/src/{primitives → core/primitives}/inline/inline.tsx +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}/kbd/kbd.tsx +0 -0
  490. /package/src/{primitives → core/primitives}/label/__workshop__/.eslintrc +0 -0
  491. /package/src/{primitives → core/primitives}/label/__workshop__/index.ts +0 -0
  492. /package/src/{primitives → core/primitives}/label/__workshop__/opticalAlignment.tsx +0 -0
  493. /package/src/{primitives → core/primitives}/label/__workshop__/plain.tsx +0 -0
  494. /package/src/{primitives → core/primitives}/label/index.ts +0 -0
  495. /package/src/{primitives → core/primitives}/label/styles.ts +0 -0
  496. /package/src/{primitives → core/primitives}/popover/__workshop__/.eslintrc +0 -0
  497. /package/src/{primitives → core/primitives}/popover/__workshop__/AlignedStory.tsx +0 -0
  498. /package/src/{primitives → core/primitives}/popover/__workshop__/MarginsStory.tsx +0 -0
  499. /package/src/{primitives → core/primitives}/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -0
  500. /package/src/{primitives → core/primitives}/popover/__workshop__/OpenOnMountStory.tsx +0 -0
  501. /package/src/{primitives → core/primitives}/popover/__workshop__/PlainStory.tsx +0 -0
  502. /package/src/{primitives → core/primitives}/popover/__workshop__/SidePanelStory.tsx +0 -0
  503. /package/src/{primitives → core/primitives}/popover/__workshop__/index.ts +0 -0
  504. /package/src/{primitives → core/primitives}/popover/floating-ui/size.ts +0 -0
  505. /package/src/{primitives → core/primitives}/popover/index.ts +0 -0
  506. /package/src/{primitives → core/primitives}/popover/types.ts +0 -0
  507. /package/src/{primitives → core/primitives}/radio/__workshop__/.eslintrc +0 -0
  508. /package/src/{primitives → core/primitives}/radio/__workshop__/example.tsx +0 -0
  509. /package/src/{primitives → core/primitives}/radio/__workshop__/index.ts +0 -0
  510. /package/src/{primitives → core/primitives}/radio/__workshop__/plain.tsx +0 -0
  511. /package/src/{primitives → core/primitives}/radio/index.ts +0 -0
  512. /package/src/{primitives → core/primitives}/radio/radio.tsx +0 -0
  513. /package/src/{primitives → core/primitives}/select/__workshop__/.eslintrc +0 -0
  514. /package/src/{primitives → core/primitives}/select/__workshop__/index.ts +0 -0
  515. /package/src/{primitives → core/primitives}/select/__workshop__/plain.tsx +0 -0
  516. /package/src/{primitives → core/primitives}/select/__workshop__/readOnly.tsx +0 -0
  517. /package/src/{primitives → core/primitives}/select/index.ts +0 -0
  518. /package/src/{primitives → core/primitives}/select/select.tsx +0 -0
  519. /package/src/{primitives → core/primitives}/spinner/__workshop__/.eslintrc +0 -0
  520. /package/src/{primitives → core/primitives}/spinner/__workshop__/Props.tsx +0 -0
  521. /package/src/{primitives → core/primitives}/spinner/__workshop__/index.ts +0 -0
  522. /package/src/{primitives → core/primitives}/spinner/index.ts +0 -0
  523. /package/src/{primitives → core/primitives}/spinner/spinner.tsx +0 -0
  524. /package/src/{primitives → core/primitives}/stack/__workshop__/.eslintrc +0 -0
  525. /package/src/{primitives → core/primitives}/stack/__workshop__/index.ts +0 -0
  526. /package/src/{primitives → core/primitives}/stack/__workshop__/plain.tsx +0 -0
  527. /package/src/{primitives → core/primitives}/stack/index.ts +0 -0
  528. /package/src/{primitives → core/primitives}/stack/stack.tsx +0 -0
  529. /package/src/{primitives → core/primitives}/switch/__workshop__/.eslintrc +0 -0
  530. /package/src/{primitives → core/primitives}/switch/__workshop__/index.ts +0 -0
  531. /package/src/{primitives → core/primitives}/switch/__workshop__/props.tsx +0 -0
  532. /package/src/{primitives → core/primitives}/switch/index.ts +0 -0
  533. /package/src/{primitives → core/primitives}/switch/switch.tsx +0 -0
  534. /package/src/{primitives → core/primitives}/text/__workshop__/.eslintrc +0 -0
  535. /package/src/{primitives → core/primitives}/text/__workshop__/example.tsx +0 -0
  536. /package/src/{primitives → core/primitives}/text/__workshop__/index.ts +0 -0
  537. /package/src/{primitives → core/primitives}/text/__workshop__/opticalAlignment.tsx +0 -0
  538. /package/src/{primitives → core/primitives}/text/index.ts +0 -0
  539. /package/src/{primitives → core/primitives}/text/styles.ts +0 -0
  540. /package/src/{primitives → core/primitives}/textArea/__workshop__/.eslintrc +0 -0
  541. /package/src/{primitives → core/primitives}/textArea/__workshop__/index.ts +0 -0
  542. /package/src/{primitives → core/primitives}/textArea/index.ts +0 -0
  543. /package/src/{primitives → core/primitives}/textInput/__workshop__/.eslintrc +0 -0
  544. /package/src/{primitives → core/primitives}/textInput/__workshop__/clearButton.tsx +0 -0
  545. /package/src/{primitives → core/primitives}/textInput/__workshop__/customValidity.tsx +0 -0
  546. /package/src/{primitives → core/primitives}/textInput/__workshop__/index.ts +0 -0
  547. /package/src/{primitives → core/primitives}/textInput/__workshop__/multipleTones.tsx +0 -0
  548. /package/src/{primitives → core/primitives}/textInput/__workshop__/readOnly.tsx +0 -0
  549. /package/src/{primitives → core/primitives}/textInput/__workshop__/tones.tsx +0 -0
  550. /package/src/{primitives → core/primitives}/textInput/__workshop__/typed.tsx +0 -0
  551. /package/src/{primitives → core/primitives}/textInput/index.ts +0 -0
  552. /package/src/{primitives → core/primitives}/tooltip/__workshop__/.eslintrc +0 -0
  553. /package/src/{primitives → core/primitives}/tooltip/__workshop__/customPortal.tsx +0 -0
  554. /package/src/{primitives → core/primitives}/tooltip/__workshop__/index.ts +0 -0
  555. /package/src/{primitives → core/primitives}/tooltip/__workshop__/overflowingBoundary.tsx +0 -0
  556. /package/src/{primitives → core/primitives}/tooltip/__workshop__/props.tsx +0 -0
  557. /package/src/{primitives → core/primitives}/tooltip/__workshop__/resizableBoundary.tsx +0 -0
  558. /package/src/{primitives → core/primitives}/tooltip/conditionalWrapper.tsx +0 -0
  559. /package/src/{primitives → core/primitives}/tooltip/index.ts +0 -0
  560. /package/src/{primitives → core/primitives}/tooltip/tooltipDelayGroup/index.ts +0 -0
  561. /package/src/{primitives → core/primitives}/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +0 -0
  562. /package/src/{primitives → core/primitives}/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +0 -0
  563. /package/src/{primitives → core/primitives}/tooltip/tooltipDelayGroup/types.ts +0 -0
  564. /package/src/{primitives → core/primitives}/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -0
  565. /package/src/{primitives → core/primitives}/types.ts +0 -0
  566. /package/src/{styles → core/styles}/border/index.ts +0 -0
  567. /package/src/{styles → core/styles}/border/types.ts +0 -0
  568. /package/src/{styles → core/styles}/box/index.ts +0 -0
  569. /package/src/{styles → core/styles}/box/types.ts +0 -0
  570. /package/src/{styles → core/styles}/colorVars/index.ts +0 -0
  571. /package/src/{styles → core/styles}/flex/index.ts +0 -0
  572. /package/src/{styles → core/styles}/flex/types.ts +0 -0
  573. /package/src/{styles → core/styles}/font/index.ts +0 -0
  574. /package/src/{styles → core/styles}/grid/index.ts +0 -0
  575. /package/src/{styles → core/styles}/grid/types.ts +0 -0
  576. /package/src/{styles → core/styles}/index.ts +0 -0
  577. /package/src/{styles → core/styles}/input/index.ts +0 -0
  578. /package/src/{styles → core/styles}/internal.ts +0 -0
  579. /package/src/{styles → core/styles}/margin/index.ts +0 -0
  580. /package/src/{styles → core/styles}/margin/types.ts +0 -0
  581. /package/src/{styles → core/styles}/padding/index.ts +0 -0
  582. /package/src/{styles → core/styles}/padding/types.ts +0 -0
  583. /package/src/{styles → core/styles}/radius/index.ts +0 -0
  584. /package/src/{styles → core/styles}/radius/types.ts +0 -0
  585. /package/src/{styles → core/styles}/shadow/index.ts +0 -0
  586. /package/src/{styles → core/styles}/shadow/types.ts +0 -0
  587. /package/src/{theme → core/theme}/__workshop__/.eslintrc +0 -0
  588. /package/src/{theme → core/theme}/__workshop__/layer.tsx +0 -0
  589. /package/src/{theme → core/theme}/__workshop__/nestedProvider.tsx +0 -0
  590. /package/src/{theme → core/theme}/themeContext.ts +0 -0
  591. /package/src/{types → core/types}/avatar.ts +0 -0
  592. /package/src/{types → core/types}/box.ts +0 -0
  593. /package/src/{types → core/types}/dialog.ts +0 -0
  594. /package/src/{types → core/types}/flex.ts +0 -0
  595. /package/src/{types → core/types}/grid.ts +0 -0
  596. /package/src/{types → core/types}/gridItem.ts +0 -0
  597. /package/src/{types → core/types}/placement.ts +0 -0
  598. /package/src/{types → core/types}/popover.ts +0 -0
  599. /package/src/{types → core/types}/radius.ts +0 -0
  600. /package/src/{types → core/types}/text.ts +0 -0
  601. /package/src/{utils → core/utils}/boundaryElement/__workshop__/.eslintrc +0 -0
  602. /package/src/{utils → core/utils}/boundaryElement/__workshop__/index.ts +0 -0
  603. /package/src/{utils → core/utils}/boundaryElement/boundaryElementContext.ts +0 -0
  604. /package/src/{utils → core/utils}/boundaryElement/boundaryElementProvider.tsx +0 -0
  605. /package/src/{utils → core/utils}/boundaryElement/index.ts +0 -0
  606. /package/src/{utils → core/utils}/boundaryElement/types.ts +0 -0
  607. /package/src/{utils → core/utils}/boundaryElement/useBoundaryElement.ts +0 -0
  608. /package/src/{utils → core/utils}/elementQuery/__workshop__/.eslintrc +0 -0
  609. /package/src/{utils → core/utils}/elementQuery/__workshop__/customMedia.tsx +0 -0
  610. /package/src/{utils → core/utils}/elementQuery/__workshop__/index.ts +0 -0
  611. /package/src/{utils → core/utils}/elementQuery/elementQuery.tsx +0 -0
  612. /package/src/{utils → core/utils}/elementQuery/helpers.ts +0 -0
  613. /package/src/{utils → core/utils}/elementQuery/index.ts +0 -0
  614. /package/src/{utils → core/utils}/errorBoundary.tsx +0 -0
  615. /package/src/{utils → core/utils}/layer/__workshop__/.eslintrc +0 -0
  616. /package/src/{utils → core/utils}/layer/__workshop__/index.ts +0 -0
  617. /package/src/{utils → core/utils}/layer/__workshop__/multipleRoots.tsx +0 -0
  618. /package/src/{utils → core/utils}/layer/__workshop__/nested.tsx +0 -0
  619. /package/src/{utils → core/utils}/layer/__workshop__/responsiveZOffset.tsx +0 -0
  620. /package/src/{utils → core/utils}/layer/getLayerContext.test.ts +0 -0
  621. /package/src/{utils → core/utils}/layer/getLayerContext.ts +0 -0
  622. /package/src/{utils → core/utils}/layer/index.ts +0 -0
  623. /package/src/{utils → core/utils}/layer/layer.tsx +0 -0
  624. /package/src/{utils → core/utils}/layer/layerContext.ts +0 -0
  625. /package/src/{utils → core/utils}/layer/layerProvider.tsx +0 -0
  626. /package/src/{utils → core/utils}/layer/types.ts +0 -0
  627. /package/src/{utils → core/utils}/layer/useLayer.ts +0 -0
  628. /package/src/{utils → core/utils}/portal/__workshop__/.eslintrc +0 -0
  629. /package/src/{utils → core/utils}/portal/__workshop__/index.ts +0 -0
  630. /package/src/{utils → core/utils}/portal/index.ts +0 -0
  631. /package/src/{utils → core/utils}/portal/portal.ts +0 -0
  632. /package/src/{utils → core/utils}/portal/portalContext.ts +0 -0
  633. /package/src/{utils → core/utils}/portal/portalProvider.tsx +0 -0
  634. /package/src/{utils → core/utils}/portal/types.ts +0 -0
  635. /package/src/{utils → core/utils}/portal/usePortal.ts +0 -0
  636. /package/src/{utils → core/utils}/srOnly/index.ts +0 -0
  637. /package/src/{utils → core/utils}/srOnly/srOnly.tsx +0 -0
  638. /package/src/{utils → core/utils}/virtualList/__workshop__/.eslintrc +0 -0
  639. /package/src/{utils → core/utils}/virtualList/__workshop__/changingProps.tsx +0 -0
  640. /package/src/{utils → core/utils}/virtualList/__workshop__/elementScroll.tsx +0 -0
  641. /package/src/{utils → core/utils}/virtualList/__workshop__/index.ts +0 -0
  642. /package/src/{utils → core/utils}/virtualList/__workshop__/infiniteList.tsx +0 -0
  643. /package/src/{utils → core/utils}/virtualList/__workshop__/windowScrolll.tsx +0 -0
  644. /package/src/{utils → core/utils}/virtualList/index.ts +0 -0
  645. /package/src/{utils → core/utils}/virtualList/virtualList.tsx +0 -0
  646. /package/src/theme/{lib → build/lib}/color-fns/parse.ts +0 -0
  647. /package/src/theme/{lib → build/lib}/color-fns/types.ts +0 -0
  648. /package/src/theme/{lib/theme/color/_generic → config/tokens/color}/index.ts +0 -0
  649. /package/src/theme/{_internal/config/token → config/tokens}/parseTokenValue.test.ts +0 -0
  650. /package/src/theme/{lib/theme/color/base/types.ts → system/color/base.ts} +0 -0
  651. /package/src/theme/{lib/theme/color/syntax/types.ts → system/color/syntax.ts} +0 -0
  652. /package/src/theme/{lib/theme → system}/fonts.ts +0 -0
  653. /package/src/theme/{lib/theme → system}/layer.ts +0 -0
@@ -6,24 +6,27 @@ import {
6
6
  Grid,
7
7
  Stack,
8
8
  Text,
9
+ ThemeColorProvider,
10
+ useRootTheme,
11
+ } from '@sanity/ui'
12
+ import {
9
13
  ThemeColor,
14
+ ThemeColorBase,
10
15
  ThemeColorButton,
11
16
  ThemeColorButtonState,
12
17
  ThemeColorButtonStates,
13
18
  ThemeColorButtonTones,
14
- ThemeColorMuted,
15
- ThemeColorMutedTone,
16
- ThemeColorProvider,
19
+ ThemeColorCard,
17
20
  ThemeColorScheme,
18
21
  ThemeColorSelectable,
19
22
  ThemeColorSelectableStates,
20
- ThemeColorSolid,
21
- ThemeColorSolidTone,
22
- useRootTheme,
23
- } from '@sanity/ui'
23
+ getContrastRatio,
24
+ mix,
25
+ parseColor,
26
+ rgbToHex,
27
+ } from '@sanity/ui/theme'
24
28
  import {useBoolean} from '@sanity/ui-workshop'
25
29
  import {createContext, useContext} from 'react'
26
- import {ThemeColorCard} from '../lib/theme'
27
30
 
28
31
  interface Features {
29
32
  light: boolean
@@ -33,9 +36,7 @@ interface Features {
33
36
  button: boolean
34
37
  card: boolean
35
38
  input: boolean
36
- muted: boolean
37
39
  selectable: boolean
38
- solid: boolean
39
40
  spot: boolean
40
41
  }
41
42
 
@@ -47,9 +48,7 @@ const defaultFeatures: Features = {
47
48
  button: false,
48
49
  card: false,
49
50
  input: false,
50
- muted: true,
51
51
  selectable: false,
52
- solid: false,
53
52
  spot: false,
54
53
  }
55
54
 
@@ -69,11 +68,11 @@ export default function CanvasStory() {
69
68
  button: useBoolean('Button', defaultFeatures.button, 'Props') ?? defaultFeatures.button,
70
69
  card: useBoolean('Card', defaultFeatures.card, 'Props') ?? defaultFeatures.card,
71
70
  input: useBoolean('Input', defaultFeatures.input, 'Props') ?? defaultFeatures.input,
72
- muted: useBoolean('Muted', defaultFeatures.muted, 'Props') ?? defaultFeatures.muted,
71
+ // muted: useBoolean('Muted', defaultFeatures.muted, 'Props') ?? defaultFeatures.muted,
73
72
  selectable:
74
73
  useBoolean('Selectable', defaultFeatures.selectable, 'Props') ?? defaultFeatures.selectable,
75
- solid: useBoolean('Solid', defaultFeatures.solid, 'Props') ?? defaultFeatures.solid,
76
- spot: useBoolean('Spot', defaultFeatures.spot, 'Props') ?? defaultFeatures.spot,
74
+ // solid: useBoolean('Solid', defaultFeatures.solid, 'Props') ?? defaultFeatures.solid,
75
+ spot: useBoolean('Avatar', defaultFeatures.spot, 'Props') ?? defaultFeatures.spot,
77
76
  }
78
77
 
79
78
  return (
@@ -120,32 +119,7 @@ function Color(props: {color: ThemeColor; tone: CardTone}) {
120
119
  space={[3, 4]}
121
120
  // style={{outline: '1px solid #ccc'}}
122
121
  >
123
- {features.base && (
124
- <Stack
125
- padding={3}
126
- space={2}
127
- style={{
128
- borderRadius: 3,
129
- boxShadow: `inset 0 0 0 1px ${color.base.border}`,
130
- }}
131
- >
132
- <Text>Text</Text>
133
- <Text muted>Muted</Text>
134
- <Text accent>Accent</Text>
135
- <Text>
136
- <a href="#">Link</a>
137
- </Text>
138
- <Text>
139
- <code>Code</code>
140
- </Text>
141
- <div
142
- style={{
143
- height: 9,
144
- background: `linear-gradient(to right, ${color.base.skeleton?.from}, ${color.base.skeleton?.to})`,
145
- }}
146
- />
147
- </Stack>
148
- )}
122
+ {features.base && <ColorBase color={color.base} />}
149
123
 
150
124
  {features.button && <ColorButton color={color.button} />}
151
125
 
@@ -157,23 +131,35 @@ function Color(props: {color: ThemeColor; tone: CardTone}) {
157
131
  </Box>
158
132
  )}
159
133
 
160
- {features.muted && <ColorMuted color={color.muted} />}
134
+ {/* {features.muted && <ColorMuted color={color.muted} />} */}
161
135
 
162
136
  {/* @todo: remove use of `muted` here */}
163
137
  {features.selectable && <ColorSelectable color={color.selectable || color.muted} />}
164
138
 
165
- {features.solid && <ColorSolid color={color.solid} />}
139
+ {/* {features.solid && <ColorSolid color={color.solid} />} */}
166
140
 
167
141
  {features.spot && (
168
142
  <Flex gap={1}>
169
- <Box flex={1} style={{backgroundColor: color.spot.blue, width: 25, height: 25}} />
170
- <Box flex={1} style={{backgroundColor: color.spot.purple, width: 25, height: 25}} />
171
- <Box flex={1} style={{backgroundColor: color.spot.magenta, width: 25, height: 25}} />
172
- <Box flex={1} style={{backgroundColor: color.spot.red, width: 25, height: 25}} />
173
- <Box flex={1} style={{backgroundColor: color.spot.yellow, width: 25, height: 25}} />
174
- <Box flex={1} style={{backgroundColor: color.spot.green, width: 25, height: 25}} />
175
- <Box flex={1} style={{backgroundColor: color.spot.cyan, width: 25, height: 25}} />
176
- <Box flex={1} style={{backgroundColor: color.spot.gray, width: 25, height: 25}} />
143
+ <Box flex={1} style={{backgroundColor: color.avatar?.blue.bg, width: 25, height: 25}} />
144
+ <Box
145
+ flex={1}
146
+ style={{backgroundColor: color.avatar?.purple.bg, width: 25, height: 25}}
147
+ />
148
+ <Box
149
+ flex={1}
150
+ style={{backgroundColor: color.avatar?.magenta.bg, width: 25, height: 25}}
151
+ />
152
+ <Box flex={1} style={{backgroundColor: color.avatar?.red.bg, width: 25, height: 25}} />
153
+ <Box
154
+ flex={1}
155
+ style={{backgroundColor: color.avatar?.yellow.bg, width: 25, height: 25}}
156
+ />
157
+ <Box
158
+ flex={1}
159
+ style={{backgroundColor: color.avatar?.green.bg, width: 25, height: 25}}
160
+ />
161
+ <Box flex={1} style={{backgroundColor: color.avatar?.cyan.bg, width: 25, height: 25}} />
162
+ <Box flex={1} style={{backgroundColor: color.avatar?.gray.bg, width: 25, height: 25}} />
177
163
  </Flex>
178
164
  )}
179
165
  </Stack>
@@ -181,6 +167,38 @@ function Color(props: {color: ThemeColor; tone: CardTone}) {
181
167
  )
182
168
  }
183
169
 
170
+ function ColorBase(props: {color: ThemeColorBase}) {
171
+ const {color} = props
172
+
173
+ return (
174
+ <Stack
175
+ padding={3}
176
+ space={2}
177
+ style={{
178
+ borderRadius: 3,
179
+ boxShadow: `inset 0 0 0 1px ${color.border}`,
180
+ }}
181
+ >
182
+ <Text>Text</Text>
183
+ <Text muted>Muted</Text>
184
+
185
+ <Text accent>Accent</Text>
186
+ <Text>
187
+ <a href="#">Link</a>
188
+ </Text>
189
+ <Text>
190
+ <code>Code</code>
191
+ </Text>
192
+ <div
193
+ style={{
194
+ height: 9,
195
+ background: `linear-gradient(to right, ${color.skeleton?.from}, ${color.skeleton?.to})`,
196
+ }}
197
+ />
198
+ </Stack>
199
+ )
200
+ }
201
+
184
202
  function ColorCard(props: {color: ThemeColorCard}) {
185
203
  const {color} = props
186
204
 
@@ -258,6 +276,17 @@ function ColorGenericStates(props: {color: ThemeColorButtonStates}) {
258
276
  )
259
277
  }
260
278
 
279
+ function _contrast(baseBg: string, bg: string, fg: string) {
280
+ const baseBgRgb = parseColor(baseBg)
281
+ let bgRgb = parseColor(bg)
282
+
283
+ if (typeof bgRgb.a === 'number') {
284
+ bgRgb = mix(baseBgRgb, bgRgb, bgRgb.a)
285
+ }
286
+
287
+ return getContrastRatio(rgbToHex(bgRgb), fg)
288
+ }
289
+
261
290
  function ColorGenericState(props: {color: ThemeColorButtonState}) {
262
291
  const {color} = props
263
292
 
@@ -285,20 +314,21 @@ function ColorGenericState(props: {color: ThemeColorButtonState}) {
285
314
  </Box>
286
315
  </Flex>
287
316
 
288
- <Text align="center" style={{color: 'inherit'}}>
289
- Text
317
+ <Text align="center" size={1} style={{color: 'inherit'}}>
318
+ Text &ndash; {_contrast(color.bg, color.bg, color.fg).toFixed(2)}
290
319
  </Text>
291
320
  <Text align="center" size={1} style={{color: color.muted.fg}}>
292
- Muted
321
+ Muted &ndash; {_contrast(color.bg, color.bg, color.muted.fg).toFixed(2)}
293
322
  </Text>
294
323
  <Text align="center" size={1} style={{color: color.link.fg}}>
295
- Link
324
+ Link &ndash; {_contrast(color.bg, color.bg, color.link.fg).toFixed(2)}
296
325
  </Text>
297
326
  <Text align="center" size={1} style={{color: color.accent.fg}}>
298
- Accent
327
+ Accent &ndash; {_contrast(color.bg, color.bg, color.accent.fg).toFixed(2)}
299
328
  </Text>
300
329
  <Text align="center" size={1} style={{color: color.code.fg}}>
301
- <span style={{backgroundColor: color.code.bg}}>Code</span>
330
+ <span style={{backgroundColor: color.code.bg}}>Code</span> &ndash;{' '}
331
+ {_contrast(color.bg, color.code.bg, color.code.fg).toFixed(2)}
302
332
  </Text>
303
333
  <div
304
334
  style={{
@@ -310,62 +340,6 @@ function ColorGenericState(props: {color: ThemeColorButtonState}) {
310
340
  )
311
341
  }
312
342
 
313
- function ColorMuted(props: {color: ThemeColorMuted}) {
314
- const {color} = props
315
-
316
- return (
317
- <Stack space={1}>
318
- <ColorMutedTone color={color.default} />
319
- <ColorMutedTone color={color.primary} />
320
- <ColorMutedTone color={color.positive} />
321
- <ColorMutedTone color={color.caution} />
322
- <ColorMutedTone color={color.critical} />
323
- </Stack>
324
- )
325
- }
326
-
327
- function ColorMutedTone(props: {color: ThemeColorMutedTone}) {
328
- const {color} = props
329
-
330
- return (
331
- <Grid columns={5} gap={1}>
332
- <ColorGenericState color={color.enabled} />
333
- <ColorGenericState color={color.hovered} />
334
- <ColorGenericState color={color.pressed} />
335
- <ColorGenericState color={color.selected} />
336
- <ColorGenericState color={color.disabled} />
337
- </Grid>
338
- )
339
- }
340
-
341
- function ColorSolid(props: {color: ThemeColorSolid}) {
342
- const {color} = props
343
-
344
- return (
345
- <Stack space={1}>
346
- <ColorSolidTone color={color.default} />
347
- <ColorSolidTone color={color.primary} />
348
- <ColorSolidTone color={color.positive} />
349
- <ColorSolidTone color={color.caution} />
350
- <ColorSolidTone color={color.critical} />
351
- </Stack>
352
- )
353
- }
354
-
355
- function ColorSolidTone(props: {color: ThemeColorSolidTone}) {
356
- const {color} = props
357
-
358
- return (
359
- <Grid columns={5} gap={1}>
360
- <ColorGenericState color={color.enabled} />
361
- <ColorGenericState color={color.hovered} />
362
- <ColorGenericState color={color.pressed} />
363
- <ColorGenericState color={color.selected} />
364
- <ColorGenericState color={color.disabled} />
365
- </Grid>
366
- )
367
- }
368
-
369
343
  function ColorSelectable(props: {color: ThemeColorSelectable}) {
370
344
  const {color} = props
371
345
 
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
1
  import {Box, Card, Tree, TreeItem, useRootTheme} from '@sanity/ui'
3
2
 
4
3
  export default function ColorStory() {
@@ -11,11 +10,9 @@ export default function ColorStory() {
11
10
  return (
12
11
  <Box padding={[4, 5, 6]}>
13
12
  <Tree space={1}>
14
- {Object.entries(theme.color)
15
- // .filter((v) => v[0] !== 'dark')
16
- .map(([key, value]) => (
17
- <ColorGroup key={key} name={key} value={value as any} />
18
- ))}
13
+ {Object.entries(theme.color).map(([key, value]) => (
14
+ <ColorGroup key={key} name={key} value={value} />
15
+ ))}
19
16
  </Tree>
20
17
  </Box>
21
18
  )
@@ -5,6 +5,11 @@ export default defineScope({
5
5
  name: 'theme',
6
6
  title: 'Theme',
7
7
  stories: [
8
+ {
9
+ name: 'build',
10
+ title: 'Build theme',
11
+ component: lazy(() => import('./build/story')),
12
+ },
8
13
  {
9
14
  name: 'canvas',
10
15
  title: 'Canvas',
@@ -1,4 +1,4 @@
1
- import {ThemeLayer} from './lib/theme/layer'
1
+ import {ThemeLayer} from '@sanity/ui/theme'
2
2
 
3
3
  export const DEFAULT_THEME_LAYER: ThemeLayer = {
4
4
  dialog: {zOffset: 600},
@@ -0,0 +1,5 @@
1
+ export * from './themeColorProvider'
2
+ export * from './themeProvider'
3
+ export * from './useRootTheme'
4
+ export * from './useTheme'
5
+ export * from './types'
@@ -1,8 +1,8 @@
1
1
  /** @jest-environment jsdom */
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
3
 
4
- import {render} from '../../test'
5
- import {studioTheme} from './studioTheme'
4
+ import {studioTheme} from '@sanity/ui/theme'
5
+ import {render} from '../../../test'
6
6
  import {ThemeContext} from './themeContext'
7
7
  import {ThemeContextValue} from './types'
8
8
  import {useRootTheme} from './useRootTheme'
@@ -1,4 +1,4 @@
1
- import {ThemeColorName, ThemeColorSchemeKey} from './lib/theme'
1
+ import {ThemeColorBaseToneKey, ThemeColorSchemeKey} from '@sanity/ui/theme'
2
2
  import {ThemeProvider} from './themeProvider'
3
3
  import {useRootTheme} from './useRootTheme'
4
4
 
@@ -8,7 +8,7 @@ import {useRootTheme} from './useRootTheme'
8
8
  export interface ThemeColorProviderProps {
9
9
  children?: React.ReactNode
10
10
  scheme?: ThemeColorSchemeKey
11
- tone?: ThemeColorName
11
+ tone?: ThemeColorBaseToneKey
12
12
  }
13
13
 
14
14
  /**
@@ -1,9 +1,9 @@
1
+ import {RootTheme, Theme, ThemeColorBaseToneKey, ThemeColorSchemeKey} from '@sanity/ui/theme'
1
2
  import {useContext, useMemo} from 'react'
2
3
  import {ThemeProvider as StyledThemeProvider} from 'styled-components'
3
4
  import {DEFAULT_THEME_LAYER} from './defaults'
4
- import {ThemeColorSchemeKey, ThemeColorName} from './lib/theme'
5
5
  import {ThemeContext} from './themeContext'
6
- import {RootTheme, Theme, ThemeContextValue} from './types'
6
+ import {ThemeContextValue} from './types'
7
7
 
8
8
  /**
9
9
  * @public
@@ -12,7 +12,7 @@ export interface ThemeProviderProps {
12
12
  children?: React.ReactNode
13
13
  scheme?: ThemeColorSchemeKey
14
14
  theme?: RootTheme
15
- tone?: ThemeColorName
15
+ tone?: ThemeColorBaseToneKey
16
16
  }
17
17
 
18
18
  /**
@@ -0,0 +1,11 @@
1
+ import {RootTheme, ThemeColorBaseToneKey, ThemeColorSchemeKey} from '@sanity/ui/theme'
2
+
3
+ /**
4
+ * @public
5
+ */
6
+ export interface ThemeContextValue {
7
+ version: 0.0
8
+ scheme: ThemeColorSchemeKey
9
+ theme: RootTheme
10
+ tone: ThemeColorBaseToneKey
11
+ }
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
1
  import {useContext} from 'react'
3
2
  import {isRecord} from '../lib/isRecord'
4
3
  import {ThemeContext} from './themeContext'
@@ -21,5 +20,5 @@ export function useRootTheme(): ThemeContextValue {
21
20
  throw new Error('useRootTheme(): the context value is not compatible')
22
21
  }
23
22
 
24
- return value as any as ThemeContextValue
23
+ return value as unknown as ThemeContextValue
25
24
  }
@@ -1,7 +1,6 @@
1
+ import {Theme} from '@sanity/ui/theme'
1
2
  import {useTheme as useStyledTheme} from 'styled-components'
2
3
 
3
- import {Theme} from './types'
4
-
5
4
  /**
6
5
  * @public
7
6
  */
@@ -0,0 +1,12 @@
1
+ import {ThemeColorStateToneKey} from '@sanity/ui/theme'
2
+
3
+ /**
4
+ * @public
5
+ * @deprecated No longer used
6
+ */
7
+ export type BadgeMode = 'default' | 'outline'
8
+
9
+ /**
10
+ * @public
11
+ */
12
+ export type BadgeTone = ThemeColorStateToneKey
@@ -0,0 +1,22 @@
1
+ import {ThemeColorStateToneKey} from '@sanity/ui/theme'
2
+ import {ThemeColorButtonModeKey} from '../_compat'
3
+
4
+ /**
5
+ * @public
6
+ */
7
+ export type ButtonMode = ThemeColorButtonModeKey
8
+
9
+ /**
10
+ * @public
11
+ */
12
+ export type ButtonTextAlign = 'left' | 'right' | 'center'
13
+
14
+ /**
15
+ * @public
16
+ */
17
+ export type ButtonTone = ThemeColorStateToneKey
18
+
19
+ /**
20
+ * @public
21
+ */
22
+ export type ButtonWidth = 'fill'
@@ -0,0 +1,6 @@
1
+ import {ThemeColorBaseToneKey} from '@sanity/ui/theme'
2
+
3
+ /**
4
+ * @public
5
+ */
6
+ export type CardTone = ThemeColorBaseToneKey | 'inherit'
@@ -11,5 +11,4 @@ export * from './placement'
11
11
  export * from './popover'
12
12
  export * from './radius'
13
13
  export * from './selectable'
14
- export * from './styled'
15
14
  export * from './text'
@@ -0,0 +1,6 @@
1
+ import {ThemeColorStateToneKey} from '@sanity/ui/theme'
2
+
3
+ /**
4
+ * @public
5
+ */
6
+ export type SelectableTone = ThemeColorStateToneKey
@@ -0,0 +1,121 @@
1
+ import {ForwardedRef, HTMLProps, ReactElement, forwardRef} from 'react'
2
+ import styled, {css} from 'styled-components'
3
+ import {useTheme} from '../../theme'
4
+ import {Point, compileCommands, getRoundedCommands} from './cmds'
5
+
6
+ const Root = styled.div<{$w: number}>(
7
+ ({$w: w}) => css`
8
+ position: absolute;
9
+ width: ${w}px;
10
+ height: ${w}px;
11
+
12
+ :empty + & {
13
+ display: none;
14
+ }
15
+
16
+ & > svg {
17
+ display: block;
18
+ line-height: 0;
19
+ transform-origin: ${w / 2}px ${w / 2}px;
20
+ }
21
+
22
+ [data-placement^='top'] > & {
23
+ bottom: -${w}px;
24
+
25
+ & > svg {
26
+ transform: rotate(0);
27
+ }
28
+ }
29
+
30
+ [data-placement^='right'] > & {
31
+ left: -${w}px;
32
+
33
+ & > svg {
34
+ transform: rotate(90deg);
35
+ }
36
+ }
37
+
38
+ [data-placement^='left'] > & {
39
+ right: -${w}px;
40
+
41
+ & > svg {
42
+ transform: rotate(-90deg);
43
+ }
44
+ }
45
+
46
+ [data-placement^='bottom'] > & {
47
+ top: -${w}px;
48
+
49
+ & > svg {
50
+ transform: rotate(180deg);
51
+ }
52
+ }
53
+ `,
54
+ )
55
+
56
+ const StrokePath = styled.path`
57
+ stroke: var(--card-shadow-outline-color);
58
+ `
59
+
60
+ const ShapePath = styled.path`
61
+ fill: var(--card-bg-color);
62
+ `
63
+
64
+ /** @internal */
65
+ export const Arrow = forwardRef(function Arrow(
66
+ props: {width: number; height: number; radius?: number} & Omit<
67
+ HTMLProps<HTMLDivElement>,
68
+ 'width' | 'height'
69
+ >,
70
+ ref: ForwardedRef<HTMLDivElement>,
71
+ ): ReactElement {
72
+ const {width: w, height: h, radius = 0, ...restProps} = props
73
+ const theme = useTheme()
74
+ const strokeWidth = theme.sanity.card.shadow.outline
75
+
76
+ const center = w / 2
77
+
78
+ const points: Point[] = [
79
+ {
80
+ x: 0,
81
+ y: 0,
82
+ },
83
+ {
84
+ x: radius,
85
+ y: 0,
86
+ radius,
87
+ },
88
+ {
89
+ x: center,
90
+ y: h - 1,
91
+ radius,
92
+ },
93
+ {
94
+ x: w - radius,
95
+ y: 0,
96
+ radius,
97
+ },
98
+ {
99
+ x: w,
100
+ y: 0,
101
+ },
102
+ ]
103
+
104
+ const cmds = getRoundedCommands(points)
105
+ const path = compileCommands(cmds)
106
+
107
+ const strokePath = `${path}`
108
+ const fillPath = `${path} M ${w} -1 M 0 -1 Z`
109
+
110
+ return (
111
+ <Root {...restProps} $w={w} ref={ref}>
112
+ <svg width={w} height={w} viewBox={`0 0 ${w} ${w}`}>
113
+ <mask id="stroke-mask">
114
+ <rect x={0} y={strokeWidth} width={w} height={w} fill="white" />
115
+ </mask>
116
+ <StrokePath d={strokePath} mask="url(#stroke-mask)" strokeWidth={strokeWidth * 2} />
117
+ <ShapePath d={fillPath} />
118
+ </svg>
119
+ </Root>
120
+ )
121
+ })