@sanity/ui 3.0.0-static.33 → 3.0.0-static.34

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 (580) hide show
  1. package/README.md +1 -1
  2. package/dist/_chunks-cjs/_visual-editing.cjs +263 -375
  3. package/dist/_chunks-cjs/_visual-editing.cjs.map +1 -1
  4. package/dist/_chunks-cjs/refractor.cjs.map +1 -1
  5. package/dist/_chunks-es/_visual-editing.js +263 -377
  6. package/dist/_chunks-es/_visual-editing.js.map +1 -1
  7. package/dist/_chunks-es/refractor.js.map +1 -1
  8. package/dist/_visual-editing.cjs +0 -2
  9. package/dist/_visual-editing.cjs.map +1 -1
  10. package/dist/_visual-editing.d.cts +2 -904
  11. package/dist/_visual-editing.d.ts +2 -904
  12. package/dist/_visual-editing.js +2 -4
  13. package/dist/css/index.cjs +12 -12
  14. package/dist/css/index.cjs.map +1 -1
  15. package/dist/css/index.css +1 -1
  16. package/dist/css/index.d.cts +805 -14697
  17. package/dist/css/index.d.ts +805 -14697
  18. package/dist/css/index.js +12 -12
  19. package/dist/css/index.js.map +1 -1
  20. package/dist/index.cjs +241 -366
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.cts +990 -3095
  23. package/dist/index.d.ts +990 -3095
  24. package/dist/index.js +243 -360
  25. package/dist/index.js.map +1 -1
  26. package/dist/portalProvider-DgNIVviV.d.ts +575 -0
  27. package/dist/theme.cjs +367 -4288
  28. package/dist/theme.cjs.map +1 -1
  29. package/dist/theme.d.cts +272 -1806
  30. package/dist/theme.d.ts +272 -1806
  31. package/dist/theme.js +371 -4292
  32. package/dist/theme.js.map +1 -1
  33. package/exports/_visual-editing.ts +0 -2
  34. package/package.json +3 -4
  35. package/src/core/Root.tsx +4 -2
  36. package/src/core/RootProvider.tsx +4 -4
  37. package/src/core/__workshop__/boundary.tsx +1 -1
  38. package/src/core/__workshop__/index.ts +5 -3
  39. package/src/core/components/autocomplete/__workshop__/async.tsx +1 -1
  40. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +2 -2
  41. package/src/core/components/autocomplete/__workshop__/custom.tsx +2 -2
  42. package/src/core/components/autocomplete/__workshop__/example.tsx +2 -2
  43. package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +1 -1
  44. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +1 -1
  45. package/src/core/components/autocomplete/__workshop__/index.ts +5 -3
  46. package/src/core/components/autocomplete/__workshop__/mock/apiStore.ts +1 -1
  47. package/src/core/components/autocomplete/__workshop__/mock/countries.ts +1 -1
  48. package/src/core/components/autocomplete/autocomplete.tsx +2 -2
  49. package/src/core/components/autocomplete/autocompleteOption.tsx +2 -2
  50. package/src/core/components/autocomplete/constants.ts +2 -2
  51. package/src/core/components/breadcrumbs/__workshop__/example.tsx +1 -1
  52. package/src/core/components/breadcrumbs/__workshop__/index.ts +5 -3
  53. package/src/core/components/breadcrumbs/breadcrumbs.tsx +6 -11
  54. package/src/core/components/dialog/__workshop__/activate.tsx +1 -1
  55. package/src/core/components/dialog/__workshop__/autoFocus.tsx +1 -1
  56. package/src/core/components/dialog/__workshop__/index.ts +5 -3
  57. package/src/core/components/dialog/__workshop__/layering.tsx +1 -1
  58. package/src/core/components/dialog/__workshop__/nested.tsx +2 -3
  59. package/src/core/components/dialog/__workshop__/onScroll.tsx +1 -1
  60. package/src/core/components/dialog/__workshop__/panes.tsx +1 -1
  61. package/src/core/components/dialog/__workshop__/position.tsx +1 -1
  62. package/src/core/components/dialog/__workshop__/props.tsx +1 -1
  63. package/src/core/components/dialog/__workshop__/provider.tsx +1 -1
  64. package/src/core/components/dialog/__workshop__/wrapped.tsx +1 -1
  65. package/src/core/components/dialog/dialog.tsx +5 -6
  66. package/src/core/components/dialog/dialogCard.tsx +2 -2
  67. package/src/core/components/dialog/dialogContext.ts +3 -4
  68. package/src/core/components/dialog/dialogProvider.tsx +2 -2
  69. package/src/core/components/hotkeys/__workshop__/index.ts +5 -3
  70. package/src/core/components/hotkeys/__workshop__/plain.tsx +1 -1
  71. package/src/core/components/hotkeys/hotkeys.tsx +4 -15
  72. package/src/core/components/menu/__workshop__/asComponent.tsx +1 -1
  73. package/src/core/components/menu/__workshop__/avatarMenu.tsx +1 -1
  74. package/src/core/components/menu/__workshop__/closableMenuButton.tsx +1 -1
  75. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +3 -3
  76. package/src/core/components/menu/__workshop__/customMenuItem.tsx +1 -1
  77. package/src/core/components/menu/__workshop__/customSelectedState.tsx +1 -1
  78. package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +1 -1
  79. package/src/core/components/menu/__workshop__/groups.tsx +1 -1
  80. package/src/core/components/menu/__workshop__/index.ts +5 -3
  81. package/src/core/components/menu/__workshop__/menuButton.tsx +2 -2
  82. package/src/core/components/menu/__workshop__/menuGroupRight.tsx +1 -1
  83. package/src/core/components/menu/__workshop__/nestedMenu.tsx +1 -1
  84. package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +1 -1
  85. package/src/core/components/menu/__workshop__/selectedItem.tsx +1 -1
  86. package/src/core/components/menu/__workshop__/shouldFocus.tsx +1 -1
  87. package/src/core/components/menu/__workshop__/tones.tsx +3 -3
  88. package/src/core/components/menu/__workshop__/withoutArrow.tsx +1 -1
  89. package/src/core/components/menu/menu.test.tsx +2 -1
  90. package/src/core/components/menu/menu.tsx +7 -22
  91. package/src/core/components/menu/menuButton.tsx +4 -50
  92. package/src/core/components/menu/menuContext.ts +3 -15
  93. package/src/core/components/menu/menuDivider.tsx +2 -2
  94. package/src/core/components/menu/menuGroup.tsx +10 -15
  95. package/src/core/components/menu/menuItem.tsx +7 -18
  96. package/src/core/components/tab/__workshop__/example.tsx +1 -1
  97. package/src/core/components/tab/__workshop__/index.ts +5 -3
  98. package/src/core/components/tab/tab.tsx +6 -4
  99. package/src/core/components/tab/tabList.tsx +3 -8
  100. package/src/core/components/tab/tabPanel.tsx +2 -2
  101. package/src/core/components/toast/__workshop__/hook.tsx +1 -1
  102. package/src/core/components/toast/__workshop__/index.ts +5 -3
  103. package/src/core/components/toast/__workshop__/toast.tsx +1 -1
  104. package/src/core/components/toast/toast.test.tsx +2 -1
  105. package/src/core/components/toast/toast.tsx +2 -2
  106. package/src/core/components/toast/toastContext.ts +4 -4
  107. package/src/core/components/toast/toastLayer.tsx +3 -3
  108. package/src/core/components/tree/__workshop__/basic.perf.ts +1 -1
  109. package/src/core/components/tree/__workshop__/basic.tsx +1 -1
  110. package/src/core/components/tree/__workshop__/index.ts +5 -3
  111. package/src/core/components/tree/__workshop__/tabFromElement.tsx +1 -1
  112. package/src/core/components/tree/tree.tsx +8 -9
  113. package/src/core/components/tree/treeContext.ts +4 -4
  114. package/src/core/components/tree/treeGroup.tsx +6 -8
  115. package/src/core/components/tree/treeItem.tsx +4 -4
  116. package/src/core/components/tree/types.ts +1 -1
  117. package/src/core/components/virtualList/__workshop__/changingProps.tsx +1 -1
  118. package/src/core/components/virtualList/__workshop__/elementScroll.tsx +1 -1
  119. package/src/core/components/virtualList/__workshop__/index.ts +5 -3
  120. package/src/core/components/virtualList/__workshop__/infiniteList.tsx +1 -1
  121. package/src/core/components/virtualList/__workshop__/windowScrolll.tsx +1 -1
  122. package/src/core/components/virtualList/virtualList.tsx +2 -2
  123. package/src/core/constants.ts +0 -18
  124. package/src/core/hooks/useMediaIndex/__workshop__/index.ts +5 -3
  125. package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +1 -1
  126. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +6 -1
  127. package/src/core/index.ts +1 -24
  128. package/src/core/lib/createGlobalScopedContext.ts +1 -1
  129. package/src/core/lib/globalScope.ts +1 -1
  130. package/src/core/observers/elementSize.ts +1 -1
  131. package/src/core/primitives/arrow/arrow.tsx +2 -2
  132. package/src/core/primitives/avatar/__workshop__/asButton.tsx +1 -1
  133. package/src/core/primitives/avatar/__workshop__/index.ts +5 -3
  134. package/src/core/primitives/avatar/__workshop__/stack.tsx +1 -1
  135. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +1 -1
  136. package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +1 -1
  137. package/src/core/primitives/avatar/avatar.tsx +3 -10
  138. package/src/core/primitives/avatar/avatarCounter.tsx +2 -2
  139. package/src/core/primitives/avatar/avatarStack.tsx +2 -4
  140. package/src/core/primitives/avatar/types.ts +0 -32
  141. package/src/core/primitives/badge/__workshop__/index.ts +5 -3
  142. package/src/core/primitives/badge/__workshop__/props.tsx +1 -1
  143. package/src/core/primitives/badge/__workshop__/tones.tsx +3 -3
  144. package/src/core/primitives/badge/badge.test.tsx +2 -1
  145. package/src/core/primitives/badge/badge.tsx +12 -11
  146. package/src/core/primitives/box/__workshop__/index.ts +5 -3
  147. package/src/core/primitives/box/__workshop__/props.tsx +1 -1
  148. package/src/core/primitives/box/__workshop__/responsive.tsx +1 -1
  149. package/src/core/primitives/box/box.tsx +28 -32
  150. package/src/core/primitives/button/__workshop__/custom.tsx +5 -5
  151. package/src/core/primitives/button/__workshop__/customIcons.tsx +1 -1
  152. package/src/core/primitives/button/__workshop__/disabled.tsx +3 -3
  153. package/src/core/primitives/button/__workshop__/index.ts +5 -3
  154. package/src/core/primitives/button/__workshop__/mixedChildren.tsx +1 -1
  155. package/src/core/primitives/button/__workshop__/props.tsx +1 -1
  156. package/src/core/primitives/button/__workshop__/sanityUploadButton.tsx +1 -1
  157. package/src/core/primitives/button/__workshop__/stacked.tsx +1 -1
  158. package/src/core/primitives/button/__workshop__/styled1.tsx +1 -1
  159. package/src/core/primitives/button/__workshop__/styled2.tsx +1 -1
  160. package/src/core/primitives/button/__workshop__/textOverflow.tsx +1 -1
  161. package/src/core/primitives/button/__workshop__/uploadButton.tsx +1 -1
  162. package/src/core/primitives/button/button.test.tsx +2 -1
  163. package/src/core/primitives/button/button.tsx +4 -7
  164. package/src/core/primitives/button/types.ts +0 -20
  165. package/src/core/primitives/card/__workshop__/asButton.tsx +2 -2
  166. package/src/core/primitives/card/__workshop__/asComponent.tsx +1 -1
  167. package/src/core/primitives/card/__workshop__/checkered.tsx +3 -3
  168. package/src/core/primitives/card/__workshop__/index.ts +5 -3
  169. package/src/core/primitives/card/__workshop__/interactive.tsx +1 -1
  170. package/src/core/primitives/card/__workshop__/listNavigation.tsx +1 -1
  171. package/src/core/primitives/card/__workshop__/props.tsx +1 -1
  172. package/src/core/primitives/card/__workshop__/selected.tsx +1 -1
  173. package/src/core/primitives/card/__workshop__/styled.tsx +1 -1
  174. package/src/core/primitives/card/__workshop__/tones.tsx +3 -3
  175. package/src/core/primitives/card/card.tsx +4 -2
  176. package/src/core/primitives/card/cardContext.ts +1 -1
  177. package/src/core/primitives/card/cardProvider.tsx +4 -4
  178. package/src/core/primitives/card/types.ts +5 -19
  179. package/src/core/primitives/checkbox/__workshop__/example.tsx +1 -1
  180. package/src/core/primitives/checkbox/__workshop__/index.ts +5 -3
  181. package/src/core/primitives/checkbox/__workshop__/props.tsx +1 -1
  182. package/src/core/primitives/checkbox/__workshop__/readOnly.tsx +1 -1
  183. package/src/core/primitives/checkbox/__workshop__/tones.tsx +3 -3
  184. package/src/core/primitives/checkbox/checkbox.tsx +2 -2
  185. package/src/core/primitives/code/__workshop__/index.ts +5 -3
  186. package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +1 -1
  187. package/src/core/primitives/code/__workshop__/props.tsx +1 -1
  188. package/src/core/primitives/code/code.tsx +4 -2
  189. package/src/core/primitives/code/refractor.tsx +1 -1
  190. package/src/core/primitives/container/__workshop__/example.tsx +1 -1
  191. package/src/core/primitives/container/__workshop__/index.ts +5 -3
  192. package/src/core/primitives/container/container.tsx +2 -2
  193. package/src/core/primitives/flex/__workshop__/example.tsx +1 -1
  194. package/src/core/primitives/flex/__workshop__/gap.tsx +1 -1
  195. package/src/core/primitives/flex/__workshop__/index.ts +5 -3
  196. package/src/core/primitives/flex/flex.tsx +4 -2
  197. package/src/core/primitives/grid/__workshop__/index.ts +5 -3
  198. package/src/core/primitives/grid/__workshop__/responsive.tsx +3 -3
  199. package/src/core/primitives/grid/grid.tsx +4 -2
  200. package/src/core/primitives/heading/__workshop__/index.ts +5 -3
  201. package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +1 -1
  202. package/src/core/primitives/heading/__workshop__/plain.tsx +1 -1
  203. package/src/core/primitives/heading/heading.tsx +2 -4
  204. package/src/core/primitives/inline/__workshop__/index.ts +5 -3
  205. package/src/core/primitives/inline/__workshop__/plain.tsx +1 -1
  206. package/src/core/primitives/inline/inline.tsx +4 -11
  207. package/src/core/primitives/kbd/__workshop__/index.ts +5 -3
  208. package/src/core/primitives/kbd/__workshop__/plain.tsx +1 -1
  209. package/src/core/primitives/kbd/kbd.tsx +4 -2
  210. package/src/core/primitives/label/__workshop__/index.ts +5 -3
  211. package/src/core/primitives/label/__workshop__/opticalAlignment.tsx +1 -1
  212. package/src/core/primitives/label/__workshop__/plain.tsx +1 -1
  213. package/src/core/primitives/label/label.tsx +2 -4
  214. package/src/core/primitives/layer/__workshop__/_debug.tsx +1 -1
  215. package/src/core/primitives/layer/__workshop__/index.ts +5 -3
  216. package/src/core/primitives/layer/__workshop__/multipleRoots.tsx +1 -1
  217. package/src/core/primitives/layer/__workshop__/nested.tsx +1 -1
  218. package/src/core/primitives/layer/__workshop__/responsiveZOffset.tsx +1 -1
  219. package/src/core/primitives/layer/layer.test.tsx +2 -1
  220. package/src/core/primitives/layer/layer.tsx +2 -2
  221. package/src/core/primitives/layer/layerCard.tsx +2 -2
  222. package/src/core/primitives/layer/layerContext.ts +4 -4
  223. package/src/core/primitives/layer/layerProvider.tsx +2 -10
  224. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +2 -2
  225. package/src/core/primitives/popover/__workshop__/MarginsStory.tsx +1 -1
  226. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +1 -1
  227. package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +1 -1
  228. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +2 -2
  229. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +3 -3
  230. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +3 -3
  231. package/src/core/primitives/popover/__workshop__/index.ts +5 -3
  232. package/src/core/primitives/popover/popover.tsx +4 -9
  233. package/src/core/primitives/popover/popoverLayer.tsx +2 -2
  234. package/src/core/primitives/radio/__workshop__/example.tsx +1 -1
  235. package/src/core/primitives/radio/__workshop__/index.ts +5 -3
  236. package/src/core/primitives/radio/__workshop__/plain.tsx +1 -1
  237. package/src/core/primitives/radio/radio.tsx +2 -2
  238. package/src/core/primitives/select/__workshop__/index.ts +5 -3
  239. package/src/core/primitives/select/__workshop__/plain.tsx +1 -1
  240. package/src/core/primitives/select/__workshop__/readOnly.tsx +1 -1
  241. package/src/core/primitives/select/select.tsx +5 -15
  242. package/src/core/primitives/selectable/selectable.tsx +4 -4
  243. package/src/core/primitives/skeleton/__workshop__/delay.tsx +1 -1
  244. package/src/core/primitives/skeleton/__workshop__/index.ts +5 -3
  245. package/src/core/primitives/skeleton/__workshop__/skeleton.tsx +2 -2
  246. package/src/core/primitives/skeleton/codeSkeleton.tsx +2 -2
  247. package/src/core/primitives/skeleton/headingSkeleton.tsx +2 -2
  248. package/src/core/primitives/skeleton/labelSkeleton.tsx +2 -2
  249. package/src/core/primitives/skeleton/skeleton.tsx +2 -2
  250. package/src/core/primitives/skeleton/textSkeleton.tsx +2 -2
  251. package/src/core/primitives/spinner/__workshop__/Props.tsx +1 -1
  252. package/src/core/primitives/spinner/__workshop__/index.ts +5 -3
  253. package/src/core/primitives/spinner/animatedSpinnerIcon.tsx +2 -2
  254. package/src/core/primitives/spinner/spinner.tsx +2 -2
  255. package/src/core/primitives/srOnly/srOnly.tsx +2 -2
  256. package/src/core/primitives/stack/__workshop__/index.ts +5 -3
  257. package/src/core/primitives/stack/__workshop__/plain.tsx +1 -1
  258. package/src/core/primitives/stack/stack.tsx +5 -10
  259. package/src/core/primitives/switch/__workshop__/example.tsx +1 -1
  260. package/src/core/primitives/switch/__workshop__/index.ts +5 -3
  261. package/src/core/primitives/switch/__workshop__/props.tsx +1 -1
  262. package/src/core/primitives/switch/switch.tsx +2 -2
  263. package/src/core/primitives/text/__workshop__/colored.tsx +1 -1
  264. package/src/core/primitives/text/__workshop__/example.tsx +1 -1
  265. package/src/core/primitives/text/__workshop__/index.ts +5 -3
  266. package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +1 -1
  267. package/src/core/primitives/text/text.tsx +4 -4
  268. package/src/core/primitives/textArea/__workshop__/index.ts +5 -3
  269. package/src/core/primitives/textArea/__workshop__/plain.tsx +1 -1
  270. package/src/core/primitives/textArea/textArea.tsx +5 -15
  271. package/src/core/primitives/textInput/__workshop__/clearButton.tsx +1 -1
  272. package/src/core/primitives/textInput/__workshop__/customValidity.tsx +1 -1
  273. package/src/core/primitives/textInput/__workshop__/index.ts +5 -3
  274. package/src/core/primitives/textInput/__workshop__/plain.tsx +1 -1
  275. package/src/core/primitives/textInput/__workshop__/readOnly.tsx +1 -1
  276. package/src/core/primitives/textInput/__workshop__/states.tsx +1 -1
  277. package/src/core/primitives/textInput/__workshop__/tones.tsx +1 -1
  278. package/src/core/primitives/textInput/__workshop__/typed.tsx +1 -1
  279. package/src/core/primitives/textInput/textInput.tsx +6 -9
  280. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +1 -1
  281. package/src/core/primitives/tooltip/__workshop__/index.ts +5 -3
  282. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +1 -1
  283. package/src/core/primitives/tooltip/__workshop__/props.tsx +1 -1
  284. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +1 -1
  285. package/src/core/primitives/tooltip/constants.ts +1 -1
  286. package/src/core/primitives/tooltip/tooltip.test.tsx +2 -4
  287. package/src/core/primitives/tooltip/tooltip.tsx +5 -9
  288. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +4 -2
  289. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +5 -3
  290. package/src/core/primitives/tooltip/tooltipLayer.tsx +2 -2
  291. package/src/core/{types/props.ts → types.ts} +27 -0
  292. package/src/core/utils/boundaryElement/__workshop__/index.ts +5 -3
  293. package/src/core/utils/boundaryElement/__workshop__/plain.tsx +1 -1
  294. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +2 -1
  295. package/src/core/utils/boundaryElement/boundaryElementContext.ts +7 -4
  296. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +2 -2
  297. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +1 -1
  298. package/src/core/utils/elementQuery/__workshop__/index.ts +5 -3
  299. package/src/core/utils/elementQuery/elementQuery.tsx +2 -2
  300. package/src/core/utils/getElementRef.ts +1 -1
  301. package/src/core/utils/portal/__workshop__/index.ts +5 -3
  302. package/src/core/utils/portal/__workshop__/named.tsx +1 -1
  303. package/src/core/utils/portal/portal.test.tsx +2 -1
  304. package/src/core/utils/portal/portalContext.ts +5 -2
  305. package/src/core/utils/portal/portalProvider.tsx +5 -9
  306. package/src/css/_responsiveClassName.ts +2 -2
  307. package/src/css/_style.css.ts +1 -1
  308. package/src/css/components/breadcrumbs/breadcrumbs.css.ts +1 -1
  309. package/src/css/components/dialog/dialog.css.ts +9 -17
  310. package/src/css/components/menu/menu.css.ts +2 -2
  311. package/src/css/components/menu/menu.ts +2 -2
  312. package/src/css/components/skeleton/skeleton.css.ts +2 -6
  313. package/src/css/components/toast/toast.css.ts +2 -2
  314. package/src/css/components/toast/toast.ts +2 -2
  315. package/src/css/components/tree/tree.css.ts +1 -1
  316. package/src/css/components/tree/tree.ts +1 -1
  317. package/src/css/defaultTheme.css.ts +59 -60
  318. package/src/css/layers.css.ts +4 -1
  319. package/src/css/primitives/_arrow/_arrow.css.ts +5 -5
  320. package/src/css/primitives/_input/_input.css.ts +4 -4
  321. package/src/css/primitives/_selectable/_selectable.css.ts +4 -4
  322. package/src/css/primitives/_selectable/types.ts +2 -2
  323. package/src/css/primitives/avatar/avatar.css.ts +10 -10
  324. package/src/css/primitives/badge/badge.css.ts +4 -4
  325. package/src/css/primitives/badge/types.ts +8 -2
  326. package/src/css/primitives/box/box.css.ts +2 -2
  327. package/src/css/primitives/button/button.css.ts +6 -6
  328. package/src/css/primitives/button/button.ts +2 -2
  329. package/src/css/primitives/button/types.ts +3 -3
  330. package/src/css/primitives/card/__workshop__/color.tsx +9 -9
  331. package/src/css/primitives/card/__workshop__/index.ts +5 -3
  332. package/src/css/primitives/card/card.css.ts +12 -18
  333. package/src/css/primitives/card/types.ts +3 -3
  334. package/src/css/primitives/checkbox/checkbox.css.ts +3 -3
  335. package/src/css/primitives/checkbox/checkbox.ts +3 -3
  336. package/src/css/primitives/code/code.css.ts +4 -3
  337. package/src/css/primitives/code/types.ts +3 -4
  338. package/src/css/primitives/container/container.css.ts +1 -1
  339. package/src/css/primitives/heading/heading.css.ts +5 -4
  340. package/src/css/primitives/heading/types.ts +3 -6
  341. package/src/css/primitives/kbd/kbd.css.ts +1 -1
  342. package/src/css/primitives/label/label.css.ts +5 -4
  343. package/src/css/primitives/label/types.ts +0 -8
  344. package/src/css/primitives/popover/popover.css.ts +2 -2
  345. package/src/css/primitives/popover/popover.ts +2 -2
  346. package/src/css/primitives/radio/radio.css.ts +3 -3
  347. package/src/css/primitives/radio/radio.ts +3 -3
  348. package/src/css/primitives/root/root.css.ts +1 -1
  349. package/src/css/primitives/root/root.ts +1 -1
  350. package/src/css/primitives/root/types.ts +3 -3
  351. package/src/css/primitives/select/select.css.ts +3 -3
  352. package/src/css/primitives/spinner/spinner.css.ts +2 -6
  353. package/src/css/primitives/spinner/spinner.ts +2 -2
  354. package/src/css/primitives/srOnly/srOnly.css.ts +1 -1
  355. package/src/css/primitives/srOnly/srOnly.ts +1 -1
  356. package/src/css/primitives/stack/stack.css.ts +1 -1
  357. package/src/css/primitives/stack/stack.ts +1 -1
  358. package/src/css/primitives/switch/switch.css.ts +5 -5
  359. package/src/css/primitives/text/text.css.ts +5 -4
  360. package/src/css/primitives/text/types.ts +3 -5
  361. package/src/css/primitives/textArea/textArea.css.ts +1 -1
  362. package/src/css/primitives/textInput/textInput.css.ts +4 -4
  363. package/src/css/primitives/tooltip/tooltip.css.ts +1 -1
  364. package/src/css/props/alignItems/alignItems.ts +1 -1
  365. package/src/css/props/border/border.ts +1 -16
  366. package/src/css/props/boxSizing/boxSizing.css.ts +2 -1
  367. package/src/css/props/boxSizing/boxSizing.ts +0 -3
  368. package/src/css/props/display/display.ts +1 -10
  369. package/src/css/props/flex/flex.ts +1 -1
  370. package/src/css/props/flexDirection/flexDirection.ts +1 -1
  371. package/src/css/props/flexWrap/flexWrap.ts +1 -1
  372. package/src/css/props/font/font.css.ts +3 -2
  373. package/src/css/props/font/font.ts +1 -1
  374. package/src/css/props/gap/gap.ts +1 -1
  375. package/src/css/props/gridAutoColumns/gridAutoColumns.css.ts +2 -2
  376. package/src/css/props/gridAutoColumns/gridAutoColumns.ts +2 -2
  377. package/src/css/props/gridAutoColumns/types.ts +0 -10
  378. package/src/css/props/gridAutoFlow/gridAutoFlow.ts +2 -2
  379. package/src/css/props/gridAutoFlow/types.ts +0 -4
  380. package/src/css/props/gridAutoRows/gridAutoRows.ts +2 -2
  381. package/src/css/props/gridAutoRows/types.ts +0 -4
  382. package/src/css/props/gridColumn/gridColumn.ts +3 -3
  383. package/src/css/props/gridColumn/types.ts +0 -10
  384. package/src/css/props/gridColumnEnd/gridColumnEnd.ts +3 -3
  385. package/src/css/props/gridColumnEnd/types.ts +0 -10
  386. package/src/css/props/gridColumnStart/gridColumnStart.ts +3 -6
  387. package/src/css/props/gridColumnStart/types.ts +0 -10
  388. package/src/css/props/gridRow/gridRow.ts +3 -3
  389. package/src/css/props/gridRow/types.ts +0 -10
  390. package/src/css/props/gridRowEnd/gridRowEnd.ts +3 -3
  391. package/src/css/props/gridRowEnd/types.ts +0 -10
  392. package/src/css/props/gridRowStart/gridRowStart.ts +3 -3
  393. package/src/css/props/gridRowStart/types.ts +0 -10
  394. package/src/css/props/gridTemplateColumns/gridTemplateColumns.ts +2 -2
  395. package/src/css/props/gridTemplateColumns/types.ts +0 -10
  396. package/src/css/props/gridTemplateRows/gridTemplateRows.ts +2 -2
  397. package/src/css/props/gridTemplateRows/types.ts +0 -10
  398. package/src/css/props/height/height.ts +1 -1
  399. package/src/css/props/height/types.ts +0 -6
  400. package/src/css/props/inset/inset.ts +1 -1
  401. package/src/css/props/justifyContent/justifyContent.ts +1 -1
  402. package/src/css/props/margin/margin.ts +1 -1
  403. package/src/css/props/maxWidth/maxWidth.ts +1 -1
  404. package/src/css/props/minHeight/minHeight.ts +1 -1
  405. package/src/css/props/minWidth/minWidth.ts +1 -1
  406. package/src/css/props/outline/outline.ts +1 -1
  407. package/src/css/props/overflow/overflow.ts +1 -1
  408. package/src/css/props/overflow/types.ts +0 -6
  409. package/src/css/props/padding/padding.ts +1 -1
  410. package/src/css/props/pointerEvents/pointerEvents.ts +1 -1
  411. package/src/css/props/position/position.ts +1 -1
  412. package/src/css/props/radius/radius.ts +1 -1
  413. package/src/css/props/shadow/shadow.ts +1 -1
  414. package/src/css/props/textAlign/textAlign.ts +1 -1
  415. package/src/css/props/textOverflow/textOverflow.ts +1 -1
  416. package/src/css/props/width/width.ts +1 -1
  417. package/src/css/types.ts +225 -53
  418. package/src/css/util.ts +2 -2
  419. package/src/css/vars.css.ts +33 -36
  420. package/src/theme/{v3/_parseColorToken.ts → _parseColorToken.ts} +2 -2
  421. package/src/theme/buildTheme.ts +33 -0
  422. package/src/theme/constants.ts +90 -0
  423. package/src/theme/defaults/color.ts +197 -0
  424. package/src/theme/{v2/defaults/config.ts → defaults/common.ts} +3 -16
  425. package/src/theme/{v3/defaultFonts.ts → defaults/fonts.ts} +2 -2
  426. package/src/theme/index.ts +4 -5
  427. package/src/theme/{v3/resolveTokens.ts → resolveTokens.ts} +15 -15
  428. package/src/theme/types.ts +355 -15
  429. package/src/core/__DEV__.ts +0 -5
  430. package/src/core/_compat/helpers.ts +0 -72
  431. package/src/core/_compat/styles/_responsive.ts +0 -19
  432. package/src/core/_compat/theme/theme.test.tsx +0 -73
  433. package/src/core/_compat/theme/themeColorProvider.tsx +0 -24
  434. package/src/core/_compat/theme/themeContext.ts +0 -10
  435. package/src/core/_compat/theme/themeProvider.tsx +0 -68
  436. package/src/core/_compat/theme/types.ts +0 -10
  437. package/src/core/_compat/theme/useRootTheme.ts +0 -15
  438. package/src/core/_compat/theme/useTheme.ts +0 -12
  439. package/src/core/_compat/types.ts +0 -191
  440. package/src/core/hooks/useArrayProp.ts +0 -26
  441. package/src/core/hooks/useClickOutside.test.tsx +0 -481
  442. package/src/core/hooks/useClickOutside.ts +0 -113
  443. package/src/core/hooks/useElementRect/__workshop__/example.tsx +0 -30
  444. package/src/core/hooks/useElementRect/__workshop__/index.ts +0 -14
  445. package/src/core/hooks/useElementRect/useElementRect.ts +0 -13
  446. package/src/core/hooks/useForwardedRef.ts +0 -19
  447. package/src/core/hooks/useIsomorphicEffect.ts +0 -7
  448. package/src/core/primitives/badge/types.ts +0 -18
  449. package/src/core/primitives/box/types.ts +0 -22
  450. package/src/core/primitives/flex/types.ts +0 -27
  451. package/src/core/primitives/grid/types.ts +0 -17
  452. package/src/core/primitives/selectable/types.ts +0 -7
  453. package/src/core/primitives/types.ts +0 -153
  454. package/src/core/types/gridItem.ts +0 -32
  455. package/src/core/types/placement.ts +0 -18
  456. package/src/core/types/radius.ts +0 -7
  457. package/src/core/types/textAlign.ts +0 -7
  458. package/src/core/utils/spanWithTextOverflow.tsx +0 -10
  459. package/src/theme/getScopedTheme.ts +0 -88
  460. package/src/theme/v0/avatar.ts +0 -10
  461. package/src/theme/v0/color/_generic.ts +0 -35
  462. package/src/theme/v0/color/_system.ts +0 -17
  463. package/src/theme/v0/color/base.ts +0 -21
  464. package/src/theme/v0/color/button.ts +0 -42
  465. package/src/theme/v0/color/card.ts +0 -19
  466. package/src/theme/v0/color/color.ts +0 -40
  467. package/src/theme/v0/color/index.ts +0 -11
  468. package/src/theme/v0/color/input.ts +0 -34
  469. package/src/theme/v0/color/muted.ts +0 -26
  470. package/src/theme/v0/color/selectable.ts +0 -31
  471. package/src/theme/v0/color/solid.ts +0 -26
  472. package/src/theme/v0/color/spot.ts +0 -13
  473. package/src/theme/v0/css.ts +0 -10
  474. package/src/theme/v0/focusRing.ts +0 -5
  475. package/src/theme/v0/font.ts +0 -40
  476. package/src/theme/v0/index.ts +0 -10
  477. package/src/theme/v0/input.ts +0 -23
  478. package/src/theme/v0/layer.ts +0 -6
  479. package/src/theme/v0/shadow.ts +0 -15
  480. package/src/theme/v0/styles.ts +0 -13
  481. package/src/theme/v0/theme.ts +0 -72
  482. package/src/theme/v2/avatar.ts +0 -12
  483. package/src/theme/v2/build/_deprecated/color/_selectable/createSelectableTones.ts +0 -76
  484. package/src/theme/v2/build/_deprecated/color/_solid/createSolidTones.ts +0 -54
  485. package/src/theme/v2/build/_deprecated/color/button/createButtonModes.ts +0 -22
  486. package/src/theme/v2/build/_deprecated/color/button/createButtonTones.ts +0 -55
  487. package/src/theme/v2/build/_deprecated/color/card/createCardStates.ts +0 -60
  488. package/src/theme/v2/build/_deprecated/color/color.test.ts +0 -63
  489. package/src/theme/v2/build/_deprecated/color/defaults.ts +0 -390
  490. package/src/theme/v2/build/_deprecated/color/factory.ts +0 -141
  491. package/src/theme/v2/build/_deprecated/color/index.ts +0 -1
  492. package/src/theme/v2/build/_deprecated/color/input/createInputModes.ts +0 -86
  493. package/src/theme/v2/build/_deprecated/color/muted/createMuted.ts +0 -54
  494. package/src/theme/v2/build/_deprecated/color/spot/createSpot.ts +0 -20
  495. package/src/theme/v2/build/buildColorTheme.test.ts +0 -185
  496. package/src/theme/v2/build/buildColorTheme.ts +0 -494
  497. package/src/theme/v2/build/buildTheme.test.ts +0 -89
  498. package/src/theme/v2/build/buildTheme.ts +0 -37
  499. package/src/theme/v2/build/colorToken/colorToken.ts +0 -19
  500. package/src/theme/v2/build/colorToken/compileColorToken.ts +0 -21
  501. package/src/theme/v2/build/colorToken/index.ts +0 -2
  502. package/src/theme/v2/build/colorToken/types.ts +0 -6
  503. package/src/theme/v2/build/index.ts +0 -3
  504. package/src/theme/v2/build/lib/color-fns/blend/index.ts +0 -3
  505. package/src/theme/v2/build/lib/color-fns/blend/mix.ts +0 -21
  506. package/src/theme/v2/build/lib/color-fns/blend/multiply.ts +0 -18
  507. package/src/theme/v2/build/lib/color-fns/blend/screen.ts +0 -18
  508. package/src/theme/v2/build/lib/color-fns/color-fns.test.ts +0 -68
  509. package/src/theme/v2/build/lib/color-fns/contrastRatio.ts +0 -34
  510. package/src/theme/v2/build/lib/color-fns/convert.ts +0 -150
  511. package/src/theme/v2/build/lib/color-fns/index.ts +0 -6
  512. package/src/theme/v2/build/lib/color-fns/parse.ts +0 -60
  513. package/src/theme/v2/build/lib/color-fns/rgba.ts +0 -14
  514. package/src/theme/v2/build/lib/color-fns/types.ts +0 -28
  515. package/src/theme/v2/build/lib/isRecord.ts +0 -3
  516. package/src/theme/v2/build/lib/utils.ts +0 -19
  517. package/src/theme/v2/build/merge.ts +0 -28
  518. package/src/theme/v2/build/mixThemeColor.test.ts +0 -23
  519. package/src/theme/v2/build/mixThemeColor.ts +0 -53
  520. package/src/theme/v2/build/renderColorTheme.ts +0 -532
  521. package/src/theme/v2/build/renderColorValue.ts +0 -85
  522. package/src/theme/v2/build/resolveColorTokens.ts +0 -268
  523. package/src/theme/v2/color/_constants.ts +0 -45
  524. package/src/theme/v2/color/_helpers.ts +0 -24
  525. package/src/theme/v2/color/_system.ts +0 -38
  526. package/src/theme/v2/color/avatar.ts +0 -11
  527. package/src/theme/v2/color/badge.ts +0 -12
  528. package/src/theme/v2/color/button.ts +0 -11
  529. package/src/theme/v2/color/color.ts +0 -28
  530. package/src/theme/v2/color/index.ts +0 -13
  531. package/src/theme/v2/color/input.ts +0 -23
  532. package/src/theme/v2/color/kbd.ts +0 -6
  533. package/src/theme/v2/color/selectable.ts +0 -8
  534. package/src/theme/v2/color/shadow.ts +0 -7
  535. package/src/theme/v2/color/state.ts +0 -41
  536. package/src/theme/v2/color/syntax.ts +0 -39
  537. package/src/theme/v2/config/helpers.ts +0 -48
  538. package/src/theme/v2/config/index.ts +0 -4
  539. package/src/theme/v2/config/system.ts +0 -114
  540. package/src/theme/v2/config/tokens/color/index.ts +0 -1
  541. package/src/theme/v2/config/tokens/color/types.ts +0 -137
  542. package/src/theme/v2/config/tokens/index.ts +0 -3
  543. package/src/theme/v2/config/tokens/parseTokenValue.test.ts +0 -44
  544. package/src/theme/v2/config/tokens/parseTokenValue.ts +0 -133
  545. package/src/theme/v2/config/tokens/types.ts +0 -53
  546. package/src/theme/v2/config/types.ts +0 -47
  547. package/src/theme/v2/defaults/colorPalette.ts +0 -5
  548. package/src/theme/v2/defaults/colorTokens.ts +0 -648
  549. package/src/theme/v2/defaults/fonts.ts +0 -227
  550. package/src/theme/v2/index.ts +0 -6
  551. package/src/theme/v2/input.ts +0 -31
  552. package/src/theme/v2/theme.ts +0 -45
  553. package/src/theme/v3/_constants.ts +0 -29
  554. package/src/theme/v3/buildTheme_v3.ts +0 -39
  555. package/src/theme/v3/color/_constants.ts +0 -15
  556. package/src/theme/v3/color/avatar.ts +0 -14
  557. package/src/theme/v3/color/card.ts +0 -79
  558. package/src/theme/v3/color/color.ts +0 -98
  559. package/src/theme/v3/color/element.ts +0 -19
  560. package/src/theme/v3/color/index.ts +0 -7
  561. package/src/theme/v3/color/token.ts +0 -32
  562. package/src/theme/v3/color/tokens.ts +0 -5
  563. package/src/theme/v3/defaultTokens.ts +0 -199
  564. package/src/theme/v3/index.ts +0 -9
  565. package/src/theme/v3/palette/constants.ts +0 -15
  566. package/src/theme/v3/palette/index.ts +0 -2
  567. package/src/theme/v3/palette/types.ts +0 -7
  568. package/src/theme/v3/tokens.ts +0 -16
  569. package/src/theme/v3/types.ts +0 -133
  570. package/src/theme/versioning/getTheme_v2.ts +0 -58
  571. package/src/theme/versioning/index.ts +0 -1
  572. package/src/theme/versioning/is_v0.ts +0 -7
  573. package/src/theme/versioning/is_v2.ts +0 -7
  574. package/src/theme/versioning/themeColor_v0_v2.ts +0 -245
  575. package/src/theme/versioning/themeColor_v2_v2_9.ts +0 -49
  576. package/src/theme/versioning/themeColor_v3_v2.ts +0 -383
  577. package/src/theme/versioning/v0_v2.ts +0 -95
  578. package/src/theme/versioning/v2_v0.ts +0 -127
  579. package/src/theme/versioning/v3_v2.ts +0 -130
  580. /package/src/theme/{v3/merge.ts → merge.ts} +0 -0
