@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,21 +0,0 @@
1
- import {RGB, RGBA} from '../types'
2
-
3
- function mixChannel(b: number, s: number, weight: number) {
4
- const diff = s - b
5
-
6
- const delta = diff * weight
7
-
8
- return b + delta
9
- }
10
-
11
- /**
12
- * Apply the \`mix\` blend mode
13
- * @internal
14
- */
15
- export function mix(b: RGB | RGBA, s: RGB | RGBA, weight: number): RGB {
16
- return {
17
- r: mixChannel(b.r, s.r, weight),
18
- g: mixChannel(b.g, s.g, weight),
19
- b: mixChannel(b.b, s.b, weight),
20
- }
21
- }
@@ -1,18 +0,0 @@
1
- import {RGB, RGBA} from '../types'
2
-
3
- function multiplyChannel(b: number, s: number) {
4
- return b * s
5
- }
6
-
7
- /**
8
- * Apply the \`multiply\` blend mode
9
- * Source: https://www.w3.org/TR/compositing-1/#blendingmultiply
10
- * @internal
11
- */
12
- export function multiply(b: RGB | RGBA, s: RGB | RGBA): RGB {
13
- return {
14
- r: multiplyChannel(b.r / 255, s.r / 255) * 255,
15
- g: multiplyChannel(b.g / 255, s.g / 255) * 255,
16
- b: multiplyChannel(b.b / 255, s.b / 255) * 255,
17
- }
18
- }
@@ -1,18 +0,0 @@
1
- import {RGB, RGBA} from '../types'
2
-
3
- function screenChannel(b: number, s: number) {
4
- return b + s - b * s
5
- }
6
-
7
- /**
8
- * Apply the \`screen\` blend mode
9
- * Source: https://www.w3.org/TR/compositing-1/#blendingscreen
10
- * @internal
11
- */
12
- export function screen(b: RGB | RGBA, s: RGB | RGBA): RGB {
13
- return {
14
- r: screenChannel(b.r / 255, s.r / 255) * 255,
15
- g: screenChannel(b.g / 255, s.g / 255) * 255,
16
- b: screenChannel(b.b / 255, s.b / 255) * 255,
17
- }
18
- }
@@ -1,70 +0,0 @@
1
- /** @vitest-environment jsdom */
2
-
3
- import {describe, expect, it} from 'vitest'
4
-
5
- import {multiply, screen} from './blend'
6
- import {hexToRgb, rgbToHex} from './convert'
7
- import {parseColor} from './parse'
8
- import {rgba} from './rgba'
9
-
10
- const hues = {
11
- gray: {
12
- 600: '#6e7683',
13
- },
14
- blue: {
15
- 500: '#2276fc',
16
- },
17
- }
18
-
19
- describe('color-fns', () => {
20
- describe('hexToRgb', () => {
21
- it('should convert hex to RGB', () => {
22
- const hex = '#ff0000'
23
- const rgb = hexToRgb(hex)
24
-
25
- expect(rgbToHex(rgb)).toEqual('#ff0000')
26
- })
27
- })
28
-
29
- describe('screen', () => {
30
- it('should blend color using the "screen" mode', () => {
31
- const backdrop = hexToRgb(hues.blue[500])
32
- const source = hexToRgb(hues.gray[600])
33
- const rgb = screen(backdrop, source)
34
-
35
- expect(rgbToHex(rgb)).toEqual('#81b5fe')
36
- })
37
- })
38
-
39
- describe('multiply', () => {
40
- it('should blend color using the "multiply" mode', () => {
41
- const backdrop = hexToRgb(hues.blue[500])
42
- const source = hexToRgb(hues.gray[600])
43
- const rgb = multiply(backdrop, source)
44
-
45
- expect(rgbToHex(rgb)).toEqual('#0f3781')
46
- })
47
- })
48
-
49
- describe('parseColor', () => {
50
- it('should parse a hex to RGB', () => {
51
- const rgb = parseColor('#ccc')
52
-
53
- expect(rgbToHex(rgb)).toEqual('#cccccc')
54
- })
55
-
56
- it('should parse a HSL to RGB', () => {
57
- const rgb1 = parseColor('hsl(210, 20%, 50%)')
58
- const rgb2 = parseColor('hsl(210, 10%, 0%)')
59
-
60
- expect(rgbToHex(rgb1)).toEqual('#668099')
61
- expect(rgbToHex(rgb2)).toEqual('#000000')
62
- })
63
- })
64
-
65
- describe('helpers/rgba', () => {
66
- it('should convert hex to RGBA string', () => {
67
- expect(rgba('#f00', 0.5)).toBe(`rgba(255,0,0,0.5)`)
68
- })
69
- })
70
- })
@@ -1,31 +0,0 @@
1
- import {parseColor} from './parse'
2
- import {RGB, RGBA} from './types'
3
-
4
- /** @internal */
5
- export function getContrastRatio(bg: string, fg: string): number {
6
- const rgb1 = parseColor(bg) // bg: RGB | RGBA, fg: RGB | RGBA
7
- const rgb2 = parseColor(fg)
8
-
9
- // convert the two colors from sRGB to linear-light RGB
10
- const c1 = rgb_lrgb(rgb1)
11
- const c2 = rgb_lrgb(rgb2)
12
-
13
- // compute the relative luminances
14
- const l1 = lrgb_luminance(c1)
15
- const l2 = lrgb_luminance(c2)
16
-
17
- // compute the contrast ratio
18
- return (Math.max(l1, l2) + 0.05) / (Math.min(l1, l2) + 0.05)
19
- }
20
-
21
- function rgb_lrgb({r, g, b}: RGB | RGBA): [number, number, number] {
22
- return [rgb_lrgb1(r / 255), rgb_lrgb1(g / 255), rgb_lrgb1(b / 255)]
23
- }
24
-
25
- function rgb_lrgb1(v: number) {
26
- return v <= 0.04045 ? v / 12.92 : ((v + 0.055) / 1.055) ** 2.4
27
- }
28
-
29
- function lrgb_luminance([r, g, b]: [number, number, number]) {
30
- return 0.2126 * r + 0.7152 * g + 0.0722 * b
31
- }
@@ -1,150 +0,0 @@
1
- import {clamp, round} from '../utils'
2
- import {HSL, RGB, RGBA} from './types'
3
-
4
- /**
5
- * @internal
6
- */
7
- export function hexToRgb(hex: string): RGB {
8
- if (hex.length === 4) {
9
- const hexR = hex.slice(1, 2)
10
- const hexG = hex.slice(2, 3)
11
- const hexB = hex.slice(3, 4)
12
-
13
- return {
14
- r: parseInt(hexR + hexR, 16),
15
- g: parseInt(hexG + hexG, 16),
16
- b: parseInt(hexB + hexB, 16),
17
- }
18
- }
19
-
20
- return {
21
- r: parseInt(hex.slice(1, 3), 16),
22
- g: parseInt(hex.slice(3, 5), 16),
23
- b: parseInt(hex.slice(5, 7), 16),
24
- }
25
- }
26
-
27
- /**
28
- * @internal
29
- */
30
- export function rgbaToRGBA(rgba: string): RGBA {
31
- const values = rgba.replace(/rgba\(|\)/g, '').split(',')
32
-
33
- return {
34
- r: parseInt(values[0]),
35
- g: parseInt(values[1]),
36
- b: parseInt(values[2]),
37
- a: parseFloat(values[3]),
38
- }
39
- }
40
-
41
- /**
42
- * @internal
43
- */
44
- export function rgbToHex(color: RGB | RGBA): string {
45
- const r = round(clamp(Math.round(color.r), 0, 255))
46
- const g = round(clamp(Math.round(color.g), 0, 255))
47
- const b = round(clamp(Math.round(color.b), 0, 255))
48
-
49
- if ('a' in color) {
50
- return `rgba(${r},${g},${b},${color.a})`
51
- }
52
-
53
- return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)
54
- }
55
-
56
- /**
57
- * @internal
58
- * @see https://css-tricks.com/converting-color-spaces-in-javascript/
59
- */
60
- export function rgbToHsl({r, g, b}: RGB): HSL {
61
- // Make r, g, and b fractions of 1
62
- r /= 255
63
- g /= 255
64
- b /= 255
65
-
66
- // Find greatest and smallest channel values
67
- const cmin = Math.min(r, g, b)
68
- const cmax = Math.max(r, g, b)
69
- const delta = cmax - cmin
70
-
71
- let h = 0
72
- let s = 0
73
- let l = 0
74
-
75
- // Calculate hue
76
- // No difference
77
- if (delta == 0) h = 0
78
- // Red is max
79
- else if (cmax == r) h = ((g - b) / delta) % 6
80
- // Green is max
81
- else if (cmax == g) h = (b - r) / delta + 2
82
- // Blue is max
83
- else h = (r - g) / delta + 4
84
-
85
- h = Math.round(h * 60)
86
-
87
- // Make negative hues positive behind 360°
88
- if (h < 0) h += 360
89
-
90
- // Calculate lightness
91
- l = (cmax + cmin) / 2
92
-
93
- // Calculate saturation
94
- s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1))
95
-
96
- // Multiply l and s by 100
97
- s = +(s * 100).toFixed(1)
98
- l = +(l * 100).toFixed(1)
99
-
100
- return {h, s, l}
101
- }
102
-
103
- /**
104
- * @internal
105
- */
106
- export function hslToRgb(hsl: HSL): RGB {
107
- // Must be fractions of 1
108
- const s = hsl.s / 100
109
- const l = hsl.l / 100
110
-
111
- const c = (1 - Math.abs(2 * l - 1)) * s
112
- const x = c * (1 - Math.abs(((hsl.h / 60) % 2) - 1))
113
- const m = l - c / 2
114
-
115
- let r = 0
116
- let g = 0
117
- let b = 0
118
-
119
- if (0 <= hsl.h && hsl.h < 60) {
120
- r = c
121
- g = x
122
- b = 0
123
- } else if (60 <= hsl.h && hsl.h < 120) {
124
- r = x
125
- g = c
126
- b = 0
127
- } else if (120 <= hsl.h && hsl.h < 180) {
128
- r = 0
129
- g = c
130
- b = x
131
- } else if (180 <= hsl.h && hsl.h < 240) {
132
- r = 0
133
- g = x
134
- b = c
135
- } else if (240 <= hsl.h && hsl.h < 300) {
136
- r = x
137
- g = 0
138
- b = c
139
- } else if (300 <= hsl.h && hsl.h < 360) {
140
- r = c
141
- g = 0
142
- b = x
143
- }
144
-
145
- return {
146
- r: Math.round((r + m) * 255),
147
- g: Math.round((g + m) * 255),
148
- b: Math.round((b + m) * 255),
149
- }
150
- }
@@ -1,6 +0,0 @@
1
- export * from './blend'
2
- export * from './contrastRatio'
3
- export * from './convert'
4
- export * from './parse'
5
- export * from './rgba'
6
- export * from './types'
@@ -1,60 +0,0 @@
1
- import {hexToRgb, hslToRgb, rgbaToRGBA} from './convert'
2
- import {HSL, RGB, RGBA} from './types'
3
-
4
- const HEX_CHARS = '0123456789ABCDEFabcdef'
5
-
6
- const HSL_RE = /hsl\(\s*(\d+)\s*,\s*((\d+(?:\.\d+)?)%)\s*,\s*((\d+(?:\.\d+)?)%)\s*\)/i
7
-
8
- function isHexChars(str: string) {
9
- for (const c of str) {
10
- if (HEX_CHARS.indexOf(c) === -1) {
11
- return false
12
- }
13
- }
14
-
15
- return true
16
- }
17
-
18
- function isHex(str: string) {
19
- if (str[0] !== '#') return false
20
-
21
- // Accept both #000 and #000000
22
- if (!(str.length === 4 || str.length === 7)) return false
23
-
24
- return isHexChars(str.slice(1))
25
- }
26
-
27
- function parseHsl(str: string): HSL {
28
- const res = HSL_RE.exec(str)
29
-
30
- if (!res) {
31
- throw new Error(`parseHsl: string is not a HSL color: "${str}"`)
32
- }
33
-
34
- return {h: parseInt(res[1]), s: parseFloat(res[3]), l: parseFloat(res[5])}
35
- }
36
-
37
- /**
38
- * @internal
39
- */
40
- export function parseColor(color: unknown): RGB | RGBA {
41
- if (!color) return {r: 0, g: 0, b: 0}
42
-
43
- if (typeof color !== 'string') {
44
- throw new Error('parseColor: expected a string')
45
- }
46
-
47
- if (isHex(color)) {
48
- return hexToRgb(color)
49
- }
50
-
51
- if (color.startsWith('hsl(')) {
52
- return hslToRgb(parseHsl(color))
53
- }
54
-
55
- if (color.startsWith('rgba(')) {
56
- return rgbaToRGBA(color)
57
- }
58
-
59
- throw new Error(`parseColor: unexpected color format: "${color}"`)
60
- }
@@ -1,10 +0,0 @@
1
- import {parseColor} from './parse'
2
-
3
- /**
4
- * @internal
5
- */
6
- export function rgba(color: unknown, a: number): string {
7
- const rgb = parseColor(color)
8
-
9
- return `rgba(${rgb.r},${rgb.g},${rgb.b},${a})`
10
- }
@@ -1,28 +0,0 @@
1
- /**
2
- * @internal
3
- */
4
- export interface RGB {
5
- r: number
6
- g: number
7
- b: number
8
- a?: undefined
9
- }
10
-
11
- /**
12
- * @internal
13
- */
14
- export interface RGBA {
15
- r: number
16
- g: number
17
- b: number
18
- a: number
19
- }
20
-
21
- /**
22
- * @internal
23
- */
24
- export interface HSL {
25
- h: number
26
- s: number
27
- l: number
28
- }
@@ -1,3 +0,0 @@
1
- export function isRecord(value: unknown): value is Record<string, unknown> {
2
- return Boolean(value && typeof value === 'object' && !Array.isArray(value))
3
- }
@@ -1,30 +0,0 @@
1
- /**
2
- * Defines a lazy, self-replacing property on `obj`.
3
- *
4
- * On first access the `factory` is called and the getter is replaced with the
5
- * computed plain value — subsequent reads have zero overhead.
6
- *
7
- * The property is enumerable (visible in `Object.keys` / spread) in both states.
8
- *
9
- * @internal
10
- */
11
- export function defineLazyProperty<T extends object, K extends keyof T>(
12
- obj: T,
13
- key: K,
14
- factory: () => T[K],
15
- ): void {
16
- Object.defineProperty(obj, key, {
17
- get() {
18
- const value = factory()
19
- Object.defineProperty(obj, key, {
20
- value,
21
- enumerable: true,
22
- writable: false,
23
- configurable: false,
24
- })
25
- return value
26
- },
27
- enumerable: true,
28
- configurable: true,
29
- })
30
- }
@@ -1,19 +0,0 @@
1
- export function lerp(x: number, y: number, a: number): number {
2
- return x * (1 - a) + y * a
3
- }
4
-
5
- export function invlerp(x: number, y: number, a: number): number {
6
- return clamp((a - x) / (y - x))
7
- }
8
-
9
- export function clamp(a: number, min = 0, max = 1): number {
10
- return Math.min(max, Math.max(min, a))
11
- }
12
-
13
- export function range(x1: number, y1: number, x2: number, y2: number, a: number): number {
14
- return lerp(x2, y2, invlerp(x1, y1, a))
15
- }
16
-
17
- export function round(value: number): number {
18
- return Math.round(value)
19
- }
@@ -1,31 +0,0 @@
1
- import {isRecord} from './lib/isRecord'
2
-
3
- export function merge<T extends Record<string, any>>(...records: (T | undefined)[]): T {
4
- // oxlint-disable-next-line no-unsafe-type-assertion
5
- const _records = records.filter(Boolean) as T[]
6
-
7
- if (_records.length === 0) {
8
- // oxlint-disable-next-line no-unsafe-type-assertion
9
- return {} as T
10
- }
11
-
12
- // oxlint-disable-next-line no-unsafe-type-assertion
13
- return _records.reduce(_merge, {} as T)
14
- }
15
-
16
- function _merge<T extends Record<string, any>>(acc: T, source: T): T {
17
- for (const key of Object.keys(source)) {
18
- const prevValue = acc[key]
19
- const nextValue = source[key]
20
-
21
- if (isRecord(prevValue) && isRecord(nextValue)) {
22
- // oxlint-disable-next-line no-unsafe-type-assertion
23
- ;(acc as any)[key] = merge(prevValue, nextValue)
24
- } else {
25
- // oxlint-disable-next-line no-unsafe-type-assertion
26
- ;(acc as any)[key] = nextValue
27
- }
28
- }
29
-
30
- return acc
31
- }
@@ -1,23 +0,0 @@
1
- import {expect, test} from 'vitest'
2
-
3
- import {mixThemeColor} from './mixThemeColor'
4
-
5
- test('mix 1', () => {
6
- const result = mixThemeColor('#222222', {
7
- black: '#222222',
8
- white: '#ffffff',
9
- blendMode: 'multiply',
10
- })
11
-
12
- expect(result).toBe('#222222')
13
- })
14
-
15
- test('mix 2', () => {
16
- const result = mixThemeColor('#ffffff', {
17
- black: '#222222',
18
- white: '#ffffff',
19
- blendMode: 'multiply',
20
- })
21
-
22
- expect(result).toBe('#ffffff')
23
- })
@@ -1,53 +0,0 @@
1
- import {multiply, parseColor, RGB, rgbToHex, screen} from './lib/color-fns'
2
- import {clamp, range} from './lib/utils'
3
-
4
- const RGB_RANGE: [number, number] = [0, 255]
5
-
6
- export function mixThemeColor(
7
- value: string,
8
- options: {
9
- bg?: string
10
- blendMode: 'multiply' | 'screen'
11
- black: string
12
- white: string
13
- },
14
- ): string {
15
- const {blendMode} = options
16
-
17
- const color = parseColor(value)
18
- const black = parseColor(options.black)
19
- const white = parseColor(options.white)
20
-
21
- const bg = options.bg ? parseColor(options.bg) : blendMode === 'multiply' ? white : black
22
-
23
- const paletteRange: {r: [number, number]; g: [number, number]; b: [number, number]} = {
24
- r: [black.r, white.r],
25
- g: [black.g, white.g],
26
- b: [black.b, white.b],
27
- }
28
-
29
- const convertedBgColor: RGB = {
30
- r: clamp(range(...paletteRange.r, ...RGB_RANGE, bg.r), ...RGB_RANGE),
31
- g: clamp(range(...paletteRange.g, ...RGB_RANGE, bg.g), ...RGB_RANGE),
32
- b: clamp(range(...paletteRange.b, ...RGB_RANGE, bg.b), ...RGB_RANGE),
33
- }
34
-
35
- const convertedColor: RGB = {
36
- r: clamp(range(...paletteRange.r, ...RGB_RANGE, color.r), ...RGB_RANGE),
37
- g: clamp(range(...paletteRange.g, ...RGB_RANGE, color.g), ...RGB_RANGE),
38
- b: clamp(range(...paletteRange.b, ...RGB_RANGE, color.b), ...RGB_RANGE),
39
- }
40
-
41
- const resultColor =
42
- blendMode === 'multiply'
43
- ? multiply(convertedBgColor, convertedColor)
44
- : screen(convertedBgColor, convertedColor)
45
-
46
- const v: RGB = {
47
- r: clamp(range(...RGB_RANGE, ...paletteRange.r, resultColor.r), ...paletteRange.r),
48
- g: clamp(range(...RGB_RANGE, ...paletteRange.g, resultColor.g), ...paletteRange.g),
49
- b: clamp(range(...RGB_RANGE, ...paletteRange.b, resultColor.b), ...paletteRange.b),
50
- }
51
-
52
- return rgbToHex(v)
53
- }