@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,28 +0,0 @@
1
- import {useContext} from 'react'
2
-
3
- import {getLayerContext} from './getLayerContext'
4
- import {LayerContext} from './layerContext'
5
- import {LayerContextValue} from './types'
6
-
7
- /**
8
- * @public
9
- */
10
- export function useLayer(): LayerContextValue {
11
- const value = useContext(LayerContext)
12
-
13
- if (!value) {
14
- throw new Error('useLayer(): missing context value')
15
- }
16
-
17
- try {
18
- return getLayerContext(value)
19
- } catch (err) {
20
- if (err instanceof Error) {
21
- // oxlint-disable-next-line preserve-caught-error
22
- throw new Error(`useLayer(): ${err.message}`)
23
- } else {
24
- // oxlint-disable-next-line preserve-caught-error, restrict-template-expressions
25
- throw new Error(`useLayer(): ${err}`)
26
- }
27
- }
28
- }
@@ -1,4 +0,0 @@
1
- export * from './portal'
2
- export * from './portalProvider'
3
- export * from './types'
4
- export * from './usePortal'
@@ -1,108 +0,0 @@
1
- /** @vitest-environment jsdom */
2
-
3
- import {describe, expect, it, vi} from 'vitest'
4
-
5
- import {render} from '../../../../test'
6
- import {PortalContext} from './portalContext'
7
- import {PortalContextValue} from './types'
8
- import {usePortal} from './usePortal'
9
-
10
- describe('utils/portal', () => {
11
- describe('usePortal', () => {
12
- it('should get context value', async () => {
13
- const log = vi.fn()
14
-
15
- function Debug() {
16
- const rootPortal = usePortal()
17
-
18
- log(rootPortal)
19
-
20
- return <>debug</>
21
- }
22
-
23
- function Root() {
24
- const value: PortalContextValue = {
25
- version: 0.0,
26
- boundaryElement: null,
27
- element: null,
28
- }
29
-
30
- return (
31
- // oxlint-disable-next-line jsx-no-constructed-context-values
32
- <PortalContext.Provider value={value}>
33
- <Debug />
34
- </PortalContext.Provider>
35
- )
36
- }
37
-
38
- render(<Root />)
39
-
40
- expect(log.mock.calls[0][0].version).toBe(0.0)
41
- expect(log.mock.calls[0][0].boundaryElement).toBe(null)
42
- expect(log.mock.calls[0][0].element).toBe(null)
43
- })
44
-
45
- it('should fail when no context value is provided', async () => {
46
- const log = vi.fn()
47
-
48
- function Debug() {
49
- try {
50
- usePortal()
51
- } catch (err) {
52
- log(err)
53
- }
54
-
55
- return null
56
- }
57
-
58
- function Root() {
59
- const value = undefined
60
-
61
- return (
62
- // oxlint-disable-next-line no-unsafe-type-assertion
63
- <PortalContext.Provider value={value as any}>
64
- <Debug />
65
- </PortalContext.Provider>
66
- )
67
- }
68
-
69
- render(<Root />)
70
-
71
- expect(log.mock.calls[0][0].message).toEqual('usePortal(): missing context value')
72
- })
73
-
74
- it('should fail when context value is not compatible', async () => {
75
- const log = vi.fn()
76
-
77
- function Debug() {
78
- try {
79
- usePortal()
80
- } catch (err) {
81
- log(err)
82
- }
83
-
84
- return null
85
- }
86
-
87
- function Root() {
88
- // NOTE: we’re testing this because the context value may be a function in the future
89
- const value = () => {
90
- return {version: 1}
91
- }
92
-
93
- return (
94
- // oxlint-disable-next-line jsx-no-constructed-context-values, no-unsafe-type-assertion
95
- <PortalContext.Provider value={value as any}>
96
- <Debug />
97
- </PortalContext.Provider>
98
- )
99
- }
100
-
101
- render(<Root />)
102
-
103
- expect(log.mock.calls[0][0].message).toEqual(
104
- 'usePortal(): the context value is not compatible',
105
- )
106
- })
107
- })
108
- })
@@ -1,32 +0,0 @@
1
- import {createPortal} from 'react-dom'
2
-
3
- import {usePortal} from './usePortal'
4
-
5
- /**
6
- * @public
7
- */
8
- export interface PortalProps {
9
- children: React.ReactNode
10
- /**
11
- * @beta This API might change. DO NOT USE IN PRODUCTION.
12
- */
13
- __unstable_name?: string
14
- }
15
-
16
- /**
17
- * @public
18
- */
19
- export function Portal(props: PortalProps): React.ReactPortal | null {
20
- const {children, __unstable_name: name} = props
21
- const portal = usePortal()
22
- const portalElement =
23
- (name ? portal.elements && portal.elements[name] : portal.element) || portal.elements?.default
24
-
25
- if (!portalElement) {
26
- return null
27
- }
28
-
29
- return createPortal(children, portalElement)
30
- }
31
-
32
- Portal.displayName = 'Portal'
@@ -1,31 +0,0 @@
1
- import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'
2
- import {globalScope} from '../../lib/globalScope'
3
- import {PortalContextValue} from './types'
4
-
5
- const key = '@sanity/ui/context/portal'
6
- const elementKey = Symbol.for(`${key}/element`)
7
-
8
- globalScope[elementKey] = null
9
-
10
- export const defaultContextValue: PortalContextValue = {
11
- version: 0.0,
12
- boundaryElement: null,
13
- get element() {
14
- if (typeof document === 'undefined') {
15
- return null
16
- }
17
-
18
- if (globalScope[elementKey]) {
19
- return globalScope[elementKey]
20
- }
21
-
22
- globalScope[elementKey] = document.createElement('div')
23
- globalScope[elementKey].setAttribute('data-portal', '')
24
-
25
- document.body.appendChild(globalScope[elementKey])
26
-
27
- return globalScope[elementKey]
28
- },
29
- }
30
-
31
- export const PortalContext = createGlobalScopedContext<PortalContextValue>(key, defaultContextValue)
@@ -1,48 +0,0 @@
1
- import {useMemo, useSyncExternalStore} from 'react'
2
-
3
- import {PortalContext} from './portalContext'
4
- import {PortalContextValue} from './types'
5
-
6
- /**
7
- * @public
8
- */
9
- export interface PortalProviderProps {
10
- /**
11
- * @deprecated Use `<BoundaryElementProvider element={...} />` instead
12
- */
13
- boundaryElement?: HTMLElement | null
14
- children: React.ReactNode
15
- element?: HTMLElement | null
16
- /**
17
- * @beta
18
- */
19
- __unstable_elements?: Record<string, HTMLElement | null | undefined>
20
- }
21
-
22
- /**
23
- * @public
24
- */
25
- export function PortalProvider(props: PortalProviderProps): React.JSX.Element {
26
- // oxlint-disable-next-line no-deprecated
27
- const {boundaryElement, children, element, __unstable_elements: elements} = props
28
- const fallbackElement = useSyncExternalStore(
29
- emptySubscribe,
30
- () => document.body,
31
- () => null,
32
- )
33
-
34
- const value: PortalContextValue = useMemo(() => {
35
- return {
36
- version: 0.0,
37
- boundaryElement: boundaryElement || null,
38
- element: element || fallbackElement,
39
- elements,
40
- }
41
- }, [boundaryElement, element, elements, fallbackElement])
42
-
43
- return <PortalContext.Provider value={value}>{children}</PortalContext.Provider>
44
- }
45
-
46
- PortalProvider.displayName = 'PortalProvider'
47
-
48
- const emptySubscribe = () => () => {}
@@ -1,9 +0,0 @@
1
- /**
2
- * @public
3
- */
4
- export interface PortalContextValue {
5
- version: 0.0
6
- boundaryElement: HTMLElement | null
7
- element: HTMLElement | null
8
- elements?: Record<string, HTMLElement | null | undefined>
9
- }
@@ -1,25 +0,0 @@
1
- import {useContext} from 'react'
2
-
3
- import {isRecord} from '../../lib/isRecord'
4
- import {PortalContext} from './portalContext'
5
- import {PortalContextValue} from './types'
6
-
7
- /**
8
- * @public
9
- */
10
- export function usePortal(): PortalContextValue {
11
- const value = useContext(PortalContext)
12
-
13
- if (!value) {
14
- throw new Error('usePortal(): missing context value')
15
- }
16
-
17
- // NOTE: This check is for future-compatiblity
18
- // - If the value is not an object, it’s not compatible with the current version
19
- // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version
20
- if (!isRecord(value) || value.version !== 0.0) {
21
- throw new Error('usePortal(): the context value is not compatible')
22
- }
23
-
24
- return value
25
- }
@@ -1,10 +0,0 @@
1
- import {styled} from 'styled-components'
2
-
3
- /** @internal */
4
- export const SpanWithTextOverflow = styled.span`
5
- display: block;
6
- white-space: nowrap;
7
- text-overflow: ellipsis;
8
- overflow: hidden;
9
- overflow: clip;
10
- `
@@ -1 +0,0 @@
1
- export * from './srOnly'
@@ -1,36 +0,0 @@
1
- import {forwardRef} from 'react'
2
- import {styled} from 'styled-components'
3
-
4
- /**
5
- * @public
6
- */
7
- export interface SrOnlyProps {
8
- as?: React.ElementType | keyof React.JSX.IntrinsicElements
9
- children?: React.ReactNode
10
- }
11
-
12
- const StyledSrOnly = styled.div`
13
- display: block;
14
- width: 0;
15
- height: 0;
16
- position: absolute;
17
- overflow: hidden;
18
- overflow: clip;
19
- `
20
-
21
- /**
22
- * @public
23
- */
24
- export const SrOnly = forwardRef(function SrOnly(
25
- props: SrOnlyProps & Omit<React.HTMLProps<HTMLDivElement>, 'aria-hidden' | 'as'>,
26
- ref: React.Ref<HTMLDivElement>,
27
- ) {
28
- const {as, children} = props
29
-
30
- return (
31
- <StyledSrOnly aria-hidden as={as} data-ui="SrOnly" ref={ref}>
32
- {children}
33
- </StyledSrOnly>
34
- )
35
- })
36
- SrOnly.displayName = 'ForwardRef(SrOnly)'
@@ -1 +0,0 @@
1
- export * from './virtualList'
@@ -1,201 +0,0 @@
1
- import {forwardRef, useEffect, useImperativeHandle, useRef, useState} from 'react'
2
- import {styled} from 'styled-components'
3
-
4
- import {_isScrollable} from '../../helpers'
5
- import {_ResizeObserver} from '../../observers'
6
- import {StackOwnProps} from '../../primitives'
7
- import {useTheme_v2} from '../../theme'
8
-
9
- /**
10
- * @beta
11
- */
12
- export interface VirtualListChangeOpts {
13
- fromIndex: number
14
- gap: number
15
- itemHeight: number
16
- scrollHeight: number
17
- scrollTop: number
18
- toIndex: number
19
- }
20
-
21
- /**
22
- * @beta
23
- */
24
- export interface VirtualListProps<Item = any> {
25
- as?: React.ElementType | keyof React.JSX.IntrinsicElements
26
- gap?: number
27
- getItemKey?: (item: Item, itemIndex: number) => string
28
- items?: Item[]
29
- onChange?: (opts: VirtualListChangeOpts) => void
30
- renderItem?: (item: Item) => React.ReactNode
31
- }
32
-
33
- const StyledVirtualList = styled.div`
34
- position: relative;
35
- `
36
-
37
- const ItemWrapper = styled.div`
38
- position: absolute;
39
- left: 0;
40
- right: 0;
41
- `
42
-
43
- /**
44
- * @beta
45
- */
46
- export const VirtualList = forwardRef(function VirtualList(
47
- props: VirtualListProps &
48
- StackOwnProps &
49
- Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'onChange' | 'ref'>,
50
- forwardedRef: React.ForwardedRef<HTMLDivElement>,
51
- ): React.JSX.Element {
52
- const {as = 'div', gap = 0, getItemKey, items = [], onChange, renderItem, ...restProps} = props
53
- const {space} = useTheme_v2()
54
- const ref = useRef<HTMLDivElement | null>(null)
55
- const wrapperRef = useRef<HTMLDivElement | null>(null)
56
- const [scrollTop, setScrollTop] = useState(0)
57
- const [scrollHeight, setScrollHeight] = useState(0)
58
- const [itemHeight, setItemHeight] = useState(-1)
59
-
60
- // Sync ref to parent
61
- useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)
62
-
63
- useEffect(() => {
64
- if (!wrapperRef.current) return
65
-
66
- const firstElement = wrapperRef.current.firstChild
67
-
68
- if (firstElement instanceof HTMLElement) {
69
- setItemHeight(firstElement.offsetHeight)
70
- }
71
- }, [renderItem])
72
-
73
- useEffect((): (() => void) | undefined => {
74
- if (!ref.current) return
75
-
76
- const scrollEl = findScrollable(ref.current.parentNode)
77
-
78
- if (scrollEl) {
79
- if (!(scrollEl instanceof HTMLElement)) return
80
-
81
- const handleScroll = () => {
82
- setScrollTop(scrollEl.scrollTop)
83
- }
84
-
85
- scrollEl.addEventListener('scroll', handleScroll, {passive: true})
86
-
87
- const ro = new _ResizeObserver((entries) => {
88
- setScrollHeight(entries[0].contentRect.height)
89
- })
90
-
91
- ro.observe(scrollEl)
92
-
93
- handleScroll()
94
-
95
- // oxlint-disable-next-line consistent-return
96
- return () => {
97
- scrollEl.removeEventListener('scroll', handleScroll)
98
-
99
- ro.unobserve(scrollEl)
100
- ro.disconnect()
101
- }
102
- }
103
-
104
- const handleScroll = () => {
105
- setScrollTop(window.scrollY)
106
- }
107
-
108
- const handleResize = () => {
109
- setScrollHeight(window.innerHeight)
110
- }
111
-
112
- window.addEventListener('scroll', handleScroll, {passive: true})
113
- window.addEventListener('resize', handleResize)
114
-
115
- setScrollHeight(window.innerHeight)
116
-
117
- handleScroll()
118
-
119
- // oxlint-disable-next-line consistent-return
120
- return () => {
121
- window.removeEventListener('scroll', handleScroll)
122
- window.removeEventListener('resize', handleResize)
123
- }
124
- }, [])
125
-
126
- const len = items.length
127
- const height = itemHeight ? len * (itemHeight + space[gap]) - space[gap] : 0
128
- const fromIndex = height ? Math.max(Math.floor((scrollTop / height) * len) - 2, 0) : 0
129
- const toIndex = height ? Math.ceil(((scrollTop + scrollHeight) / height) * len) + 1 : 0
130
-
131
- useEffect(() => {
132
- if (!onChange) return
133
- onChange({fromIndex, gap: space[gap], itemHeight, scrollHeight, scrollTop, toIndex})
134
- }, [fromIndex, gap, itemHeight, onChange, scrollHeight, scrollTop, space, toIndex])
135
-
136
- const children = useChildren({
137
- fromIndex,
138
- gap,
139
- itemHeight,
140
- space,
141
- toIndex,
142
- getItemKey,
143
- items,
144
- renderItem,
145
- })
146
-
147
- return (
148
- <StyledVirtualList as={as} data-ui="VirtualList" {...restProps} ref={ref}>
149
- <div ref={wrapperRef} style={{height}}>
150
- {children}
151
- </div>
152
- </StyledVirtualList>
153
- )
154
- })
155
- VirtualList.displayName = 'ForwardRef(VirtualList)'
156
-
157
- function useChildren({
158
- fromIndex,
159
- gap,
160
- getItemKey,
161
- itemHeight,
162
- items,
163
- renderItem,
164
- space,
165
- toIndex,
166
- }: Pick<VirtualListProps, 'getItemKey' | 'renderItem'> &
167
- Required<Pick<VirtualListProps, 'items'>> & {
168
- fromIndex: number
169
- gap: number
170
- itemHeight: number
171
- space: number[]
172
- toIndex: number
173
- }) {
174
- if (!renderItem || items.length === 0) return null
175
-
176
- if (itemHeight === -1) {
177
- return [<ItemWrapper key={0}>{renderItem(items[0])}</ItemWrapper>]
178
- }
179
-
180
- return items.slice(fromIndex, toIndex).map((item, _itemIndex) => {
181
- const itemIndex = fromIndex + _itemIndex
182
- const node = renderItem(item)
183
- const key = getItemKey ? getItemKey(item, itemIndex) : itemIndex
184
-
185
- return (
186
- <ItemWrapper key={key} style={{top: itemIndex * (itemHeight + space[gap])}}>
187
- {node}
188
- </ItemWrapper>
189
- )
190
- })
191
- }
192
-
193
- function findScrollable(parentNode: ParentNode | null) {
194
- let _scrollEl = parentNode
195
-
196
- while (_scrollEl && !_isScrollable(_scrollEl)) {
197
- _scrollEl = _scrollEl.parentNode
198
- }
199
-
200
- return _scrollEl
201
- }
@@ -1,86 +0,0 @@
1
- import {
2
- ThemeColorBase,
3
- ThemeColorMuted,
4
- ThemeColorSelectable,
5
- ThemeColorSelectableStates,
6
- ThemeColorSolid,
7
- } from '../../../../system'
8
- import {ThemeColorBuilderOpts} from '../factory'
9
-
10
- export function createSelectableTones(
11
- // oxlint-disable-next-line no-deprecated
12
- opts: ThemeColorBuilderOpts,
13
- // oxlint-disable-next-line no-deprecated
14
- base: ThemeColorBase,
15
- dark: boolean,
16
- // oxlint-disable-next-line no-deprecated
17
- solid: ThemeColorSolid,
18
- // oxlint-disable-next-line no-deprecated
19
- muted: ThemeColorMuted,
20
- // oxlint-disable-next-line no-deprecated
21
- ): ThemeColorSelectable {
22
- return {
23
- default: _createSelectableStates(opts, base, dark, solid, muted, 'default'),
24
- primary: _createSelectableStates(opts, base, dark, solid, muted, 'primary'),
25
- positive: _createSelectableStates(opts, base, dark, solid, muted, 'positive'),
26
- caution: _createSelectableStates(opts, base, dark, solid, muted, 'caution'),
27
- critical: _createSelectableStates(opts, base, dark, solid, muted, 'critical'),
28
- }
29
- }
30
-
31
- function _createSelectableStates(
32
- // oxlint-disable-next-line no-deprecated
33
- opts: ThemeColorBuilderOpts,
34
- // oxlint-disable-next-line no-deprecated
35
- base: ThemeColorBase,
36
- dark: boolean,
37
- // oxlint-disable-next-line no-deprecated
38
- solid: ThemeColorSolid,
39
- // oxlint-disable-next-line no-deprecated
40
- muted: ThemeColorMuted,
41
- tone: 'default' | 'primary' | 'positive' | 'caution' | 'critical',
42
- // oxlint-disable-next-line no-deprecated
43
- ): ThemeColorSelectableStates {
44
- return {
45
- enabled: opts.selectable({
46
- base,
47
- dark,
48
- solid,
49
- muted,
50
- state: 'enabled',
51
- tone,
52
- }),
53
- hovered: opts.selectable({
54
- base,
55
- dark,
56
- solid,
57
- muted,
58
- state: 'hovered',
59
- tone,
60
- }),
61
- pressed: opts.selectable({
62
- base,
63
- dark,
64
- solid,
65
- muted,
66
- state: 'pressed',
67
- tone,
68
- }),
69
- selected: opts.selectable({
70
- base,
71
- dark,
72
- solid,
73
- muted,
74
- state: 'selected',
75
- tone,
76
- }),
77
- disabled: opts.selectable({
78
- base,
79
- dark,
80
- solid,
81
- muted,
82
- state: 'disabled',
83
- tone,
84
- }),
85
- }
86
- }
@@ -1,58 +0,0 @@
1
- import {ThemeColorBase, ThemeColorName, ThemeColorSolid} from '../../../../system'
2
- import {ThemeColorBuilderOpts} from '../factory'
3
-
4
- export function createSolidTones(
5
- // oxlint-disable-next-line no-deprecated
6
- opts: ThemeColorBuilderOpts,
7
- // oxlint-disable-next-line no-deprecated
8
- base: ThemeColorBase,
9
- dark: boolean,
10
- // oxlint-disable-next-line no-deprecated
11
- name: ThemeColorName,
12
- // oxlint-disable-next-line no-deprecated
13
- ): ThemeColorSolid {
14
- return {
15
- default: {
16
- enabled: opts.solid({base, dark, tone: 'default', name, state: 'enabled'}),
17
- disabled: opts.solid({base, dark, tone: 'default', name, state: 'disabled'}),
18
- hovered: opts.solid({base, dark, tone: 'default', name, state: 'hovered'}),
19
- pressed: opts.solid({base, dark, tone: 'default', name, state: 'pressed'}),
20
- selected: opts.solid({base, dark, tone: 'default', name, state: 'selected'}),
21
- },
22
- transparent: {
23
- enabled: opts.solid({base, dark, tone: 'transparent', name, state: 'enabled'}),
24
- disabled: opts.solid({base, dark, tone: 'transparent', name, state: 'disabled'}),
25
- hovered: opts.solid({base, dark, tone: 'transparent', name, state: 'hovered'}),
26
- pressed: opts.solid({base, dark, tone: 'transparent', name, state: 'pressed'}),
27
- selected: opts.solid({base, dark, tone: 'transparent', name, state: 'selected'}),
28
- },
29
- primary: {
30
- enabled: opts.solid({base, dark, tone: 'primary', name, state: 'enabled'}),
31
- disabled: opts.solid({base, dark, tone: 'primary', name, state: 'disabled'}),
32
- hovered: opts.solid({base, dark, tone: 'primary', name, state: 'hovered'}),
33
- pressed: opts.solid({base, dark, tone: 'primary', name, state: 'pressed'}),
34
- selected: opts.solid({base, dark, tone: 'primary', name, state: 'selected'}),
35
- },
36
- positive: {
37
- enabled: opts.solid({base, dark, tone: 'positive', name, state: 'enabled'}),
38
- disabled: opts.solid({base, dark, tone: 'positive', name, state: 'disabled'}),
39
- hovered: opts.solid({base, dark, tone: 'positive', name, state: 'hovered'}),
40
- pressed: opts.solid({base, dark, tone: 'positive', name, state: 'pressed'}),
41
- selected: opts.solid({base, dark, tone: 'positive', name, state: 'selected'}),
42
- },
43
- caution: {
44
- enabled: opts.solid({base, dark, tone: 'caution', name, state: 'enabled'}),
45
- disabled: opts.solid({base, dark, tone: 'caution', name, state: 'disabled'}),
46
- hovered: opts.solid({base, dark, tone: 'caution', name, state: 'hovered'}),
47
- pressed: opts.solid({base, dark, tone: 'caution', name, state: 'pressed'}),
48
- selected: opts.solid({base, dark, tone: 'caution', name, state: 'selected'}),
49
- },
50
- critical: {
51
- enabled: opts.solid({base, dark, tone: 'critical', name, state: 'enabled'}),
52
- disabled: opts.solid({base, dark, tone: 'critical', name, state: 'disabled'}),
53
- hovered: opts.solid({base, dark, tone: 'critical', name, state: 'hovered'}),
54
- pressed: opts.solid({base, dark, tone: 'critical', name, state: 'pressed'}),
55
- selected: opts.solid({base, dark, tone: 'critical', name, state: 'selected'}),
56
- },
57
- }
58
- }