@@ -1,245 +0,0 @@
1
- import type {
2
- ThemeColor,
3
- ThemeColorGenericState,
4
- ThemeColorInputState,
5
- ThemeColorInputStates,
6
- ThemeColorMuted,
7
- } from '../v0'
8
- import type {
9
- ThemeColorCard_v2,
10
- ThemeColorInputMode_v2,
11
- ThemeColorInputState_v2,
12
- ThemeColorSelectable_v2,
13
- ThemeColorState_v2,
14
- } from '../v2'
15
-
16
- const cache = new WeakMap<ThemeColor, ThemeColorCard_v2>()
17
-
18
- /** @internal */
19
- export function themeColor_v0_v2(color_v0: ThemeColor): ThemeColorCard_v2 {
20
- const cached_v2 = cache.get(color_v0)
21
-
22
- if (cached_v2) return cached_v2
23
-
24
- const base = stateThemeColor_v0_v2(color_v0, color_v0.card.enabled)
25
-
26
- const color_v2: ThemeColorCard_v2 = {
27
- _blend: color_v0._blend || (color_v0.dark ? 'screen' : 'multiply'),
28
- _dark: color_v0.dark,
29
- accent: base.accent,
30
- avatar: base.avatar,
31
- backdrop: color_v0.base.shadow.ambient,
32
- badge: base.badge,
33
- bg: color_v0.base.bg,
34
- border: color_v0.base.border,
35
- button: {
36
- default: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.default),
37
- ghost: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.ghost),
38
- bleed: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.bleed),
39
- },
40
- code: base.code,
41
- fg: color_v0.base.fg,
42
- focusRing: color_v0.base.focusRing,
43
- icon: base.muted.fg,
44
- input: {
45
- default: inputStatesThemeColor_v0_v2(color_v0.input.default),
46
- invalid: inputStatesThemeColor_v0_v2(color_v0.input.invalid),
47
- },
48
- kbd: base.kbd,
49
- link: base.link,
50
- muted: {
51
- ...base.muted,
52
- bg: color_v0.selectable?.default.enabled.bg2 || color_v0.base.bg,
53
- },
54
- selectable: stateTonesThemeColor_v0_v2(color_v0, color_v0.selectable || color_v0.muted),
55
- shadow: color_v0.base.shadow,
56
- skeleton: {
57
- from: color_v0.skeleton?.from || color_v0.base.border,
58
- to: color_v0.skeleton?.to || color_v0.base.border,
59
- },
60
- syntax: color_v0.syntax,
61
- }
62
-
63
- cache.set(color_v0, color_v2)
64
-
65
- return color_v2
66
- }
67
-
68
- function stateTonesThemeColor_v0_v2(
69
- v0: ThemeColor,
70
- t: Omit<ThemeColorMuted, 'transparent'>,
71
- ): ThemeColorSelectable_v2 {
72
- return {
73
- default: {
74
- enabled: stateThemeColor_v0_v2(v0, t.default.enabled),
75
- hovered: stateThemeColor_v0_v2(v0, t.default.hovered),
76
- pressed: stateThemeColor_v0_v2(v0, t.default.pressed),
77
- selected: stateThemeColor_v0_v2(v0, t.default.selected),
78
- disabled: stateThemeColor_v0_v2(v0, t.default.disabled),
79
- },
80
- neutral: {
81
- enabled: stateThemeColor_v0_v2(v0, t.default.enabled),
82
- hovered: stateThemeColor_v0_v2(v0, t.default.hovered),
83
- pressed: stateThemeColor_v0_v2(v0, t.default.pressed),
84
- selected: stateThemeColor_v0_v2(v0, t.default.selected),
85
- disabled: stateThemeColor_v0_v2(v0, t.default.disabled),
86
- },
87
- primary: {
88
- enabled: stateThemeColor_v0_v2(v0, t.primary.enabled),
89
- hovered: stateThemeColor_v0_v2(v0, t.primary.hovered),
90
- pressed: stateThemeColor_v0_v2(v0, t.primary.pressed),
91
- selected: stateThemeColor_v0_v2(v0, t.primary.selected),
92
- disabled: stateThemeColor_v0_v2(v0, t.primary.disabled),
93
- },
94
- suggest: {
95
- enabled: stateThemeColor_v0_v2(v0, t.primary.enabled),
96
- hovered: stateThemeColor_v0_v2(v0, t.primary.hovered),
97
- pressed: stateThemeColor_v0_v2(v0, t.primary.pressed),
98
- selected: stateThemeColor_v0_v2(v0, t.primary.selected),
99
- disabled: stateThemeColor_v0_v2(v0, t.primary.disabled),
100
- },
101
- positive: {
102
- enabled: stateThemeColor_v0_v2(v0, t.positive.enabled),
103
- hovered: stateThemeColor_v0_v2(v0, t.positive.hovered),
104
- pressed: stateThemeColor_v0_v2(v0, t.positive.pressed),
105
- selected: stateThemeColor_v0_v2(v0, t.positive.selected),
106
- disabled: stateThemeColor_v0_v2(v0, t.positive.disabled),
107
- },
108
- caution: {
109
- enabled: stateThemeColor_v0_v2(v0, t.caution.enabled),
110
- hovered: stateThemeColor_v0_v2(v0, t.caution.hovered),
111
- pressed: stateThemeColor_v0_v2(v0, t.caution.pressed),
112
- selected: stateThemeColor_v0_v2(v0, t.caution.selected),
113
- disabled: stateThemeColor_v0_v2(v0, t.caution.disabled),
114
- },
115
- critical: {
116
- enabled: stateThemeColor_v0_v2(v0, t.critical.enabled),
117
- hovered: stateThemeColor_v0_v2(v0, t.critical.hovered),
118
- pressed: stateThemeColor_v0_v2(v0, t.critical.pressed),
119
- selected: stateThemeColor_v0_v2(v0, t.critical.selected),
120
- disabled: stateThemeColor_v0_v2(v0, t.critical.disabled),
121
- },
122
- }
123
- }
124
-
125
- function stateThemeColor_v0_v2(v0: ThemeColor, state: ThemeColorGenericState): ThemeColorState_v2 {
126
- return {
127
- ...state,
128
- avatar: {
129
- gray: {
130
- bg: v0.spot.gray,
131
- fg: v0.base.bg,
132
- },
133
- blue: {
134
- bg: v0.spot.blue,
135
- fg: v0.base.bg,
136
- },
137
- purple: {
138
- bg: v0.spot.purple,
139
- fg: v0.base.bg,
140
- },
141
- magenta: {
142
- bg: v0.spot.magenta,
143
- fg: v0.base.bg,
144
- },
145
- red: {
146
- bg: v0.spot.red,
147
- fg: v0.base.bg,
148
- },
149
- orange: {
150
- bg: v0.spot.orange,
151
- fg: v0.base.bg,
152
- },
153
- yellow: {
154
- bg: v0.spot.yellow,
155
- fg: v0.base.bg,
156
- },
157
- green: {
158
- bg: v0.spot.green,
159
- fg: v0.base.bg,
160
- },
161
- cyan: {
162
- bg: v0.spot.cyan,
163
- fg: v0.base.bg,
164
- },
165
- },
166
- badge: {
167
- default: {
168
- bg: v0.muted.default.enabled.bg,
169
- fg: v0.muted.default.enabled.fg,
170
- dot: v0.muted.default.enabled.muted.fg,
171
- icon: v0.muted.default.enabled.muted.fg,
172
- },
173
- neutral: {
174
- bg: v0.muted.transparent.enabled.bg,
175
- fg: v0.muted.transparent.enabled.fg,
176
- dot: v0.muted.transparent.enabled.muted.fg,
177
- icon: v0.muted.transparent.enabled.muted.fg,
178
- },
179
- primary: {
180
- bg: v0.muted.primary.enabled.bg,
181
- fg: v0.muted.primary.enabled.fg,
182
- dot: v0.muted.primary.enabled.muted.fg,
183
- icon: v0.muted.primary.enabled.muted.fg,
184
- },
185
- suggest: {
186
- bg: v0.muted.primary.enabled.bg,
187
- fg: v0.muted.primary.enabled.fg,
188
- dot: v0.muted.primary.enabled.muted.fg,
189
- icon: v0.muted.primary.enabled.muted.fg,
190
- },
191
- positive: {
192
- bg: v0.muted.positive.enabled.bg,
193
- fg: v0.muted.positive.enabled.fg,
194
- dot: v0.muted.positive.enabled.muted.fg,
195
- icon: v0.muted.positive.enabled.muted.fg,
196
- },
197
- caution: {
198
- bg: v0.muted.caution.enabled.bg,
199
- fg: v0.muted.caution.enabled.fg,
200
- dot: v0.muted.caution.enabled.muted.fg,
201
- icon: v0.muted.caution.enabled.muted.fg,
202
- },
203
- critical: {
204
- bg: v0.muted.critical.enabled.bg,
205
- fg: v0.muted.critical.enabled.fg,
206
- dot: v0.muted.critical.enabled.muted.fg,
207
- icon: v0.muted.critical.enabled.muted.fg,
208
- },
209
- },
210
- kbd: {
211
- bg: v0.muted.default.enabled.bg,
212
- fg: v0.muted.default.enabled.fg,
213
- border: v0.muted.default.enabled.border,
214
- },
215
- muted: {
216
- ...v0.muted.default.enabled.muted,
217
- bg: state.bg2 || state.bg,
218
- },
219
- skeleton: {
220
- from: state.skeleton?.from || state.border,
221
- to: state.skeleton?.to || state.border,
222
- },
223
- }
224
- }
225
-
226
- function inputStatesThemeColor_v0_v2(states: ThemeColorInputStates): ThemeColorInputMode_v2 {
227
- return {
228
- enabled: inputStateThemeColor_v0_v2(states.enabled),
229
- disabled: inputStateThemeColor_v0_v2(states.disabled),
230
- readOnly: inputStateThemeColor_v0_v2(states.readOnly),
231
- hovered: inputStateThemeColor_v0_v2(states.hovered),
232
- }
233
- }
234
-
235
- function inputStateThemeColor_v0_v2(state: ThemeColorInputState): ThemeColorInputState_v2 {
236
- return {
237
- bg: state.bg,
238
- border: state.border,
239
- fg: state.fg,
240
- muted: {
241
- bg: state.bg2,
242
- },
243
- placeholder: state.placeholder,
244
- }
245
- }
@@ -1,49 +0,0 @@
1
- import type {ThemeColorCard_v2} from '../v2'
2
-
3
- /**
4
- * Apply `neutral` and `suggest` if they're not already part of the color object,
5
- * as this was introduced in v2.9, but is not compatible with v2.0.
6
- *
7
- * @param color - The color object to upgrade
8
- * @returns The upgraded color object. Returns as-is if already upgraded.
9
- * @internal
10
- */
11
- export function themeColor_v0_v2_9(color: ThemeColorCard_v2): ThemeColorCard_v2 {
12
- if ('neutral' in color.badge) {
13
- return color // Already at >= v2.9
14
- }
15
-
16
- // TypeScript narrows to `never` because the above should always be true
17
- const colors = color as ThemeColorCard_v2
18
-
19
- return {
20
- ...colors,
21
- badge: {
22
- ...colors.badge,
23
- neutral: colors.badge.default,
24
- suggest: colors.badge.primary,
25
- },
26
- button: {
27
- bleed: {
28
- ...colors.button.bleed,
29
- neutral: colors.button.bleed.default,
30
- suggest: colors.button.bleed.primary,
31
- },
32
- default: {
33
- ...colors.button.default,
34
- neutral: colors.button.default.default,
35
- suggest: colors.button.default.primary,
36
- },
37
- ghost: {
38
- ...colors.button.ghost,
39
- neutral: colors.button.ghost.default,
40
- suggest: colors.button.ghost.primary,
41
- },
42
- },
43
- selectable: {
44
- ...colors.selectable,
45
- neutral: colors.selectable.default,
46
- suggest: colors.selectable.primary,
47
- },
48
- }
49
- }
@@ -1,383 +0,0 @@
1
- import {
2
- THEME_COLOR_BUTTON_MODES,
3
- THEME_COLOR_INPUT_MODES,
4
- THEME_COLOR_INPUT_STATES,
5
- THEME_COLOR_STATE_TONES,
6
- THEME_COLOR_STATES,
7
- type ThemeColorBadge_v2,
8
- type ThemeColorButton_v2,
9
- type ThemeColorButtonMode_v2,
10
- type ThemeColorButtonTone_v2,
11
- type ThemeColorCard_v2,
12
- type ThemeColorInput_v2,
13
- type ThemeColorInputMode_v2,
14
- type ThemeColorInputState_v2,
15
- type ThemeColorSelectable_v2,
16
- type ThemeColorSelectableTone_v2,
17
- type ThemeColorState_v2,
18
- type ThemeColorStateKey,
19
- type ThemeColorStateToneKey,
20
- } from '../v2'
21
- import {
22
- _parseColorToken,
23
- type ColorToken,
24
- type ColorValue,
25
- type Hue,
26
- type ThemeColorCard_v3,
27
- type ThemeColorElement,
28
- type ThemeColorVariantKey,
29
- type ThemePalette_v3,
30
- } from '../v3'
31
-
32
- function renderColor(colorToken: ColorToken, options: {defaultHue: Hue; palette: ThemePalette_v3}) {
33
- const {defaultHue, palette} = options
34
-
35
- const color = _parseColorToken(colorToken, {defaultHue})
36
-
37
- if (color.type === 'color') {
38
- return palette[color.name].hex
39
- }
40
-
41
- if (color.type === 'tint') {
42
- return palette.hues[color.hue][color.tint].hex
43
- }
44
-
45
- return '#000'
46
- }
47
-
48
- export function themeColor_v3_v2(options: {
49
- color: ThemeColorCard_v3
50
- dark: boolean
51
- palette: ThemePalette_v3
52
- }): ThemeColorCard_v2 {
53
- const {color, dark, palette} = options
54
-
55
- const i = dark ? 1 : 0
56
-
57
- const defaultHue = color._hue
58
-
59
- const colorOptions = {defaultHue, palette}
60
-
61
- return {
62
- _blend: 'screen',
63
- _dark: dark,
64
- ...buildColorState({
65
- cardColor: color,
66
- dark,
67
- palette,
68
- state: 'enabled',
69
- tone: 'default',
70
- variant: 'tinted',
71
- }),
72
-
73
- backdrop: renderColor(color.backdrop[i], colorOptions),
74
- button: THEME_COLOR_BUTTON_MODES.reduce<ThemeColorButton_v2>((modes, mode) => {
75
- modes[mode] = THEME_COLOR_STATE_TONES.reduce<ThemeColorButtonMode_v2>((tones, tone) => {
76
- tones[tone] = THEME_COLOR_STATES.reduce<ThemeColorButtonTone_v2>((states, state) => {
77
- states[state] = buildColorState({
78
- cardColor: color,
79
- dark,
80
- palette,
81
- state,
82
- tone,
83
- variant: mode === 'default' ? 'solid' : 'tinted',
84
- })
85
-
86
- if (mode === 'bleed') {
87
- states[state].border = 'transparent'
88
- }
89
-
90
- return states
91
- }, {} as ThemeColorButtonTone_v2)
92
-
93
- return tones
94
- }, {} as ThemeColorButtonMode_v2)
95
-
96
- return modes
97
- }, {} as ThemeColorButton_v2),
98
-
99
- focusRing: renderColor(color.focusRing[i], colorOptions),
100
- input: THEME_COLOR_INPUT_MODES.reduce<ThemeColorInput_v2>((modes, mode) => {
101
- modes[mode] = THEME_COLOR_INPUT_STATES.reduce<ThemeColorInputMode_v2>((states, state) => {
102
- states[state] = buildInputState(color.variant.tinted.default, {
103
- dark,
104
- defaultHue,
105
- palette,
106
- })
107
-
108
- return states
109
- }, {} as ThemeColorInputMode_v2)
110
-
111
- return modes
112
- }, {} as ThemeColorInput_v2),
113
- selectable: THEME_COLOR_STATE_TONES.reduce<ThemeColorSelectable_v2>((tones, tone) => {
114
- tones[tone] = THEME_COLOR_STATES.reduce<ThemeColorSelectableTone_v2>((states, state) => {
115
- states[state] = buildColorState({
116
- cardColor: color,
117
- dark,
118
- palette,
119
- state,
120
- tone,
121
- variant: 'tinted',
122
- })
123
-
124
- return states
125
- }, {} as ThemeColorSelectableTone_v2)
126
-
127
- return tones
128
- }, {} as ThemeColorSelectable_v2),
129
-
130
- shadow: {
131
- outline: renderColor(color.shadow.outline[i], colorOptions),
132
- umbra: renderColor(color.shadow.umbra[i], colorOptions),
133
- penumbra: renderColor(color.shadow.penumbra[i], colorOptions),
134
- ambient: renderColor(color.shadow.ambient[i], colorOptions),
135
- },
136
-
137
- syntax: {
138
- atrule: renderColor(color.code.token.atrule[i], colorOptions),
139
- attrName: renderColor(color.code.token.attrName[i], colorOptions),
140
- attrValue: renderColor(color.code.token.attrValue[i], colorOptions),
141
- attribute: renderColor(color.code.token.attribute[i], colorOptions),
142
- boolean: renderColor(color.code.token.boolean[i], colorOptions),
143
- builtin: renderColor(color.code.token.builtin[i], colorOptions),
144
- cdata: renderColor(color.code.token.cdata[i], colorOptions),
145
- char: renderColor(color.code.token.char[i], colorOptions),
146
- class: renderColor(color.code.token.class[i], colorOptions),
147
- className: renderColor(color.code.token.className[i], colorOptions),
148
- comment: renderColor(color.code.token.comment[i], colorOptions),
149
- constant: renderColor(color.code.token.constant[i], colorOptions),
150
- deleted: renderColor(color.code.token.deleted[i], colorOptions),
151
- doctype: renderColor(color.code.token.doctype[i], colorOptions),
152
- entity: renderColor(color.code.token.entity[i], colorOptions),
153
- function: renderColor(color.code.token.function[i], colorOptions),
154
- hexcode: renderColor(color.code.token.hexcode[i], colorOptions),
155
- id: renderColor(color.code.token.id[i], colorOptions),
156
- important: renderColor(color.code.token.important[i], colorOptions),
157
- inserted: renderColor(color.code.token.inserted[i], colorOptions),
158
- keyword: renderColor(color.code.token.keyword[i], colorOptions),
159
- number: renderColor(color.code.token.number[i], colorOptions),
160
- operator: renderColor(color.code.token.operator[i], colorOptions),
161
- prolog: renderColor(color.code.token.prolog[i], colorOptions),
162
- property: renderColor(color.code.token.property[i], colorOptions),
163
- pseudoClass: renderColor(color.code.token.pseudoClass[i], colorOptions),
164
- pseudoElement: renderColor(color.code.token.pseudoElement[i], colorOptions),
165
- punctuation: renderColor(color.code.token.punctuation[i], colorOptions),
166
- regex: renderColor(color.code.token.regex[i], colorOptions),
167
- selector: renderColor(color.code.token.selector[i], colorOptions),
168
- string: renderColor(color.code.token.string[i], colorOptions),
169
- symbol: renderColor(color.code.token.symbol[i], colorOptions),
170
- tag: renderColor(color.code.token.tag[i], colorOptions),
171
- unit: renderColor(color.code.token.unit[i], colorOptions),
172
- url: renderColor(color.code.token.url[i], colorOptions),
173
- variable: renderColor(color.code.token.variable[i], colorOptions),
174
- },
175
- }
176
- }
177
-
178
- type ElementTokenIndex = 0 | 1 | 2 | 3 | 4
179
-
180
- const stateShades: Record<
181
- ThemeColorStateKey,
182
- {
183
- bg: [ElementTokenIndex, ElementTokenIndex, ElementTokenIndex]
184
- border: [ElementTokenIndex, ElementTokenIndex, ElementTokenIndex]
185
- fg: [ElementTokenIndex, ElementTokenIndex, ElementTokenIndex]
186
- }
187
- > = {
188
- enabled: {
189
- bg: [0, 1, 2],
190
- border: [0, 1, 2],
191
- fg: [0, 1, 2],
192
- },
193
- hovered: {
194
- bg: [1, 2, 3],
195
- border: [1, 2, 3],
196
- fg: [1, 2, 3],
197
- },
198
- pressed: {
199
- bg: [2, 3, 4],
200
- border: [2, 3, 4],
201
- fg: [2, 3, 4],
202
- },
203
- selected: {
204
- bg: [3, 4, 4],
205
- border: [3, 4, 4],
206
- fg: [3, 4, 4],
207
- },
208
- disabled: {
209
- bg: [4, 4, 4],
210
- border: [4, 4, 4],
211
- fg: [4, 4, 4],
212
- },
213
- }
214
-
215
- function mix(
216
- tokens: {
217
- 0: ColorValue
218
- 4: ColorValue
219
- },
220
- index: ElementTokenIndex,
221
- options: {
222
- dark: boolean
223
- defaultHue: Hue
224
- palette: ThemePalette_v3
225
- },
226
- ) {
227
- const {dark, defaultHue, palette} = options
228
- const colorOptions = {defaultHue, palette}
229
- const i = dark ? 1 : 0
230
-
231
- const from = renderColor(tokens[0][i], colorOptions)
232
- const to = renderColor(tokens[4][i], colorOptions)
233
-
234
- if (index === 0) {
235
- return from
236
- }
237
-
238
- if (index === 4) {
239
- return to
240
- }
241
-
242
- return `color-mix(in oklch, ${from}, ${to} ${index * 25}%)`
243
- }
244
-
245
- function buildColorState(options: {
246
- cardColor: ThemeColorCard_v3
247
- dark: boolean
248
- palette: ThemePalette_v3
249
- state: ThemeColorStateKey
250
- tone: ThemeColorStateToneKey
251
- variant: ThemeColorVariantKey
252
- }): ThemeColorState_v2 {
253
- const {cardColor, dark, palette, state, tone, variant} = options
254
- const color = cardColor.variant[variant][tone]
255
-
256
- const shades = stateShades[state]
257
-
258
- const defaultHue = cardColor._hue
259
- const colorOptions = {defaultHue, palette}
260
-
261
- const i = dark ? 1 : 0
262
-
263
- // cardColor.avatar.blue.bg
264
-
265
- return {
266
- accent: {
267
- fg: renderColor(color.fg[4][i], colorOptions),
268
- },
269
-
270
- avatar: {
271
- gray: {
272
- bg: renderColor(cardColor.avatar.gray.bg[i], colorOptions),
273
- fg: renderColor(cardColor.avatar.gray.fg[i], colorOptions),
274
- },
275
- blue: {
276
- bg: renderColor(cardColor.avatar.blue.bg[i], colorOptions),
277
- fg: renderColor(cardColor.avatar.blue.fg[i], colorOptions),
278
- },
279
- purple: {
280
- bg: renderColor(cardColor.avatar.purple.bg[i], colorOptions),
281
- fg: renderColor(cardColor.avatar.purple.fg[i], colorOptions),
282
- },
283
- magenta: {
284
- bg: renderColor(cardColor.avatar.magenta.bg[i], colorOptions),
285
- fg: renderColor(cardColor.avatar.magenta.fg[i], colorOptions),
286
- },
287
- red: {
288
- bg: renderColor(cardColor.avatar.red.bg[i], colorOptions),
289
- fg: renderColor(cardColor.avatar.red.fg[i], colorOptions),
290
- },
291
- orange: {
292
- bg: renderColor(cardColor.avatar.orange.bg[i], colorOptions),
293
- fg: renderColor(cardColor.avatar.orange.fg[i], colorOptions),
294
- },
295
- yellow: {
296
- bg: renderColor(cardColor.avatar.yellow.bg[i], colorOptions),
297
- fg: renderColor(cardColor.avatar.yellow.fg[i], colorOptions),
298
- },
299
- green: {
300
- bg: renderColor(cardColor.avatar.green.bg[i], colorOptions),
301
- fg: renderColor(cardColor.avatar.green.fg[i], colorOptions),
302
- },
303
- cyan: {
304
- bg: renderColor(cardColor.avatar.cyan.bg[i], colorOptions),
305
- fg: renderColor(cardColor.avatar.cyan.fg[i], colorOptions),
306
- },
307
- },
308
-
309
- // avatar: cardColor.avatar,
310
- badge: THEME_COLOR_STATE_TONES.reduce<ThemeColorBadge_v2>((tones, tone) => {
311
- tones[tone] = {
312
- bg: mix(color.bg, 1, {dark, defaultHue, palette}),
313
-
314
- fg: mix(color.fg, 1, {dark, defaultHue, palette}),
315
-
316
- dot: mix(color.fg, 3, {dark, defaultHue, palette}),
317
-
318
- icon: mix(color.fg, 3, {dark, defaultHue, palette}),
319
- }
320
-
321
- return tones
322
- }, {} as ThemeColorBadge_v2),
323
-
324
- bg: mix(color.bg, shades.bg[0], {dark, defaultHue, palette}),
325
-
326
- border: mix(color.border, shades.border[0], {dark, defaultHue, palette}),
327
-
328
- fg: mix(color.fg, shades.fg[0], {dark, defaultHue, palette}),
329
- code: {
330
- bg: mix(color.bg, shades.bg[1], {dark, defaultHue, palette}),
331
-
332
- fg: mix(color.fg, shades.fg[2], {dark, defaultHue, palette}),
333
- },
334
-
335
- icon: mix(color.fg, shades.fg[2], {dark, defaultHue, palette}),
336
- kbd: {
337
- bg: mix(color.bg, 0, {dark, defaultHue, palette}),
338
-
339
- fg: mix(color.fg, 0, {dark, defaultHue, palette}),
340
-
341
- border: mix(color.bg, 0, {dark, defaultHue, palette}),
342
- },
343
- link: {
344
- fg: mix(color.fg, shades.fg[2], {dark, defaultHue, palette}),
345
- },
346
- muted: {
347
- bg: mix(color.bg, shades.bg[1], {dark, defaultHue, palette}),
348
-
349
- fg: mix(color.fg, shades.fg[2], {dark, defaultHue, palette}),
350
- },
351
-
352
- skeleton: {
353
- from: renderColor(cardColor.skeleton.from[i], colorOptions),
354
- to: renderColor(cardColor.skeleton.to[i], colorOptions),
355
- },
356
- }
357
- }
358
-
359
- function buildInputState(
360
- colorElement: ThemeColorElement,
361
- options: {
362
- dark: boolean
363
- defaultHue: Hue
364
- palette: ThemePalette_v3
365
- },
366
- ): ThemeColorInputState_v2 {
367
- const {dark, defaultHue, palette} = options
368
- const colorOptions = {defaultHue, palette}
369
- const i = dark ? 1 : 0
370
-
371
- return {
372
- bg: renderColor(colorElement.bg[0][i], colorOptions),
373
-
374
- border: renderColor(colorElement.bg[0][i], colorOptions),
375
-
376
- fg: renderColor(colorElement.fg[0][i], colorOptions),
377
- muted: {
378
- bg: renderColor(colorElement.bg[0][i], colorOptions),
379
- },
380
-
381
- placeholder: renderColor(colorElement.fg[0][i], colorOptions),
382
- }
383
- }