@sanity/ui 3.3.2 → 3.3.4

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 (437) hide show
  1. package/dist/index.d.mts +8 -8
  2. package/dist/index.d.mts.map +1 -1
  3. package/dist/index.d.ts +8 -8
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +16 -16
  6. package/dist/index.mjs +16 -16
  7. package/dist/index.mjs.map +1 -1
  8. package/dist/tabList.js +2 -2
  9. package/dist/tabList.mjs +2 -2
  10. package/dist/tabList.mjs.map +1 -1
  11. package/dist/useTheme.d.mts +3 -3
  12. package/dist/useTheme.d.mts.map +1 -1
  13. package/dist/useTheme.d.ts +3 -3
  14. package/dist/useTheme.d.ts.map +1 -1
  15. package/package.json +8 -13
  16. package/exports/_visual-editing.ts +0 -32
  17. package/exports/index.ts +0 -1
  18. package/exports/theme.ts +0 -1
  19. package/src/core/_compat.ts +0 -294
  20. package/src/core/components/autocomplete/autocomplete.styles.tsx +0 -39
  21. package/src/core/components/autocomplete/autocomplete.tsx +0 -775
  22. package/src/core/components/autocomplete/autocompleteOption.tsx +0 -46
  23. package/src/core/components/autocomplete/autocompleteReducer.ts +0 -47
  24. package/src/core/components/autocomplete/constants.ts +0 -28
  25. package/src/core/components/autocomplete/index.ts +0 -2
  26. package/src/core/components/autocomplete/types.ts +0 -108
  27. package/src/core/components/breadcrumbs/breadcrumbs.styles.ts +0 -18
  28. package/src/core/components/breadcrumbs/breadcrumbs.test.tsx +0 -54
  29. package/src/core/components/breadcrumbs/breadcrumbs.tsx +0 -136
  30. package/src/core/components/breadcrumbs/index.ts +0 -1
  31. package/src/core/components/dialog/dialog.tsx +0 -433
  32. package/src/core/components/dialog/dialogContext.ts +0 -20
  33. package/src/core/components/dialog/dialogProvider.tsx +0 -35
  34. package/src/core/components/dialog/index.ts +0 -4
  35. package/src/core/components/dialog/styles.ts +0 -77
  36. package/src/core/components/dialog/useDialog.ts +0 -11
  37. package/src/core/components/hotkeys/hotkeys.test.tsx +0 -47
  38. package/src/core/components/hotkeys/hotkeys.tsx +0 -68
  39. package/src/core/components/hotkeys/index.ts +0 -1
  40. package/src/core/components/index.ts +0 -9
  41. package/src/core/components/menu/helpers.ts +0 -82
  42. package/src/core/components/menu/index.ts +0 -5
  43. package/src/core/components/menu/menu.spacing.test.tsx +0 -68
  44. package/src/core/components/menu/menu.test.tsx +0 -128
  45. package/src/core/components/menu/menu.tsx +0 -180
  46. package/src/core/components/menu/menuButton.tsx +0 -276
  47. package/src/core/components/menu/menuContext.ts +0 -18
  48. package/src/core/components/menu/menuDivider.ts +0 -24
  49. package/src/core/components/menu/menuGroup.spacing.test.tsx +0 -66
  50. package/src/core/components/menu/menuGroup.tsx +0 -237
  51. package/src/core/components/menu/menuItem.spacing.test.tsx +0 -62
  52. package/src/core/components/menu/menuItem.tsx +0 -201
  53. package/src/core/components/menu/useMenu.ts +0 -21
  54. package/src/core/components/menu/useMenuController.ts +0 -233
  55. package/src/core/components/skeleton/index.ts +0 -2
  56. package/src/core/components/skeleton/skeleton.tsx +0 -58
  57. package/src/core/components/skeleton/styles.ts +0 -50
  58. package/src/core/components/skeleton/textSkeleton.tsx +0 -122
  59. package/src/core/components/tab/index.ts +0 -3
  60. package/src/core/components/tab/tab.tsx +0 -102
  61. package/src/core/components/tab/tabList.test.tsx +0 -50
  62. package/src/core/components/tab/tabList.tsx +0 -71
  63. package/src/core/components/tab/tabPanel.tsx +0 -39
  64. package/src/core/components/toast/index.ts +0 -4
  65. package/src/core/components/toast/styles.ts +0 -77
  66. package/src/core/components/toast/toast.test.tsx +0 -106
  67. package/src/core/components/toast/toast.tsx +0 -199
  68. package/src/core/components/toast/toastContext.ts +0 -7
  69. package/src/core/components/toast/toastLayer.tsx +0 -52
  70. package/src/core/components/toast/toastProvider.tsx +0 -113
  71. package/src/core/components/toast/toastState.ts +0 -6
  72. package/src/core/components/toast/types.ts +0 -26
  73. package/src/core/components/toast/useToast.ts +0 -25
  74. package/src/core/components/tree/helpers.ts +0 -105
  75. package/src/core/components/tree/index.ts +0 -4
  76. package/src/core/components/tree/style.ts +0 -105
  77. package/src/core/components/tree/tree.test.tsx +0 -60
  78. package/src/core/components/tree/tree.tsx +0 -242
  79. package/src/core/components/tree/treeContext.ts +0 -10
  80. package/src/core/components/tree/treeGroup.tsx +0 -29
  81. package/src/core/components/tree/treeItem.test.tsx +0 -70
  82. package/src/core/components/tree/treeItem.tsx +0 -225
  83. package/src/core/components/tree/types.ts +0 -25
  84. package/src/core/components/tree/useTree.ts +0 -17
  85. package/src/core/constants.ts +0 -79
  86. package/src/core/helpers/animation.ts +0 -27
  87. package/src/core/helpers/element.ts +0 -55
  88. package/src/core/helpers/focus.ts +0 -100
  89. package/src/core/helpers/index.ts +0 -4
  90. package/src/core/helpers/scroll.ts +0 -15
  91. package/src/core/hooks/index.ts +0 -13
  92. package/src/core/hooks/useArrayProp.ts +0 -17
  93. package/src/core/hooks/useClickOutside.test.tsx +0 -510
  94. package/src/core/hooks/useClickOutside.ts +0 -118
  95. package/src/core/hooks/useClickOutsideEvent.test.tsx +0 -119
  96. package/src/core/hooks/useClickOutsideEvent.ts +0 -73
  97. package/src/core/hooks/useCustomValidity.ts +0 -13
  98. package/src/core/hooks/useDelayed.test.ts +0 -89
  99. package/src/core/hooks/useDelayedState.ts +0 -36
  100. package/src/core/hooks/useElementRect/index.ts +0 -1
  101. package/src/core/hooks/useElementRect/useElementRect.ts +0 -14
  102. package/src/core/hooks/useElementSize.ts +0 -19
  103. package/src/core/hooks/useForwardedRef.ts +0 -20
  104. package/src/core/hooks/useGlobalKeyDown.ts +0 -24
  105. package/src/core/hooks/useIsomorphicEffect.ts +0 -7
  106. package/src/core/hooks/useMatchMedia.ts +0 -28
  107. package/src/core/hooks/useMediaIndex/index.ts +0 -1
  108. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +0 -37
  109. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +0 -102
  110. package/src/core/hooks/useMounted.ts +0 -15
  111. package/src/core/hooks/usePrefersDark.hydration.test.tsx +0 -58
  112. package/src/core/hooks/usePrefersDark.test.tsx +0 -21
  113. package/src/core/hooks/usePrefersDark.ts +0 -16
  114. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +0 -58
  115. package/src/core/hooks/usePrefersReducedMotion.test.tsx +0 -21
  116. package/src/core/hooks/usePrefersReducedMotion.ts +0 -16
  117. package/src/core/index.ts +0 -10
  118. package/src/core/lib/createGlobalScopedContext.ts +0 -37
  119. package/src/core/lib/globalScope.ts +0 -20
  120. package/src/core/lib/isRecord.ts +0 -3
  121. package/src/core/middleware/origin.ts +0 -47
  122. package/src/core/observers/elementSizeObserver.ts +0 -117
  123. package/src/core/observers/index.ts +0 -2
  124. package/src/core/observers/resizeObserver.ts +0 -9
  125. package/src/core/primitives/_selectable/index.ts +0 -1
  126. package/src/core/primitives/_selectable/selectable.tsx +0 -15
  127. package/src/core/primitives/_selectable/style.ts +0 -115
  128. package/src/core/primitives/avatar/avatar.tsx +0 -200
  129. package/src/core/primitives/avatar/avatarCounter.tsx +0 -91
  130. package/src/core/primitives/avatar/avatarStack.tsx +0 -101
  131. package/src/core/primitives/avatar/index.ts +0 -4
  132. package/src/core/primitives/avatar/styles.ts +0 -167
  133. package/src/core/primitives/avatar/types.ts +0 -17
  134. package/src/core/primitives/badge/badge.test.tsx +0 -17
  135. package/src/core/primitives/badge/badge.tsx +0 -72
  136. package/src/core/primitives/badge/index.ts +0 -1
  137. package/src/core/primitives/badge/styles.ts +0 -20
  138. package/src/core/primitives/badge/types.ts +0 -8
  139. package/src/core/primitives/box/box.test.tsx +0 -155
  140. package/src/core/primitives/box/box.tsx +0 -162
  141. package/src/core/primitives/box/index.ts +0 -1
  142. package/src/core/primitives/button/button.test.tsx +0 -86
  143. package/src/core/primitives/button/button.tsx +0 -214
  144. package/src/core/primitives/button/index.ts +0 -1
  145. package/src/core/primitives/button/styles.ts +0 -118
  146. package/src/core/primitives/card/card.tsx +0 -125
  147. package/src/core/primitives/card/index.ts +0 -2
  148. package/src/core/primitives/card/styles.ts +0 -147
  149. package/src/core/primitives/card/types.ts +0 -12
  150. package/src/core/primitives/checkbox/checkbox.tsx +0 -73
  151. package/src/core/primitives/checkbox/index.ts +0 -1
  152. package/src/core/primitives/checkbox/styles.ts +0 -128
  153. package/src/core/primitives/code/code.tsx +0 -56
  154. package/src/core/primitives/code/index.ts +0 -1
  155. package/src/core/primitives/code/refractor.tsx +0 -22
  156. package/src/core/primitives/code/styles.ts +0 -77
  157. package/src/core/primitives/container/container.tsx +0 -55
  158. package/src/core/primitives/container/index.ts +0 -2
  159. package/src/core/primitives/container/styles.ts +0 -23
  160. package/src/core/primitives/container/types.ts +0 -6
  161. package/src/core/primitives/flex/flex.tsx +0 -63
  162. package/src/core/primitives/flex/index.ts +0 -1
  163. package/src/core/primitives/grid/grid.test.tsx +0 -86
  164. package/src/core/primitives/grid/grid.tsx +0 -77
  165. package/src/core/primitives/grid/index.ts +0 -1
  166. package/src/core/primitives/heading/heading.tsx +0 -89
  167. package/src/core/primitives/heading/index.ts +0 -1
  168. package/src/core/primitives/heading/styles.ts +0 -64
  169. package/src/core/primitives/heading/types.ts +0 -7
  170. package/src/core/primitives/index.ts +0 -27
  171. package/src/core/primitives/inline/index.ts +0 -1
  172. package/src/core/primitives/inline/inline.test.tsx +0 -55
  173. package/src/core/primitives/inline/inline.tsx +0 -66
  174. package/src/core/primitives/inline/styles.ts +0 -32
  175. package/src/core/primitives/inline/types.ts +0 -6
  176. package/src/core/primitives/kbd/index.ts +0 -1
  177. package/src/core/primitives/kbd/kbd.tsx +0 -73
  178. package/src/core/primitives/label/index.ts +0 -1
  179. package/src/core/primitives/label/label.tsx +0 -88
  180. package/src/core/primitives/label/styles.ts +0 -45
  181. package/src/core/primitives/popover/constants.ts +0 -22
  182. package/src/core/primitives/popover/floating-ui/size.ts +0 -99
  183. package/src/core/primitives/popover/helpers.ts +0 -31
  184. package/src/core/primitives/popover/index.ts +0 -2
  185. package/src/core/primitives/popover/popover.tsx +0 -512
  186. package/src/core/primitives/popover/popoverCard.tsx +0 -167
  187. package/src/core/primitives/popover/types.ts +0 -6
  188. package/src/core/primitives/radio/index.ts +0 -1
  189. package/src/core/primitives/radio/radio.tsx +0 -51
  190. package/src/core/primitives/radio/styles.ts +0 -117
  191. package/src/core/primitives/select/index.ts +0 -1
  192. package/src/core/primitives/select/select.test.tsx +0 -56
  193. package/src/core/primitives/select/select.tsx +0 -95
  194. package/src/core/primitives/select/styles.ts +0 -166
  195. package/src/core/primitives/spinner/index.ts +0 -1
  196. package/src/core/primitives/spinner/spinner.tsx +0 -46
  197. package/src/core/primitives/stack/index.ts +0 -1
  198. package/src/core/primitives/stack/stack.test.tsx +0 -61
  199. package/src/core/primitives/stack/stack.tsx +0 -59
  200. package/src/core/primitives/stack/styles.ts +0 -33
  201. package/src/core/primitives/switch/index.ts +0 -1
  202. package/src/core/primitives/switch/styles.ts +0 -173
  203. package/src/core/primitives/switch/switch.tsx +0 -68
  204. package/src/core/primitives/text/index.ts +0 -1
  205. package/src/core/primitives/text/styles.ts +0 -74
  206. package/src/core/primitives/text/text.tsx +0 -90
  207. package/src/core/primitives/textArea/index.ts +0 -1
  208. package/src/core/primitives/textArea/textArea.tsx +0 -120
  209. package/src/core/primitives/textInput/index.ts +0 -1
  210. package/src/core/primitives/textInput/textInput.test.tsx +0 -52
  211. package/src/core/primitives/textInput/textInput.tsx +0 -398
  212. package/src/core/primitives/tooltip/constants.ts +0 -23
  213. package/src/core/primitives/tooltip/index.ts +0 -2
  214. package/src/core/primitives/tooltip/tooltip.test.tsx +0 -485
  215. package/src/core/primitives/tooltip/tooltip.tsx +0 -497
  216. package/src/core/primitives/tooltip/tooltipCard.tsx +0 -110
  217. package/src/core/primitives/tooltip/tooltipDelayGroup/index.ts +0 -4
  218. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +0 -11
  219. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +0 -57
  220. package/src/core/primitives/tooltip/tooltipDelayGroup/types.ts +0 -12
  221. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -13
  222. package/src/core/primitives/types.ts +0 -179
  223. package/src/core/styles/border/borderStyle.ts +0 -56
  224. package/src/core/styles/border/index.ts +0 -2
  225. package/src/core/styles/border/types.ts +0 -10
  226. package/src/core/styles/box/boxStyle.ts +0 -69
  227. package/src/core/styles/box/index.ts +0 -2
  228. package/src/core/styles/box/types.ts +0 -11
  229. package/src/core/styles/card/_cardColorStyle.ts +0 -108
  230. package/src/core/styles/card/index.ts +0 -1
  231. package/src/core/styles/flex/flexItemStyle.ts +0 -27
  232. package/src/core/styles/flex/flexStyle.ts +0 -70
  233. package/src/core/styles/flex/index.ts +0 -3
  234. package/src/core/styles/flex/types.ts +0 -24
  235. package/src/core/styles/focusRing/index.ts +0 -25
  236. package/src/core/styles/font/codeFontStyle.ts +0 -13
  237. package/src/core/styles/font/headingFontStyle.ts +0 -13
  238. package/src/core/styles/font/index.ts +0 -6
  239. package/src/core/styles/font/labelFontStyle.ts +0 -13
  240. package/src/core/styles/font/responsiveFont.ts +0 -100
  241. package/src/core/styles/font/textAlignStyle.ts +0 -19
  242. package/src/core/styles/font/textFontStyle.ts +0 -13
  243. package/src/core/styles/font/types.ts +0 -33
  244. package/src/core/styles/grid/gridItemStyle.ts +0 -82
  245. package/src/core/styles/grid/gridStyle.ts +0 -109
  246. package/src/core/styles/grid/index.ts +0 -3
  247. package/src/core/styles/grid/types.ts +0 -37
  248. package/src/core/styles/helpers.ts +0 -72
  249. package/src/core/styles/index.ts +0 -5
  250. package/src/core/styles/input/index.ts +0 -2
  251. package/src/core/styles/input/responsiveInputPaddingStyle.ts +0 -78
  252. package/src/core/styles/input/textInputStyle.ts +0 -263
  253. package/src/core/styles/internal.ts +0 -12
  254. package/src/core/styles/margin/index.ts +0 -2
  255. package/src/core/styles/margin/marginStyle.ts +0 -22
  256. package/src/core/styles/margin/marginsStyle.test.ts +0 -34
  257. package/src/core/styles/margin/types.ts +0 -9
  258. package/src/core/styles/padding/index.ts +0 -2
  259. package/src/core/styles/padding/paddingStyle.test.ts +0 -34
  260. package/src/core/styles/padding/paddingStyle.ts +0 -22
  261. package/src/core/styles/padding/types.ts +0 -12
  262. package/src/core/styles/radius/index.ts +0 -2
  263. package/src/core/styles/radius/radiusStyle.ts +0 -23
  264. package/src/core/styles/radius/types.ts +0 -8
  265. package/src/core/styles/shadow/index.ts +0 -2
  266. package/src/core/styles/shadow/shadowStyle.ts +0 -29
  267. package/src/core/styles/shadow/types.ts +0 -6
  268. package/src/core/styles/types.ts +0 -8
  269. package/src/core/theme/index.ts +0 -5
  270. package/src/core/theme/theme.test.tsx +0 -77
  271. package/src/core/theme/themeColorProvider.tsx +0 -29
  272. package/src/core/theme/themeContext.ts +0 -10
  273. package/src/core/theme/themeProvider.tsx +0 -62
  274. package/src/core/theme/types.ts +0 -12
  275. package/src/core/theme/useRootTheme.ts +0 -18
  276. package/src/core/theme/useTheme.ts +0 -18
  277. package/src/core/types/avatar.ts +0 -14
  278. package/src/core/types/badge.ts +0 -12
  279. package/src/core/types/box.ts +0 -19
  280. package/src/core/types/button.ts +0 -21
  281. package/src/core/types/card.ts +0 -6
  282. package/src/core/types/component.ts +0 -32
  283. package/src/core/types/dialog.ts +0 -4
  284. package/src/core/types/flex.ts +0 -30
  285. package/src/core/types/grid.ts +0 -14
  286. package/src/core/types/gridItem.ts +0 -29
  287. package/src/core/types/index.ts +0 -15
  288. package/src/core/types/placement.ts +0 -18
  289. package/src/core/types/popover.ts +0 -4
  290. package/src/core/types/radius.ts +0 -4
  291. package/src/core/types/selectable.ts +0 -6
  292. package/src/core/types/text.ts +0 -4
  293. package/src/core/utils/arrow/arrow.tsx +0 -124
  294. package/src/core/utils/arrow/cmds.ts +0 -91
  295. package/src/core/utils/arrow/index.ts +0 -1
  296. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +0 -105
  297. package/src/core/utils/boundaryElement/boundaryElementContext.ts +0 -7
  298. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +0 -24
  299. package/src/core/utils/boundaryElement/index.ts +0 -3
  300. package/src/core/utils/boundaryElement/types.ts +0 -7
  301. package/src/core/utils/boundaryElement/useBoundaryElement.ts +0 -26
  302. package/src/core/utils/conditionalWrapper/conditionalWrapper.tsx +0 -22
  303. package/src/core/utils/conditionalWrapper/index.ts +0 -1
  304. package/src/core/utils/elementQuery/elementQuery.tsx +0 -53
  305. package/src/core/utils/elementQuery/helpers.ts +0 -27
  306. package/src/core/utils/elementQuery/index.ts +0 -1
  307. package/src/core/utils/errorBoundary.tsx +0 -48
  308. package/src/core/utils/getElementRef.ts +0 -31
  309. package/src/core/utils/index.ts +0 -9
  310. package/src/core/utils/layer/getLayerContext.test.ts +0 -32
  311. package/src/core/utils/layer/getLayerContext.ts +0 -21
  312. package/src/core/utils/layer/index.ts +0 -4
  313. package/src/core/utils/layer/layer.test.tsx +0 -113
  314. package/src/core/utils/layer/layer.tsx +0 -99
  315. package/src/core/utils/layer/layerContext.ts +0 -7
  316. package/src/core/utils/layer/layerProvider.tsx +0 -111
  317. package/src/core/utils/layer/types.ts +0 -9
  318. package/src/core/utils/layer/useLayer.ts +0 -28
  319. package/src/core/utils/portal/index.ts +0 -4
  320. package/src/core/utils/portal/portal.test.tsx +0 -108
  321. package/src/core/utils/portal/portal.ts +0 -32
  322. package/src/core/utils/portal/portalContext.ts +0 -31
  323. package/src/core/utils/portal/portalProvider.tsx +0 -48
  324. package/src/core/utils/portal/types.ts +0 -9
  325. package/src/core/utils/portal/usePortal.ts +0 -25
  326. package/src/core/utils/spanWithTextOverflow.tsx +0 -10
  327. package/src/core/utils/srOnly/index.ts +0 -1
  328. package/src/core/utils/srOnly/srOnly.tsx +0 -36
  329. package/src/core/utils/virtualList/index.ts +0 -1
  330. package/src/core/utils/virtualList/virtualList.tsx +0 -201
  331. package/src/theme/build/_deprecated/color/_selectable/createSelectableTones.ts +0 -86
  332. package/src/theme/build/_deprecated/color/_solid/createSolidTones.ts +0 -58
  333. package/src/theme/build/_deprecated/color/button/createButtonModes.ts +0 -27
  334. package/src/theme/build/_deprecated/color/button/createButtonTones.ts +0 -60
  335. package/src/theme/build/_deprecated/color/card/createCardStates.ts +0 -66
  336. package/src/theme/build/_deprecated/color/color.test.ts +0 -67
  337. package/src/theme/build/_deprecated/color/defaults.ts +0 -391
  338. package/src/theme/build/_deprecated/color/factory.ts +0 -178
  339. package/src/theme/build/_deprecated/color/index.ts +0 -1
  340. package/src/theme/build/_deprecated/color/input/createInputModes.ts +0 -86
  341. package/src/theme/build/_deprecated/color/muted/createMuted.ts +0 -58
  342. package/src/theme/build/_deprecated/color/spot/createSpot.ts +0 -23
  343. package/src/theme/build/buildColorTheme.test.ts +0 -185
  344. package/src/theme/build/buildColorTheme.ts +0 -507
  345. package/src/theme/build/buildTheme.test.ts +0 -89
  346. package/src/theme/build/buildTheme.ts +0 -36
  347. package/src/theme/build/colorToken/colorToken.ts +0 -19
  348. package/src/theme/build/colorToken/compileColorToken.ts +0 -21
  349. package/src/theme/build/colorToken/index.ts +0 -2
  350. package/src/theme/build/colorToken/types.ts +0 -6
  351. package/src/theme/build/index.ts +0 -3
  352. package/src/theme/build/lib/color-fns/blend/index.ts +0 -3
  353. package/src/theme/build/lib/color-fns/blend/mix.ts +0 -21
  354. package/src/theme/build/lib/color-fns/blend/multiply.ts +0 -18
  355. package/src/theme/build/lib/color-fns/blend/screen.ts +0 -18
  356. package/src/theme/build/lib/color-fns/color-fns.test.ts +0 -70
  357. package/src/theme/build/lib/color-fns/contrastRatio.ts +0 -31
  358. package/src/theme/build/lib/color-fns/convert.ts +0 -150
  359. package/src/theme/build/lib/color-fns/index.ts +0 -6
  360. package/src/theme/build/lib/color-fns/parse.ts +0 -60
  361. package/src/theme/build/lib/color-fns/rgba.ts +0 -10
  362. package/src/theme/build/lib/color-fns/types.ts +0 -28
  363. package/src/theme/build/lib/isRecord.ts +0 -3
  364. package/src/theme/build/lib/lazy.ts +0 -30
  365. package/src/theme/build/lib/utils.ts +0 -19
  366. package/src/theme/build/merge.ts +0 -31
  367. package/src/theme/build/mixThemeColor.test.ts +0 -23
  368. package/src/theme/build/mixThemeColor.ts +0 -53
  369. package/src/theme/build/renderColorTheme.ts +0 -538
  370. package/src/theme/build/renderColorValue.ts +0 -83
  371. package/src/theme/build/resolveColorTokens.ts +0 -274
  372. package/src/theme/build/theme.test.ts +0 -29
  373. package/src/theme/config/helpers.ts +0 -60
  374. package/src/theme/config/index.ts +0 -4
  375. package/src/theme/config/system.ts +0 -117
  376. package/src/theme/config/tokens/color/index.ts +0 -1
  377. package/src/theme/config/tokens/color/types.ts +0 -135
  378. package/src/theme/config/tokens/index.ts +0 -4
  379. package/src/theme/config/tokens/parseTokenKey.test.ts +0 -66
  380. package/src/theme/config/tokens/parseTokenKey.ts +0 -67
  381. package/src/theme/config/tokens/parseTokenValue.test.ts +0 -44
  382. package/src/theme/config/tokens/parseTokenValue.ts +0 -134
  383. package/src/theme/config/tokens/types.ts +0 -53
  384. package/src/theme/config/types.ts +0 -46
  385. package/src/theme/defaults/colorPalette.ts +0 -5
  386. package/src/theme/defaults/colorTokens.ts +0 -648
  387. package/src/theme/defaults/config.ts +0 -84
  388. package/src/theme/defaults/fonts.ts +0 -227
  389. package/src/theme/getScopedTheme.ts +0 -103
  390. package/src/theme/index.ts +0 -5
  391. package/src/theme/system/avatar.ts +0 -14
  392. package/src/theme/system/color/_constants.ts +0 -45
  393. package/src/theme/system/color/_helpers.ts +0 -28
  394. package/src/theme/system/color/_system.ts +0 -40
  395. package/src/theme/system/color/avatar.ts +0 -15
  396. package/src/theme/system/color/badge.ts +0 -16
  397. package/src/theme/system/color/button.ts +0 -17
  398. package/src/theme/system/color/color.ts +0 -34
  399. package/src/theme/system/color/index.ts +0 -13
  400. package/src/theme/system/color/input.ts +0 -25
  401. package/src/theme/system/color/kbd.ts +0 -8
  402. package/src/theme/system/color/selectable.ts +0 -12
  403. package/src/theme/system/color/shadow.ts +0 -7
  404. package/src/theme/system/color/state.ts +0 -43
  405. package/src/theme/system/color/syntax.ts +0 -41
  406. package/src/theme/system/css.ts +0 -14
  407. package/src/theme/system/focusRing.ts +0 -7
  408. package/src/theme/system/font.ts +0 -52
  409. package/src/theme/system/index.ts +0 -11
  410. package/src/theme/system/input.ts +0 -33
  411. package/src/theme/system/layer.ts +0 -8
  412. package/src/theme/system/shadow.ts +0 -19
  413. package/src/theme/system/styles.ts +0 -13
  414. package/src/theme/system/theme.ts +0 -142
  415. package/src/theme/system/v0/avatar.ts +0 -10
  416. package/src/theme/system/v0/color/_generic.ts +0 -35
  417. package/src/theme/system/v0/color/_system.ts +0 -18
  418. package/src/theme/system/v0/color/base.ts +0 -21
  419. package/src/theme/system/v0/color/button.ts +0 -56
  420. package/src/theme/system/v0/color/card.ts +0 -25
  421. package/src/theme/system/v0/color/color.ts +0 -51
  422. package/src/theme/system/v0/color/index.ts +0 -11
  423. package/src/theme/system/v0/color/input.ts +0 -40
  424. package/src/theme/system/v0/color/muted.ts +0 -37
  425. package/src/theme/system/v0/color/selectable.ts +0 -42
  426. package/src/theme/system/v0/color/solid.ts +0 -37
  427. package/src/theme/system/v0/color/spot.ts +0 -14
  428. package/src/theme/system/v0/index.ts +0 -3
  429. package/src/theme/system/v0/input.ts +0 -23
  430. package/src/theme/versioning/getTheme_v2.ts +0 -72
  431. package/src/theme/versioning/index.ts +0 -5
  432. package/src/theme/versioning/is_v0.ts +0 -6
  433. package/src/theme/versioning/is_v2.ts +0 -6
  434. package/src/theme/versioning/themeColor_v0_v2.ts +0 -250
  435. package/src/theme/versioning/themeColor_v2_v2_9.ts +0 -50
  436. package/src/theme/versioning/v0_v2.ts +0 -106
  437. package/src/theme/versioning/v2_v0.ts +0 -153
