@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,201 +0,0 @@
1
- import {
2
- forwardRef,
3
- isValidElement,
4
- useCallback,
5
- useEffect,
6
- useImperativeHandle,
7
- useMemo,
8
- useRef,
9
- useState,
10
- } from 'react'
11
- import {isValidElementType} from 'react-is'
12
-
13
- import {Box, Flex, Text} from '../../primitives'
14
- import {Selectable} from '../../primitives/_selectable'
15
- import {ResponsivePaddingProps, ResponsiveRadiusProps} from '../../primitives/types'
16
- import {_getArrayProp} from '../../styles'
17
- import {useRootTheme} from '../../theme'
18
- import {ElementType, Props} from '../../types'
19
- import {SelectableTone} from '../../types/selectable'
20
- import {Hotkeys} from '../hotkeys'
21
- import {useMenu} from './useMenu'
22
-
23
- /**
24
- * @public
25
- */
26
- export interface MenuItemOwnProps extends ResponsivePaddingProps, ResponsiveRadiusProps {
27
- fontSize?: number | number[]
28
- hotkeys?: string[]
29
- // oxlint-disable-next-line no-redundant-type-constituents
30
- icon?: React.ElementType | React.ReactNode
31
- // oxlint-disable-next-line no-redundant-type-constituents
32
- iconRight?: React.ElementType | React.ReactNode
33
- pressed?: boolean
34
- selected?: boolean
35
- gap?: number | number[]
36
- /**
37
- * @deprecated Use `gap` instead. `space` will be removed in v4.
38
- */
39
- space?: number | number[]
40
- text?: React.ReactNode
41
- tone?: SelectableTone
42
- }
43
-
44
- /**
45
- * @public
46
- */
47
- export type MenuItemProps<E extends ElementType = 'button'> = Props<MenuItemOwnProps, E>
48
-
49
- const MenuItemComponent = forwardRef(function MenuItem(
50
- props: MenuItemOwnProps & {as?: ElementType} & Omit<
51
- React.HTMLProps<HTMLDivElement>,
52
- 'as' | 'height' | 'ref' | 'selected' | 'tabIndex'
53
- >,
54
- forwardedRef: React.ForwardedRef<HTMLDivElement>,
55
- ) {
56
- const {
57
- as = 'button',
58
- children,
59
- disabled,
60
- fontSize = 1,
61
- hotkeys,
62
- icon: IconComponent,
63
- iconRight: IconRightComponent,
64
- onClick,
65
- padding = 3,
66
- paddingX,
67
- paddingY,
68
- paddingTop,
69
- paddingRight,
70
- paddingBottom,
71
- paddingLeft,
72
- pressed,
73
- radius = 2,
74
- selected: selectedProp,
75
- gap,
76
- // oxlint-disable-next-line no-deprecated
77
- space: deprecated_space = 3,
78
- text,
79
- tone = 'default',
80
- ...restProps
81
- } = props
82
- const spacing = gap === undefined ? deprecated_space : gap
83
- const {scheme} = useRootTheme()
84
- const menu = useMenu()
85
- const {
86
- activeElement,
87
- mount,
88
- onItemClick,
89
- onItemMouseEnter: _onItemMouseEnter,
90
- onItemMouseLeave: _onItemMouseLeave,
91
- } = menu
92
- const onItemMouseEnter = _onItemMouseEnter ?? menu.onItemMouseEnter
93
- const onItemMouseLeave = _onItemMouseLeave ?? menu.onItemMouseLeave
94
- const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)
95
- const active = Boolean(activeElement) && activeElement === rootElement
96
- const ref = useRef<HTMLDivElement | null>(null)
97
-
98
- useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)
99
-
100
- useEffect(() => mount(rootElement, selectedProp), [mount, rootElement, selectedProp])
101
-
102
- const handleClick = useCallback(
103
- (event: React.MouseEvent<HTMLDivElement>) => {
104
- if (disabled) return
105
- if (onClick) onClick(event)
106
- if (onItemClick) onItemClick()
107
- },
108
- [disabled, onClick, onItemClick],
109
- )
110
-
111
- const paddingProps = useMemo(
112
- () => ({
113
- padding,
114
- paddingX,
115
- paddingY,
116
- paddingTop,
117
- paddingRight,
118
- paddingBottom,
119
- paddingLeft,
120
- }),
121
- [padding, paddingX, paddingY, paddingTop, paddingRight, paddingBottom, paddingLeft],
122
- )
123
-
124
- const hotkeysFontSize = _getArrayProp(fontSize).map((s) => s - 1)
125
-
126
- const setRef = useCallback((el: HTMLDivElement | null) => {
127
- ref.current = el
128
- setRootElement(el)
129
- }, [])
130
-
131
- return (
132
- <Selectable
133
- data-ui="MenuItem"
134
- role="menuitem"
135
- {...restProps}
136
- data-pressed={as !== 'button' && pressed ? '' : undefined}
137
- data-selected={active ? '' : undefined}
138
- data-disabled={disabled ? '' : undefined}
139
- forwardedAs={as}
140
- $radius={_getArrayProp(radius)}
141
- $padding={_getArrayProp(0)}
142
- $tone={disabled ? 'default' : tone}
143
- $scheme={scheme}
144
- disabled={disabled}
145
- onClick={handleClick}
146
- onMouseEnter={onItemMouseEnter}
147
- onMouseLeave={onItemMouseLeave}
148
- ref={setRef}
149
- tabIndex={-1}
150
- type={as === 'button' ? 'button' : undefined}
151
- >
152
- {(IconComponent || text || IconRightComponent) && (
153
- <Flex as="span" gap={spacing} align="center" {...paddingProps}>
154
- {IconComponent && (
155
- <Text size={fontSize}>
156
- {isValidElement(IconComponent) && IconComponent}
157
- {isValidElementType(IconComponent) && <IconComponent />}
158
- </Text>
159
- )}
160
-
161
- {text && (
162
- <Box flex={1}>
163
- <Text size={fontSize} textOverflow="ellipsis" weight="medium">
164
- {text}
165
- </Text>
166
- </Box>
167
- )}
168
-
169
- {hotkeys && (
170
- <Hotkeys
171
- fontSize={hotkeysFontSize}
172
- keys={hotkeys}
173
- style={{marginTop: -4, marginBottom: -4}}
174
- />
175
- )}
176
-
177
- {IconRightComponent && (
178
- <Text size={fontSize}>
179
- {isValidElement(IconRightComponent) && IconRightComponent}
180
- {isValidElementType(IconRightComponent) && <IconRightComponent />}
181
- </Text>
182
- )}
183
- </Flex>
184
- )}
185
- {children && (
186
- <Box as="span" {...paddingProps}>
187
- {children}
188
- </Box>
189
- )}
190
- </Selectable>
191
- )
192
- })
193
- MenuItemComponent.displayName = 'ForwardRef(MenuItem)'
194
-
195
- /**
196
- * @public
197
- */
198
- // oxlint-disable-next-line no-unsafe-type-assertion
199
- export const MenuItem = MenuItemComponent as unknown as <E extends ElementType = 'button'>(
200
- props: MenuItemProps<E>,
201
- ) => React.JSX.Element
@@ -1,21 +0,0 @@
1
- import {useContext} from 'react'
2
-
3
- import {isRecord} from '../../lib/isRecord'
4
- import {MenuContext, MenuContextValue} from './menuContext'
5
-
6
- export function useMenu(): MenuContextValue {
7
- const value = useContext(MenuContext)
8
-
9
- if (!value) {
10
- throw new Error('useMenu(): missing context value')
11
- }
12
-
13
- // NOTE: This check is for future-compatiblity
14
- // - If the value is not an object, it’s not compatible with the current version
15
- // - If the value is an object, but doesn’t have `version: 2`, it’s not compatible with the current version
16
- if (!isRecord(value) || value.version !== 2) {
17
- throw new Error('useMenu(): the context value is not compatible')
18
- }
19
-
20
- return value
21
- }
@@ -1,233 +0,0 @@
1
- import {useCallback, useEffect, useRef, useState} from 'react'
2
-
3
- import {_getFocusableElements, _sortElements} from './helpers'
4
-
5
- /**
6
- * @internal
7
- */
8
- export interface MenuController {
9
- activeElement: HTMLElement | null
10
- activeIndex: number
11
- handleItemMouseEnter: (event: React.MouseEvent<HTMLElement>) => void
12
- handleItemMouseLeave: () => void
13
- handleKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void
14
- mount: (element: HTMLElement | null, selected?: boolean) => () => void
15
- }
16
-
17
- /**
18
- * This controller is responsible for controlling UI menu state.
19
- *
20
- * @internal
21
- */
22
- export function useMenuController(props: {
23
- onKeyDown?: React.KeyboardEventHandler
24
- originElement?: HTMLElement | null
25
- shouldFocus: 'first' | 'last' | null
26
- // oxlint-disable-next-line no-deprecated
27
- rootElementRef: React.MutableRefObject<HTMLDivElement | null>
28
- }): MenuController {
29
- const {onKeyDown, originElement, shouldFocus, rootElementRef} = props
30
- const elementsRef = useRef<HTMLElement[]>([])
31
- const [activeIndex, _setActiveIndex] = useState(-1)
32
- const activeIndexRef = useRef(activeIndex)
33
- const [activeElement, setActiveElement] = useState<HTMLElement | null>(null)
34
-
35
- const setActiveIndex = useCallback((nextActiveIndex: number) => {
36
- _setActiveIndex(nextActiveIndex)
37
- activeIndexRef.current = nextActiveIndex
38
- setActiveElement(elementsRef.current[nextActiveIndex] || null)
39
- }, [])
40
-
41
- const mount = useCallback(
42
- (element: HTMLElement | null, selected?: boolean): (() => void) => {
43
- if (!element) return () => undefined
44
-
45
- if (elementsRef.current.indexOf(element) === -1) {
46
- elementsRef.current.push(element)
47
- _sortElements(rootElementRef.current, elementsRef.current)
48
- }
49
-
50
- if (selected) {
51
- const selectedIndex = elementsRef.current.indexOf(element)
52
-
53
- setActiveIndex(selectedIndex)
54
- }
55
-
56
- return () => {
57
- const idx = elementsRef.current.indexOf(element)
58
-
59
- if (idx > -1) {
60
- elementsRef.current.splice(idx, 1)
61
- }
62
- }
63
- },
64
- [rootElementRef, setActiveIndex],
65
- )
66
-
67
- const handleKeyDown = useCallback(
68
- (event: React.KeyboardEvent<HTMLDivElement>) => {
69
- // Move focus to the element that opened the menu before handling the `Tab` press
70
- if (event.key === 'Tab') {
71
- if (originElement) {
72
- originElement.focus()
73
- }
74
-
75
- return
76
- }
77
-
78
- // Move focus to the first focusable menuitem
79
- if (event.key === 'Home') {
80
- event.preventDefault()
81
- event.stopPropagation()
82
-
83
- const focusableElements = _getFocusableElements(elementsRef.current)
84
- const el = focusableElements[0]
85
-
86
- if (!el) return
87
-
88
- const currentIndex = elementsRef.current.indexOf(el)
89
-
90
- setActiveIndex(currentIndex)
91
-
92
- return
93
- }
94
-
95
- // Move focus to the last focusable menuitem
96
- if (event.key === 'End') {
97
- event.preventDefault()
98
- event.stopPropagation()
99
-
100
- const focusableElements = _getFocusableElements(elementsRef.current)
101
- const el = focusableElements[focusableElements.length - 1]
102
-
103
- if (!el) return
104
-
105
- const currentIndex = elementsRef.current.indexOf(el)
106
-
107
- setActiveIndex(currentIndex)
108
-
109
- return
110
- }
111
-
112
- if (event.key === 'ArrowUp') {
113
- event.preventDefault()
114
- event.stopPropagation()
115
-
116
- const focusableElements = _getFocusableElements(elementsRef.current)
117
- const focusableLen = focusableElements.length
118
-
119
- if (focusableLen === 0) return
120
-
121
- const focusedElement = elementsRef.current[activeIndexRef.current]
122
-
123
- let focusedIndex = focusableElements.indexOf(focusedElement)
124
-
125
- focusedIndex = (focusedIndex - 1 + focusableLen) % focusableLen
126
-
127
- const el = focusableElements[focusedIndex]
128
- const currentIndex = elementsRef.current.indexOf(el)
129
-
130
- setActiveIndex(currentIndex)
131
-
132
- return
133
- }
134
-
135
- if (event.key === 'ArrowDown') {
136
- event.preventDefault()
137
- event.stopPropagation()
138
-
139
- const focusableElements = _getFocusableElements(elementsRef.current)
140
- const focusableLen = focusableElements.length
141
-
142
- if (focusableLen === 0) return
143
-
144
- const focusedElement = elementsRef.current[activeIndexRef.current]
145
-
146
- let focusedIndex = focusableElements.indexOf(focusedElement)
147
-
148
- focusedIndex = (focusedIndex + 1) % focusableLen
149
-
150
- const el = focusableElements[focusedIndex]
151
- const currentIndex = elementsRef.current.indexOf(el)
152
-
153
- setActiveIndex(currentIndex)
154
-
155
- return
156
- }
157
-
158
- if (onKeyDown) {
159
- onKeyDown(event)
160
- }
161
- },
162
- [onKeyDown, originElement, setActiveIndex],
163
- )
164
-
165
- const handleItemMouseEnter = useCallback(
166
- (event: React.MouseEvent<HTMLElement>) => {
167
- const element = event.currentTarget
168
- const currentIndex = elementsRef.current.indexOf(element)
169
-
170
- setActiveIndex(currentIndex)
171
- },
172
- [setActiveIndex],
173
- )
174
-
175
- const handleItemMouseLeave = useCallback(() => {
176
- // Set the active index to -2 to deactivate all menu items
177
- // when the user moves the mouse away from the menu item.
178
- // We avoid using -1 because it would focus the first menu item,
179
- // which would be incorrect when the user hovers over a gap
180
- // between two menu items or a menu divider.
181
- setActiveIndex(-2)
182
- rootElementRef.current?.focus()
183
- }, [rootElementRef, setActiveIndex])
184
-
185
- // Set focus on the currently active element
186
- useEffect(() => {
187
- if (!rootElementRef.current) return
188
-
189
- const rafId = requestAnimationFrame(() => {
190
- if (activeIndex === -1) {
191
- if (shouldFocus === 'first') {
192
- const focusableElements = _getFocusableElements(elementsRef.current)
193
- const el = focusableElements[0]
194
-
195
- if (el) {
196
- const currentIndex = elementsRef.current.indexOf(el)
197
-
198
- setActiveIndex(currentIndex)
199
- }
200
- }
201
-
202
- if (shouldFocus === 'last') {
203
- const focusableElements = _getFocusableElements(elementsRef.current)
204
- const el = focusableElements[focusableElements.length - 1]
205
-
206
- if (el) {
207
- const currentIndex = elementsRef.current.indexOf(el)
208
-
209
- setActiveIndex(currentIndex)
210
- }
211
- }
212
-
213
- return
214
- }
215
-
216
- const element = elementsRef.current[activeIndex] || null
217
-
218
- element?.focus()
219
- })
220
-
221
- // oxlint-disable-next-line consistent-return
222
- return () => cancelAnimationFrame(rafId)
223
- }, [activeIndex, rootElementRef, setActiveIndex, shouldFocus])
224
-
225
- return {
226
- activeElement,
227
- activeIndex,
228
- handleItemMouseEnter,
229
- handleItemMouseLeave,
230
- handleKeyDown,
231
- mount,
232
- }
233
- }
@@ -1,2 +0,0 @@
1
- export * from './skeleton'
2
- export * from './textSkeleton'
@@ -1,58 +0,0 @@
1
- import {forwardRef, useEffect, useState} from 'react'
2
- import {styled} from 'styled-components'
3
-
4
- import {Box, BoxOwnProps, ResponsiveRadiusProps} from '../../primitives'
5
- import {_getArrayProp} from '../../styles'
6
- import {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'
7
- import {skeletonStyle} from './styles'
8
-
9
- const StyledSkeleton = styled(Box)<
10
- {$animated: boolean; $visible: boolean} & ResponsiveRadiusStyleProps
11
- >(responsiveRadiusStyle, skeletonStyle)
12
-
13
- /**
14
- * This API might change. DO NOT USE IN PRODUCTION.
15
- * @beta
16
- */
17
- export interface SkeletonProps extends ResponsiveRadiusProps, Omit<BoxOwnProps, 'children'> {
18
- animated?: boolean
19
- delay?: number
20
- }
21
-
22
- /**
23
- * This API might change. DO NOT USE IN PRODUCTION.
24
- * @beta
25
- */
26
- export const Skeleton = forwardRef(function Skeleton(
27
- props: SkeletonProps & React.HTMLProps<HTMLDivElement>,
28
- ref: React.Ref<HTMLDivElement>,
29
- ) {
30
- const {animated = false, delay, radius, ...restProps} = props
31
- // oxlint-disable-next-line no-unneeded-ternary
32
- const [visible, setVisible] = useState<boolean>(delay ? false : true)
33
-
34
- useEffect(() => {
35
- if (!delay) {
36
- return undefined
37
- }
38
-
39
- const timeout = setTimeout(() => {
40
- setVisible(true)
41
- }, delay)
42
-
43
- return () => {
44
- clearTimeout(timeout)
45
- }
46
- }, [delay])
47
-
48
- return (
49
- <StyledSkeleton
50
- {...restProps}
51
- $animated={animated}
52
- $radius={_getArrayProp(radius)}
53
- $visible={delay ? visible : true}
54
- ref={ref}
55
- />
56
- )
57
- })
58
- Skeleton.displayName = 'ForwardRef(Skeleton)'
@@ -1,50 +0,0 @@
1
- import {css, keyframes} from 'styled-components'
2
-
3
- const keyframe = keyframes`
4
- 0% {
5
- background-position: 100%;
6
- }
7
- 100% {
8
- background-position: -100%;
9
- }
10
- `
11
-
12
- const animation = css`
13
- background-image: linear-gradient(
14
- to right,
15
- var(--card-skeleton-color-from),
16
- var(--card-skeleton-color-to),
17
- var(--card-skeleton-color-from),
18
- var(--card-skeleton-color-from),
19
- var(--card-skeleton-color-from)
20
- );
21
- background-position: 100%;
22
- background-size: 200% 100%;
23
- background-attachment: fixed;
24
- animation-name: ${keyframe};
25
- animation-timing-function: ease-in-out;
26
- animation-iteration-count: infinite;
27
- animation-duration: 2000ms;
28
- `
29
-
30
- /**
31
- * This API might change. DO NOT USE IN PRODUCTION.
32
- * @beta
33
- */
34
- export const skeletonStyle = css<{$animated: boolean; $visible: boolean}>`
35
- opacity: ${({$visible}) => ($visible ? 1 : 0)};
36
- transition: opacity 200ms ease-in;
37
-
38
- @media screen and (prefers-reduced-motion: no-preference) {
39
- ${({$animated}) =>
40
- $animated
41
- ? animation
42
- : css`
43
- background-color: var(--card-skeleton-color-from);
44
- `}
45
- }
46
-
47
- @media screen and (prefers-reduced-motion: reduce) {
48
- background-color: var(--card-skeleton-color-from);
49
- }
50
- `
@@ -1,122 +0,0 @@
1
- import {getTheme_v2, ThemeFontKey} from '@sanity/ui/theme'
2
- import {forwardRef} from 'react'
3
- import {styled} from 'styled-components'
4
-
5
- import {_getArrayProp, _responsive, ThemeProps} from '../../styles'
6
- import {Skeleton, SkeletonProps} from './skeleton'
7
-
8
- const StyledSkeleton = styled(Skeleton)<{$size: number[]; $style: ThemeFontKey}>((
9
- props: {
10
- $size: number[]
11
- $style: ThemeFontKey
12
- } & ThemeProps,
13
- ) => {
14
- const {$size, $style} = props
15
- const {font, media} = getTheme_v2(props.theme)
16
- const fontStyle = font[$style]
17
-
18
- const styles = _responsive(media, $size, (sizeIndex) => {
19
- const fontSize = fontStyle.sizes[sizeIndex]
20
- const capHeight = fontSize.lineHeight - fontSize.ascenderHeight - fontSize.descenderHeight
21
-
22
- return {height: capHeight}
23
- })
24
-
25
- return styles
26
- })
27
-
28
- /**
29
- * This API might change. DO NOT USE IN PRODUCTION.
30
- * @beta
31
- */
32
- export interface TextSkeletonProps extends SkeletonProps {
33
- size?: number | number[]
34
- }
35
-
36
- /**
37
- * This API might change. DO NOT USE IN PRODUCTION.
38
- * @beta
39
- */
40
- export interface LabelSkeletonProps extends SkeletonProps {
41
- size?: number | number[]
42
- }
43
-
44
- /**
45
- * This API might change. DO NOT USE IN PRODUCTION.
46
- * @beta
47
- */
48
- export interface HeadingSkeletonProps extends SkeletonProps {
49
- size?: number | number[]
50
- }
51
-
52
- /**
53
- * This API might change. DO NOT USE IN PRODUCTION.
54
- * @beta
55
- */
56
- export interface CodeSkeletonProps extends SkeletonProps {
57
- size?: number | number[]
58
- }
59
-
60
- /**
61
- * This API might change. DO NOT USE IN PRODUCTION.
62
- * @beta
63
- */
64
- export const TextSkeleton = forwardRef(function TextSkeleton(
65
- props: TextSkeletonProps &
66
- Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,
67
- ref: React.Ref<HTMLDivElement>,
68
- ) {
69
- const {size = 2, ...restProps} = props
70
- const $size = _getArrayProp(size)
71
-
72
- return <StyledSkeleton {...restProps} $size={$size} ref={ref} $style="text" />
73
- })
74
- TextSkeleton.displayName = 'ForwardRef(TextSkeleton)'
75
-
76
- /**
77
- * This API might change. DO NOT USE IN PRODUCTION.
78
- * @beta
79
- */
80
- export const LabelSkeleton = forwardRef(function TextSkeleton(
81
- props: LabelSkeletonProps &
82
- Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,
83
- ref: React.Ref<HTMLDivElement>,
84
- ) {
85
- const {size = 2, ...restProps} = props
86
- const $size = _getArrayProp(size)
87
-
88
- return <StyledSkeleton {...restProps} $size={$size} ref={ref} $style="label" />
89
- })
90
- LabelSkeleton.displayName = 'ForwardRef(LabelSkeleton)'
91
-
92
- /**
93
- * This API might change. DO NOT USE IN PRODUCTION.
94
- * @beta
95
- */
96
- export const HeadingSkeleton = forwardRef(function TextSkeleton(
97
- props: HeadingSkeletonProps &
98
- Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,
99
- ref: React.Ref<HTMLDivElement>,
100
- ) {
101
- const {size = 2, ...restProps} = props
102
- const $size = _getArrayProp(size)
103
-
104
- return <StyledSkeleton {...restProps} $size={$size} ref={ref} $style="heading" />
105
- })
106
- HeadingSkeleton.displayName = 'ForwardRef(HeadingSkeleton)'
107
-
108
- /**
109
- * This API might change. DO NOT USE IN PRODUCTION.
110
- * @beta
111
- */
112
- export const CodeSkeleton = forwardRef(function TextSkeleton(
113
- props: CodeSkeletonProps &
114
- Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,
115
- ref: React.Ref<HTMLDivElement>,
116
- ) {
117
- const {size = 2, ...restProps} = props
118
- const $size = _getArrayProp(size)
119
-
120
- return <StyledSkeleton {...restProps} $size={$size} ref={ref} $style="code" />
121
- })
122
- CodeSkeleton.displayName = 'ForwardRef(CodeSkeleton)'
@@ -1,3 +0,0 @@
1
- export * from './tab'
2
- export * from './tabList'
3
- export * from './tabPanel'