@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,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
- }