@sanity/ui 3.3.2 → 3.3.3

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 (423) hide show
  1. package/package.json +6 -11
  2. package/exports/_visual-editing.ts +0 -32
  3. package/exports/index.ts +0 -1
  4. package/exports/theme.ts +0 -1
  5. package/src/core/_compat.ts +0 -294
  6. package/src/core/components/autocomplete/autocomplete.styles.tsx +0 -39
  7. package/src/core/components/autocomplete/autocomplete.tsx +0 -775
  8. package/src/core/components/autocomplete/autocompleteOption.tsx +0 -46
  9. package/src/core/components/autocomplete/autocompleteReducer.ts +0 -47
  10. package/src/core/components/autocomplete/constants.ts +0 -28
  11. package/src/core/components/autocomplete/index.ts +0 -2
  12. package/src/core/components/autocomplete/types.ts +0 -108
  13. package/src/core/components/breadcrumbs/breadcrumbs.styles.ts +0 -18
  14. package/src/core/components/breadcrumbs/breadcrumbs.test.tsx +0 -54
  15. package/src/core/components/breadcrumbs/breadcrumbs.tsx +0 -136
  16. package/src/core/components/breadcrumbs/index.ts +0 -1
  17. package/src/core/components/dialog/dialog.tsx +0 -433
  18. package/src/core/components/dialog/dialogContext.ts +0 -20
  19. package/src/core/components/dialog/dialogProvider.tsx +0 -35
  20. package/src/core/components/dialog/index.ts +0 -4
  21. package/src/core/components/dialog/styles.ts +0 -77
  22. package/src/core/components/dialog/useDialog.ts +0 -11
  23. package/src/core/components/hotkeys/hotkeys.test.tsx +0 -47
  24. package/src/core/components/hotkeys/hotkeys.tsx +0 -68
  25. package/src/core/components/hotkeys/index.ts +0 -1
  26. package/src/core/components/index.ts +0 -9
  27. package/src/core/components/menu/helpers.ts +0 -82
  28. package/src/core/components/menu/index.ts +0 -5
  29. package/src/core/components/menu/menu.spacing.test.tsx +0 -68
  30. package/src/core/components/menu/menu.test.tsx +0 -128
  31. package/src/core/components/menu/menu.tsx +0 -180
  32. package/src/core/components/menu/menuButton.tsx +0 -276
  33. package/src/core/components/menu/menuContext.ts +0 -18
  34. package/src/core/components/menu/menuDivider.ts +0 -24
  35. package/src/core/components/menu/menuGroup.spacing.test.tsx +0 -66
  36. package/src/core/components/menu/menuGroup.tsx +0 -237
  37. package/src/core/components/menu/menuItem.spacing.test.tsx +0 -62
  38. package/src/core/components/menu/menuItem.tsx +0 -201
  39. package/src/core/components/menu/useMenu.ts +0 -21
  40. package/src/core/components/menu/useMenuController.ts +0 -233
  41. package/src/core/components/skeleton/index.ts +0 -2
  42. package/src/core/components/skeleton/skeleton.tsx +0 -58
  43. package/src/core/components/skeleton/styles.ts +0 -50
  44. package/src/core/components/skeleton/textSkeleton.tsx +0 -122
  45. package/src/core/components/tab/index.ts +0 -3
  46. package/src/core/components/tab/tab.tsx +0 -102
  47. package/src/core/components/tab/tabList.test.tsx +0 -50
  48. package/src/core/components/tab/tabList.tsx +0 -71
  49. package/src/core/components/tab/tabPanel.tsx +0 -39
  50. package/src/core/components/toast/index.ts +0 -4
  51. package/src/core/components/toast/styles.ts +0 -77
  52. package/src/core/components/toast/toast.test.tsx +0 -106
  53. package/src/core/components/toast/toast.tsx +0 -199
  54. package/src/core/components/toast/toastContext.ts +0 -7
  55. package/src/core/components/toast/toastLayer.tsx +0 -52
  56. package/src/core/components/toast/toastProvider.tsx +0 -113
  57. package/src/core/components/toast/toastState.ts +0 -6
  58. package/src/core/components/toast/types.ts +0 -26
  59. package/src/core/components/toast/useToast.ts +0 -25
  60. package/src/core/components/tree/helpers.ts +0 -105
  61. package/src/core/components/tree/index.ts +0 -4
  62. package/src/core/components/tree/style.ts +0 -105
  63. package/src/core/components/tree/tree.test.tsx +0 -60
  64. package/src/core/components/tree/tree.tsx +0 -242
  65. package/src/core/components/tree/treeContext.ts +0 -10
  66. package/src/core/components/tree/treeGroup.tsx +0 -29
  67. package/src/core/components/tree/treeItem.test.tsx +0 -70
  68. package/src/core/components/tree/treeItem.tsx +0 -225
  69. package/src/core/components/tree/types.ts +0 -25
  70. package/src/core/components/tree/useTree.ts +0 -17
  71. package/src/core/constants.ts +0 -79
  72. package/src/core/helpers/animation.ts +0 -27
  73. package/src/core/helpers/element.ts +0 -55
  74. package/src/core/helpers/focus.ts +0 -100
  75. package/src/core/helpers/index.ts +0 -4
  76. package/src/core/helpers/scroll.ts +0 -15
  77. package/src/core/hooks/index.ts +0 -13
  78. package/src/core/hooks/useArrayProp.ts +0 -17
  79. package/src/core/hooks/useClickOutside.test.tsx +0 -510
  80. package/src/core/hooks/useClickOutside.ts +0 -118
  81. package/src/core/hooks/useClickOutsideEvent.test.tsx +0 -119
  82. package/src/core/hooks/useClickOutsideEvent.ts +0 -73
  83. package/src/core/hooks/useCustomValidity.ts +0 -13
  84. package/src/core/hooks/useDelayed.test.ts +0 -89
  85. package/src/core/hooks/useDelayedState.ts +0 -36
  86. package/src/core/hooks/useElementRect/index.ts +0 -1
  87. package/src/core/hooks/useElementRect/useElementRect.ts +0 -14
  88. package/src/core/hooks/useElementSize.ts +0 -19
  89. package/src/core/hooks/useForwardedRef.ts +0 -20
  90. package/src/core/hooks/useGlobalKeyDown.ts +0 -24
  91. package/src/core/hooks/useIsomorphicEffect.ts +0 -7
  92. package/src/core/hooks/useMatchMedia.ts +0 -28
  93. package/src/core/hooks/useMediaIndex/index.ts +0 -1
  94. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +0 -37
  95. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +0 -102
  96. package/src/core/hooks/useMounted.ts +0 -15
  97. package/src/core/hooks/usePrefersDark.hydration.test.tsx +0 -58
  98. package/src/core/hooks/usePrefersDark.test.tsx +0 -21
  99. package/src/core/hooks/usePrefersDark.ts +0 -16
  100. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +0 -58
  101. package/src/core/hooks/usePrefersReducedMotion.test.tsx +0 -21
  102. package/src/core/hooks/usePrefersReducedMotion.ts +0 -16
  103. package/src/core/index.ts +0 -10
  104. package/src/core/lib/createGlobalScopedContext.ts +0 -37
  105. package/src/core/lib/globalScope.ts +0 -20
  106. package/src/core/lib/isRecord.ts +0 -3
  107. package/src/core/middleware/origin.ts +0 -47
  108. package/src/core/observers/elementSizeObserver.ts +0 -117
  109. package/src/core/observers/index.ts +0 -2
  110. package/src/core/observers/resizeObserver.ts +0 -9
  111. package/src/core/primitives/_selectable/index.ts +0 -1
  112. package/src/core/primitives/_selectable/selectable.tsx +0 -15
  113. package/src/core/primitives/_selectable/style.ts +0 -115
  114. package/src/core/primitives/avatar/avatar.tsx +0 -200
  115. package/src/core/primitives/avatar/avatarCounter.tsx +0 -91
  116. package/src/core/primitives/avatar/avatarStack.tsx +0 -101
  117. package/src/core/primitives/avatar/index.ts +0 -4
  118. package/src/core/primitives/avatar/styles.ts +0 -167
  119. package/src/core/primitives/avatar/types.ts +0 -17
  120. package/src/core/primitives/badge/badge.test.tsx +0 -17
  121. package/src/core/primitives/badge/badge.tsx +0 -72
  122. package/src/core/primitives/badge/index.ts +0 -1
  123. package/src/core/primitives/badge/styles.ts +0 -20
  124. package/src/core/primitives/badge/types.ts +0 -8
  125. package/src/core/primitives/box/box.test.tsx +0 -155
  126. package/src/core/primitives/box/box.tsx +0 -162
  127. package/src/core/primitives/box/index.ts +0 -1
  128. package/src/core/primitives/button/button.test.tsx +0 -86
  129. package/src/core/primitives/button/button.tsx +0 -214
  130. package/src/core/primitives/button/index.ts +0 -1
  131. package/src/core/primitives/button/styles.ts +0 -118
  132. package/src/core/primitives/card/card.tsx +0 -125
  133. package/src/core/primitives/card/index.ts +0 -2
  134. package/src/core/primitives/card/styles.ts +0 -147
  135. package/src/core/primitives/card/types.ts +0 -12
  136. package/src/core/primitives/checkbox/checkbox.tsx +0 -73
  137. package/src/core/primitives/checkbox/index.ts +0 -1
  138. package/src/core/primitives/checkbox/styles.ts +0 -128
  139. package/src/core/primitives/code/code.tsx +0 -56
  140. package/src/core/primitives/code/index.ts +0 -1
  141. package/src/core/primitives/code/refractor.tsx +0 -22
  142. package/src/core/primitives/code/styles.ts +0 -77
  143. package/src/core/primitives/container/container.tsx +0 -55
  144. package/src/core/primitives/container/index.ts +0 -2
  145. package/src/core/primitives/container/styles.ts +0 -23
  146. package/src/core/primitives/container/types.ts +0 -6
  147. package/src/core/primitives/flex/flex.tsx +0 -63
  148. package/src/core/primitives/flex/index.ts +0 -1
  149. package/src/core/primitives/grid/grid.test.tsx +0 -86
  150. package/src/core/primitives/grid/grid.tsx +0 -77
  151. package/src/core/primitives/grid/index.ts +0 -1
  152. package/src/core/primitives/heading/heading.tsx +0 -89
  153. package/src/core/primitives/heading/index.ts +0 -1
  154. package/src/core/primitives/heading/styles.ts +0 -64
  155. package/src/core/primitives/heading/types.ts +0 -7
  156. package/src/core/primitives/index.ts +0 -27
  157. package/src/core/primitives/inline/index.ts +0 -1
  158. package/src/core/primitives/inline/inline.test.tsx +0 -55
  159. package/src/core/primitives/inline/inline.tsx +0 -66
  160. package/src/core/primitives/inline/styles.ts +0 -32
  161. package/src/core/primitives/inline/types.ts +0 -6
  162. package/src/core/primitives/kbd/index.ts +0 -1
  163. package/src/core/primitives/kbd/kbd.tsx +0 -73
  164. package/src/core/primitives/label/index.ts +0 -1
  165. package/src/core/primitives/label/label.tsx +0 -88
  166. package/src/core/primitives/label/styles.ts +0 -45
  167. package/src/core/primitives/popover/constants.ts +0 -22
  168. package/src/core/primitives/popover/floating-ui/size.ts +0 -99
  169. package/src/core/primitives/popover/helpers.ts +0 -31
  170. package/src/core/primitives/popover/index.ts +0 -2
  171. package/src/core/primitives/popover/popover.tsx +0 -512
  172. package/src/core/primitives/popover/popoverCard.tsx +0 -167
  173. package/src/core/primitives/popover/types.ts +0 -6
  174. package/src/core/primitives/radio/index.ts +0 -1
  175. package/src/core/primitives/radio/radio.tsx +0 -51
  176. package/src/core/primitives/radio/styles.ts +0 -117
  177. package/src/core/primitives/select/index.ts +0 -1
  178. package/src/core/primitives/select/select.test.tsx +0 -56
  179. package/src/core/primitives/select/select.tsx +0 -95
  180. package/src/core/primitives/select/styles.ts +0 -166
  181. package/src/core/primitives/spinner/index.ts +0 -1
  182. package/src/core/primitives/spinner/spinner.tsx +0 -46
  183. package/src/core/primitives/stack/index.ts +0 -1
  184. package/src/core/primitives/stack/stack.test.tsx +0 -61
  185. package/src/core/primitives/stack/stack.tsx +0 -59
  186. package/src/core/primitives/stack/styles.ts +0 -33
  187. package/src/core/primitives/switch/index.ts +0 -1
  188. package/src/core/primitives/switch/styles.ts +0 -173
  189. package/src/core/primitives/switch/switch.tsx +0 -68
  190. package/src/core/primitives/text/index.ts +0 -1
  191. package/src/core/primitives/text/styles.ts +0 -74
  192. package/src/core/primitives/text/text.tsx +0 -90
  193. package/src/core/primitives/textArea/index.ts +0 -1
  194. package/src/core/primitives/textArea/textArea.tsx +0 -120
  195. package/src/core/primitives/textInput/index.ts +0 -1
  196. package/src/core/primitives/textInput/textInput.test.tsx +0 -52
  197. package/src/core/primitives/textInput/textInput.tsx +0 -398
  198. package/src/core/primitives/tooltip/constants.ts +0 -23
  199. package/src/core/primitives/tooltip/index.ts +0 -2
  200. package/src/core/primitives/tooltip/tooltip.test.tsx +0 -485
  201. package/src/core/primitives/tooltip/tooltip.tsx +0 -497
  202. package/src/core/primitives/tooltip/tooltipCard.tsx +0 -110
  203. package/src/core/primitives/tooltip/tooltipDelayGroup/index.ts +0 -4
  204. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +0 -11
  205. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +0 -57
  206. package/src/core/primitives/tooltip/tooltipDelayGroup/types.ts +0 -12
  207. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -13
  208. package/src/core/primitives/types.ts +0 -179
  209. package/src/core/styles/border/borderStyle.ts +0 -56
  210. package/src/core/styles/border/index.ts +0 -2
  211. package/src/core/styles/border/types.ts +0 -10
  212. package/src/core/styles/box/boxStyle.ts +0 -69
  213. package/src/core/styles/box/index.ts +0 -2
  214. package/src/core/styles/box/types.ts +0 -11
  215. package/src/core/styles/card/_cardColorStyle.ts +0 -108
  216. package/src/core/styles/card/index.ts +0 -1
  217. package/src/core/styles/flex/flexItemStyle.ts +0 -27
  218. package/src/core/styles/flex/flexStyle.ts +0 -70
  219. package/src/core/styles/flex/index.ts +0 -3
  220. package/src/core/styles/flex/types.ts +0 -24
  221. package/src/core/styles/focusRing/index.ts +0 -25
  222. package/src/core/styles/font/codeFontStyle.ts +0 -13
  223. package/src/core/styles/font/headingFontStyle.ts +0 -13
  224. package/src/core/styles/font/index.ts +0 -6
  225. package/src/core/styles/font/labelFontStyle.ts +0 -13
  226. package/src/core/styles/font/responsiveFont.ts +0 -100
  227. package/src/core/styles/font/textAlignStyle.ts +0 -19
  228. package/src/core/styles/font/textFontStyle.ts +0 -13
  229. package/src/core/styles/font/types.ts +0 -33
  230. package/src/core/styles/grid/gridItemStyle.ts +0 -82
  231. package/src/core/styles/grid/gridStyle.ts +0 -109
  232. package/src/core/styles/grid/index.ts +0 -3
  233. package/src/core/styles/grid/types.ts +0 -37
  234. package/src/core/styles/helpers.ts +0 -72
  235. package/src/core/styles/index.ts +0 -5
  236. package/src/core/styles/input/index.ts +0 -2
  237. package/src/core/styles/input/responsiveInputPaddingStyle.ts +0 -78
  238. package/src/core/styles/input/textInputStyle.ts +0 -263
  239. package/src/core/styles/internal.ts +0 -12
  240. package/src/core/styles/margin/index.ts +0 -2
  241. package/src/core/styles/margin/marginStyle.ts +0 -22
  242. package/src/core/styles/margin/marginsStyle.test.ts +0 -34
  243. package/src/core/styles/margin/types.ts +0 -9
  244. package/src/core/styles/padding/index.ts +0 -2
  245. package/src/core/styles/padding/paddingStyle.test.ts +0 -34
  246. package/src/core/styles/padding/paddingStyle.ts +0 -22
  247. package/src/core/styles/padding/types.ts +0 -12
  248. package/src/core/styles/radius/index.ts +0 -2
  249. package/src/core/styles/radius/radiusStyle.ts +0 -23
  250. package/src/core/styles/radius/types.ts +0 -8
  251. package/src/core/styles/shadow/index.ts +0 -2
  252. package/src/core/styles/shadow/shadowStyle.ts +0 -29
  253. package/src/core/styles/shadow/types.ts +0 -6
  254. package/src/core/styles/types.ts +0 -8
  255. package/src/core/theme/index.ts +0 -5
  256. package/src/core/theme/theme.test.tsx +0 -77
  257. package/src/core/theme/themeColorProvider.tsx +0 -29
  258. package/src/core/theme/themeContext.ts +0 -10
  259. package/src/core/theme/themeProvider.tsx +0 -62
  260. package/src/core/theme/types.ts +0 -12
  261. package/src/core/theme/useRootTheme.ts +0 -18
  262. package/src/core/theme/useTheme.ts +0 -18
  263. package/src/core/types/avatar.ts +0 -14
  264. package/src/core/types/badge.ts +0 -12
  265. package/src/core/types/box.ts +0 -19
  266. package/src/core/types/button.ts +0 -21
  267. package/src/core/types/card.ts +0 -6
  268. package/src/core/types/component.ts +0 -32
  269. package/src/core/types/dialog.ts +0 -4
  270. package/src/core/types/flex.ts +0 -30
  271. package/src/core/types/grid.ts +0 -14
  272. package/src/core/types/gridItem.ts +0 -29
  273. package/src/core/types/index.ts +0 -15
  274. package/src/core/types/placement.ts +0 -18
  275. package/src/core/types/popover.ts +0 -4
  276. package/src/core/types/radius.ts +0 -4
  277. package/src/core/types/selectable.ts +0 -6
  278. package/src/core/types/text.ts +0 -4
  279. package/src/core/utils/arrow/arrow.tsx +0 -124
  280. package/src/core/utils/arrow/cmds.ts +0 -91
  281. package/src/core/utils/arrow/index.ts +0 -1
  282. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +0 -105
  283. package/src/core/utils/boundaryElement/boundaryElementContext.ts +0 -7
  284. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +0 -24
  285. package/src/core/utils/boundaryElement/index.ts +0 -3
  286. package/src/core/utils/boundaryElement/types.ts +0 -7
  287. package/src/core/utils/boundaryElement/useBoundaryElement.ts +0 -26
  288. package/src/core/utils/conditionalWrapper/conditionalWrapper.tsx +0 -22
  289. package/src/core/utils/conditionalWrapper/index.ts +0 -1
  290. package/src/core/utils/elementQuery/elementQuery.tsx +0 -53
  291. package/src/core/utils/elementQuery/helpers.ts +0 -27
  292. package/src/core/utils/elementQuery/index.ts +0 -1
  293. package/src/core/utils/errorBoundary.tsx +0 -48
  294. package/src/core/utils/getElementRef.ts +0 -31
  295. package/src/core/utils/index.ts +0 -9
  296. package/src/core/utils/layer/getLayerContext.test.ts +0 -32
  297. package/src/core/utils/layer/getLayerContext.ts +0 -21
  298. package/src/core/utils/layer/index.ts +0 -4
  299. package/src/core/utils/layer/layer.test.tsx +0 -113
  300. package/src/core/utils/layer/layer.tsx +0 -99
  301. package/src/core/utils/layer/layerContext.ts +0 -7
  302. package/src/core/utils/layer/layerProvider.tsx +0 -111
  303. package/src/core/utils/layer/types.ts +0 -9
  304. package/src/core/utils/layer/useLayer.ts +0 -28
  305. package/src/core/utils/portal/index.ts +0 -4
  306. package/src/core/utils/portal/portal.test.tsx +0 -108
  307. package/src/core/utils/portal/portal.ts +0 -32
  308. package/src/core/utils/portal/portalContext.ts +0 -31
  309. package/src/core/utils/portal/portalProvider.tsx +0 -48
  310. package/src/core/utils/portal/types.ts +0 -9
  311. package/src/core/utils/portal/usePortal.ts +0 -25
  312. package/src/core/utils/spanWithTextOverflow.tsx +0 -10
  313. package/src/core/utils/srOnly/index.ts +0 -1
  314. package/src/core/utils/srOnly/srOnly.tsx +0 -36
  315. package/src/core/utils/virtualList/index.ts +0 -1
  316. package/src/core/utils/virtualList/virtualList.tsx +0 -201
  317. package/src/theme/build/_deprecated/color/_selectable/createSelectableTones.ts +0 -86
  318. package/src/theme/build/_deprecated/color/_solid/createSolidTones.ts +0 -58
  319. package/src/theme/build/_deprecated/color/button/createButtonModes.ts +0 -27
  320. package/src/theme/build/_deprecated/color/button/createButtonTones.ts +0 -60
  321. package/src/theme/build/_deprecated/color/card/createCardStates.ts +0 -66
  322. package/src/theme/build/_deprecated/color/color.test.ts +0 -67
  323. package/src/theme/build/_deprecated/color/defaults.ts +0 -391
  324. package/src/theme/build/_deprecated/color/factory.ts +0 -178
  325. package/src/theme/build/_deprecated/color/index.ts +0 -1
  326. package/src/theme/build/_deprecated/color/input/createInputModes.ts +0 -86
  327. package/src/theme/build/_deprecated/color/muted/createMuted.ts +0 -58
  328. package/src/theme/build/_deprecated/color/spot/createSpot.ts +0 -23
  329. package/src/theme/build/buildColorTheme.test.ts +0 -185
  330. package/src/theme/build/buildColorTheme.ts +0 -507
  331. package/src/theme/build/buildTheme.test.ts +0 -89
  332. package/src/theme/build/buildTheme.ts +0 -36
  333. package/src/theme/build/colorToken/colorToken.ts +0 -19
  334. package/src/theme/build/colorToken/compileColorToken.ts +0 -21
  335. package/src/theme/build/colorToken/index.ts +0 -2
  336. package/src/theme/build/colorToken/types.ts +0 -6
  337. package/src/theme/build/index.ts +0 -3
  338. package/src/theme/build/lib/color-fns/blend/index.ts +0 -3
  339. package/src/theme/build/lib/color-fns/blend/mix.ts +0 -21
  340. package/src/theme/build/lib/color-fns/blend/multiply.ts +0 -18
  341. package/src/theme/build/lib/color-fns/blend/screen.ts +0 -18
  342. package/src/theme/build/lib/color-fns/color-fns.test.ts +0 -70
  343. package/src/theme/build/lib/color-fns/contrastRatio.ts +0 -31
  344. package/src/theme/build/lib/color-fns/convert.ts +0 -150
  345. package/src/theme/build/lib/color-fns/index.ts +0 -6
  346. package/src/theme/build/lib/color-fns/parse.ts +0 -60
  347. package/src/theme/build/lib/color-fns/rgba.ts +0 -10
  348. package/src/theme/build/lib/color-fns/types.ts +0 -28
  349. package/src/theme/build/lib/isRecord.ts +0 -3
  350. package/src/theme/build/lib/lazy.ts +0 -30
  351. package/src/theme/build/lib/utils.ts +0 -19
  352. package/src/theme/build/merge.ts +0 -31
  353. package/src/theme/build/mixThemeColor.test.ts +0 -23
  354. package/src/theme/build/mixThemeColor.ts +0 -53
  355. package/src/theme/build/renderColorTheme.ts +0 -538
  356. package/src/theme/build/renderColorValue.ts +0 -83
  357. package/src/theme/build/resolveColorTokens.ts +0 -274
  358. package/src/theme/build/theme.test.ts +0 -29
  359. package/src/theme/config/helpers.ts +0 -60
  360. package/src/theme/config/index.ts +0 -4
  361. package/src/theme/config/system.ts +0 -117
  362. package/src/theme/config/tokens/color/index.ts +0 -1
  363. package/src/theme/config/tokens/color/types.ts +0 -135
  364. package/src/theme/config/tokens/index.ts +0 -4
  365. package/src/theme/config/tokens/parseTokenKey.test.ts +0 -66
  366. package/src/theme/config/tokens/parseTokenKey.ts +0 -67
  367. package/src/theme/config/tokens/parseTokenValue.test.ts +0 -44
  368. package/src/theme/config/tokens/parseTokenValue.ts +0 -134
  369. package/src/theme/config/tokens/types.ts +0 -53
  370. package/src/theme/config/types.ts +0 -46
  371. package/src/theme/defaults/colorPalette.ts +0 -5
  372. package/src/theme/defaults/colorTokens.ts +0 -648
  373. package/src/theme/defaults/config.ts +0 -84
  374. package/src/theme/defaults/fonts.ts +0 -227
  375. package/src/theme/getScopedTheme.ts +0 -103
  376. package/src/theme/index.ts +0 -5
  377. package/src/theme/system/avatar.ts +0 -14
  378. package/src/theme/system/color/_constants.ts +0 -45
  379. package/src/theme/system/color/_helpers.ts +0 -28
  380. package/src/theme/system/color/_system.ts +0 -40
  381. package/src/theme/system/color/avatar.ts +0 -15
  382. package/src/theme/system/color/badge.ts +0 -16
  383. package/src/theme/system/color/button.ts +0 -17
  384. package/src/theme/system/color/color.ts +0 -34
  385. package/src/theme/system/color/index.ts +0 -13
  386. package/src/theme/system/color/input.ts +0 -25
  387. package/src/theme/system/color/kbd.ts +0 -8
  388. package/src/theme/system/color/selectable.ts +0 -12
  389. package/src/theme/system/color/shadow.ts +0 -7
  390. package/src/theme/system/color/state.ts +0 -43
  391. package/src/theme/system/color/syntax.ts +0 -41
  392. package/src/theme/system/css.ts +0 -14
  393. package/src/theme/system/focusRing.ts +0 -7
  394. package/src/theme/system/font.ts +0 -52
  395. package/src/theme/system/index.ts +0 -11
  396. package/src/theme/system/input.ts +0 -33
  397. package/src/theme/system/layer.ts +0 -8
  398. package/src/theme/system/shadow.ts +0 -19
  399. package/src/theme/system/styles.ts +0 -13
  400. package/src/theme/system/theme.ts +0 -142
  401. package/src/theme/system/v0/avatar.ts +0 -10
  402. package/src/theme/system/v0/color/_generic.ts +0 -35
  403. package/src/theme/system/v0/color/_system.ts +0 -18
  404. package/src/theme/system/v0/color/base.ts +0 -21
  405. package/src/theme/system/v0/color/button.ts +0 -56
  406. package/src/theme/system/v0/color/card.ts +0 -25
  407. package/src/theme/system/v0/color/color.ts +0 -51
  408. package/src/theme/system/v0/color/index.ts +0 -11
  409. package/src/theme/system/v0/color/input.ts +0 -40
  410. package/src/theme/system/v0/color/muted.ts +0 -37
  411. package/src/theme/system/v0/color/selectable.ts +0 -42
  412. package/src/theme/system/v0/color/solid.ts +0 -37
  413. package/src/theme/system/v0/color/spot.ts +0 -14
  414. package/src/theme/system/v0/index.ts +0 -3
  415. package/src/theme/system/v0/input.ts +0 -23
  416. package/src/theme/versioning/getTheme_v2.ts +0 -72
  417. package/src/theme/versioning/index.ts +0 -5
  418. package/src/theme/versioning/is_v0.ts +0 -6
  419. package/src/theme/versioning/is_v2.ts +0 -6
  420. package/src/theme/versioning/themeColor_v0_v2.ts +0 -250
  421. package/src/theme/versioning/themeColor_v2_v2_9.ts +0 -50
  422. package/src/theme/versioning/v0_v2.ts +0 -106
  423. 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
- })