@@ -1,274 +0,0 @@
1
- import {COLOR_HUES, ColorHueKey} from '@sanity/color'
2
-
3
- import {
4
- ColorConfigCardTone,
5
- ColorConfigInputMode,
6
- ColorConfigInputState,
7
- ColorConfigStateTone,
8
- ThemeColorAvatarTokens,
9
- ThemeColorBadgeTokens,
10
- ThemeColorBaseTokens,
11
- ThemeColorButtonTokens,
12
- ThemeColorInputStateTokens,
13
- ThemeColorInputTokens,
14
- ThemeColorStatesTokens,
15
- ThemeColorStateTokens,
16
- ThemeColorTokens,
17
- } from '../config'
18
- import {defaultColorTokens} from '../defaults/colorTokens'
19
- import {
20
- THEME_COLOR_BUTTON_MODES,
21
- THEME_COLOR_CARD_TONES,
22
- THEME_COLOR_INPUT_MODES,
23
- THEME_COLOR_INPUT_STATES,
24
- THEME_COLOR_STATE_TONES,
25
- THEME_COLOR_STATES,
26
- ThemeColorButtonModeKey,
27
- ThemeColorCardToneKey,
28
- ThemeColorStateKey,
29
- ThemeColorStateToneKey,
30
- } from '../system'
31
- import {merge} from './merge'
32
-
33
- /**
34
- * Convert a tree of color tokens from a sparse format to a dense format.
35
- */
36
- export function resolveColorTokens(inputTokens?: ThemeColorTokens): ThemeColorTokens {
37
- const tokens = merge(defaultColorTokens, inputTokens)
38
-
39
- return {
40
- base: resolveBaseColorTokens(tokens),
41
- button: resolveButtonColorTokens(tokens),
42
- input: resolveInputColorTokens(tokens),
43
- selectable: resolveSelectableColorTokens(tokens),
44
- syntax: tokens.syntax,
45
- }
46
- }
47
-
48
- function resolveBaseColorTokens(sparseTokens: ThemeColorTokens) {
49
- const tokens: Partial<Record<ColorConfigCardTone, ThemeColorBaseTokens>> = {}
50
-
51
- // base tones
52
- for (const tone of THEME_COLOR_CARD_TONES) {
53
- tokens[tone] = resolveBaseColorTones(sparseTokens, tone)
54
- }
55
-
56
- return tokens
57
- }
58
-
59
- function resolveBaseColorTones(
60
- inputTokens: ThemeColorTokens,
61
- tone: ThemeColorCardToneKey,
62
- ): ThemeColorBaseTokens {
63
- const spec = merge(inputTokens?.base?.['*'], inputTokens?.base?.[tone])
64
-
65
- const hue = spec._hue || inputTokens?.base?.[tone]?._hue || 'gray'
66
-
67
- return {
68
- ...spec,
69
- _hue: hue,
70
- avatar: COLOR_HUES.reduce((acc, hue) => {
71
- return {
72
- // oxlint-disable-next-line no-accumulating-spread
73
- ...acc,
74
- [hue]: merge({_hue: hue}, spec.avatar?.['*'], spec.avatar?.[hue]),
75
- }
76
- }, {} as ThemeColorAvatarTokens),
77
- badge: THEME_COLOR_STATE_TONES.reduce((acc, tone) => {
78
- return {
79
- // oxlint-disable-next-line no-accumulating-spread
80
- ...acc,
81
- [tone]: {
82
- _hue: inputTokens?.base?.[tone]?._hue || hue,
83
- ...spec.badge?.['*'],
84
- ...spec.badge?.[tone],
85
- },
86
- }
87
- }, {} as ThemeColorBadgeTokens),
88
- }
89
- }
90
-
91
- function resolveButtonColorTokens(
92
- inputTokens: ThemeColorTokens,
93
- ): Partial<Record<ThemeColorButtonModeKey, ThemeColorButtonTokens>> {
94
- const tokens: Partial<Record<ThemeColorButtonModeKey, ThemeColorButtonTokens>> = {}
95
-
96
- for (const mode of THEME_COLOR_BUTTON_MODES) {
97
- tokens[mode] = resolveButtonToneColorTokens(inputTokens, mode)
98
- }
99
-
100
- return tokens
101
- }
102
-
103
- function resolveButtonToneColorTokens(
104
- inputTokens: ThemeColorTokens,
105
- mode: ThemeColorButtonModeKey,
106
- ): ThemeColorButtonTokens {
107
- const tokens: ThemeColorButtonTokens = {}
108
-
109
- for (const tone of THEME_COLOR_STATE_TONES) {
110
- tokens[tone] = resolveButtonModeColorTokens(inputTokens, mode, tone)
111
- }
112
-
113
- return tokens
114
- }
115
-
116
- function resolveButtonModeColorTokens(
117
- inputTokens: ThemeColorTokens,
118
- mode: ThemeColorButtonModeKey,
119
- tone: ThemeColorStateToneKey,
120
- ): ThemeColorStatesTokens {
121
- const tokens: ThemeColorStatesTokens = {}
122
-
123
- for (const state of THEME_COLOR_STATES) {
124
- tokens[state] = resolveButtonStateColorTokens(inputTokens, tone, mode, state)
125
- }
126
-
127
- return tokens
128
- }
129
-
130
- function resolveButtonStateColorTokens(
131
- inputTokens: ThemeColorTokens,
132
- tone: ThemeColorStateToneKey,
133
- mode: ThemeColorButtonModeKey,
134
- state: ThemeColorStateKey,
135
- ): ThemeColorStateTokens {
136
- const spec = merge(
137
- inputTokens?.button?.[mode]?.['*']?.['*'],
138
- inputTokens?.button?.[mode]?.[tone]?.['*'],
139
- inputTokens?.button?.[mode]?.['*']?.[state],
140
- inputTokens?.button?.[mode]?.[tone]?.[state],
141
- )
142
-
143
- const hue = spec._hue || inputTokens?.base?.[tone]?._hue
144
-
145
- return {
146
- ...spec,
147
- _hue: hue,
148
- avatar: COLOR_HUES.reduce((acc, hue) => {
149
- return {
150
- // oxlint-disable-next-line no-accumulating-spread
151
- ...acc,
152
- [hue]: merge({_hue: hue}, spec.avatar?.['*'], spec.avatar?.[hue]),
153
- }
154
- }, {} as ThemeColorAvatarTokens),
155
- badge: THEME_COLOR_STATE_TONES.reduce((acc, tone) => {
156
- return {
157
- // oxlint-disable-next-line no-accumulating-spread
158
- ...acc,
159
- [tone]: {
160
- _hue: inputTokens?.base?.[tone]?._hue || hue,
161
- ...spec.badge?.['*'],
162
- ...spec.badge?.[tone],
163
- },
164
- }
165
- }, {} as ThemeColorBadgeTokens),
166
- }
167
- }
168
-
169
- function resolveInputColorTokens(
170
- inputTokens: ThemeColorTokens,
171
- ): Partial<Record<ColorConfigInputMode, ThemeColorInputTokens>> {
172
- const tokens: Partial<Record<ColorConfigInputMode, ThemeColorInputTokens>> = {}
173
-
174
- for (const mode of THEME_COLOR_INPUT_MODES) {
175
- tokens[mode] = resolveInputModeColorTokens(inputTokens, mode)
176
- }
177
-
178
- return tokens
179
- }
180
-
181
- function resolveInputModeColorTokens(
182
- inputTokens: ThemeColorTokens,
183
- mode: ColorConfigInputMode,
184
- ): ThemeColorInputTokens {
185
- const states: ThemeColorInputTokens = {}
186
-
187
- for (const state of THEME_COLOR_INPUT_STATES) {
188
- states[state] = resolveInputStateColorTokens(inputTokens, mode, state)
189
- }
190
-
191
- return states
192
- }
193
-
194
- function resolveInputStateColorTokens(
195
- inputTokens: ThemeColorTokens,
196
- mode: ColorConfigInputMode,
197
- state: ColorConfigInputState,
198
- ): ThemeColorInputStateTokens {
199
- const spec = merge(
200
- inputTokens?.input?.['*']?.['*'],
201
- inputTokens?.input?.[mode]?.['*'],
202
- inputTokens?.input?.['*']?.[state],
203
- inputTokens?.input?.[mode]?.[state],
204
- )
205
-
206
- const hue = spec._hue || inputTokens?.input?.[mode]?._hue
207
-
208
- return {...spec, _hue: hue}
209
- }
210
-
211
- function resolveSelectableColorTokens(
212
- inputTokens: ThemeColorTokens,
213
- ): Partial<Record<ColorConfigStateTone, {_hue?: ColorHueKey} & ThemeColorStatesTokens>> {
214
- const tokens: ThemeColorButtonTokens = {}
215
-
216
- for (const tone of THEME_COLOR_STATE_TONES) {
217
- tokens[tone] = resolveSelectableToneColorTokens(inputTokens, tone)
218
- }
219
-
220
- return tokens
221
- }
222
-
223
- function resolveSelectableToneColorTokens(
224
- inputTokens: ThemeColorTokens,
225
- tone: ThemeColorStateToneKey,
226
- ): {_hue?: ColorHueKey} & ThemeColorStatesTokens {
227
- const states: {_hue?: ColorHueKey} & ThemeColorStatesTokens = {
228
- _hue: inputTokens?.selectable?.[tone]?._hue || inputTokens?.base?.[tone]?._hue,
229
- }
230
-
231
- for (const state of THEME_COLOR_STATES) {
232
- states[state] = resolveSelectableStateColorTokens(inputTokens, tone, state)
233
- }
234
-
235
- return states
236
- }
237
-
238
- function resolveSelectableStateColorTokens(
239
- inputTokens: ThemeColorTokens,
240
- tone: ThemeColorStateToneKey,
241
- state: ThemeColorStateKey,
242
- ) {
243
- const spec = merge(
244
- inputTokens?.selectable?.['*']?.['*'],
245
- inputTokens?.selectable?.[tone]?.['*'],
246
- inputTokens?.selectable?.['*']?.[state],
247
- inputTokens?.selectable?.[tone]?.[state],
248
- )
249
-
250
- const hue = spec._hue || inputTokens?.base?.[tone]?._hue
251
-
252
- return {
253
- ...spec,
254
- _hue: hue,
255
- avatar: COLOR_HUES.reduce((acc, hue) => {
256
- return {
257
- // oxlint-disable-next-line no-accumulating-spread
258
- ...acc,
259
- [hue]: merge({_hue: hue}, spec.avatar?.['*'], spec.avatar?.[hue]),
260
- }
261
- }, {} as ThemeColorAvatarTokens),
262
- badge: THEME_COLOR_STATE_TONES.reduce((acc, tone) => {
263
- return {
264
- // oxlint-disable-next-line no-accumulating-spread
265
- ...acc,
266
- [tone]: {
267
- _hue: inputTokens?.base?.[tone]?._hue || hue,
268
- ...spec.badge?.['*'],
269
- ...spec.badge?.[tone],
270
- },
271
- }
272
- }, {} as ThemeColorBadgeTokens),
273
- }
274
- }
@@ -1,29 +0,0 @@
1
- import {expect, it} from 'vitest'
2
-
3
- import {buildTheme} from './buildTheme'
4
- import {getContrastRatio} from './lib/color-fns'
5
-
6
- const AA_MIN = 4.5
7
-
8
- it('should have sufficient contrast', () => {
9
- const base = buildTheme().v2!.color.light.default
10
- const selectable = base.selectable.default
11
-
12
- const contrasts = {
13
- base: {
14
- fg: getContrastRatio(base.bg, base.fg),
15
- },
16
- selectable: {
17
- enabled: {
18
- fg: getContrastRatio(selectable.enabled.bg, selectable.enabled.fg),
19
- muted: {
20
- fg: getContrastRatio(selectable.enabled.bg, selectable.enabled.muted.fg),
21
- },
22
- },
23
- },
24
- }
25
-
26
- expect(contrasts.base.fg).toBeGreaterThan(AA_MIN)
27
- expect(contrasts.selectable.enabled.fg).toBeGreaterThan(AA_MIN)
28
- expect(contrasts.selectable.enabled.muted.fg).toBeGreaterThan(AA_MIN)
29
- })
@@ -1,60 +0,0 @@
1
- import {
2
- COLOR_CONFIG_BLEND_KEYS,
3
- COLOR_CONFIG_CARD_KEYS,
4
- COLOR_CONFIG_CARD_TONES,
5
- COLOR_CONFIG_STATE_KEYS,
6
- COLOR_CONFIG_STATE_TONES,
7
- ColorConfigBlendKey,
8
- ColorConfigCardKey,
9
- ColorConfigCardTone,
10
- ColorConfigOpacityValue,
11
- ColorConfigStateKey,
12
- ColorConfigStateTone,
13
- ColorConfigValue,
14
- } from './system'
15
- import {parseTokenValue} from './tokens'
16
-
17
- /** @internal */
18
- export function isColorConfigBaseTone(str: string): str is ColorConfigCardTone {
19
- // oxlint-disable-next-line no-unsafe-type-assertion
20
- return COLOR_CONFIG_CARD_TONES.includes(str as ColorConfigCardTone)
21
- }
22
-
23
- /** @internal */
24
- export function isColorConfigBaseKey(str: string): str is ColorConfigCardKey {
25
- // oxlint-disable-next-line no-unsafe-type-assertion
26
- return COLOR_CONFIG_CARD_KEYS.includes(str as ColorConfigCardKey)
27
- }
28
-
29
- /** @internal */
30
- export function isColorConfigStateKey(str: string): str is ColorConfigStateKey {
31
- // oxlint-disable-next-line no-unsafe-type-assertion
32
- return COLOR_CONFIG_STATE_KEYS.includes(str as ColorConfigStateKey)
33
- }
34
-
35
- /** @internal */
36
- export function isColorConfigStateTone(str: string): str is ColorConfigStateTone {
37
- // oxlint-disable-next-line no-unsafe-type-assertion
38
- return COLOR_CONFIG_STATE_TONES.includes(str as ColorConfigStateTone)
39
- }
40
-
41
- /** @internal */
42
- export function isColorConfigBlendKey(str: string): str is ColorConfigBlendKey {
43
- // oxlint-disable-next-line no-unsafe-type-assertion
44
- return COLOR_CONFIG_BLEND_KEYS.includes(str as ColorConfigBlendKey)
45
- }
46
-
47
- /** @internal */
48
- export function isColorTokenValue(str: string): str is ColorConfigValue {
49
- return parseTokenValue(str)?.type === 'color' || parseTokenValue(str)?.type === 'hue'
50
- }
51
-
52
- /** @internal */
53
- export function isColorValue(str: string): str is 'black' | 'white' {
54
- return str === 'black' || str === 'white'
55
- }
56
-
57
- /** @internal */
58
- export function isColorOpacityValue(str: string): str is ColorConfigOpacityValue {
59
- return str === '0' || /^0\.[0-9]+$/.test(str) || str === '1'
60
- }
@@ -1,4 +0,0 @@
1
- export * from './helpers'
2
- export * from './system'
3
- export * from './tokens'
4
- export * from './types'
@@ -1,117 +0,0 @@
1
- import {ColorHueKey, ColorTintKey} from '@sanity/color'
2
-
3
- import {
4
- THEME_COLOR_AVATAR_COLORS,
5
- THEME_COLOR_CARD_TONES,
6
- THEME_COLOR_INPUT_MODES,
7
- THEME_COLOR_INPUT_STATES,
8
- THEME_COLOR_STATE_TONES,
9
- THEME_COLOR_STATES,
10
- ThemeColorBlendModeKey,
11
- } from '../system'
12
-
13
- /** @public */
14
- export const COLOR_CONFIG_STATE_KEYS = [
15
- '_hue',
16
- 'bg',
17
- 'fg',
18
- 'border',
19
- 'focusRing',
20
- 'muted/fg',
21
- 'accent/fg',
22
- 'link/fg',
23
- 'code/bg',
24
- 'code/fg',
25
- 'skeleton/from',
26
- 'skeleton/to',
27
- 'status/dot',
28
- 'status/icon',
29
- ] as const
30
-
31
- /** @public */
32
- export type ColorConfigStateKey = (typeof COLOR_CONFIG_STATE_KEYS)[number]
33
-
34
- /** @public */
35
- export const COLOR_CONFIG_CARD_KEYS = [
36
- ...COLOR_CONFIG_STATE_KEYS,
37
- '_hue',
38
- 'bg',
39
- 'fg',
40
- 'border',
41
- 'focusRing',
42
- 'shadow/outline',
43
- 'shadow/umbra',
44
- 'shadow/penumbra',
45
- 'shadow/ambient',
46
- ] as const
47
-
48
- /** @public */
49
- export type ColorConfigCardKey = (typeof COLOR_CONFIG_CARD_KEYS)[number]
50
-
51
- /** @public */
52
- export const COLOR_CONFIG_BLEND_KEYS = ['_blend'] as const
53
-
54
- /** @public */
55
- export type ColorConfigBlendKey = (typeof COLOR_CONFIG_BLEND_KEYS)[number]
56
-
57
- /** @public */
58
- export type ColorConfigOpacityValue = `0` | `0.${number}` | `1`
59
-
60
- /** @public */
61
- export type ColorConfigValue =
62
- | `black`
63
- | `white`
64
- | `black/${ColorConfigOpacityValue}`
65
- | `white/${ColorConfigOpacityValue}`
66
- // oxlint-disable-next-line no-unnecessary-template-expression
67
- | `${ColorHueKey}`
68
- | `${ColorHueKey} ${number}%`
69
- | `${ColorHueKey}/${ColorTintKey}`
70
- | `${ColorHueKey}/${ColorTintKey} ${number}%`
71
- | `${ColorHueKey}/${ColorTintKey}/${ColorConfigOpacityValue}`
72
- // oxlint-disable-next-line no-unnecessary-template-expression
73
- | `${ColorTintKey}`
74
- | `${ColorTintKey} ${number}%`
75
- | `${ColorTintKey}/${ColorConfigOpacityValue}`
76
-
77
- /** @public */
78
- export type ThemeColorTokenValue = [ColorConfigValue, ColorConfigValue]
79
-
80
- /** @public */
81
- export type ColorBlendModeTokenValue = [ThemeColorBlendModeKey, ThemeColorBlendModeKey]
82
-
83
- /** @public */
84
- export const COLOR_CONFIG_AVATAR_COLORS = ['*', ...THEME_COLOR_AVATAR_COLORS] as const
85
-
86
- /** @public */
87
- export type ColorConfigAvatarColor = (typeof COLOR_CONFIG_AVATAR_COLORS)[number]
88
-
89
- /** @public */
90
- export const COLOR_CONFIG_CARD_TONES = ['*', ...THEME_COLOR_CARD_TONES] as const
91
-
92
- /** @public */
93
- export type ColorConfigCardTone = (typeof COLOR_CONFIG_CARD_TONES)[number]
94
-
95
- /** @public */
96
- export const COLOR_CONFIG_STATE_TONES = ['*', ...THEME_COLOR_STATE_TONES] as const
97
-
98
- /** @public */
99
- export type ColorConfigStateTone = (typeof COLOR_CONFIG_STATE_TONES)[number]
100
-
101
- /** @public */
102
- export const COLOR_CONFIG_STATES = ['*', ...THEME_COLOR_STATES] as const
103
-
104
- /** @public */
105
- export type ColorConfigState = (typeof COLOR_CONFIG_STATES)[number]
106
-
107
- /** @public */
108
- export const COLOR_CONFIG_INPUT_MODES = ['*', ...THEME_COLOR_INPUT_MODES] as const
109
-
110
- /** @public */
111
- export type ColorConfigInputMode = (typeof COLOR_CONFIG_INPUT_MODES)[number]
112
-
113
- /** @public */
114
- export const COLOR_CONFIG_INPUT_STATES = ['*', ...THEME_COLOR_INPUT_STATES] as const
115
-
116
- /** @public */
117
- export type ColorConfigInputState = (typeof COLOR_CONFIG_INPUT_STATES)[number]
@@ -1 +0,0 @@
1
- export * from './types'
@@ -1,135 +0,0 @@
1
- import {ColorHueKey} from '@sanity/color'
2
-
3
- import {ThemeColorButtonModeKey, ThemeColorStateToneKey, ThemeColorSyntax} from '../../../system'
4
- import {
5
- ColorBlendModeTokenValue,
6
- ColorConfigCardTone,
7
- ColorConfigInputMode,
8
- ColorConfigInputState,
9
- ColorConfigState,
10
- ColorConfigStateTone,
11
- ThemeColorTokenValue,
12
- } from '../../system'
13
-
14
- /** @public */
15
- export interface ThemeColorAvatarHueTokens {
16
- _blend?: ColorBlendModeTokenValue
17
- _hue?: ColorHueKey
18
- bg?: ThemeColorTokenValue
19
- fg?: ThemeColorTokenValue
20
- }
21
-
22
- /** @public */
23
- export interface ThemeColorAvatarTokens {
24
- '*'?: ThemeColorAvatarHueTokens
25
- 'gray'?: ThemeColorAvatarHueTokens
26
- 'blue'?: ThemeColorAvatarHueTokens
27
- 'purple'?: ThemeColorAvatarHueTokens
28
- 'magenta'?: ThemeColorAvatarHueTokens
29
- 'red'?: ThemeColorAvatarHueTokens
30
- 'orange'?: ThemeColorAvatarHueTokens
31
- 'yellow'?: ThemeColorAvatarHueTokens
32
- 'green'?: ThemeColorAvatarHueTokens
33
- 'cyan'?: ThemeColorAvatarHueTokens
34
- }
35
-
36
- /** @public */
37
- export interface ThemeColorBaseTokens extends ThemeColorStateTokens {
38
- focusRing?: ThemeColorTokenValue
39
- backdrop?: ThemeColorTokenValue
40
- shadow?: {
41
- outline?: ThemeColorTokenValue
42
- umbra?: ThemeColorTokenValue
43
- penumbra?: ThemeColorTokenValue
44
- ambient?: ThemeColorTokenValue
45
- }
46
- }
47
-
48
- /** @public */
49
- export interface ThemeColorBadgeToneTokens {
50
- _blend?: ColorBlendModeTokenValue
51
- _hue?: ColorHueKey
52
- bg?: ThemeColorTokenValue
53
- dot?: ThemeColorTokenValue
54
- fg?: ThemeColorTokenValue
55
- icon?: ThemeColorTokenValue
56
- }
57
-
58
- /** @public */
59
- export type ThemeColorBadgeTokens = Partial<
60
- Record<'*' | ThemeColorStateToneKey, ThemeColorBadgeToneTokens>
61
- >
62
-
63
- /** @public */
64
- export interface ThemeColorStateTokens {
65
- _blend?: ColorBlendModeTokenValue
66
- _hue?: ColorHueKey
67
- accent?: {
68
- fg?: ThemeColorTokenValue
69
- }
70
- avatar?: ThemeColorAvatarTokens
71
- badge?: ThemeColorBadgeTokens
72
- bg?: ThemeColorTokenValue
73
- border?: ThemeColorTokenValue
74
- code?: {
75
- bg?: ThemeColorTokenValue
76
- fg?: ThemeColorTokenValue
77
- }
78
- fg?: ThemeColorTokenValue
79
- icon?: ThemeColorTokenValue
80
- kbd?: {
81
- bg?: ThemeColorTokenValue
82
- fg?: ThemeColorTokenValue
83
- border?: ThemeColorTokenValue
84
- }
85
- link?: {
86
- fg?: ThemeColorTokenValue
87
- }
88
- muted?: {
89
- bg?: ThemeColorTokenValue
90
- fg?: ThemeColorTokenValue
91
- }
92
- skeleton?: {
93
- from?: ThemeColorTokenValue
94
- to?: ThemeColorTokenValue
95
- }
96
- }
97
-
98
- /** @public */
99
- export type ThemeColorStatesTokens = Partial<Record<ColorConfigState, ThemeColorStateTokens>>
100
-
101
- /** @public */
102
- export interface ThemeColorButtonTokens extends Partial<
103
- Record<ColorConfigStateTone, ThemeColorStatesTokens>
104
- > {
105
- _hue?: ColorHueKey
106
- }
107
-
108
- /** @public */
109
- export interface ThemeColorInputStateTokens {
110
- _blend?: ColorBlendModeTokenValue
111
- _hue?: ColorHueKey
112
- bg?: ThemeColorTokenValue
113
- border?: ThemeColorTokenValue
114
- fg?: ThemeColorTokenValue
115
- muted?: {
116
- bg?: ThemeColorTokenValue
117
- }
118
- placeholder?: ThemeColorTokenValue
119
- }
120
-
121
- /** @public */
122
- export interface ThemeColorInputTokens extends Partial<
123
- Record<ColorConfigInputState, ThemeColorInputStateTokens>
124
- > {
125
- _hue?: ColorHueKey
126
- }
127
-
128
- /** @public */
129
- export interface ThemeColorTokens {
130
- base?: Partial<Record<ColorConfigCardTone, ThemeColorBaseTokens>>
131
- button?: Partial<Record<ThemeColorButtonModeKey, ThemeColorButtonTokens>>
132
- input?: Partial<Record<ColorConfigInputMode, ThemeColorInputTokens>>
133
- selectable?: Partial<Record<ColorConfigStateTone, {_hue?: ColorHueKey} & ThemeColorStatesTokens>>
134
- syntax?: Partial<Record<keyof ThemeColorSyntax, ThemeColorTokenValue>>
135
- }
@@ -1,4 +0,0 @@
1
- export * from './color'
2
- export * from './parseTokenKey'
3
- export * from './parseTokenValue'
4
- export * from './types'
@@ -1,66 +0,0 @@
1
- import {expect, test} from 'vitest'
2
-
3
- import {parseTokenKey} from './parseTokenKey'
4
-
5
- test('parse token key', () => {
6
- expect(parseTokenKey('*/_blend')).toEqual({
7
- type: 'base',
8
- tone: '*',
9
- key: '_blend',
10
- })
11
-
12
- expect(parseTokenKey('*/_hue')).toEqual({
13
- type: 'base',
14
- tone: '*',
15
- key: '_hue',
16
- })
17
-
18
- expect(parseTokenKey('primary/_hue')).toEqual({
19
- type: 'base',
20
- tone: 'primary',
21
- key: '_hue',
22
- })
23
-
24
- expect(parseTokenKey('*/bg')).toEqual({
25
- type: 'base',
26
- tone: '*',
27
- key: 'bg',
28
- })
29
-
30
- expect(parseTokenKey('*/focusRing')).toEqual({
31
- type: 'base',
32
- tone: '*',
33
- key: 'focusRing',
34
- })
35
-
36
- expect(parseTokenKey('*/muted/fg')).toEqual({
37
- type: 'base',
38
- tone: '*',
39
- key: 'muted/fg',
40
- })
41
-
42
- expect(parseTokenKey('*/link/fg')).toEqual({
43
- type: 'base',
44
- tone: '*',
45
- key: 'link/fg',
46
- })
47
-
48
- expect(parseTokenKey('*/code/fg')).toEqual({
49
- type: 'base',
50
- tone: '*',
51
- key: 'code/fg',
52
- })
53
-
54
- expect(parseTokenKey('default/_blend')).toEqual({
55
- type: 'base',
56
- tone: 'default',
57
- key: '_blend',
58
- })
59
-
60
- expect(parseTokenKey('button/*/default/_blend')).toEqual({
61
- type: 'button',
62
- tone: '*',
63
- mode: 'default',
64
- key: '_blend',
65
- })
66
- })