@sanity/ui 3.0.2 → 4.0.0-static.2

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 (868) hide show
  1. package/README.md +7 -9
  2. package/dist/_chunks-cjs/{refractor.js → refractor.cjs} +3 -4
  3. package/dist/_chunks-cjs/refractor.cjs.map +1 -0
  4. package/dist/_chunks-es/{refractor.mjs → refractor.js} +2 -3
  5. package/dist/_chunks-es/refractor.js.map +1 -0
  6. package/dist/css/index.cjs +966 -0
  7. package/dist/css/index.cjs.map +1 -0
  8. package/dist/css/index.css +1 -0
  9. package/dist/css/index.d.cts +1370 -0
  10. package/dist/css/index.d.ts +1370 -0
  11. package/dist/css/index.js +967 -0
  12. package/dist/css/index.js.map +1 -0
  13. package/dist/index.cjs +4515 -0
  14. package/dist/index.cjs.map +1 -0
  15. package/dist/index.d.cts +2521 -0
  16. package/dist/index.d.ts +1379 -1824
  17. package/dist/index.js +3872 -1066
  18. package/dist/index.js.map +1 -1
  19. package/dist/theme.cjs +870 -0
  20. package/dist/theme.cjs.map +1 -0
  21. package/dist/theme.d.cts +499 -0
  22. package/dist/theme.d.ts +375 -1376
  23. package/dist/theme.js +548 -3790
  24. package/dist/theme.js.map +1 -1
  25. package/exports/css.ts +1 -0
  26. package/package.json +77 -76
  27. package/src/core/Root.tsx +88 -0
  28. package/src/core/RootProvider.tsx +40 -0
  29. package/src/core/__workshop__/boundary.tsx +28 -0
  30. package/src/core/__workshop__/index.ts +16 -0
  31. package/src/core/components/autocomplete/__workshop__/async.tsx +7 -7
  32. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +13 -19
  33. package/src/core/components/autocomplete/__workshop__/custom.tsx +19 -17
  34. package/src/core/components/autocomplete/__workshop__/example.tsx +16 -15
  35. package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +6 -6
  36. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +58 -60
  37. package/src/core/components/autocomplete/__workshop__/index.ts +5 -3
  38. package/src/core/components/autocomplete/{__mocks__ → __workshop__/mock}/apiStore.ts +1 -1
  39. package/src/core/components/autocomplete/{__mocks__ → __workshop__/mock}/countries.ts +1 -1
  40. package/src/core/components/autocomplete/autocomplete.tsx +121 -160
  41. package/src/core/components/autocomplete/autocompleteOption.tsx +4 -4
  42. package/src/core/components/autocomplete/autocompleteReducer.ts +1 -1
  43. package/src/core/components/autocomplete/constants.ts +2 -2
  44. package/src/core/components/autocomplete/types.ts +4 -9
  45. package/src/core/components/breadcrumbs/__workshop__/example.tsx +3 -4
  46. package/src/core/components/breadcrumbs/__workshop__/index.ts +5 -3
  47. package/src/core/components/breadcrumbs/breadcrumbs.tsx +62 -30
  48. package/src/core/components/dialog/__workshop__/activate.tsx +17 -10
  49. package/src/core/components/dialog/__workshop__/autoFocus.tsx +3 -3
  50. package/src/core/components/dialog/__workshop__/index.ts +5 -3
  51. package/src/core/components/dialog/__workshop__/layering.tsx +1 -1
  52. package/src/core/components/dialog/__workshop__/nested.tsx +5 -6
  53. package/src/core/components/dialog/__workshop__/onScroll.tsx +17 -5
  54. package/src/core/components/dialog/__workshop__/panes.tsx +13 -6
  55. package/src/core/components/dialog/__workshop__/position.tsx +5 -5
  56. package/src/core/components/dialog/__workshop__/props.tsx +9 -7
  57. package/src/core/components/dialog/__workshop__/provider.tsx +1 -1
  58. package/src/core/components/dialog/__workshop__/wrapped.tsx +3 -3
  59. package/src/core/components/dialog/dialog.tsx +117 -319
  60. package/src/core/components/dialog/dialogCard.tsx +233 -0
  61. package/src/core/components/dialog/dialogContext.ts +8 -7
  62. package/src/core/components/dialog/dialogProvider.tsx +7 -8
  63. package/src/core/components/dialog/isTargetWithinScope.ts +14 -0
  64. package/src/core/{types/dialog.ts → components/dialog/types.ts} +1 -3
  65. package/src/core/components/dialog/useDialog.ts +1 -1
  66. package/src/core/components/hotkeys/__workshop__/index.ts +5 -3
  67. package/src/core/components/hotkeys/__workshop__/plain.tsx +1 -1
  68. package/src/core/components/hotkeys/hotkeys.tsx +42 -44
  69. package/src/core/components/menu/__workshop__/asComponent.tsx +7 -7
  70. package/src/core/components/menu/__workshop__/avatarMenu.tsx +13 -7
  71. package/src/core/components/menu/__workshop__/closableMenuButton.tsx +6 -5
  72. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +4 -5
  73. package/src/core/components/menu/__workshop__/customMenuItem.tsx +4 -4
  74. package/src/core/components/menu/__workshop__/customSelectedState.tsx +2 -6
  75. package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +2 -2
  76. package/src/core/components/menu/__workshop__/groups.tsx +3 -3
  77. package/src/core/components/menu/__workshop__/index.ts +5 -3
  78. package/src/core/components/menu/__workshop__/menuButton.tsx +6 -6
  79. package/src/core/components/menu/__workshop__/menuGroupRight.tsx +2 -2
  80. package/src/core/components/menu/__workshop__/nestedMenu.tsx +2 -2
  81. package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +14 -5
  82. package/src/core/components/menu/__workshop__/selectedItem.tsx +3 -3
  83. package/src/core/components/menu/__workshop__/shouldFocus.tsx +2 -7
  84. package/src/core/components/menu/__workshop__/tones.tsx +6 -6
  85. package/src/core/components/menu/__workshop__/withoutArrow.tsx +2 -2
  86. package/src/core/components/menu/helpers.ts +1 -1
  87. package/src/core/components/menu/menu.test.tsx +18 -17
  88. package/src/core/components/menu/menu.tsx +48 -46
  89. package/src/core/components/menu/menuButton.tsx +40 -83
  90. package/src/core/components/menu/menuContext.ts +6 -16
  91. package/src/core/components/menu/menuDivider.tsx +32 -0
  92. package/src/core/components/menu/menuGroup.tsx +67 -51
  93. package/src/core/components/menu/menuItem.tsx +76 -72
  94. package/src/core/components/menu/useMenu.ts +1 -1
  95. package/src/core/components/menu/useMenuController.ts +17 -7
  96. package/src/core/components/tab/__workshop__/example.tsx +3 -3
  97. package/src/core/components/tab/__workshop__/index.ts +5 -3
  98. package/src/core/components/tab/tab.tsx +43 -35
  99. package/src/core/components/tab/tabList.tsx +53 -33
  100. package/src/core/components/tab/tabPanel.tsx +30 -22
  101. package/src/core/components/toast/__workshop__/hook.tsx +2 -2
  102. package/src/core/components/toast/__workshop__/index.ts +5 -3
  103. package/src/core/components/toast/__workshop__/toast.tsx +6 -6
  104. package/src/core/components/toast/toast.test.tsx +15 -13
  105. package/src/core/components/toast/toast.tsx +59 -66
  106. package/src/core/components/toast/toastContext.ts +5 -5
  107. package/src/core/components/toast/toastLayer.tsx +35 -32
  108. package/src/core/components/toast/toastProvider.tsx +20 -21
  109. package/src/core/components/toast/types.ts +6 -8
  110. package/src/core/components/toast/useToast.ts +2 -4
  111. package/src/core/components/tree/__workshop__/basic.perf.ts +2 -2
  112. package/src/core/components/tree/__workshop__/basic.tsx +2 -2
  113. package/src/core/components/tree/__workshop__/index.ts +5 -3
  114. package/src/core/components/tree/__workshop__/tabFromElement.tsx +2 -2
  115. package/src/core/components/tree/helpers.ts +1 -1
  116. package/src/core/components/tree/tree.tsx +198 -187
  117. package/src/core/components/tree/treeContext.ts +5 -5
  118. package/src/core/components/tree/treeGroup.tsx +28 -12
  119. package/src/core/components/tree/treeItem.tsx +90 -58
  120. package/src/core/components/tree/types.ts +4 -1
  121. package/src/core/components/tree/useTree.ts +1 -1
  122. package/src/core/{utils → components}/virtualList/__workshop__/changingProps.tsx +1 -1
  123. package/src/core/{utils → components}/virtualList/__workshop__/elementScroll.tsx +1 -1
  124. package/src/core/{utils → components}/virtualList/__workshop__/index.ts +6 -4
  125. package/src/core/{utils → components}/virtualList/__workshop__/infiniteList.tsx +2 -2
  126. package/src/core/{utils → components}/virtualList/__workshop__/windowScrolll.tsx +1 -1
  127. package/src/core/{utils → components}/virtualList/virtualList.tsx +96 -61
  128. package/src/core/constants.ts +4 -16
  129. package/src/core/helpers/focus.ts +0 -8
  130. package/src/core/helpers/props.ts +28 -0
  131. package/src/core/hooks/useClickOutsideEvent.test.tsx +4 -5
  132. package/src/core/hooks/useClickOutsideEvent.ts +3 -9
  133. package/src/core/hooks/useDelayed.test.ts +6 -7
  134. package/src/core/hooks/useDelayedState.ts +1 -1
  135. package/src/core/hooks/useElementSize.ts +1 -1
  136. package/src/core/hooks/useMatchMedia.ts +1 -1
  137. package/src/core/hooks/useMediaIndex/__workshop__/index.ts +5 -3
  138. package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +2 -2
  139. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +3 -18
  140. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +20 -15
  141. package/src/core/hooks/usePrefersDark.hydration.test.tsx +5 -5
  142. package/src/core/hooks/usePrefersDark.test.tsx +1 -0
  143. package/src/core/hooks/usePrefersDark.ts +1 -1
  144. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +5 -5
  145. package/src/core/hooks/usePrefersReducedMotion.test.tsx +1 -0
  146. package/src/core/hooks/usePrefersReducedMotion.ts +1 -1
  147. package/src/core/hooks/useResponsiveProp.ts +28 -0
  148. package/src/core/index.ts +114 -9
  149. package/src/core/lib/createGlobalScopedContext.ts +6 -3
  150. package/src/core/lib/globalScope.ts +1 -1
  151. package/src/core/lib/isArray.ts +3 -0
  152. package/src/core/middleware/origin.ts +1 -1
  153. package/src/core/observers/{elementSizeObserver.ts → elementSize.ts} +2 -2
  154. package/src/core/primitives/arrow/arrow.tsx +74 -0
  155. package/src/core/primitives/avatar/__workshop__/asButton.tsx +3 -3
  156. package/src/core/primitives/avatar/__workshop__/index.ts +5 -3
  157. package/src/core/primitives/avatar/__workshop__/stack.tsx +3 -3
  158. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +7 -15
  159. package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +28 -26
  160. package/src/core/primitives/avatar/avatar.tsx +77 -122
  161. package/src/core/primitives/avatar/avatarCounter.tsx +52 -77
  162. package/src/core/primitives/avatar/avatarStack.tsx +55 -77
  163. package/src/core/primitives/avatar/types.ts +2 -17
  164. package/src/core/primitives/badge/__workshop__/index.ts +5 -3
  165. package/src/core/primitives/badge/__workshop__/props.tsx +7 -18
  166. package/src/core/primitives/badge/__workshop__/tones.tsx +7 -12
  167. package/src/core/primitives/badge/badge.test.tsx +3 -3
  168. package/src/core/primitives/badge/badge.tsx +41 -42
  169. package/src/core/primitives/box/__workshop__/index.ts +5 -3
  170. package/src/core/primitives/box/__workshop__/props.tsx +3 -3
  171. package/src/core/primitives/box/__workshop__/responsive.tsx +3 -3
  172. package/src/core/primitives/box/box.tsx +188 -97
  173. package/src/core/primitives/button/__workshop__/custom.tsx +20 -44
  174. package/src/core/primitives/button/__workshop__/customIcons.tsx +4 -4
  175. package/src/core/primitives/button/__workshop__/disabled.tsx +41 -61
  176. package/src/core/primitives/button/__workshop__/index.ts +10 -3
  177. package/src/core/primitives/button/__workshop__/mixedChildren.tsx +1 -1
  178. package/src/core/primitives/button/__workshop__/props.tsx +20 -20
  179. package/src/core/primitives/button/__workshop__/sanityUploadButton.tsx +4 -4
  180. package/src/core/primitives/button/__workshop__/stacked.tsx +15 -15
  181. package/src/core/primitives/button/__workshop__/styled1.tsx +1 -1
  182. package/src/core/primitives/button/__workshop__/styled2.tsx +1 -1
  183. package/src/core/primitives/button/__workshop__/textOverflow.tsx +13 -0
  184. package/src/core/primitives/button/__workshop__/uploadButton.tsx +3 -2
  185. package/src/core/primitives/button/button.test.tsx +5 -19
  186. package/src/core/primitives/button/button.tsx +149 -143
  187. package/src/core/primitives/button/types.ts +2 -0
  188. package/src/core/primitives/card/__workshop__/asButton.tsx +15 -15
  189. package/src/core/primitives/card/__workshop__/asComponent.tsx +4 -4
  190. package/src/core/primitives/card/__workshop__/checkered.tsx +4 -4
  191. package/src/core/primitives/card/__workshop__/index.ts +6 -4
  192. package/src/core/primitives/card/__workshop__/interactive.tsx +4 -5
  193. package/src/core/primitives/card/__workshop__/listNavigation.tsx +6 -8
  194. package/src/core/primitives/card/__workshop__/props.tsx +14 -15
  195. package/src/core/primitives/card/__workshop__/selected.tsx +11 -43
  196. package/src/core/primitives/card/__workshop__/styled.tsx +1 -1
  197. package/src/core/primitives/card/__workshop__/tones.tsx +27 -0
  198. package/src/core/primitives/card/card.tsx +77 -84
  199. package/src/core/primitives/card/cardContext.ts +10 -0
  200. package/src/core/primitives/card/cardProvider.tsx +27 -0
  201. package/src/core/primitives/card/types.ts +15 -9
  202. package/src/core/primitives/card/useCard.ts +15 -0
  203. package/src/core/primitives/checkbox/__workshop__/example.tsx +1 -1
  204. package/src/core/primitives/checkbox/__workshop__/index.ts +5 -3
  205. package/src/core/primitives/checkbox/__workshop__/props.tsx +7 -5
  206. package/src/core/primitives/checkbox/__workshop__/readOnly.tsx +1 -1
  207. package/src/core/primitives/checkbox/__workshop__/tones.tsx +20 -21
  208. package/src/core/primitives/checkbox/checkbox.tsx +33 -26
  209. package/src/core/primitives/code/__workshop__/index.ts +5 -3
  210. package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +18 -43
  211. package/src/core/primitives/code/__workshop__/props.tsx +5 -8
  212. package/src/core/primitives/code/code.tsx +33 -25
  213. package/src/core/primitives/code/refractor.tsx +2 -4
  214. package/src/core/primitives/container/__workshop__/example.tsx +3 -3
  215. package/src/core/primitives/container/__workshop__/index.ts +5 -3
  216. package/src/core/primitives/container/container.tsx +27 -31
  217. package/src/core/primitives/flex/__workshop__/example.tsx +3 -3
  218. package/src/core/primitives/flex/__workshop__/gap.tsx +7 -7
  219. package/src/core/primitives/flex/__workshop__/index.ts +5 -3
  220. package/src/core/primitives/flex/flex.tsx +43 -39
  221. package/src/core/primitives/grid/__workshop__/index.ts +5 -3
  222. package/src/core/primitives/grid/__workshop__/responsive.tsx +3 -3
  223. package/src/core/primitives/grid/grid.tsx +22 -35
  224. package/src/core/primitives/heading/__workshop__/index.ts +5 -3
  225. package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +3 -3
  226. package/src/core/primitives/heading/__workshop__/plain.tsx +13 -16
  227. package/src/core/primitives/heading/heading.tsx +60 -62
  228. package/src/core/primitives/inline/__workshop__/index.ts +5 -3
  229. package/src/core/primitives/inline/__workshop__/plain.tsx +3 -6
  230. package/src/core/primitives/inline/inline.tsx +47 -32
  231. package/src/core/primitives/kbd/__workshop__/index.ts +5 -3
  232. package/src/core/primitives/kbd/__workshop__/plain.tsx +1 -1
  233. package/src/core/primitives/kbd/kbd.tsx +43 -47
  234. package/src/core/primitives/label/__workshop__/index.ts +5 -3
  235. package/src/core/primitives/label/__workshop__/opticalAlignment.tsx +14 -8
  236. package/src/core/primitives/label/__workshop__/plain.tsx +16 -12
  237. package/src/core/primitives/label/label.tsx +57 -61
  238. package/src/core/{utils → primitives}/layer/__workshop__/_debug.tsx +1 -1
  239. package/src/core/{utils → primitives}/layer/__workshop__/index.ts +6 -4
  240. package/src/core/{utils → primitives}/layer/__workshop__/multipleRoots.tsx +6 -6
  241. package/src/core/{utils → primitives}/layer/__workshop__/nested.tsx +4 -4
  242. package/src/core/primitives/layer/__workshop__/responsiveZOffset.tsx +17 -0
  243. package/src/core/{utils → primitives}/layer/getLayerContext.test.ts +3 -1
  244. package/src/core/{utils → primitives}/layer/getLayerContext.ts +1 -1
  245. package/src/core/{utils → primitives}/layer/layer.test.tsx +16 -14
  246. package/src/core/primitives/layer/layer.tsx +42 -0
  247. package/src/core/{utils/layer/layer.tsx → primitives/layer/layerCard.tsx} +40 -48
  248. package/src/core/primitives/layer/layerContext.ts +7 -0
  249. package/src/core/{utils → primitives}/layer/layerProvider.tsx +13 -17
  250. package/src/core/{utils → primitives}/layer/useLayer.ts +2 -4
  251. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +8 -8
  252. package/src/core/primitives/popover/__workshop__/MarginsStory.tsx +1 -1
  253. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +4 -4
  254. package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +2 -2
  255. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +3 -3
  256. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +4 -6
  257. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +20 -13
  258. package/src/core/primitives/popover/__workshop__/TestStory.tsx +10 -7
  259. package/src/core/primitives/popover/__workshop__/index.ts +5 -3
  260. package/src/core/primitives/popover/constants.ts +1 -1
  261. package/src/core/primitives/popover/floating-ui/size.ts +2 -2
  262. package/src/core/primitives/popover/helpers.ts +4 -3
  263. package/src/core/primitives/popover/popover.tsx +310 -351
  264. package/src/core/primitives/popover/popoverLayer.tsx +149 -0
  265. package/src/core/primitives/popover/types.ts +8 -2
  266. package/src/core/primitives/radio/__workshop__/example.tsx +4 -4
  267. package/src/core/primitives/radio/__workshop__/index.ts +5 -3
  268. package/src/core/primitives/radio/__workshop__/plain.tsx +4 -4
  269. package/src/core/primitives/radio/radio.tsx +36 -23
  270. package/src/core/primitives/select/__workshop__/index.ts +5 -3
  271. package/src/core/primitives/select/__workshop__/plain.tsx +18 -6
  272. package/src/core/primitives/select/__workshop__/readOnly.tsx +2 -2
  273. package/src/core/primitives/select/select.tsx +42 -54
  274. package/src/core/primitives/selectable/selectable.tsx +50 -0
  275. package/src/core/{components → primitives}/skeleton/__workshop__/delay.tsx +4 -4
  276. package/src/core/{components → primitives}/skeleton/__workshop__/index.ts +6 -4
  277. package/src/core/{components → primitives}/skeleton/__workshop__/skeleton.tsx +6 -6
  278. package/src/core/primitives/skeleton/codeSkeleton.tsx +49 -0
  279. package/src/core/primitives/skeleton/headingSkeleton.tsx +48 -0
  280. package/src/core/primitives/skeleton/labelSkeleton.tsx +47 -0
  281. package/src/core/primitives/skeleton/skeleton.tsx +70 -0
  282. package/src/core/primitives/skeleton/textSkeleton.tsx +49 -0
  283. package/src/core/primitives/spinner/__workshop__/Props.tsx +4 -4
  284. package/src/core/primitives/spinner/__workshop__/index.ts +5 -3
  285. package/src/core/primitives/spinner/animatedSpinnerIcon.tsx +14 -0
  286. package/src/core/primitives/spinner/spinner.tsx +31 -32
  287. package/src/core/primitives/srOnly/srOnly.tsx +33 -0
  288. package/src/core/primitives/stack/__workshop__/index.ts +5 -3
  289. package/src/core/primitives/stack/__workshop__/plain.tsx +3 -3
  290. package/src/core/primitives/stack/stack.tsx +46 -29
  291. package/src/core/primitives/switch/__workshop__/example.tsx +1 -1
  292. package/src/core/primitives/switch/__workshop__/index.ts +5 -3
  293. package/src/core/primitives/switch/__workshop__/props.tsx +1 -1
  294. package/src/core/primitives/switch/switch.tsx +50 -34
  295. package/src/core/primitives/text/__workshop__/colored.tsx +10 -17
  296. package/src/core/primitives/text/__workshop__/example.tsx +10 -21
  297. package/src/core/primitives/text/__workshop__/index.ts +5 -3
  298. package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +18 -43
  299. package/src/core/primitives/text/text.tsx +59 -64
  300. package/src/core/primitives/textArea/__workshop__/index.ts +5 -3
  301. package/src/core/primitives/textArea/__workshop__/plain.tsx +45 -34
  302. package/src/core/primitives/textArea/textArea.tsx +49 -84
  303. package/src/core/primitives/textInput/__workshop__/clearButton.tsx +1 -1
  304. package/src/core/primitives/textInput/__workshop__/customValidity.tsx +3 -3
  305. package/src/core/primitives/textInput/__workshop__/index.ts +5 -3
  306. package/src/core/primitives/textInput/__workshop__/plain.tsx +36 -24
  307. package/src/core/primitives/textInput/__workshop__/readOnly.tsx +1 -1
  308. package/src/core/primitives/textInput/__workshop__/states.tsx +6 -6
  309. package/src/core/primitives/textInput/__workshop__/tones.tsx +3 -3
  310. package/src/core/primitives/textInput/__workshop__/typed.tsx +3 -3
  311. package/src/core/primitives/textInput/textInput.tsx +173 -304
  312. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +6 -6
  313. package/src/core/primitives/tooltip/__workshop__/index.ts +5 -3
  314. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +3 -3
  315. package/src/core/primitives/tooltip/__workshop__/props.tsx +14 -9
  316. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +2 -2
  317. package/src/core/primitives/tooltip/constants.ts +1 -1
  318. package/src/core/primitives/tooltip/tooltip.test.tsx +63 -63
  319. package/src/core/primitives/tooltip/tooltip.tsx +115 -98
  320. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +5 -3
  321. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +4 -6
  322. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +1 -1
  323. package/src/core/primitives/tooltip/tooltipLayer.tsx +106 -0
  324. package/src/core/types.ts +56 -0
  325. package/src/core/utils/boundaryElement/__workshop__/index.ts +5 -3
  326. package/src/core/utils/boundaryElement/__workshop__/plain.tsx +1 -1
  327. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +15 -13
  328. package/src/core/utils/boundaryElement/boundaryElementContext.ts +8 -5
  329. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +5 -11
  330. package/src/core/utils/boundaryElement/types.ts +1 -3
  331. package/src/core/utils/boundaryElement/useBoundaryElement.ts +2 -4
  332. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +20 -9
  333. package/src/core/utils/elementQuery/__workshop__/index.ts +5 -3
  334. package/src/core/utils/elementQuery/elementQuery.tsx +42 -20
  335. package/src/core/utils/errorBoundary.tsx +8 -6
  336. package/src/core/utils/getElementRef.ts +4 -1
  337. package/src/core/utils/portal/__workshop__/index.ts +5 -3
  338. package/src/core/utils/portal/__workshop__/named.tsx +4 -4
  339. package/src/core/utils/portal/portal.test.tsx +15 -13
  340. package/src/core/utils/portal/portal.tsx +36 -0
  341. package/src/core/utils/portal/portalContext.ts +16 -10
  342. package/src/core/utils/portal/portalProvider.tsx +10 -19
  343. package/src/core/utils/portal/types.ts +1 -3
  344. package/src/core/utils/portal/usePortal.ts +2 -4
  345. package/src/css/_assign.ts +3 -0
  346. package/src/css/_composeClassNames.ts +12 -0
  347. package/src/css/_fromEntries.ts +3 -0
  348. package/src/css/_getClassNames.ts +9 -0
  349. package/src/css/_responsiveClassName.ts +45 -0
  350. package/src/css/_responsiveStyle.css.ts +34 -0
  351. package/src/css/_style.css.ts +9 -0
  352. package/src/css/components/breadcrumbs/breadcrumbs.css.ts +6 -0
  353. package/src/css/components/breadcrumbs/breadcrumbs.ts +7 -0
  354. package/src/css/components/dialog/dialog.css.ts +98 -0
  355. package/src/css/components/dialog/dialog.ts +58 -0
  356. package/src/css/components/menu/menu.css.ts +14 -0
  357. package/src/css/components/menu/menu.ts +12 -0
  358. package/src/css/components/skeleton/skeleton.css.ts +128 -0
  359. package/src/css/components/skeleton/skeleton.ts +38 -0
  360. package/src/css/components/skeleton/types.ts +36 -0
  361. package/src/css/components/toast/toast.css.ts +17 -0
  362. package/src/css/components/toast/toast.ts +11 -0
  363. package/src/css/components/tree/tree.css.ts +65 -0
  364. package/src/css/components/tree/tree.ts +7 -0
  365. package/src/css/constants.ts +10 -0
  366. package/src/css/getVarName.ts +27 -0
  367. package/src/css/index.ts +146 -0
  368. package/src/css/layers.css.ts +12 -0
  369. package/src/css/primitives/_arrow/_arrow.css.ts +68 -0
  370. package/src/css/primitives/_arrow/_arrow.ts +26 -0
  371. package/src/css/primitives/_input/_input.css.ts +261 -0
  372. package/src/css/primitives/_input/input.ts +29 -0
  373. package/src/css/primitives/_input/types.ts +13 -0
  374. package/src/css/primitives/avatar/avatar.css.ts +197 -0
  375. package/src/css/primitives/avatar/avatar.ts +68 -0
  376. package/src/css/primitives/avatar/types.ts +10 -0
  377. package/src/css/primitives/badge/badge.css.ts +27 -0
  378. package/src/css/primitives/badge/badge.ts +8 -0
  379. package/src/css/primitives/badge/types.ts +13 -0
  380. package/src/css/primitives/box/box.css.ts +19 -0
  381. package/src/css/primitives/box/box.ts +82 -0
  382. package/src/css/primitives/box/types.ts +75 -0
  383. package/src/css/primitives/button/button.css.ts +287 -0
  384. package/src/css/primitives/button/button.ts +26 -0
  385. package/src/css/primitives/button/types.ts +12 -0
  386. package/src/css/primitives/card/__workshop__/color.tsx +75 -0
  387. package/src/css/primitives/card/__workshop__/index.ts +16 -0
  388. package/src/css/primitives/card/card.css.ts +387 -0
  389. package/src/css/primitives/card/card.ts +13 -0
  390. package/src/css/primitives/card/types.ts +9 -0
  391. package/src/css/primitives/checkbox/checkbox.css.ts +193 -0
  392. package/src/css/primitives/checkbox/checkbox.ts +17 -0
  393. package/src/css/primitives/code/code.css.ts +272 -0
  394. package/src/css/primitives/code/code.ts +19 -0
  395. package/src/css/primitives/code/types.ts +11 -0
  396. package/src/css/primitives/container/container.css.ts +4 -0
  397. package/src/css/primitives/container/container.ts +17 -0
  398. package/src/css/primitives/container/types.ts +9 -0
  399. package/src/css/primitives/heading/heading.css.ts +86 -0
  400. package/src/css/primitives/heading/heading.ts +22 -0
  401. package/src/css/primitives/heading/types.ts +14 -0
  402. package/src/css/primitives/kbd/kbd.css.ts +16 -0
  403. package/src/css/primitives/kbd/kbd.ts +9 -0
  404. package/src/css/primitives/kbd/types.ts +6 -0
  405. package/src/css/primitives/label/label.css.ts +87 -0
  406. package/src/css/primitives/label/label.ts +22 -0
  407. package/src/css/primitives/label/types.ts +14 -0
  408. package/src/css/primitives/popover/popover.css.ts +6 -0
  409. package/src/css/primitives/popover/popover.ts +12 -0
  410. package/src/css/primitives/radio/radio.css.ts +78 -0
  411. package/src/css/primitives/radio/radio.ts +17 -0
  412. package/src/css/primitives/root/root.css.ts +19 -0
  413. package/src/css/primitives/root/root.ts +17 -0
  414. package/src/css/primitives/root/types.ts +10 -0
  415. package/src/css/primitives/select/select.css.ts +24 -0
  416. package/src/css/primitives/select/select.ts +14 -0
  417. package/src/css/primitives/select/types.ts +5 -0
  418. package/src/css/primitives/selectable/selectable.css.ts +131 -0
  419. package/src/css/primitives/selectable/selectable.ts +9 -0
  420. package/src/css/primitives/selectable/types.ts +9 -0
  421. package/src/css/primitives/spinner/spinner.css.ts +19 -0
  422. package/src/css/primitives/spinner/spinner.ts +13 -0
  423. package/src/css/primitives/spinner/types.ts +4 -0
  424. package/src/css/primitives/srOnly/srOnly.css.ts +10 -0
  425. package/src/css/primitives/srOnly/srOnly.ts +7 -0
  426. package/src/css/primitives/stack/stack.css.ts +6 -0
  427. package/src/css/primitives/stack/stack.ts +7 -0
  428. package/src/css/primitives/switch/switch.css.ts +98 -0
  429. package/src/css/primitives/switch/switch.ts +27 -0
  430. package/src/css/primitives/text/text.css.ts +86 -0
  431. package/src/css/primitives/text/text.ts +24 -0
  432. package/src/css/primitives/text/types.ts +18 -0
  433. package/src/css/primitives/textArea/textArea.css.ts +4 -0
  434. package/src/css/primitives/textArea/textArea.ts +9 -0
  435. package/src/css/primitives/textArea/types.ts +7 -0
  436. package/src/css/primitives/textInput/textInput.css.ts +43 -0
  437. package/src/css/primitives/textInput/textInput.ts +24 -0
  438. package/src/css/primitives/textInput/types.ts +7 -0
  439. package/src/css/primitives/tooltip/tooltip.css.ts +4 -0
  440. package/src/css/primitives/tooltip/tooltip.ts +8 -0
  441. package/src/css/primitives/tooltip/types.ts +4 -0
  442. package/src/css/props/alignItems/alignItems.css.ts +22 -0
  443. package/src/css/props/alignItems/alignItems.ts +8 -0
  444. package/src/css/props/alignItems/types.ts +9 -0
  445. package/src/css/props/border/border.css.ts +65 -0
  446. package/src/css/props/border/border.ts +21 -0
  447. package/src/css/props/border/types.ts +13 -0
  448. package/src/css/props/boxSizing/boxSizing.css.ts +12 -0
  449. package/src/css/props/boxSizing/boxSizing.ts +7 -0
  450. package/src/css/props/boxSizing/types.ts +7 -0
  451. package/src/css/props/display/display.css.ts +56 -0
  452. package/src/css/props/display/display.ts +8 -0
  453. package/src/css/props/display/types.ts +16 -0
  454. package/src/css/props/flex/flex.css.ts +52 -0
  455. package/src/css/props/flex/flex.ts +8 -0
  456. package/src/css/props/flex/types.ts +9 -0
  457. package/src/css/props/flexDirection/flexDirection.css.ts +19 -0
  458. package/src/css/props/flexDirection/flexDirection.ts +8 -0
  459. package/src/css/props/flexDirection/types.ts +9 -0
  460. package/src/css/props/flexWrap/flexWrap.css.ts +16 -0
  461. package/src/css/props/flexWrap/flexWrap.ts +8 -0
  462. package/src/css/props/flexWrap/types.ts +9 -0
  463. package/src/css/props/font/font.css.ts +94 -0
  464. package/src/css/props/font/font.ts +8 -0
  465. package/src/css/props/font/types.ts +6 -0
  466. package/src/css/props/gap/gap.css.ts +40 -0
  467. package/src/css/props/gap/gap.ts +13 -0
  468. package/src/css/props/gap/types.ts +10 -0
  469. package/src/css/props/gridAutoColumns/gridAutoColumns.css.ts +19 -0
  470. package/src/css/props/gridAutoColumns/gridAutoColumns.ts +8 -0
  471. package/src/css/props/gridAutoColumns/types.ts +9 -0
  472. package/src/css/props/gridAutoFlow/gridAutoFlow.css.ts +19 -0
  473. package/src/css/props/gridAutoFlow/gridAutoFlow.ts +8 -0
  474. package/src/css/props/gridAutoFlow/types.ts +9 -0
  475. package/src/css/props/gridAutoRows/gridAutoRows.css.ts +19 -0
  476. package/src/css/props/gridAutoRows/gridAutoRows.ts +8 -0
  477. package/src/css/props/gridAutoRows/types.ts +9 -0
  478. package/src/css/props/gridColumn/gridColumn.css.ts +49 -0
  479. package/src/css/props/gridColumn/gridColumn.ts +8 -0
  480. package/src/css/props/gridColumn/types.ts +9 -0
  481. package/src/css/props/gridColumnEnd/gridColumnEnd.css.ts +46 -0
  482. package/src/css/props/gridColumnEnd/gridColumnEnd.ts +8 -0
  483. package/src/css/props/gridColumnEnd/types.ts +9 -0
  484. package/src/css/props/gridColumnStart/gridColumnStart.css.ts +46 -0
  485. package/src/css/props/gridColumnStart/gridColumnStart.ts +8 -0
  486. package/src/css/props/gridColumnStart/types.ts +9 -0
  487. package/src/css/props/gridRow/gridRow.css.ts +49 -0
  488. package/src/css/props/gridRow/gridRow.ts +8 -0
  489. package/src/css/props/gridRow/types.ts +9 -0
  490. package/src/css/props/gridRowEnd/gridRowEnd.css.ts +46 -0
  491. package/src/css/props/gridRowEnd/gridRowEnd.ts +8 -0
  492. package/src/css/props/gridRowEnd/types.ts +9 -0
  493. package/src/css/props/gridRowStart/gridRowStart.css.ts +46 -0
  494. package/src/css/props/gridRowStart/gridRowStart.ts +8 -0
  495. package/src/css/props/gridRowStart/types.ts +9 -0
  496. package/src/css/props/gridTemplateColumns/gridTemplateColumns.css.ts +43 -0
  497. package/src/css/props/gridTemplateColumns/gridTemplateColumns.ts +8 -0
  498. package/src/css/props/gridTemplateColumns/types.ts +9 -0
  499. package/src/css/props/gridTemplateRows/gridTemplateRows.css.ts +43 -0
  500. package/src/css/props/gridTemplateRows/gridTemplateRows.ts +8 -0
  501. package/src/css/props/gridTemplateRows/types.ts +9 -0
  502. package/src/css/props/height/height.css.ts +25 -0
  503. package/src/css/props/height/height.ts +8 -0
  504. package/src/css/props/height/types.ts +9 -0
  505. package/src/css/props/inset/inset.css.ts +37 -0
  506. package/src/css/props/inset/inset.ts +21 -0
  507. package/src/css/props/inset/types.ts +13 -0
  508. package/src/css/props/justifyContent/justifyContent.css.ts +25 -0
  509. package/src/css/props/justifyContent/justifyContent.ts +8 -0
  510. package/src/css/props/justifyContent/types.ts +15 -0
  511. package/src/css/props/margin/margin.css.ts +117 -0
  512. package/src/css/props/margin/margin.ts +25 -0
  513. package/src/css/props/margin/types.ts +17 -0
  514. package/src/css/props/maxWidth/maxWidth.css.ts +32 -0
  515. package/src/css/props/maxWidth/maxWidth.ts +8 -0
  516. package/src/css/props/maxWidth/types.ts +11 -0
  517. package/src/css/props/minHeight/minHeight.css.ts +13 -0
  518. package/src/css/props/minHeight/minHeight.ts +8 -0
  519. package/src/css/props/minHeight/types.ts +9 -0
  520. package/src/css/props/minWidth/minWidth.css.ts +25 -0
  521. package/src/css/props/minWidth/minWidth.ts +8 -0
  522. package/src/css/props/minWidth/types.ts +9 -0
  523. package/src/css/props/outline/outline.css.ts +10 -0
  524. package/src/css/props/outline/outline.ts +8 -0
  525. package/src/css/props/outline/types.ts +7 -0
  526. package/src/css/props/overflow/overflow.css.ts +16 -0
  527. package/src/css/props/overflow/overflow.ts +8 -0
  528. package/src/css/props/overflow/types.ts +11 -0
  529. package/src/css/props/padding/padding.css.ts +87 -0
  530. package/src/css/props/padding/padding.ts +25 -0
  531. package/src/css/props/padding/types.ts +17 -0
  532. package/src/css/props/pointerEvents/pointerEvents.css.ts +13 -0
  533. package/src/css/props/pointerEvents/pointerEvents.ts +8 -0
  534. package/src/css/props/pointerEvents/types.ts +7 -0
  535. package/src/css/props/position/position.css.ts +22 -0
  536. package/src/css/props/position/position.ts +8 -0
  537. package/src/css/props/position/types.ts +9 -0
  538. package/src/css/props/radius/radius.css.ts +21 -0
  539. package/src/css/props/radius/radius.ts +8 -0
  540. package/src/css/props/radius/types.ts +8 -0
  541. package/src/css/props/shadow/shadow.css.ts +23 -0
  542. package/src/css/props/shadow/shadow.ts +8 -0
  543. package/src/css/props/shadow/types.ts +8 -0
  544. package/src/css/props/textAlign/textAlign.css.ts +22 -0
  545. package/src/css/props/textAlign/textAlign.ts +8 -0
  546. package/src/css/props/textAlign/types.ts +7 -0
  547. package/src/css/props/textOverflow/textOverflow.css.ts +19 -0
  548. package/src/css/props/textOverflow/textOverflow.ts +8 -0
  549. package/src/css/props/textOverflow/types.ts +12 -0
  550. package/src/css/props/width/types.ts +11 -0
  551. package/src/css/props/width/width.css.ts +31 -0
  552. package/src/css/props/width/width.ts +8 -0
  553. package/src/css/theme/buildCSSTheme.ts +488 -0
  554. package/src/css/theme/defaultTheme.css.ts +64 -0
  555. package/src/css/types.ts +427 -0
  556. package/src/css/vars.css.ts +676 -0
  557. package/src/theme/_parseColorToken.ts +180 -0
  558. package/src/theme/buildTheme.ts +32 -0
  559. package/src/theme/constants.ts +90 -0
  560. package/src/theme/defaults/color.ts +197 -0
  561. package/src/theme/defaults/{config.ts → common.ts} +4 -17
  562. package/src/theme/defaults/fonts.ts +54 -31
  563. package/src/theme/index.ts +5 -5
  564. package/src/theme/{build/merge.ts → merge.ts} +6 -8
  565. package/src/theme/resolveTokens.ts +204 -0
  566. package/src/theme/types.ts +366 -0
  567. package/dist/_chunks-cjs/_visual-editing.js +0 -5409
  568. package/dist/_chunks-cjs/_visual-editing.js.map +0 -1
  569. package/dist/_chunks-cjs/refractor.js.map +0 -1
  570. package/dist/_chunks-es/_visual-editing.mjs +0 -5415
  571. package/dist/_chunks-es/_visual-editing.mjs.map +0 -1
  572. package/dist/_chunks-es/refractor.mjs.map +0 -1
  573. package/dist/_visual-editing.d.mts +0 -1011
  574. package/dist/_visual-editing.d.ts +0 -1011
  575. package/dist/_visual-editing.js +0 -31
  576. package/dist/_visual-editing.js.map +0 -1
  577. package/dist/_visual-editing.mjs +0 -31
  578. package/dist/_visual-editing.mjs.map +0 -1
  579. package/dist/index.d.mts +0 -2966
  580. package/dist/index.mjs +0 -1726
  581. package/dist/index.mjs.map +0 -1
  582. package/dist/theme.d.mts +0 -1500
  583. package/dist/theme.mjs +0 -4112
  584. package/dist/theme.mjs.map +0 -1
  585. package/exports/_visual-editing.ts +0 -31
  586. package/src/core/__workshop__/constants.ts +0 -293
  587. package/src/core/_compat.ts +0 -264
  588. package/src/core/components/autocomplete/autocomplete.styles.tsx +0 -39
  589. package/src/core/components/autocomplete/index.ts +0 -2
  590. package/src/core/components/breadcrumbs/breadcrumbs.styles.ts +0 -18
  591. package/src/core/components/breadcrumbs/index.ts +0 -1
  592. package/src/core/components/dialog/index.ts +0 -4
  593. package/src/core/components/dialog/styles.ts +0 -77
  594. package/src/core/components/hotkeys/index.ts +0 -1
  595. package/src/core/components/index.ts +0 -9
  596. package/src/core/components/menu/index.ts +0 -5
  597. package/src/core/components/menu/menuDivider.ts +0 -12
  598. package/src/core/components/skeleton/index.ts +0 -2
  599. package/src/core/components/skeleton/skeleton.tsx +0 -57
  600. package/src/core/components/skeleton/styles.ts +0 -50
  601. package/src/core/components/skeleton/textSkeleton.tsx +0 -123
  602. package/src/core/components/tab/index.ts +0 -3
  603. package/src/core/components/toast/index.ts +0 -4
  604. package/src/core/components/toast/styles.ts +0 -77
  605. package/src/core/components/tree/index.ts +0 -4
  606. package/src/core/components/tree/style.ts +0 -105
  607. package/src/core/global.ts +0 -6
  608. package/src/core/helpers/index.ts +0 -4
  609. package/src/core/hooks/index.ts +0 -12
  610. package/src/core/hooks/useArrayProp.ts +0 -31
  611. package/src/core/hooks/useClickOutside.test.tsx +0 -482
  612. package/src/core/hooks/useClickOutside.ts +0 -117
  613. package/src/core/hooks/useElementRect/__workshop__/example.tsx +0 -32
  614. package/src/core/hooks/useElementRect/__workshop__/index.ts +0 -14
  615. package/src/core/hooks/useElementRect/index.ts +0 -1
  616. package/src/core/hooks/useElementRect/useElementRect.ts +0 -13
  617. package/src/core/hooks/useForwardedRef.ts +0 -19
  618. package/src/core/hooks/useIsomorphicEffect.ts +0 -7
  619. package/src/core/hooks/useMediaIndex/index.ts +0 -1
  620. package/src/core/observers/index.ts +0 -2
  621. package/src/core/primitives/_selectable/index.ts +0 -1
  622. package/src/core/primitives/_selectable/selectable.tsx +0 -15
  623. package/src/core/primitives/_selectable/style.ts +0 -115
  624. package/src/core/primitives/avatar/index.ts +0 -4
  625. package/src/core/primitives/avatar/styles.ts +0 -167
  626. package/src/core/primitives/badge/index.ts +0 -1
  627. package/src/core/primitives/badge/styles.ts +0 -20
  628. package/src/core/primitives/badge/types.ts +0 -8
  629. package/src/core/primitives/box/index.ts +0 -1
  630. package/src/core/primitives/button/index.ts +0 -1
  631. package/src/core/primitives/button/styles.ts +0 -117
  632. package/src/core/primitives/card/__workshop__/allTones.tsx +0 -25
  633. package/src/core/primitives/card/index.ts +0 -2
  634. package/src/core/primitives/card/styles.ts +0 -147
  635. package/src/core/primitives/checkbox/index.ts +0 -1
  636. package/src/core/primitives/checkbox/styles.ts +0 -128
  637. package/src/core/primitives/code/index.ts +0 -1
  638. package/src/core/primitives/code/styles.ts +0 -77
  639. package/src/core/primitives/container/index.ts +0 -2
  640. package/src/core/primitives/container/styles.ts +0 -23
  641. package/src/core/primitives/flex/index.ts +0 -1
  642. package/src/core/primitives/grid/index.ts +0 -1
  643. package/src/core/primitives/heading/index.ts +0 -1
  644. package/src/core/primitives/heading/styles.ts +0 -64
  645. package/src/core/primitives/heading/types.ts +0 -7
  646. package/src/core/primitives/index.ts +0 -27
  647. package/src/core/primitives/inline/index.ts +0 -1
  648. package/src/core/primitives/inline/styles.ts +0 -32
  649. package/src/core/primitives/inline/types.ts +0 -6
  650. package/src/core/primitives/kbd/index.ts +0 -1
  651. package/src/core/primitives/label/index.ts +0 -1
  652. package/src/core/primitives/label/styles.ts +0 -45
  653. package/src/core/primitives/popover/index.ts +0 -2
  654. package/src/core/primitives/popover/popoverCard.tsx +0 -168
  655. package/src/core/primitives/radio/index.ts +0 -1
  656. package/src/core/primitives/radio/styles.ts +0 -117
  657. package/src/core/primitives/select/index.ts +0 -1
  658. package/src/core/primitives/select/styles.ts +0 -166
  659. package/src/core/primitives/spinner/index.ts +0 -1
  660. package/src/core/primitives/stack/index.ts +0 -1
  661. package/src/core/primitives/stack/styles.ts +0 -32
  662. package/src/core/primitives/switch/index.ts +0 -1
  663. package/src/core/primitives/switch/styles.ts +0 -173
  664. package/src/core/primitives/text/index.ts +0 -1
  665. package/src/core/primitives/text/styles.ts +0 -74
  666. package/src/core/primitives/textArea/index.ts +0 -1
  667. package/src/core/primitives/textInput/index.ts +0 -1
  668. package/src/core/primitives/tooltip/index.ts +0 -2
  669. package/src/core/primitives/tooltip/tooltipCard.tsx +0 -111
  670. package/src/core/primitives/types.ts +0 -146
  671. package/src/core/styles/border/borderStyle.ts +0 -56
  672. package/src/core/styles/border/index.ts +0 -2
  673. package/src/core/styles/border/types.ts +0 -10
  674. package/src/core/styles/box/boxStyle.ts +0 -69
  675. package/src/core/styles/box/index.ts +0 -2
  676. package/src/core/styles/box/types.ts +0 -11
  677. package/src/core/styles/card/_cardColorStyle.ts +0 -108
  678. package/src/core/styles/card/index.ts +0 -1
  679. package/src/core/styles/flex/flexItemStyle.ts +0 -27
  680. package/src/core/styles/flex/flexStyle.ts +0 -70
  681. package/src/core/styles/flex/index.ts +0 -3
  682. package/src/core/styles/flex/types.ts +0 -25
  683. package/src/core/styles/focusRing/index.ts +0 -25
  684. package/src/core/styles/font/codeFontStyle.ts +0 -13
  685. package/src/core/styles/font/headingFontStyle.ts +0 -13
  686. package/src/core/styles/font/index.ts +0 -6
  687. package/src/core/styles/font/labelFontStyle.ts +0 -13
  688. package/src/core/styles/font/responsiveFont.ts +0 -101
  689. package/src/core/styles/font/textAlignStyle.ts +0 -19
  690. package/src/core/styles/font/textFontStyle.ts +0 -13
  691. package/src/core/styles/font/types.ts +0 -35
  692. package/src/core/styles/grid/gridItemStyle.ts +0 -82
  693. package/src/core/styles/grid/gridStyle.ts +0 -108
  694. package/src/core/styles/grid/index.ts +0 -3
  695. package/src/core/styles/grid/types.ts +0 -37
  696. package/src/core/styles/helpers.ts +0 -72
  697. package/src/core/styles/index.ts +0 -5
  698. package/src/core/styles/input/index.ts +0 -2
  699. package/src/core/styles/input/responsiveInputPaddingStyle.ts +0 -78
  700. package/src/core/styles/input/textInputStyle.ts +0 -263
  701. package/src/core/styles/internal.ts +0 -12
  702. package/src/core/styles/margin/index.ts +0 -2
  703. package/src/core/styles/margin/marginStyle.ts +0 -21
  704. package/src/core/styles/margin/marginsStyle.test.ts +0 -33
  705. package/src/core/styles/margin/types.ts +0 -9
  706. package/src/core/styles/padding/index.ts +0 -2
  707. package/src/core/styles/padding/paddingStyle.test.ts +0 -33
  708. package/src/core/styles/padding/paddingStyle.ts +0 -21
  709. package/src/core/styles/padding/types.ts +0 -12
  710. package/src/core/styles/radius/index.ts +0 -2
  711. package/src/core/styles/radius/radiusStyle.ts +0 -23
  712. package/src/core/styles/radius/types.ts +0 -8
  713. package/src/core/styles/shadow/index.ts +0 -2
  714. package/src/core/styles/shadow/shadowStyle.ts +0 -29
  715. package/src/core/styles/shadow/types.ts +0 -6
  716. package/src/core/styles/types.ts +0 -8
  717. package/src/core/theme/__workshop__/build/Root.tsx +0 -367
  718. package/src/core/theme/__workshop__/build/helpers.ts +0 -46
  719. package/src/core/theme/__workshop__/build/story.tsx +0 -465
  720. package/src/core/theme/__workshop__/canvas.tsx +0 -351
  721. package/src/core/theme/__workshop__/color.tsx +0 -62
  722. package/src/core/theme/__workshop__/debug/story.tsx +0 -408
  723. package/src/core/theme/__workshop__/index.ts +0 -39
  724. package/src/core/theme/__workshop__/layer.tsx +0 -78
  725. package/src/core/theme/__workshop__/nestedProvider.tsx +0 -15
  726. package/src/core/theme/index.ts +0 -5
  727. package/src/core/theme/theme.test.tsx +0 -73
  728. package/src/core/theme/themeColorProvider.tsx +0 -29
  729. package/src/core/theme/themeContext.ts +0 -10
  730. package/src/core/theme/themeProvider.tsx +0 -62
  731. package/src/core/theme/types.ts +0 -12
  732. package/src/core/theme/useRootTheme.ts +0 -17
  733. package/src/core/theme/useTheme.ts +0 -16
  734. package/src/core/types/avatar.ts +0 -14
  735. package/src/core/types/badge.ts +0 -12
  736. package/src/core/types/box.ts +0 -19
  737. package/src/core/types/button.ts +0 -21
  738. package/src/core/types/card.ts +0 -6
  739. package/src/core/types/flex.ts +0 -30
  740. package/src/core/types/grid.ts +0 -14
  741. package/src/core/types/gridItem.ts +0 -29
  742. package/src/core/types/index.ts +0 -14
  743. package/src/core/types/placement.ts +0 -18
  744. package/src/core/types/popover.ts +0 -4
  745. package/src/core/types/radius.ts +0 -4
  746. package/src/core/types/selectable.ts +0 -6
  747. package/src/core/types/text.ts +0 -4
  748. package/src/core/utils/arrow/arrow.tsx +0 -123
  749. package/src/core/utils/arrow/index.ts +0 -1
  750. package/src/core/utils/boundaryElement/index.ts +0 -3
  751. package/src/core/utils/conditionalWrapper/conditionalWrapper.tsx +0 -21
  752. package/src/core/utils/conditionalWrapper/index.ts +0 -1
  753. package/src/core/utils/elementQuery/index.ts +0 -1
  754. package/src/core/utils/index.ts +0 -9
  755. package/src/core/utils/layer/__workshop__/responsiveZOffset.tsx +0 -13
  756. package/src/core/utils/layer/index.ts +0 -4
  757. package/src/core/utils/layer/layerContext.ts +0 -7
  758. package/src/core/utils/portal/index.ts +0 -4
  759. package/src/core/utils/portal/portal.ts +0 -32
  760. package/src/core/utils/spanWithTextOverflow.tsx +0 -10
  761. package/src/core/utils/srOnly/index.ts +0 -1
  762. package/src/core/utils/srOnly/srOnly.tsx +0 -36
  763. package/src/core/utils/virtualList/index.ts +0 -1
  764. package/src/theme/build/_deprecated/color/_selectable/createSelectableTones.ts +0 -76
  765. package/src/theme/build/_deprecated/color/_solid/createSolidTones.ts +0 -54
  766. package/src/theme/build/_deprecated/color/button/createButtonModes.ts +0 -22
  767. package/src/theme/build/_deprecated/color/button/createButtonTones.ts +0 -55
  768. package/src/theme/build/_deprecated/color/card/createCardStates.ts +0 -60
  769. package/src/theme/build/_deprecated/color/color.test.ts +0 -63
  770. package/src/theme/build/_deprecated/color/defaults.ts +0 -390
  771. package/src/theme/build/_deprecated/color/factory.ts +0 -142
  772. package/src/theme/build/_deprecated/color/index.ts +0 -1
  773. package/src/theme/build/_deprecated/color/input/createInputModes.ts +0 -81
  774. package/src/theme/build/_deprecated/color/muted/createMuted.ts +0 -54
  775. package/src/theme/build/_deprecated/color/spot/createSpot.ts +0 -20
  776. package/src/theme/build/buildColorTheme.test.ts +0 -183
  777. package/src/theme/build/buildColorTheme.ts +0 -494
  778. package/src/theme/build/buildTheme.test.ts +0 -87
  779. package/src/theme/build/buildTheme.ts +0 -36
  780. package/src/theme/build/colorToken/colorToken.ts +0 -19
  781. package/src/theme/build/colorToken/compileColorToken.ts +0 -21
  782. package/src/theme/build/colorToken/index.ts +0 -2
  783. package/src/theme/build/colorToken/types.ts +0 -6
  784. package/src/theme/build/index.ts +0 -3
  785. package/src/theme/build/lib/color-fns/blend/index.ts +0 -3
  786. package/src/theme/build/lib/color-fns/blend/mix.ts +0 -21
  787. package/src/theme/build/lib/color-fns/blend/multiply.ts +0 -18
  788. package/src/theme/build/lib/color-fns/blend/screen.ts +0 -18
  789. package/src/theme/build/lib/color-fns/color-fns.test.ts +0 -68
  790. package/src/theme/build/lib/color-fns/contrastRatio.ts +0 -31
  791. package/src/theme/build/lib/color-fns/convert.ts +0 -150
  792. package/src/theme/build/lib/color-fns/index.ts +0 -6
  793. package/src/theme/build/lib/color-fns/parse.ts +0 -60
  794. package/src/theme/build/lib/color-fns/rgba.ts +0 -10
  795. package/src/theme/build/lib/color-fns/types.ts +0 -28
  796. package/src/theme/build/lib/isRecord.ts +0 -3
  797. package/src/theme/build/lib/utils.ts +0 -19
  798. package/src/theme/build/mixThemeColor.test.ts +0 -21
  799. package/src/theme/build/mixThemeColor.ts +0 -53
  800. package/src/theme/build/renderColorTheme.ts +0 -532
  801. package/src/theme/build/renderColorValue.ts +0 -85
  802. package/src/theme/build/resolveColorTokens.ts +0 -268
  803. package/src/theme/build/theme.test.ts +0 -27
  804. package/src/theme/config/helpers.ts +0 -55
  805. package/src/theme/config/index.ts +0 -4
  806. package/src/theme/config/system.ts +0 -115
  807. package/src/theme/config/tokens/color/index.ts +0 -1
  808. package/src/theme/config/tokens/color/types.ts +0 -133
  809. package/src/theme/config/tokens/index.ts +0 -4
  810. package/src/theme/config/tokens/parseTokenKey.test.ts +0 -64
  811. package/src/theme/config/tokens/parseTokenKey.ts +0 -67
  812. package/src/theme/config/tokens/parseTokenValue.test.ts +0 -42
  813. package/src/theme/config/tokens/parseTokenValue.ts +0 -133
  814. package/src/theme/config/tokens/types.ts +0 -53
  815. package/src/theme/config/types.ts +0 -46
  816. package/src/theme/defaults/colorPalette.ts +0 -5
  817. package/src/theme/defaults/colorTokens.ts +0 -648
  818. package/src/theme/getScopedTheme.ts +0 -91
  819. package/src/theme/system/avatar.ts +0 -14
  820. package/src/theme/system/color/_constants.ts +0 -45
  821. package/src/theme/system/color/_helpers.ts +0 -24
  822. package/src/theme/system/color/_system.ts +0 -40
  823. package/src/theme/system/color/avatar.ts +0 -15
  824. package/src/theme/system/color/badge.ts +0 -16
  825. package/src/theme/system/color/button.ts +0 -17
  826. package/src/theme/system/color/color.ts +0 -34
  827. package/src/theme/system/color/index.ts +0 -13
  828. package/src/theme/system/color/input.ts +0 -25
  829. package/src/theme/system/color/kbd.ts +0 -8
  830. package/src/theme/system/color/selectable.ts +0 -12
  831. package/src/theme/system/color/shadow.ts +0 -7
  832. package/src/theme/system/color/state.ts +0 -43
  833. package/src/theme/system/color/syntax.ts +0 -41
  834. package/src/theme/system/css.ts +0 -8
  835. package/src/theme/system/focusRing.ts +0 -7
  836. package/src/theme/system/font.ts +0 -52
  837. package/src/theme/system/index.ts +0 -11
  838. package/src/theme/system/input.ts +0 -33
  839. package/src/theme/system/layer.ts +0 -8
  840. package/src/theme/system/shadow.ts +0 -19
  841. package/src/theme/system/styles.ts +0 -13
  842. package/src/theme/system/theme.ts +0 -138
  843. package/src/theme/system/v0/avatar.ts +0 -10
  844. package/src/theme/system/v0/color/_generic.ts +0 -35
  845. package/src/theme/system/v0/color/_system.ts +0 -17
  846. package/src/theme/system/v0/color/base.ts +0 -21
  847. package/src/theme/system/v0/color/button.ts +0 -42
  848. package/src/theme/system/v0/color/card.ts +0 -19
  849. package/src/theme/system/v0/color/color.ts +0 -40
  850. package/src/theme/system/v0/color/index.ts +0 -11
  851. package/src/theme/system/v0/color/input.ts +0 -34
  852. package/src/theme/system/v0/color/muted.ts +0 -26
  853. package/src/theme/system/v0/color/selectable.ts +0 -31
  854. package/src/theme/system/v0/color/solid.ts +0 -26
  855. package/src/theme/system/v0/color/spot.ts +0 -13
  856. package/src/theme/system/v0/index.ts +0 -3
  857. package/src/theme/system/v0/input.ts +0 -23
  858. package/src/theme/versioning/getTheme_v2.ts +0 -57
  859. package/src/theme/versioning/index.ts +0 -5
  860. package/src/theme/versioning/is_v0.ts +0 -6
  861. package/src/theme/versioning/is_v2.ts +0 -6
  862. package/src/theme/versioning/themeColor_v0_v2.ts +0 -243
  863. package/src/theme/versioning/themeColor_v2_v2_9.ts +0 -49
  864. package/src/theme/versioning/v0_v2.ts +0 -94
  865. package/src/theme/versioning/v2_v0.ts +0 -127
  866. /package/src/core/observers/{resizeObserver.ts → resize.ts} +0 -0
  867. /package/src/core/{utils → primitives}/arrow/cmds.ts +0 -0
  868. /package/src/core/{utils → primitives}/layer/types.ts +0 -0
package/dist/theme.d.ts CHANGED
@@ -1,1394 +1,337 @@
1
- import {ColorHueKey} from '@sanity/color'
2
- import {ColorTint} from '@sanity/color'
3
- import {ColorTintKey} from '@sanity/color'
4
- import type {StyledObject} from 'styled-components'
5
-
6
- /**
7
- * @public
8
- */
9
- export declare interface BaseTheme {
10
- _version?: 0
11
- /**
12
- * @deprecated Use `v2.avatar` instead
13
- */
14
- avatar: ThemeAvatar
15
- /**
16
- * @deprecated Use `v2.button` instead
17
- */
18
- button: {
19
- textWeight: ThemeFontWeightKey
20
- }
21
- /**
22
- * @deprecated Use `v2.color` instead
23
- */
24
- color: ThemeColorSchemes
25
- /**
26
- * @deprecated Use `v2.container` instead
27
- */
28
- container: number[]
29
- /**
30
- * @deprecated Use component-specific `v2.{button | card | input}.focusRing` values instead
31
- */
32
- focusRing: {
33
- offset: number
34
- width: number
35
- }
36
- /**
37
- * @deprecated Use `v2.font` instead
38
- */
39
- fonts: ThemeFonts
40
- /**
41
- * @deprecated Use `v2.input` instead
42
- */
43
- input: ThemeInput
44
- /**
45
- * THIS API MAY BE UNSTABLE. DO NOT USE IN PRODUCTION.
46
- * @beta
47
- * @deprecated Use `v2.layer` instead
48
- */
49
- layer?: ThemeLayer
50
- /**
51
- * @deprecated Use `v2.media` instead
52
- */
53
- media: number[]
54
- /**
55
- * @deprecated Use `v2.radius` instead
56
- */
57
- radius: number[]
58
- /**
59
- * @deprecated Use `v2.shadow` instead
60
- */
61
- shadows: Array<ThemeShadow | null>
62
- /**
63
- * @deprecated Use `v2.space` instead
64
- */
65
- space: number[]
66
- /**
67
- * @internal
68
- * @deprecated Use `v2.style` instead
69
- */
70
- styles?: ThemeStyles
71
- v2?: RootTheme_v2
72
- }
73
-
74
- /** @internal */
75
- export declare function buildTheme(config?: ThemeConfig): RootTheme
76
-
77
- /** @public */
78
- export declare const COLOR_CONFIG_AVATAR_COLORS: readonly ['*', ...ColorHueKey[]]
79
-
80
- /** @public */
81
- export declare const COLOR_CONFIG_BLEND_KEYS: readonly ['_blend']
82
-
83
- /** @public */
84
- export declare const COLOR_CONFIG_CARD_KEYS: readonly [
85
- '_hue',
86
- 'bg',
87
- 'fg',
88
- 'border',
89
- 'focusRing',
90
- 'muted/fg',
91
- 'accent/fg',
92
- 'link/fg',
93
- 'code/bg',
94
- 'code/fg',
95
- 'skeleton/from',
96
- 'skeleton/to',
97
- 'status/dot',
98
- 'status/icon',
99
- '_hue',
100
- 'bg',
101
- 'fg',
102
- 'border',
103
- 'focusRing',
104
- 'shadow/outline',
105
- 'shadow/umbra',
106
- 'shadow/penumbra',
107
- 'shadow/ambient',
108
- ]
109
-
110
- /** @public */
111
- export declare const COLOR_CONFIG_CARD_TONES: readonly [
112
- '*',
113
- 'transparent',
114
- 'default',
115
- 'neutral',
116
- 'primary',
117
- 'suggest',
118
- 'positive',
119
- 'caution',
120
- 'critical',
121
- ]
122
-
123
- /** @public */
124
- export declare const COLOR_CONFIG_INPUT_MODES: readonly ['*', 'default', 'invalid']
125
-
126
- /** @public */
127
- export declare const COLOR_CONFIG_INPUT_STATES: readonly [
128
- '*',
129
- 'enabled',
130
- 'hovered',
131
- 'readOnly',
132
- 'disabled',
133
- ]
134
-
135
- /** @public */
136
- export declare const COLOR_CONFIG_STATE_KEYS: readonly [
137
- '_hue',
138
- 'bg',
139
- 'fg',
140
- 'border',
141
- 'focusRing',
142
- 'muted/fg',
143
- 'accent/fg',
144
- 'link/fg',
145
- 'code/bg',
146
- 'code/fg',
147
- 'skeleton/from',
148
- 'skeleton/to',
149
- 'status/dot',
150
- 'status/icon',
151
- ]
152
-
153
- /** @public */
154
- export declare const COLOR_CONFIG_STATE_TONES: readonly [
155
- '*',
156
- 'default',
157
- 'neutral',
158
- 'primary',
159
- 'suggest',
160
- 'positive',
161
- 'caution',
162
- 'critical',
163
- ]
164
-
165
- /** @public */
166
- export declare const COLOR_CONFIG_STATES: readonly [
167
- '*',
168
- 'enabled',
169
- 'hovered',
170
- 'pressed',
171
- 'selected',
172
- 'disabled',
173
- ]
174
-
175
- /** @public */
176
- export declare type ColorBlendModeTokenValue = [ThemeColorBlendModeKey, ThemeColorBlendModeKey]
177
-
178
- /** @public */
179
- export declare type ColorConfigAvatarColor = (typeof COLOR_CONFIG_AVATAR_COLORS)[number]
180
-
181
- /** @public */
182
- export declare type ColorConfigBlendKey = (typeof COLOR_CONFIG_BLEND_KEYS)[number]
183
-
184
- /** @public */
185
- export declare type ColorConfigCardKey = (typeof COLOR_CONFIG_CARD_KEYS)[number]
186
-
187
- /** @public */
188
- export declare type ColorConfigCardTone = (typeof COLOR_CONFIG_CARD_TONES)[number]
189
-
190
- /** @public */
191
- export declare type ColorConfigInputMode = (typeof COLOR_CONFIG_INPUT_MODES)[number]
192
-
193
- /** @public */
194
- export declare type ColorConfigInputState = (typeof COLOR_CONFIG_INPUT_STATES)[number]
195
-
196
- /** @public */
197
- export declare type ColorConfigOpacityValue = `0` | `0.${number}` | `1`
198
-
199
- /** @public */
200
- export declare type ColorConfigState = (typeof COLOR_CONFIG_STATES)[number]
201
-
202
- /** @public */
203
- export declare type ColorConfigStateKey = (typeof COLOR_CONFIG_STATE_KEYS)[number]
204
-
205
- /** @public */
206
- export declare type ColorConfigStateTone = (typeof COLOR_CONFIG_STATE_TONES)[number]
207
-
208
- /** @public */
209
- export declare type ColorConfigValue =
210
- | `black`
211
- | `white`
212
- | `black/${ColorConfigOpacityValue}`
213
- | `white/${ColorConfigOpacityValue}`
214
- | `${ColorHueKey}`
215
- | `${ColorHueKey} ${number}%`
216
- | `${ColorHueKey}/${ColorTintKey}`
217
- | `${ColorHueKey}/${ColorTintKey} ${number}%`
218
- | `${ColorHueKey}/${ColorTintKey}/${ColorConfigOpacityValue}`
219
- | `${ColorTintKey}`
220
- | `${ColorTintKey} ${number}%`
221
- | `${ColorTintKey}/${ColorConfigOpacityValue}`
222
-
223
- /**
224
- * @public
225
- * @deprecated Use `buildColorTheme` instead.
226
- */
227
- export declare function createColorTheme(
228
- partialOpts?: PartialThemeColorBuilderOpts,
229
- ): ThemeColorSchemes
230
-
231
- /**
232
- * Work around types that are missing in `styled-components@6`
233
- * https://github.com/styled-components/styled-components/issues/4062
234
- * @internal
235
- */
236
- export declare type CSSObject = StyledObject<any>
237
-
238
- /** @internal */
239
- export declare function getContrastRatio(bg: string, fg: string): number
240
-
241
- /** @internal */
242
- export declare function getScopedTheme(
243
- themeProp: RootTheme | RootTheme_v2,
244
- scheme: ThemeColorSchemeKey,
245
- tone: ThemeColorCardToneKey,
246
- ): Theme
247
-
248
- /** @public */
249
- export declare function getTheme_v2(theme: Theme): Theme_v2
250
-
251
- /**
252
- * @internal
253
- */
254
- export declare function hexToRgb(hex: string): RGB
255
-
256
- /**
257
- * @internal
258
- */
259
- export declare interface HSL {
260
- h: number
261
- s: number
262
- l: number
263
- }
264
-
265
- /**
266
- * @internal
267
- */
268
- export declare function hslToRgb(hsl: HSL): RGB
269
-
270
- /** @internal */
271
- export declare function is_v0(themeProp: RootTheme | RootTheme_v2): themeProp is RootTheme
272
-
273
- /** @internal */
274
- export declare function is_v2(themeProp: RootTheme | RootTheme_v2): themeProp is RootTheme_v2
275
-
276
- /** @internal */
277
- export declare function isColorBlendModeValue(str: string): str is ThemeColorBlendModeKey
278
-
279
- /** @internal */
280
- export declare function isColorButtonMode(str: string): str is ThemeColorButtonModeKey
281
-
282
- /** @internal */
283
- export declare function isColorConfigBaseKey(str: string): str is ColorConfigCardKey
284
-
285
- /** @internal */
286
- export declare function isColorConfigBaseTone(str: string): str is ColorConfigCardTone
287
-
288
- /** @internal */
289
- export declare function isColorConfigBlendKey(str: string): str is ColorConfigBlendKey
290
-
291
- /** @internal */
292
- export declare function isColorConfigStateKey(str: string): str is ColorConfigStateKey
293
-
294
- /** @internal */
295
- export declare function isColorConfigStateTone(str: string): str is ColorConfigStateTone
296
-
297
- /** @internal */
298
- export declare function isColorHueKey(str: string): str is ColorHueKey
299
-
300
- /** @internal */
301
- export declare function isColorOpacityValue(str: string): str is ColorConfigOpacityValue
302
-
303
- /** @internal */
304
- export declare function isColorTintKey(str: string): str is ColorTintKey
305
-
306
- /** @internal */
307
- export declare function isColorTokenValue(str: string): str is ColorConfigValue
308
-
309
- /** @internal */
310
- export declare function isColorValue(str: string): str is 'black' | 'white'
311
-
312
- /**
313
- * Apply the \`mix\` blend mode
314
- * @internal
315
- */
316
- export declare function mix(b: RGB | RGBA, s: RGB | RGBA, weight: number): RGB
317
-
318
- /**
319
- * Apply the \`multiply\` blend mode
320
- * Source: https://www.w3.org/TR/compositing-1/#blendingmultiply
321
- * @internal
322
- */
323
- export declare function multiply(b: RGB | RGBA, s: RGB | RGBA): RGB
324
-
325
- /**
326
- * @internal
327
- */
328
- export declare function parseColor(color: unknown): RGB | RGBA
329
-
330
- /** @internal */
331
- export declare function parseTokenKey(str: string): TokenKeyNode | undefined
332
-
333
- /** @internal */
334
- export declare function parseTokenValue(str: string): TokenValueNode | undefined
335
-
336
- /**
337
- * @public
338
- * @deprecated Use `ThemeConfig` instead.
339
- */
340
- export declare type PartialThemeColorBuilderOpts = Partial<ThemeColorBuilderOpts>
341
-
342
- /**
343
- * @internal
344
- */
345
- export declare interface RGB {
346
- r: number
347
- g: number
348
- b: number
349
- a?: undefined
350
- }
351
-
352
- /**
353
- * @internal
354
- */
355
- export declare interface RGBA {
356
- r: number
357
- g: number
358
- b: number
359
- a: number
360
- }
361
-
362
- /**
363
- * @internal
364
- */
365
- export declare function rgba(color: unknown, a: number): string
366
-
367
- /**
368
- * @internal
369
- */
370
- export declare function rgbaToRGBA(rgba: string): RGBA
371
-
372
- /**
373
- * @internal
374
- */
375
- export declare function rgbToHex(color: RGB | RGBA): string
376
-
377
- /**
378
- * @internal
379
- * @see https://css-tricks.com/converting-color-spaces-in-javascript/
380
- */
381
- export declare function rgbToHsl({r, g, b}: RGB): HSL
382
-
383
- /**
384
- * @public
385
- */
386
- export declare type RootTheme = BaseTheme
387
-
388
- /**
389
- * @public
390
- */
391
- export declare interface RootTheme_v2 {
392
- _version: 2
393
- avatar: ThemeAvatar_v2
394
- button: {
395
- border: {
396
- width: number
397
- }
398
- focusRing: ThemeFocusRing
399
- textWeight: ThemeFontWeightKey
400
- }
401
- card: {
402
- border: {
403
- width: number
404
- }
405
- focusRing: ThemeFocusRing
406
- shadow: {
407
- outline: number
408
- }
409
- }
410
- color: ThemeColorSchemes_v2
411
- container: number[]
412
- font: ThemeFonts
413
- input: ThemeInput_v2
414
- layer: ThemeLayer
415
- media: number[]
416
- radius: number[]
417
- shadow: Array<ThemeShadow | null>
418
- space: number[]
419
- /** @internal */
420
- style?: ThemeStyles
421
- }
422
-
423
- /**
424
- * Apply the \`screen\` blend mode
425
- * Source: https://www.w3.org/TR/compositing-1/#blendingscreen
426
- * @internal
427
- */
428
- declare function screen_2(b: RGB | RGBA, s: RGB | RGBA): RGB
429
- export {screen_2 as screen}
430
-
431
- /**
432
- * @public
433
- */
434
- export declare interface Theme {
435
- sanity: Omit<RootTheme, 'color' | 'v2'> & {
436
- /**
437
- * @deprecated Use `v2.color` instead
438
- */
439
- color: ThemeColor
440
- v2?: Theme_v2
441
- }
442
- }
443
-
444
- /** @public */
445
- export declare const THEME_COLOR_AVATAR_COLORS: ColorHueKey[]
446
-
447
- /** @public */
448
- export declare const THEME_COLOR_BLEND_MODES: readonly ['multiply', 'screen']
449
-
450
- /** @public */
451
- export declare const THEME_COLOR_BUTTON_MODES: readonly ['default', 'ghost', 'bleed']
452
-
453
- /** @public */
454
- export declare const THEME_COLOR_CARD_TONES: readonly [
455
- 'transparent',
456
- 'default',
457
- 'neutral',
458
- 'primary',
459
- 'suggest',
460
- 'positive',
461
- 'caution',
462
- 'critical',
463
- ]
464
-
465
- /** @public */
466
- export declare const THEME_COLOR_INPUT_MODES: readonly ['default', 'invalid']
467
-
468
- /** @public */
469
- export declare const THEME_COLOR_INPUT_STATES: readonly [
470
- 'enabled',
471
- 'hovered',
472
- 'readOnly',
473
- 'disabled',
474
- ]
475
-
476
- /** @public */
477
- export declare const THEME_COLOR_SCHEMES: readonly ['light', 'dark']
478
-
479
- /** @public */
480
- export declare const THEME_COLOR_STATE_TONES: readonly [
481
- 'default',
482
- 'neutral',
483
- 'primary',
484
- 'suggest',
485
- 'positive',
486
- 'caution',
487
- 'critical',
488
- ]
489
-
490
- /** @public */
491
- export declare const THEME_COLOR_STATES: readonly [
492
- 'enabled',
493
- 'hovered',
494
- 'pressed',
495
- 'selected',
496
- 'disabled',
497
- ]
498
-
499
- /**
500
- * @public
501
- */
502
- export declare type Theme_v2 = Omit<RootTheme_v2, 'color'> & {
503
- color: ThemeColorCard_v2
504
- /**
505
- * Indicates whether the theme is resolved or raw, it's necessary to avoid issues
506
- * with sanity V2 components accessing a v1 <ThemeProvider>.
507
- * See https://github.com/sanity-io/ui/pull/1203 for more info.
508
- */
509
- _resolved: boolean
510
- }
511
-
512
- /**
513
- * @public
514
- * @deprecated Use `ThemeAvatar_v2` from `@sanity/ui/theme` instead.
515
- */
516
- export declare interface ThemeAvatar {
517
- sizes: {
518
- distance: number
519
- size: number
520
- }[]
521
- }
522
-
523
- /**
524
- * @public
525
- */
526
- export declare interface ThemeAvatar_v2 {
527
- sizes: {
528
- /** Spacing between avatars in an <AvatarStack> component (px) */
529
- distance: number
530
- /** Diameter of the avatar (px) */
531
- size: number
532
- }[]
533
- focusRing: ThemeFocusRing
534
- }
535
-
536
- /**
537
- * @public
538
- */
539
- export declare type ThemeBoxShadow = [number, number, number, number]
540
-
541
- /**
542
- * @public
543
- * @deprecated Use `ThemeColor_v2` instead.
544
- */
545
- export declare interface ThemeColor extends Partial<Omit<ThemeColorGenericState, 'muted'>> {
546
- base: ThemeColorBase
547
- button: ThemeColorButton
548
- card: ThemeColorCard
549
- dark: boolean
550
- input: ThemeColorInput
551
- muted: ThemeColorMuted
552
- selectable?: ThemeColorSelectable
553
- solid: ThemeColorSolid
554
- spot: ThemeColorSpot
555
- syntax: ThemeColorSyntax
556
- }
557
-
558
- /**
559
- * @public
560
- */
561
- export declare type ThemeColorAvatar_v2 = Record<ThemeColorAvatarColorKey, ThemeColorAvatarHue_v2>
562
-
563
- /** @public */
564
- export declare type ThemeColorAvatarColorKey = (typeof THEME_COLOR_AVATAR_COLORS)[number]
565
-
566
- /**
567
- * @public
568
- */
569
- export declare interface ThemeColorAvatarHue_v2 {
570
- _blend?: ThemeColorBlendModeKey
571
- bg: string
572
- fg: string
573
- }
574
-
575
- /** @public */
576
- export declare interface ThemeColorAvatarHueTokens {
577
- _blend?: ColorBlendModeTokenValue
578
- _hue?: ColorHueKey
579
- bg?: ThemeColorTokenValue
580
- fg?: ThemeColorTokenValue
581
- }
582
-
583
- /** @public */
584
- export declare interface ThemeColorAvatarTokens {
585
- '*'?: ThemeColorAvatarHueTokens
586
- 'gray'?: ThemeColorAvatarHueTokens
587
- 'blue'?: ThemeColorAvatarHueTokens
588
- 'purple'?: ThemeColorAvatarHueTokens
589
- 'magenta'?: ThemeColorAvatarHueTokens
590
- 'red'?: ThemeColorAvatarHueTokens
591
- 'orange'?: ThemeColorAvatarHueTokens
592
- 'yellow'?: ThemeColorAvatarHueTokens
593
- 'green'?: ThemeColorAvatarHueTokens
594
- 'cyan'?: ThemeColorAvatarHueTokens
595
- }
596
-
597
- /**
598
- * @public
599
- */
600
- export declare type ThemeColorBadge_v2 = Record<ThemeColorStateToneKey, ThemeColorBadgeTone_v2>
601
-
602
- /** @public */
603
- export declare type ThemeColorBadgeTokens = Partial<
604
- Record<'*' | ThemeColorStateToneKey, ThemeColorBadgeToneTokens>
605
- >
606
-
607
- /**
608
- * @public
609
- */
610
- export declare interface ThemeColorBadgeTone_v2 {
611
- bg: string
612
- fg: string
613
- dot: string
614
- icon: string
615
- }
616
-
617
- /** @public */
618
- export declare interface ThemeColorBadgeToneTokens {
619
- _blend?: ColorBlendModeTokenValue
620
- _hue?: ColorHueKey
621
- bg?: ThemeColorTokenValue
622
- dot?: ThemeColorTokenValue
623
- fg?: ThemeColorTokenValue
624
- icon?: ThemeColorTokenValue
625
- }
626
-
627
- /**
628
- * @public
629
- * @deprecated Use `ThemeColorCard_v2` instead.
630
- */
631
- export declare interface ThemeColorBase {
632
- bg: string
633
- fg: string
634
- border: string
635
- focusRing: string
636
- backdrop?: string
637
- shadow: {
638
- outline: string
639
- umbra: string
640
- penumbra: string
641
- ambient: string
642
- }
643
- skeleton?: {
644
- from: string
645
- to: string
646
- }
647
- }
648
-
649
- /** @public */
650
- export declare interface ThemeColorBaseTokens extends ThemeColorStateTokens {
651
- focusRing?: ThemeColorTokenValue
652
- backdrop?: ThemeColorTokenValue
653
- shadow?: {
654
- outline?: ThemeColorTokenValue
655
- umbra?: ThemeColorTokenValue
656
- penumbra?: ThemeColorTokenValue
657
- ambient?: ThemeColorTokenValue
658
- }
659
- }
660
-
661
- /** @public */
662
- export declare type ThemeColorBlendModeKey = (typeof THEME_COLOR_BLEND_MODES)[number]
663
-
664
- /**
665
- * @public
666
- * @deprecated Use `buildColorTheme` instead.
667
- */
668
- export declare interface ThemeColorBuilderOpts {
669
- base: (opts: {dark: boolean; name: ThemeColorName}) => ThemeColorBase
670
- solid: (opts: {
671
- base: ThemeColorBase
672
- dark: boolean
673
- tone: ThemeColorName
674
- name: ThemeColorName
675
- state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'
676
- }) => ThemeColorGenericState
677
- muted: (opts: {
678
- base: ThemeColorBase
679
- dark: boolean
680
- tone: ThemeColorToneKey
681
- name: ThemeColorName
682
- state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'
683
- }) => ThemeColorGenericState
684
- card: (opts: {
685
- base: ThemeColorBase
686
- dark: boolean
687
- muted: ThemeColorMuted
688
- name: ThemeColorName
689
- solid: ThemeColorSolid
690
- state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'
691
- }) => ThemeColorGenericState
692
- button: (opts: {
693
- dark: boolean
694
- mode: ThemeColorButtonModeKey
695
- base: ThemeColorBase
696
- solid: ThemeColorSolidTone
697
- muted: ThemeColorMutedTone
698
- }) => ThemeColorButtonStates
699
- input: (opts: {
700
- base: ThemeColorBase
701
- solid: ThemeColorSolidTone
702
- muted: ThemeColorMutedTone
703
- dark: boolean
704
- mode: 'default' | 'invalid'
705
- state: 'enabled' | 'disabled' | 'hovered' | 'readOnly'
706
- }) => ThemeColorInputState
707
- selectable: (opts: {
708
- dark: boolean
709
- base: ThemeColorBase
710
- solid: ThemeColorSolid
711
- muted: ThemeColorMuted
712
- state: 'enabled' | 'disabled' | 'hovered' | 'pressed' | 'selected'
713
- tone: 'default' | 'primary' | 'positive' | 'caution' | 'critical'
714
- }) => ThemeColorGenericState
715
- syntax: (opts: {base: ThemeColorBase; dark: boolean}) => ThemeColorSyntax
716
- spot: (opts: {base: ThemeColorBase; dark: boolean; key: ThemeColorSpotKey}) => string
717
- }
718
-
719
- /**
720
- * @public
721
- * @deprecated Use `ThemeColorButton_v2` instead.
722
- */
723
- export declare interface ThemeColorButton {
724
- default: ThemeColorButtonTones
725
- ghost: ThemeColorButtonTones
726
- bleed: ThemeColorButtonTones
727
- }
728
-
729
- /**
730
- * @public
731
- */
732
- export declare type ThemeColorButton_v2 = Record<ThemeColorButtonModeKey, ThemeColorButtonMode_v2>
733
-
734
- /**
735
- * @public
736
- */
737
- export declare type ThemeColorButtonMode_v2 = Record<
738
- ThemeColorStateToneKey,
739
- ThemeColorButtonTone_v2
740
- >
741
-
742
- /** @public */
743
- export declare type ThemeColorButtonModeKey = (typeof THEME_COLOR_BUTTON_MODES)[number]
744
-
745
- /**
746
- * @public
747
- * @deprecated Use `ThemeColorState_v2` instead.
748
- */
749
- export declare type ThemeColorButtonState = ThemeColorGenericState
750
-
751
- /**
752
- * @public
753
- * @deprecated Use `ThemeColorButtonStates_v2` instead.
754
- */
755
- export declare interface ThemeColorButtonStates {
756
- enabled: ThemeColorGenericState
757
- hovered: ThemeColorGenericState
758
- pressed: ThemeColorGenericState
759
- selected: ThemeColorGenericState
760
- disabled: ThemeColorGenericState
761
- }
762
-
763
- /** @public */
764
- export declare interface ThemeColorButtonTokens
765
- extends Partial<Record<ColorConfigStateTone, ThemeColorStatesTokens>> {
766
- _hue?: ColorHueKey
767
- }
768
-
769
- /**
770
- * @public
771
- */
772
- export declare type ThemeColorButtonTone_v2 = Record<ThemeColorStateKey, ThemeColorState_v2>
773
-
774
- /**
775
- * TODO: Rename to `ThemeColorButtonMode`.
776
- * @public
777
- * @deprecated Use `ThemeColorButtonTones_v2` instead.
778
- */
779
- export declare interface ThemeColorButtonTones {
780
- default: ThemeColorButtonStates
781
- primary: ThemeColorButtonStates
782
- positive: ThemeColorButtonStates
783
- caution: ThemeColorButtonStates
784
- critical: ThemeColorButtonStates
785
- }
786
-
787
- /**
788
- * @public
789
- * @deprecated Use `ThemeColorSelectable_v2` instead.
790
- */
791
- export declare interface ThemeColorCard {
792
- enabled: ThemeColorGenericState
793
- hovered: ThemeColorGenericState
794
- pressed: ThemeColorGenericState
795
- selected: ThemeColorGenericState
796
- disabled: ThemeColorGenericState
797
- }
798
-
799
- /**
800
- * @public
801
- */
802
- export declare interface ThemeColorCard_v2 extends ThemeColorState_v2 {
803
- /** @internal */
804
- _blend: ThemeColorBlendModeKey
805
- _dark: boolean
806
- backdrop: string
807
- button: ThemeColorButton_v2
808
- focusRing: string
809
- input: ThemeColorInput_v2
810
- selectable: ThemeColorSelectable_v2
811
- shadow: ThemeColorShadow
812
- syntax: ThemeColorSyntax
813
- }
814
-
815
- /**
816
- * @public
817
- * @deprecated Use `ThemeColorState_v2` instead.
818
- */
819
- export declare type ThemeColorCardState = ThemeColorGenericState
820
-
821
- /** @public */
822
- export declare type ThemeColorCardToneKey = (typeof THEME_COLOR_CARD_TONES)[number]
823
-
824
- /**
825
- * @public
826
- * @deprecated Use `ThemeColorState_v2` instead.
827
- */
828
- export declare interface ThemeColorGenericState {
829
- /** @internal */
830
- _blend?: ThemeColorBlendModeKey
831
- bg: string
832
- /**
833
- * @beta
834
- */
835
- bg2?: string
836
- border: string
837
- fg: string
838
- icon: string
839
- muted: {
840
- fg: string
841
- }
842
- accent: {
843
- fg: string
844
- }
845
- link: {
846
- fg: string
847
- }
848
- code: {
849
- bg: string
850
- fg: string
851
- }
852
- skeleton?: {
853
- from: string
854
- to: string
855
- }
856
- }
857
-
858
- /**
859
- * @public
860
- * @deprecated Use `ThemeColorInput_v2` instead.
861
- */
862
- export declare interface ThemeColorInput {
863
- default: ThemeColorInputStates
864
- invalid: ThemeColorInputStates
865
- }
866
-
867
- /**
868
- * @public
869
- */
870
- export declare type ThemeColorInput_v2 = Record<ThemeColorInputModeKey, ThemeColorInputMode_v2>
871
-
872
- /**
873
- * @public
874
- */
875
- export declare type ThemeColorInputMode_v2 = Record<
876
- ThemeColorInputStateKey,
877
- ThemeColorInputState_v2
878
- >
879
-
880
- /** @public */
881
- export declare type ThemeColorInputModeKey = (typeof THEME_COLOR_INPUT_MODES)[number]
882
-
883
- /**
884
- * @public
885
- * @deprecated Use `ThemeColorInputState_v2` instead.
886
- */
887
- export declare interface ThemeColorInputState {
888
- _blend?: ThemeColorBlendModeKey
889
- bg: string
890
- bg2: string
891
- border: string
892
- fg: string
893
- placeholder: string
894
- }
895
-
896
- /**
897
- * @public
898
- */
899
- export declare interface ThemeColorInputState_v2 {
900
- _blend?: ThemeColorBlendModeKey
901
- bg: string
902
- border: string
903
- fg: string
904
- muted: {
905
- bg: string
906
- }
907
- placeholder: string
908
- }
909
-
910
- /** @public */
911
- export declare type ThemeColorInputStateKey = (typeof THEME_COLOR_INPUT_STATES)[number]
912
-
913
- /**
914
- * @public
915
- * @deprecated Use `ThemeColorInputMode_v2` instead.
916
- */
917
- export declare interface ThemeColorInputStates {
918
- enabled: ThemeColorInputState
919
- disabled: ThemeColorInputState
920
- hovered: ThemeColorInputState
921
- readOnly: ThemeColorInputState
922
- }
923
-
924
- /** @public */
925
- export declare interface ThemeColorInputStateTokens {
926
- _blend?: ColorBlendModeTokenValue
927
- _hue?: ColorHueKey
928
- bg?: ThemeColorTokenValue
929
- border?: ThemeColorTokenValue
930
- fg?: ThemeColorTokenValue
931
- muted?: {
932
- bg?: ThemeColorTokenValue
933
- }
934
- placeholder?: ThemeColorTokenValue
935
- }
936
-
937
- /** @public */
938
- export declare interface ThemeColorInputTokens
939
- extends Partial<Record<ColorConfigInputState, ThemeColorInputStateTokens>> {
940
- _hue?: ColorHueKey
941
- }
942
-
943
- /**
944
- * @public
945
- */
946
- export declare interface ThemeColorKBD {
947
- bg: string
948
- fg: string
949
- border: string
950
- }
951
-
952
- /**
953
- * @public
954
- * @deprecated Use `ThemeColorSelectable_v2` instead.
955
- */
956
- export declare interface ThemeColorMuted {
957
- default: ThemeColorMutedTone
958
- transparent: ThemeColorMutedTone
959
- primary: ThemeColorMutedTone
960
- positive: ThemeColorMutedTone
961
- caution: ThemeColorMutedTone
962
- critical: ThemeColorMutedTone
963
- }
964
-
965
- /**
966
- * @public
967
- * @deprecated Use `ThemeColorSelectableTone_v2` instead.
968
- */
969
- export declare interface ThemeColorMutedTone {
970
- enabled: ThemeColorGenericState
971
- disabled: ThemeColorGenericState
972
- hovered: ThemeColorGenericState
973
- pressed: ThemeColorGenericState
974
- selected: ThemeColorGenericState
975
- }
976
-
977
- /**
978
- * @public
979
- * @deprecated Use `ThemeColorCardToneKey` instead.
980
- */
981
- export declare type ThemeColorName =
982
- | 'transparent'
983
- | 'default'
984
- | 'primary'
985
- | 'positive'
986
- | 'caution'
987
- | 'critical'
988
-
989
- /** @public */
990
- export declare type ThemeColorPalette = {
991
- black: string | ColorTint
992
- white: string | ColorTint
993
- } & Record<ColorHueKey, Record<ColorTintKey, string | ColorTint>>
994
-
995
- /**
996
- * @public
997
- * @deprecated Use `ThemeColorScheme_v2` instead.
998
- */
999
- export declare type ThemeColorScheme = Record<ThemeColorName, ThemeColor>
1000
-
1001
- /**
1002
- * @public
1003
- */
1004
- export declare type ThemeColorScheme_v2 = Record<ThemeColorCardToneKey, ThemeColorCard_v2>
1005
-
1006
- /**
1007
- * @public
1008
- */
1009
- export declare type ThemeColorSchemeKey = (typeof THEME_COLOR_SCHEMES)[number]
1010
-
1011
- /**
1012
- * @public
1013
- * @deprecated Use `ThemeColorSchemes_v2` instead.
1014
- */
1015
- export declare type ThemeColorSchemes = Record<ThemeColorSchemeKey, ThemeColorScheme>
1016
-
1017
- /**
1018
- * @public
1019
- */
1020
- export declare type ThemeColorSchemes_v2 = Record<ThemeColorSchemeKey, ThemeColorScheme_v2>
1021
-
1022
- /**
1023
- * @public
1024
- * @deprecated Use `ThemeColorSelectable_v2` instead.
1025
- */
1026
- export declare interface ThemeColorSelectable {
1027
- default: ThemeColorSelectableStates
1028
- primary: ThemeColorSelectableStates
1029
- positive: ThemeColorSelectableStates
1030
- caution: ThemeColorSelectableStates
1031
- critical: ThemeColorSelectableStates
1032
- }
1
+ import type {ColorHues} from '@sanity/color'
2
+ import type {ColorTint} from '@sanity/color'
3
+
4
+ /** @public */
5
+ export declare const AVATAR_COLORS: readonly [
6
+ 'gray',
7
+ 'blue',
8
+ 'purple',
9
+ 'magenta',
10
+ 'red',
11
+ 'orange',
12
+ 'yellow',
13
+ 'green',
14
+ 'cyan',
15
+ ]
1033
16
 
1034
- /**
1035
- * @public
1036
- */
1037
- export declare type ThemeColorSelectable_v2 = Record<
1038
- ThemeColorStateToneKey,
1039
- ThemeColorSelectableTone_v2
1040
- >
17
+ /** @public */
18
+ export declare const AVATAR_SIZE: readonly [0, 1, 2, 3]
1041
19
 
1042
- /**
1043
- * @public
1044
- * @deprecated Use `ThemeColorState_v2` instead.
1045
- */
1046
- export declare type ThemeColorSelectableState = ThemeColorGenericState
20
+ /** @public */
21
+ export declare type AvatarColor = (typeof AVATAR_COLORS)[number]
1047
22
 
1048
- /**
1049
- * @public
1050
- * @deprecated Use `ThemeColorSelectableStates_v2` instead.
1051
- */
1052
- export declare interface ThemeColorSelectableStates {
1053
- enabled: ThemeColorSelectableState
1054
- hovered: ThemeColorSelectableState
1055
- pressed: ThemeColorSelectableState
1056
- selected: ThemeColorSelectableState
1057
- disabled: ThemeColorSelectableState
23
+ /** @public */
24
+ export declare interface AvatarColorProperties {
25
+ _hue: Hue
26
+ bg: ColorValue
27
+ fg: ColorValue
1058
28
  }
1059
29
 
1060
- /**
1061
- * @public
1062
- */
1063
- export declare type ThemeColorSelectableTone_v2 = Record<ThemeColorStateKey, ThemeColorState_v2>
30
+ /** @public */
31
+ export declare type AvatarsColor = Record<AvatarColor, AvatarColorProperties>
1064
32
 
1065
33
  /** @public */
1066
- export declare interface ThemeColorShadow {
1067
- outline: string
1068
- umbra: string
1069
- penumbra: string
1070
- ambient: string
1071
- }
34
+ export declare type AvatarSize = (typeof AVATAR_SIZE)[number]
1072
35
 
1073
- /**
1074
- * @public
1075
- * @deprecated Use `ThemeColorSelectable_v2` instead.
1076
- */
1077
- export declare interface ThemeColorSolid {
1078
- default: ThemeColorSolidTone
1079
- transparent: ThemeColorSolidTone
1080
- primary: ThemeColorSolidTone
1081
- positive: ThemeColorSolidTone
1082
- caution: ThemeColorSolidTone
1083
- critical: ThemeColorSolidTone
1084
- }
36
+ /** @public */
37
+ export declare type BoxShadow = [number, number, number, number]
1085
38
 
1086
- /**
1087
- * @public
1088
- * @deprecated Use `ThemeColorSelectableTone_v2` instead.
1089
- */
1090
- export declare interface ThemeColorSolidTone {
1091
- enabled: ThemeColorGenericState
1092
- disabled: ThemeColorGenericState
1093
- hovered: ThemeColorGenericState
1094
- pressed: ThemeColorGenericState
1095
- selected: ThemeColorGenericState
1096
- }
39
+ /** @public */
40
+ export declare function buildTheme(options?: ThemeOptions): Theme
1097
41
 
1098
- /**
1099
- * @public
1100
- * @deprecated Use `ThemeColorAvatar_v2` instead
1101
- */
1102
- export declare type ThemeColorSpot = Record<ThemeColorSpotKey, string>
42
+ /** @public */
43
+ export declare const BUTTON_MODES: readonly ['default', 'ghost', 'bleed']
1103
44
 
1104
- /**
1105
- * @public
1106
- * @deprecated Use `ThemeColorAvatarColorKey` instead
1107
- */
1108
- export declare type ThemeColorSpotKey = ThemeColorAvatarColorKey
45
+ /** @public */
46
+ export declare type ButtonMode = (typeof BUTTON_MODES)[number]
1109
47
 
1110
- /**
1111
- * @public
1112
- */
1113
- export declare interface ThemeColorState_v2 {
1114
- /** @internal */
1115
- _blend?: ThemeColorBlendModeKey
1116
- accent: {
1117
- fg: string
1118
- }
1119
- /**
1120
- * @internal This may be removed in a future release
1121
- * */
1122
- avatar: ThemeColorAvatar_v2
1123
- /**
1124
- * @internal This may be removed in a future release
1125
- * */
1126
- badge: ThemeColorBadge_v2
1127
- bg: string
1128
- border: string
48
+ /** @public */
49
+ export declare const CARD_TONES: readonly [
50
+ 'transparent',
51
+ 'default',
52
+ 'neutral',
53
+ 'primary',
54
+ 'suggest',
55
+ 'positive',
56
+ 'caution',
57
+ 'critical',
58
+ ]
59
+
60
+ /** @public */
61
+ export declare interface CardColorTokens {
62
+ _hue: Hue
63
+ avatar: AvatarsColor
64
+ backdrop: ColorValue
1129
65
  code: {
1130
- bg: string
1131
- fg: string
66
+ bg: ColorValue
67
+ fg: ColorValue
68
+ token: {
69
+ atrule: ColorValue
70
+ attrName: ColorValue
71
+ attrValue: ColorValue
72
+ attribute: ColorValue
73
+ boolean: ColorValue
74
+ builtin: ColorValue
75
+ cdata: ColorValue
76
+ char: ColorValue
77
+ class: ColorValue
78
+ className: ColorValue
79
+ comment: ColorValue
80
+ constant: ColorValue
81
+ deleted: ColorValue
82
+ doctype: ColorValue
83
+ entity: ColorValue
84
+ function: ColorValue
85
+ hexcode: ColorValue
86
+ id: ColorValue
87
+ important: ColorValue
88
+ inserted: ColorValue
89
+ keyword: ColorValue
90
+ number: ColorValue
91
+ operator: ColorValue
92
+ prolog: ColorValue
93
+ property: ColorValue
94
+ pseudoClass: ColorValue
95
+ pseudoElement: ColorValue
96
+ punctuation: ColorValue
97
+ regex: ColorValue
98
+ selector: ColorValue
99
+ string: ColorValue
100
+ symbol: ColorValue
101
+ tag: ColorValue
102
+ unit: ColorValue
103
+ url: ColorValue
104
+ variable: ColorValue
105
+ }
1132
106
  }
1133
- fg: string
1134
- icon: string
1135
- kbd: ThemeColorKBD
107
+ focusRing: ColorValue
1136
108
  link: {
1137
- fg: string
109
+ fg: ColorValue
1138
110
  }
1139
- muted: {
1140
- bg: string
1141
- fg: string
111
+ shadow: {
112
+ outline: ColorValue
113
+ umbra: ColorValue
114
+ penumbra: ColorValue
115
+ ambient: ColorValue
1142
116
  }
1143
117
  skeleton: {
1144
- from: string
1145
- to: string
118
+ from: ColorValue
119
+ to: ColorValue
1146
120
  }
121
+ variant: Record<ColorVariant, ElementsColorTokens>
1147
122
  }
1148
123
 
1149
124
  /** @public */
1150
- export declare type ThemeColorStateKey = (typeof THEME_COLOR_STATES)[number]
125
+ export declare type CardTone = (typeof CARD_TONES)[number]
1151
126
 
1152
127
  /** @public */
1153
- export declare type ThemeColorStatesTokens = Partial<
1154
- Record<ColorConfigState, ThemeColorStateTokens>
1155
- >
128
+ export declare type Color = Record<CardTone, CardColorTokens>
1156
129
 
1157
130
  /** @public */
1158
- export declare interface ThemeColorStateTokens {
1159
- _blend?: ColorBlendModeTokenValue
1160
- _hue?: ColorHueKey
1161
- accent?: {
1162
- fg?: ThemeColorTokenValue
1163
- }
1164
- avatar?: ThemeColorAvatarTokens
1165
- badge?: ThemeColorBadgeTokens
1166
- bg?: ThemeColorTokenValue
1167
- border?: ThemeColorTokenValue
1168
- code?: {
1169
- bg?: ThemeColorTokenValue
1170
- fg?: ThemeColorTokenValue
1171
- }
1172
- fg?: ThemeColorTokenValue
1173
- icon?: ThemeColorTokenValue
1174
- kbd?: {
1175
- bg?: ThemeColorTokenValue
1176
- fg?: ThemeColorTokenValue
1177
- border?: ThemeColorTokenValue
1178
- }
1179
- link?: {
1180
- fg?: ThemeColorTokenValue
1181
- }
1182
- muted?: {
1183
- bg?: ThemeColorTokenValue
1184
- fg?: ThemeColorTokenValue
1185
- }
1186
- skeleton?: {
1187
- from?: ThemeColorTokenValue
1188
- to?: ThemeColorTokenValue
1189
- }
1190
- }
131
+ export declare const COLOR_SCHEMES: readonly ['light', 'dark']
1191
132
 
1192
133
  /** @public */
1193
- export declare type ThemeColorStateToneKey = (typeof THEME_COLOR_STATE_TONES)[number]
134
+ export declare const COLOR_VARIANTS: readonly ['tinted', 'solid']
1194
135
 
1195
- /**
1196
- * @public
1197
- */
1198
- export declare interface ThemeColorSyntax {
1199
- atrule: string
1200
- attrName: string
1201
- attrValue: string
1202
- attribute: string
1203
- boolean: string
1204
- builtin: string
1205
- cdata: string
1206
- char: string
1207
- class: string
1208
- className: string
1209
- comment: string
1210
- constant: string
1211
- deleted: string
1212
- doctype: string
1213
- entity: string
1214
- function: string
1215
- hexcode: string
1216
- id: string
1217
- important: string
1218
- inserted: string
1219
- keyword: string
1220
- number: string
1221
- operator: string
1222
- prolog: string
1223
- property: string
1224
- pseudoClass: string
1225
- pseudoElement: string
1226
- punctuation: string
1227
- regex: string
1228
- selector: string
1229
- string: string
1230
- symbol: string
1231
- tag: string
1232
- unit: string
1233
- url: string
1234
- variable: string
136
+ /** @internal */
137
+ export declare interface ColorInheritNode {
138
+ type: 'inherit'
139
+ }
140
+
141
+ /** @internal */
142
+ export declare interface ColorNode {
143
+ type: 'color'
144
+ name: 'black' | 'white'
145
+ /** Between 0 and 1 */
146
+ opacity: number
147
+ /** Between 0 and 1 */
148
+ mix: number
1235
149
  }
1236
150
 
1237
151
  /** @public */
1238
- export declare interface ThemeColorTokens {
1239
- base?: Partial<Record<ColorConfigCardTone, ThemeColorBaseTokens>>
1240
- button?: Partial<Record<ThemeColorButtonModeKey, ThemeColorButtonTokens>>
1241
- input?: Partial<Record<ColorConfigInputMode, ThemeColorInputTokens>>
1242
- selectable?: Partial<
1243
- Record<
1244
- ColorConfigStateTone,
1245
- {
1246
- _hue?: ColorHueKey
1247
- } & ThemeColorStatesTokens
1248
- >
1249
- >
1250
- syntax?: Partial<Record<keyof ThemeColorSyntax, ThemeColorTokenValue>>
152
+ export declare type ColorScheme = (typeof COLOR_SCHEMES)[number]
153
+
154
+ /** @internal */
155
+ export declare interface ColorTintNode {
156
+ type: 'tint'
157
+ hue: Hue
158
+ tint: Tint
159
+ /** Between 0 and 1 */
160
+ opacity: number
161
+ /** Between 0 and 1 */
162
+ mix: number
1251
163
  }
1252
164
 
1253
165
  /** @public */
1254
- export declare type ThemeColorTokenValue = [ColorConfigValue, ColorConfigValue]
166
+ export declare type ColorToken =
167
+ | `inherit`
168
+ | `black`
169
+ | `black/${ColorTokenOpacityValue}`
170
+ | `white`
171
+ | `white/${ColorTokenOpacityValue}`
172
+ | `${Hue}-${Tint}`
173
+ | `${Hue}-${Tint}/${ColorTokenOpacityValue}`
174
+ | `${Hue}-${Tint} ${number}%`
175
+ | `${Tint}`
176
+ | `${Tint}/${ColorTokenOpacityValue}`
177
+ | `${Tint} ${number}%`
178
+
179
+ /** @public */
180
+ export declare type ColorTokenOpacityValue = `0` | `0.${number}` | `1`
181
+
182
+ /** @public */
183
+ export declare type ColorTokens = Record<'*' | CardTone, CardColorTokens>
1255
184
 
1256
185
  /**
186
+ * Theme color values are tuples of [light, dark] color tokens.
187
+ *
1257
188
  * @public
1258
- * @deprecated Use `ThemeColorCardToneKey` instead.
1259
189
  */
1260
- export declare type ThemeColorToneKey = ThemeColorName
190
+ export declare type ColorValue = [ColorToken, ColorToken]
1261
191
 
1262
192
  /** @public */
1263
- export declare interface ThemeConfig {
1264
- avatar?: ThemeAvatar_v2
1265
- button?: {
1266
- border: {
1267
- width: number
1268
- }
1269
- focusRing: ThemeFocusRing
1270
- textWeight: ThemeFontWeightKey
193
+ export declare type ColorVariant = (typeof COLOR_VARIANTS)[number]
194
+
195
+ /** @public */
196
+ export declare const CONTAINER: [...typeof CONTAINER_SCALE, 'auto']
197
+
198
+ /** @public */
199
+ export declare const CONTAINER_SCALE: readonly [0, 1, 2, 3, 4, 5]
200
+
201
+ /** @public */
202
+ export declare type ContainerScale = (typeof CONTAINER_SCALE)[number]
203
+
204
+ /** @public */
205
+ export declare type ContainerWidth = (typeof CONTAINER)[number]
206
+
207
+ /** @public */
208
+ export declare const ELEMENT_TONES: readonly [
209
+ 'default',
210
+ 'neutral',
211
+ 'primary',
212
+ 'suggest',
213
+ 'positive',
214
+ 'caution',
215
+ 'critical',
216
+ ]
217
+
218
+ /** @public */
219
+ export declare interface ElementColorTokens {
220
+ _hue: Hue
221
+ bg: {
222
+ 0: ColorValue
223
+ 4: ColorValue
1271
224
  }
1272
- card?: {
1273
- border: {
1274
- width: number
1275
- }
1276
- focusRing: ThemeFocusRing
1277
- shadow: {
1278
- outline: number
1279
- }
225
+ border: {
226
+ 0: ColorValue
227
+ 4: ColorValue
228
+ }
229
+ fg: {
230
+ 0: ColorValue
231
+ 4: ColorValue
1280
232
  }
1281
- color?: ThemeColorTokens
1282
- container?: number[]
1283
- font?: ThemeFonts
1284
- input?: ThemeInput_v2
1285
- layer?: ThemeLayer
1286
- media?: number[]
1287
- palette?: ThemeColorPalette
1288
- radius?: number[]
1289
- shadow?: Array<ThemeShadow | null>
1290
- space?: number[]
1291
- /** @internal */
1292
- style?: ThemeStyles
1293
233
  }
1294
234
 
1295
- /**
1296
- * @public
1297
- */
1298
- export declare interface ThemeFocusRing {
235
+ /** @public */
236
+ export declare type ElementsColorTokens = Record<'*' | ElementTone, ElementColorTokens>
237
+
238
+ /** @public */
239
+ export declare type ElementTone = (typeof ELEMENT_TONES)[number]
240
+
241
+ /** @public */
242
+ export declare interface FocusRing {
1299
243
  offset: number
1300
244
  width: number
1301
245
  }
1302
246
 
1303
- /**
1304
- * @public
1305
- */
1306
- export declare interface ThemeFont {
247
+ /** @public */
248
+ export declare interface Font {
1307
249
  family: string
1308
- weights: ThemeFontWeight
1309
- sizes: ThemeFontSize[]
1310
- /** @deprecated No longer supported. */
1311
- horizontalOffset?: number
250
+ featureSettings?: string
251
+ weight: FontWeights
252
+ scale: FontSize[]
1312
253
  }
1313
254
 
1314
- /**
1315
- * @public
1316
- */
1317
- export declare type ThemeFontKey = 'code' | 'heading' | 'label' | 'text'
255
+ /** @public */
256
+ export declare const FONT_CODE_SIZE: readonly [0, 1, 2, 3, 4]
1318
257
 
1319
- /**
1320
- * @public
1321
- */
1322
- export declare interface ThemeFonts {
1323
- code: ThemeFont
1324
- heading: ThemeFont
1325
- label: ThemeFont
1326
- text: ThemeFont
258
+ /** @public */
259
+ export declare const FONT_HEADING_SIZE: readonly [0, 1, 2, 3, 4, 5]
260
+
261
+ /** @public */
262
+ export declare const FONT_LABEL_SIZE: readonly [0, 1, 2, 3, 4, 5]
263
+
264
+ /** @public */
265
+ export declare const FONT_TEXT_SIZE: readonly [0, 1, 2, 3, 4]
266
+
267
+ /** @public */
268
+ export declare type FontCodeSize = (typeof FONT_CODE_SIZE)[number]
269
+
270
+ /** @public */
271
+ export declare type FontHeadingSize = (typeof FONT_HEADING_SIZE)[number]
272
+
273
+ /** @public */
274
+ export declare type FontLabelSize = (typeof FONT_LABEL_SIZE)[number]
275
+
276
+ /** @public */
277
+ export declare interface Fonts {
278
+ code: Font
279
+ heading: Font
280
+ label: Font
281
+ text: Font
1327
282
  }
1328
283
 
1329
- /**
1330
- * @public
1331
- */
1332
- export declare interface ThemeFontSize {
284
+ /** @public */
285
+ export declare interface FontSize {
1333
286
  ascenderHeight: number
1334
287
  descenderHeight: number
1335
288
  fontSize: number
1336
289
  iconSize: number
1337
290
  letterSpacing: number
1338
291
  lineHeight: number
292
+ customIconSize: number
1339
293
  }
1340
294
 
1341
- /**
1342
- * @public
1343
- */
1344
- export declare interface ThemeFontWeight {
295
+ /** @public */
296
+ export declare type FontTextSize = (typeof FONT_TEXT_SIZE)[number]
297
+
298
+ /** @public */
299
+ export declare type FontWeight = 'regular' | 'medium' | 'semibold' | 'bold'
300
+
301
+ /** @public */
302
+ export declare interface FontWeights {
1345
303
  regular: number
1346
304
  medium: number
1347
305
  semibold: number
1348
306
  bold: number
1349
307
  }
1350
308
 
1351
- /**
1352
- * @public
1353
- */
1354
- export declare type ThemeFontWeightKey = 'regular' | 'medium' | 'semibold' | 'bold'
309
+ /** @public */
310
+ export declare type Hue = (typeof HUES)[number]
1355
311
 
1356
- /**
1357
- * @public
1358
- * @deprecated Use `ThemeInput_v2` instead
1359
- */
1360
- export declare interface ThemeInput {
1361
- checkbox: {
1362
- size: number
1363
- }
1364
- radio: {
1365
- size: number
1366
- markSize: number
1367
- }
1368
- switch: {
1369
- width: number
1370
- height: number
1371
- padding: number
1372
- transitionDurationMs: number
1373
- transitionTimingFunction: string
1374
- }
1375
- border: {
1376
- width: number
1377
- }
1378
- }
312
+ /** @public */
313
+ export declare const HUES: readonly [
314
+ 'gray',
315
+ 'blue',
316
+ 'purple',
317
+ 'magenta',
318
+ 'red',
319
+ 'orange',
320
+ 'yellow',
321
+ 'green',
322
+ 'cyan',
323
+ ]
1379
324
 
1380
- /**
1381
- * @public
1382
- */
1383
- export declare interface ThemeInput_v2 {
325
+ /** @public */
326
+ export declare interface Input {
1384
327
  checkbox: {
1385
328
  size: number
1386
- focusRing: ThemeFocusRing
329
+ focusRing: FocusRing
1387
330
  }
1388
331
  radio: {
1389
332
  size: number
1390
333
  markSize: number
1391
- focusRing: ThemeFocusRing
334
+ focusRing: FocusRing
1392
335
  }
1393
336
  switch: {
1394
337
  width: number
@@ -1396,23 +339,21 @@ export declare interface ThemeInput_v2 {
1396
339
  padding: number
1397
340
  transitionDurationMs: number
1398
341
  transitionTimingFunction: string
1399
- focusRing: ThemeFocusRing
342
+ focusRing: FocusRing
1400
343
  }
1401
344
  border: {
1402
345
  width: number
1403
346
  }
1404
347
  select: {
1405
- focusRing: ThemeFocusRing
348
+ focusRing: FocusRing
1406
349
  }
1407
350
  text: {
1408
- focusRing: ThemeFocusRing
351
+ focusRing: FocusRing
1409
352
  }
1410
353
  }
1411
354
 
1412
- /**
1413
- * @public
1414
- */
1415
- export declare interface ThemeLayer {
355
+ /** @public */
356
+ export declare interface Layer {
1416
357
  dialog: {
1417
358
  zOffset: number
1418
359
  }
@@ -1424,77 +365,135 @@ export declare interface ThemeLayer {
1424
365
  }
1425
366
  }
1426
367
 
1427
- /**
1428
- * @public
1429
- */
1430
- export declare interface ThemeShadow {
1431
- umbra: ThemeBoxShadow
1432
- penumbra: ThemeBoxShadow
1433
- ambient: ThemeBoxShadow
1434
- }
1435
-
1436
- /**
1437
- * @internal
1438
- */
1439
- export declare interface ThemeStyles {
1440
- button?: {
1441
- root?: CSSObject
1442
- }
1443
- card?: {
1444
- root?: CSSObject
1445
- }
368
+ /** @public */
369
+ export declare interface Palette {
370
+ black: ColorTint
371
+ white: ColorTint
372
+ hues: ColorHues
1446
373
  }
1447
374
 
1448
375
  /** @internal */
1449
- export declare interface TokenBaseKeyNode {
1450
- type: 'base'
1451
- tone: ColorConfigCardTone
1452
- key: ColorConfigCardKey | ColorConfigBlendKey
1453
- }
376
+ export declare function _parseColorToken(
377
+ str: ColorToken,
378
+ options: {
379
+ defaultHue: Hue
380
+ },
381
+ ): TokenizeColorResult
1454
382
 
1455
- /** @internal */
1456
- export declare interface TokenBlendModeValueNode {
1457
- type: 'blendMode'
1458
- value?: ThemeColorBlendModeKey
383
+ /** @public */
384
+ export declare type PartialTokens<T> = T extends [ColorToken, ColorToken]
385
+ ? T
386
+ : T extends {}
387
+ ? {
388
+ [P in keyof T]?: PartialTokens<T[P]>
389
+ }
390
+ : T
391
+
392
+ /** @public */
393
+ export declare const RADIUS: readonly [0, 1, 2, 3, 4, 5, 6]
394
+
395
+ /** @public */
396
+ export declare type Radius = (typeof RADIUS)[number]
397
+
398
+ /** @public */
399
+ export declare interface ResolvedColorToken {
400
+ color:
401
+ | {
402
+ type: 'inherit'
403
+ }
404
+ | {
405
+ type: 'black' | 'white'
406
+ }
407
+ | {
408
+ type: 'hue'
409
+ hue: Hue
410
+ tint: Tint
411
+ }
412
+ opacity: number
413
+ mix: number
1459
414
  }
1460
415
 
1461
416
  /** @internal */
1462
- export declare interface TokenButtonKeyNode {
1463
- type: 'button'
1464
- tone: ColorConfigStateTone
1465
- mode: ThemeColorButtonModeKey
1466
- key: ColorConfigStateKey | ColorConfigBlendKey
417
+ export declare function resolveTokens(tokens?: PartialTokens<Tokens>): Tokens
418
+
419
+ /** @public */
420
+ export declare const SHADOW: readonly [0, 1, 2, 3, 4, 5]
421
+
422
+ /** @public */
423
+ export declare type Shadow = (typeof SHADOW)[number]
424
+
425
+ /** @public */
426
+ export declare interface ShadowProperties {
427
+ umbra: BoxShadow
428
+ penumbra: BoxShadow
429
+ ambient: BoxShadow
1467
430
  }
1468
431
 
1469
- /** @internal */
1470
- export declare interface TokenColorValueNode {
1471
- type: 'color'
1472
- key?: 'black' | 'white'
1473
- hue?: ColorHueKey
1474
- mix?: number
1475
- opacity?: number
1476
- tint?: ColorTintKey
432
+ /** @public */
433
+ export declare const SPACE: readonly [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
434
+
435
+ /** @public */
436
+ export declare type Space = (typeof SPACE)[number]
437
+
438
+ /** @public */
439
+ export declare interface Theme {
440
+ _version: 3
441
+ _tokens: Tokens
442
+ avatar: ThemeAvatar
443
+ button: {
444
+ border: {
445
+ width: number
446
+ }
447
+ focusRing: FocusRing
448
+ textWeight: FontWeight
449
+ }
450
+ card: {
451
+ border: {
452
+ width: number
453
+ }
454
+ focusRing: FocusRing
455
+ shadow: {
456
+ outline: number
457
+ }
458
+ }
459
+ color: Color
460
+ container: number[]
461
+ font: Fonts
462
+ input: Input
463
+ layer: Layer
464
+ media: number[]
465
+ palette: Palette
466
+ radius: Record<Radius, number>
467
+ shadow: Record<Shadow, ShadowProperties | undefined>
468
+ space: Record<Space, number>
1477
469
  }
1478
470
 
1479
- /** @internal */
1480
- export declare interface TokenHueValueNode {
1481
- type: 'hue'
1482
- value?: ColorHueKey
471
+ /** @public */
472
+ export declare interface ThemeAvatar {
473
+ sizes: {
474
+ /** Spacing between avatars in an <AvatarStack> component (px) */
475
+ distance: number
476
+ /** Diameter of the avatar (px) */
477
+ size: number
478
+ }[]
479
+ focusRing: FocusRing
1483
480
  }
1484
481
 
1485
- /** @internal */
1486
- export declare type TokenKeyNode = TokenBaseKeyNode | TokenButtonKeyNode
482
+ /** @public */
483
+ export declare type ThemeOptions = PartialTokens<Tokens>
1487
484
 
1488
- /** @internal */
1489
- export declare type TokenValueNode =
1490
- | TokenColorValueNode
1491
- | TokenHueValueNode
1492
- | TokenBlendModeValueNode
485
+ /** @public */
486
+ export declare type Tint = (typeof TINTS)[number]
1493
487
 
1494
- /** @internal */
1495
- export declare function v0_v2(v0: RootTheme): RootTheme_v2
488
+ /** @public */
489
+ export declare const TINTS: readonly [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950]
1496
490
 
1497
491
  /** @internal */
1498
- export declare function v2_v0(v2: RootTheme_v2): RootTheme
492
+ export declare type TokenizeColorResult = ColorNode | ColorTintNode | ColorInheritNode
493
+
494
+ /** @public */
495
+ export declare interface Tokens {
496
+ color: ColorTokens
497
+ }
1499
498
 
1500
499
  export {}