@sanity/ui 2.15.7 → 2.15.9

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 (262) hide show
  1. package/dist/_chunks-cjs/_visual-editing.js +134 -134
  2. package/dist/_chunks-cjs/_visual-editing.js.map +1 -1
  3. package/dist/_chunks-es/_visual-editing.mjs +134 -134
  4. package/dist/_chunks-es/_visual-editing.mjs.map +1 -1
  5. package/dist/_visual-editing.d.mts +1 -1
  6. package/dist/_visual-editing.d.ts +1 -1
  7. package/dist/index.d.mts +1 -1
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.js +77 -80
  10. package/dist/index.js.map +1 -1
  11. package/dist/index.mjs +77 -81
  12. package/dist/index.mjs.map +1 -1
  13. package/dist/theme.js +431 -40
  14. package/dist/theme.js.map +1 -1
  15. package/dist/theme.mjs +393 -4
  16. package/dist/theme.mjs.map +1 -1
  17. package/exports/_visual-editing.ts +15 -15
  18. package/package.json +34 -30
  19. package/src/core/_compat.ts +11 -11
  20. package/src/core/components/autocomplete/__mocks__/apiStore.ts +1 -1
  21. package/src/core/components/autocomplete/__workshop__/async.tsx +1 -0
  22. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +2 -1
  23. package/src/core/components/autocomplete/__workshop__/custom.tsx +2 -1
  24. package/src/core/components/autocomplete/__workshop__/example.tsx +2 -1
  25. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +1 -0
  26. package/src/core/components/autocomplete/autocomplete.styles.tsx +2 -1
  27. package/src/core/components/autocomplete/autocomplete.tsx +3 -2
  28. package/src/core/components/autocomplete/autocompleteOption.tsx +1 -0
  29. package/src/core/components/breadcrumbs/__workshop__/example.tsx +7 -0
  30. package/src/core/components/breadcrumbs/breadcrumbs.styles.ts +1 -0
  31. package/src/core/components/breadcrumbs/breadcrumbs.tsx +1 -0
  32. package/src/core/components/dialog/__workshop__/activate.tsx +2 -1
  33. package/src/core/components/dialog/__workshop__/panes.tsx +1 -0
  34. package/src/core/components/dialog/__workshop__/position.tsx +1 -0
  35. package/src/core/components/dialog/__workshop__/props.tsx +1 -0
  36. package/src/core/components/dialog/__workshop__/wrapped.tsx +1 -3
  37. package/src/core/components/dialog/dialog.tsx +3 -0
  38. package/src/core/components/dialog/dialogProvider.tsx +1 -0
  39. package/src/core/components/dialog/styles.ts +1 -0
  40. package/src/core/components/dialog/useDialog.ts +1 -0
  41. package/src/core/components/hotkeys/hotkeys.tsx +1 -0
  42. package/src/core/components/menu/__workshop__/asComponent.tsx +1 -0
  43. package/src/core/components/menu/__workshop__/avatarMenu.tsx +1 -0
  44. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +1 -0
  45. package/src/core/components/menu/__workshop__/customSelectedState.tsx +1 -0
  46. package/src/core/components/menu/__workshop__/menuButton.tsx +1 -0
  47. package/src/core/components/menu/__workshop__/shouldFocus.tsx +1 -0
  48. package/src/core/components/menu/__workshop__/tones.tsx +1 -0
  49. package/src/core/components/menu/menu.test.tsx +1 -0
  50. package/src/core/components/menu/menu.tsx +1 -0
  51. package/src/core/components/menu/menuButton.tsx +4 -3
  52. package/src/core/components/menu/menuGroup.tsx +1 -0
  53. package/src/core/components/menu/menuItem.tsx +1 -1
  54. package/src/core/components/menu/useMenu.ts +1 -0
  55. package/src/core/components/menu/useMenuController.ts +1 -0
  56. package/src/core/components/skeleton/__workshop__/delay.tsx +1 -0
  57. package/src/core/components/skeleton/__workshop__/skeleton.tsx +1 -0
  58. package/src/core/components/skeleton/skeleton.tsx +2 -2
  59. package/src/core/components/skeleton/textSkeleton.tsx +3 -2
  60. package/src/core/components/tab/tab.tsx +1 -0
  61. package/src/core/components/tab/tabList.tsx +2 -1
  62. package/src/core/components/tab/tabPanel.tsx +1 -0
  63. package/src/core/components/toast/__workshop__/toast.tsx +1 -0
  64. package/src/core/components/toast/styles.ts +2 -1
  65. package/src/core/components/toast/toast.tsx +4 -4
  66. package/src/core/components/toast/toastLayer.tsx +1 -0
  67. package/src/core/components/toast/toastProvider.tsx +1 -0
  68. package/src/core/components/toast/useToast.ts +1 -0
  69. package/src/core/components/tree/__workshop__/basic.tsx +1 -0
  70. package/src/core/components/tree/__workshop__/tabFromElement.tsx +2 -1
  71. package/src/core/components/tree/style.ts +1 -0
  72. package/src/core/components/tree/tree.tsx +1 -0
  73. package/src/core/components/tree/treeGroup.tsx +1 -0
  74. package/src/core/components/tree/treeItem.tsx +3 -2
  75. package/src/core/components/tree/useTree.ts +1 -0
  76. package/src/core/helpers/focus.ts +2 -2
  77. package/src/core/hooks/useArrayProp.ts +1 -0
  78. package/src/core/hooks/useClickOutside.test.tsx +0 -1
  79. package/src/core/hooks/useClickOutside.ts +1 -0
  80. package/src/core/hooks/useClickOutsideEvent.test.tsx +0 -1
  81. package/src/core/hooks/useClickOutsideEvent.ts +1 -0
  82. package/src/core/hooks/useDelayed.test.ts +2 -1
  83. package/src/core/hooks/useDelayedState.ts +1 -2
  84. package/src/core/hooks/useElementRect/__workshop__/example.tsx +1 -0
  85. package/src/core/hooks/useElementSize.ts +2 -1
  86. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +2 -1
  87. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +1 -0
  88. package/src/core/hooks/usePrefersDark.test.tsx +2 -1
  89. package/src/core/hooks/usePrefersReducedMotion.test.tsx +2 -1
  90. package/src/core/index.ts +1 -2
  91. package/src/core/lib/createGlobalScopedContext.ts +2 -1
  92. package/src/core/primitives/_selectable/selectable.tsx +1 -0
  93. package/src/core/primitives/_selectable/style.ts +1 -0
  94. package/src/core/primitives/avatar/__workshop__/asButton.tsx +1 -0
  95. package/src/core/primitives/avatar/__workshop__/stack.tsx +1 -0
  96. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +1 -0
  97. package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +1 -0
  98. package/src/core/primitives/avatar/avatar.tsx +2 -7
  99. package/src/core/primitives/avatar/avatarCounter.tsx +3 -2
  100. package/src/core/primitives/avatar/avatarStack.tsx +3 -2
  101. package/src/core/primitives/avatar/styles.ts +2 -1
  102. package/src/core/primitives/avatar/types.ts +1 -0
  103. package/src/core/primitives/badge/__workshop__/props.tsx +1 -0
  104. package/src/core/primitives/badge/__workshop__/tones.tsx +1 -0
  105. package/src/core/primitives/badge/badge.test.tsx +1 -0
  106. package/src/core/primitives/badge/badge.tsx +1 -0
  107. package/src/core/primitives/badge/styles.ts +1 -0
  108. package/src/core/primitives/box/__workshop__/props.tsx +1 -0
  109. package/src/core/primitives/box/box.tsx +3 -2
  110. package/src/core/primitives/button/__workshop__/custom.tsx +3 -0
  111. package/src/core/primitives/button/__workshop__/disabled.tsx +1 -0
  112. package/src/core/primitives/button/__workshop__/props.tsx +2 -1
  113. package/src/core/primitives/button/__workshop__/stacked.tsx +1 -0
  114. package/src/core/primitives/button/button.test.tsx +1 -0
  115. package/src/core/primitives/button/button.tsx +1 -0
  116. package/src/core/primitives/button/styles.ts +1 -0
  117. package/src/core/primitives/card/__workshop__/asButton.tsx +1 -0
  118. package/src/core/primitives/card/__workshop__/listNavigation.tsx +1 -0
  119. package/src/core/primitives/card/__workshop__/props.tsx +3 -1
  120. package/src/core/primitives/card/__workshop__/selected.tsx +2 -2
  121. package/src/core/primitives/card/card.tsx +1 -0
  122. package/src/core/primitives/card/styles.ts +1 -0
  123. package/src/core/primitives/checkbox/checkbox.tsx +1 -0
  124. package/src/core/primitives/checkbox/styles.ts +1 -0
  125. package/src/core/primitives/code/__workshop__/props.tsx +1 -0
  126. package/src/core/primitives/code/code.tsx +2 -1
  127. package/src/core/primitives/container/__workshop__/example.tsx +1 -0
  128. package/src/core/primitives/container/container.tsx +1 -0
  129. package/src/core/primitives/container/styles.ts +2 -1
  130. package/src/core/primitives/flex/__workshop__/example.tsx +1 -0
  131. package/src/core/primitives/flex/flex.tsx +2 -1
  132. package/src/core/primitives/grid/grid.tsx +1 -0
  133. package/src/core/primitives/heading/__workshop__/plain.tsx +2 -1
  134. package/src/core/primitives/heading/heading.tsx +1 -0
  135. package/src/core/primitives/heading/styles.ts +1 -0
  136. package/src/core/primitives/inline/__workshop__/plain.tsx +1 -0
  137. package/src/core/primitives/inline/inline.tsx +2 -1
  138. package/src/core/primitives/inline/styles.ts +2 -1
  139. package/src/core/primitives/kbd/kbd.tsx +2 -1
  140. package/src/core/primitives/label/__workshop__/plain.tsx +2 -1
  141. package/src/core/primitives/label/label.tsx +1 -0
  142. package/src/core/primitives/label/styles.ts +1 -0
  143. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +1 -0
  144. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +1 -0
  145. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +1 -0
  146. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +4 -1
  147. package/src/core/primitives/popover/__workshop__/TestStory.tsx +1 -0
  148. package/src/core/primitives/popover/floating-ui/size.ts +2 -1
  149. package/src/core/primitives/popover/popover.tsx +6 -7
  150. package/src/core/primitives/popover/popoverCard.tsx +2 -1
  151. package/src/core/primitives/radio/radio.tsx +2 -1
  152. package/src/core/primitives/radio/styles.ts +1 -0
  153. package/src/core/primitives/select/select.tsx +2 -1
  154. package/src/core/primitives/select/styles.ts +3 -3
  155. package/src/core/primitives/spinner/__workshop__/Props.tsx +1 -0
  156. package/src/core/primitives/spinner/spinner.tsx +2 -1
  157. package/src/core/primitives/stack/__workshop__/plain.tsx +1 -0
  158. package/src/core/primitives/stack/stack.tsx +2 -1
  159. package/src/core/primitives/stack/styles.ts +2 -1
  160. package/src/core/primitives/switch/styles.ts +1 -0
  161. package/src/core/primitives/switch/switch.tsx +2 -1
  162. package/src/core/primitives/text/__workshop__/colored.tsx +3 -2
  163. package/src/core/primitives/text/__workshop__/example.tsx +1 -0
  164. package/src/core/primitives/text/styles.ts +1 -0
  165. package/src/core/primitives/text/text.tsx +1 -0
  166. package/src/core/primitives/textArea/__workshop__/plain.tsx +1 -0
  167. package/src/core/primitives/textArea/textArea.tsx +6 -5
  168. package/src/core/primitives/textInput/__workshop__/plain.tsx +2 -1
  169. package/src/core/primitives/textInput/__workshop__/typed.tsx +1 -0
  170. package/src/core/primitives/textInput/textInput.tsx +1 -0
  171. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +1 -0
  172. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +1 -0
  173. package/src/core/primitives/tooltip/__workshop__/props.tsx +3 -2
  174. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +1 -0
  175. package/src/core/primitives/tooltip/tooltip.test.tsx +4 -2
  176. package/src/core/primitives/tooltip/tooltip.tsx +6 -5
  177. package/src/core/primitives/tooltip/tooltipCard.tsx +2 -1
  178. package/src/core/primitives/tooltip/tooltipDelayGroup/index.ts +1 -1
  179. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +1 -0
  180. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +1 -0
  181. package/src/core/styles/border/borderStyle.ts +1 -0
  182. package/src/core/styles/box/boxStyle.ts +1 -0
  183. package/src/core/styles/card/_cardColorStyle.ts +1 -2
  184. package/src/core/styles/flex/flexItemStyle.ts +1 -0
  185. package/src/core/styles/flex/flexStyle.ts +2 -1
  186. package/src/core/styles/flex/index.ts +1 -1
  187. package/src/core/styles/flex/types.ts +1 -0
  188. package/src/core/styles/font/codeFontStyle.ts +1 -0
  189. package/src/core/styles/font/headingFontStyle.ts +1 -0
  190. package/src/core/styles/font/labelFontStyle.ts +1 -0
  191. package/src/core/styles/font/responsiveFont.ts +3 -3
  192. package/src/core/styles/font/textAlignStyle.ts +1 -0
  193. package/src/core/styles/font/textFontStyle.ts +1 -0
  194. package/src/core/styles/font/types.ts +1 -0
  195. package/src/core/styles/grid/gridItemStyle.ts +1 -0
  196. package/src/core/styles/grid/gridStyle.ts +2 -1
  197. package/src/core/styles/grid/index.ts +1 -1
  198. package/src/core/styles/helpers.ts +2 -2
  199. package/src/core/styles/input/responsiveInputPaddingStyle.ts +2 -1
  200. package/src/core/styles/input/textInputStyle.ts +3 -3
  201. package/src/core/styles/margin/marginStyle.ts +1 -0
  202. package/src/core/styles/margin/marginsStyle.test.ts +1 -0
  203. package/src/core/styles/padding/paddingStyle.test.ts +1 -0
  204. package/src/core/styles/padding/paddingStyle.ts +1 -0
  205. package/src/core/styles/radius/radiusStyle.ts +1 -0
  206. package/src/core/styles/shadow/shadowStyle.ts +3 -3
  207. package/src/core/theme/__workshop__/build/Root.tsx +1 -1
  208. package/src/core/theme/__workshop__/build/story.tsx +18 -9
  209. package/src/core/theme/__workshop__/canvas.tsx +7 -6
  210. package/src/core/theme/__workshop__/debug/story.tsx +5 -3
  211. package/src/core/theme/index.ts +1 -1
  212. package/src/core/theme/theme.test.tsx +1 -0
  213. package/src/core/theme/themeColorProvider.tsx +1 -0
  214. package/src/core/theme/themeProvider.tsx +3 -2
  215. package/src/core/theme/useRootTheme.ts +1 -0
  216. package/src/core/theme/useTheme.ts +1 -1
  217. package/src/core/utils/arrow/arrow.tsx +4 -3
  218. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +1 -0
  219. package/src/core/utils/boundaryElement/index.ts +1 -1
  220. package/src/core/utils/boundaryElement/useBoundaryElement.ts +1 -0
  221. package/src/core/utils/elementQuery/elementQuery.tsx +1 -0
  222. package/src/core/utils/errorBoundary.tsx +1 -0
  223. package/src/core/utils/layer/__workshop__/multipleRoots.tsx +1 -0
  224. package/src/core/utils/layer/__workshop__/nested.tsx +1 -0
  225. package/src/core/utils/layer/__workshop__/responsiveZOffset.tsx +1 -0
  226. package/src/core/utils/layer/index.ts +1 -1
  227. package/src/core/utils/layer/layer.tsx +1 -0
  228. package/src/core/utils/layer/layerProvider.tsx +2 -1
  229. package/src/core/utils/layer/useLayer.ts +1 -0
  230. package/src/core/utils/portal/portal.ts +1 -0
  231. package/src/core/utils/portal/portalProvider.tsx +1 -0
  232. package/src/core/utils/portal/usePortal.ts +1 -0
  233. package/src/core/utils/virtualList/virtualList.tsx +1 -0
  234. package/src/theme/build/_deprecated/color/_solid/createSolidTones.ts +1 -1
  235. package/src/theme/build/_deprecated/color/card/createCardStates.ts +1 -1
  236. package/src/theme/build/_deprecated/color/factory.ts +6 -6
  237. package/src/theme/build/buildColorTheme.ts +15 -15
  238. package/src/theme/build/colorToken/colorToken.ts +1 -1
  239. package/src/theme/build/mixThemeColor.ts +1 -1
  240. package/src/theme/build/renderColorTheme.ts +7 -6
  241. package/src/theme/build/renderColorValue.ts +3 -2
  242. package/src/theme/build/resolveColorTokens.ts +5 -4
  243. package/src/theme/config/helpers.ts +2 -2
  244. package/src/theme/config/system.ts +2 -1
  245. package/src/theme/config/tokens/color/types.ts +2 -1
  246. package/src/theme/config/tokens/types.ts +2 -1
  247. package/src/theme/config/types.ts +2 -1
  248. package/src/theme/system/color/_helpers.ts +1 -0
  249. package/src/theme/system/color/_system.ts +1 -1
  250. package/src/theme/system/color/color.ts +1 -1
  251. package/src/theme/system/index.ts +1 -2
  252. package/src/theme/system/theme.ts +2 -2
  253. package/src/theme/system/v0/color/index.ts +1 -1
  254. package/src/theme/system/v0/index.ts +1 -1
  255. package/src/theme/versioning/themeColor_v0_v2.ts +5 -5
  256. package/dist/_chunks-cjs/getTheme_v2.js +0 -397
  257. package/dist/_chunks-cjs/getTheme_v2.js.map +0 -1
  258. package/dist/_chunks-es/getTheme_v2.mjs +0 -398
  259. package/dist/_chunks-es/getTheme_v2.mjs.map +0 -1
  260. package/src/core/__workshop__/fontsPlugin.tsx +0 -76
  261. /package/src/core/components/autocomplete/{__fixtures__ → __mocks__}/countries.ts +0 -0
  262. /package/src/core/primitives/kbd/{index.tsx → index.ts} +0 -0
@@ -9,6 +9,7 @@ import {
9
9
  useState,
10
10
  } from 'react'
11
11
  import {isValidElementType} from 'react-is'
12
+
12
13
  import {useArrayProp} from '../../hooks'
13
14
  import {Box, Flex, Text} from '../../primitives'
14
15
  import {Selectable} from '../../primitives/_selectable'
@@ -119,7 +120,6 @@ export const MenuItem = forwardRef(function MenuItem(
119
120
  data-ui="MenuItem"
120
121
  role="menuitem"
121
122
  {...restProps}
122
- aria-pressed={as === 'button' && pressed}
123
123
  data-pressed={as !== 'button' && pressed ? '' : undefined}
124
124
  data-selected={active ? '' : undefined}
125
125
  data-disabled={disabled ? '' : undefined}
@@ -1,4 +1,5 @@
1
1
  import {useContext} from 'react'
2
+
2
3
  import {isRecord} from '../../lib/isRecord'
3
4
  import {MenuContext, MenuContextValue} from './menuContext'
4
5
 
@@ -1,4 +1,5 @@
1
1
  import {useCallback, useEffect, useMemo, useRef, useState} from 'react'
2
+
2
3
  import {_getFocusableElements, _sortElements} from './helpers'
3
4
 
4
5
  /**
@@ -12,6 +12,7 @@ import {
12
12
  TextSkeleton,
13
13
  } from '@sanity/ui'
14
14
  import {useBoolean, useSelect} from '@sanity/ui-workshop'
15
+
15
16
  import {WORKSHOP_CARD_TONE_OPTIONS} from '../../../__workshop__/constants'
16
17
 
17
18
  export default function SkeletonDelayStory() {
@@ -12,6 +12,7 @@ import {
12
12
  TextSkeleton,
13
13
  } from '@sanity/ui'
14
14
  import {useBoolean, useSelect} from '@sanity/ui-workshop'
15
+
15
16
  import {WORKSHOP_CARD_TONE_OPTIONS} from '../../../__workshop__/constants'
16
17
 
17
18
  export default function SkeletonStory() {
@@ -1,8 +1,8 @@
1
1
  import {forwardRef, useEffect, useState} from 'react'
2
2
  import {styled} from 'styled-components'
3
+
3
4
  import {useArrayProp} from '../../hooks'
4
- import {Box} from '../../primitives'
5
- import {BoxProps, ResponsiveRadiusProps} from '../../primitives'
5
+ import {Box, BoxProps, ResponsiveRadiusProps} from '../../primitives'
6
6
  import {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'
7
7
  import {skeletonStyle} from './styles'
8
8
 
@@ -1,8 +1,9 @@
1
- import {ThemeFontKey, getTheme_v2} from '@sanity/ui/theme'
1
+ import {getTheme_v2, ThemeFontKey} from '@sanity/ui/theme'
2
2
  import {forwardRef} from 'react'
3
3
  import {styled} from 'styled-components'
4
+
4
5
  import {useArrayProp} from '../../hooks'
5
- import {ThemeProps, _responsive} from '../../styles'
6
+ import {_responsive, ThemeProps} from '../../styles'
6
7
  import {Skeleton, SkeletonProps} from './skeleton'
7
8
 
8
9
  const StyledSkeleton = styled(Skeleton)<{$size: number[]; $style: ThemeFontKey}>((
@@ -1,5 +1,6 @@
1
1
  import {forwardRef, useCallback, useEffect, useImperativeHandle, useRef} from 'react'
2
2
  import {styled} from 'styled-components'
3
+
3
4
  import {Button} from '../../primitives'
4
5
  import {ButtonTone} from '../../types'
5
6
 
@@ -1,5 +1,6 @@
1
- import {cloneElement, forwardRef, useCallback, useState, Children, isValidElement} from 'react'
1
+ import {Children, cloneElement, forwardRef, isValidElement, useCallback, useState} from 'react'
2
2
  import {styled} from 'styled-components'
3
+
3
4
  import {Inline, InlineProps} from '../../primitives'
4
5
 
5
6
  /**
@@ -1,4 +1,5 @@
1
1
  import {forwardRef} from 'react'
2
+
2
3
  import {Box, BoxProps} from '../../primitives'
3
4
 
4
5
  /**
@@ -1,5 +1,6 @@
1
1
  import {Box, Container, Toast} from '@sanity/ui'
2
2
  import {useAction, useBoolean, useSelect, useString, useText} from '@sanity/ui-workshop'
3
+
3
4
  import {WORKSHOP_TOAST_STATUS_OPTIONS} from '../../../__workshop__/constants'
4
5
 
5
6
  export default function ToastStory() {
@@ -1,5 +1,6 @@
1
+ import {getTheme_v2, ThemeColorStateToneKey} from '@sanity/ui/theme'
1
2
  import {styled} from 'styled-components'
2
- import {ThemeColorStateToneKey, getTheme_v2} from '../../../theme'
3
+
3
4
  import {Card, Flex} from '../../primitives'
4
5
  import type {ButtonTone} from '../../types'
5
6
 
@@ -1,16 +1,16 @@
1
1
  import {CloseIcon} from '@sanity/icons'
2
2
  import {motion, type Variant, type Variants} from 'framer-motion'
3
+
3
4
  import {usePrefersReducedMotion} from '../../hooks/usePrefersReducedMotion'
4
5
  import {Box, Button, Flex, Stack, Text} from '../../primitives'
5
-
6
6
  import {
7
+ BUTTON_TONE,
7
8
  LoadingBar,
9
+ LoadingBarMask,
8
10
  LoadingBarProgress,
9
- BUTTON_TONE,
10
11
  STATUS_CARD_TONE,
11
- TextBox,
12
12
  StyledToast,
13
- LoadingBarMask,
13
+ TextBox,
14
14
  } from './styles'
15
15
 
16
16
  /**
@@ -1,4 +1,5 @@
1
1
  import {styled} from 'styled-components'
2
+
2
3
  import {Grid} from '../../primitives/grid'
3
4
  import {useLayer} from '../../utils'
4
5
 
@@ -1,5 +1,6 @@
1
1
  import {AnimatePresence} from 'framer-motion'
2
2
  import {startTransition, useMemo, useState} from 'react'
3
+
3
4
  import {useMounted} from '../../hooks/useMounted'
4
5
  import {LayerProvider} from '../../utils'
5
6
  import {Toast} from './toast'
@@ -1,4 +1,5 @@
1
1
  import {useContext} from 'react'
2
+
2
3
  import {isRecord} from '../../lib/isRecord'
3
4
  import {ToastContext} from './toastContext'
4
5
  import {ToastContextValue} from './types'
@@ -2,6 +2,7 @@ import {LinkIcon} from '@sanity/icons'
2
2
  import {Box, Tree, TreeItem} from '@sanity/ui'
3
3
  import {usePerfTest} from '@sanity/ui-workshop/plugin-perf'
4
4
  import {useCallback, useState} from 'react'
5
+
5
6
  import {perfTests} from './basic.perf'
6
7
 
7
8
  export default function BasicStory() {
@@ -1,7 +1,8 @@
1
1
  import {LinkIcon} from '@sanity/icons'
2
- import {Box, TextInput, Tree, TreeItem, Text} from '@sanity/ui'
2
+ import {Box, Text, TextInput, Tree, TreeItem} from '@sanity/ui'
3
3
  import {usePerfTest} from '@sanity/ui-workshop/plugin-perf'
4
4
  import {useCallback, useState} from 'react'
5
+
5
6
  import {perfTests} from './basic.perf'
6
7
 
7
8
  export default function BasicStory() {
@@ -1,5 +1,6 @@
1
1
  import {getTheme_v2} from '@sanity/ui/theme'
2
2
  import {css} from 'styled-components'
3
+
3
4
  import {rem, ThemeProps} from '../../styles'
4
5
  import {_cardColorStyle} from '../../styles/card'
5
6
 
@@ -8,6 +8,7 @@ import {
8
8
  useRef,
9
9
  useState,
10
10
  } from 'react'
11
+
11
12
  import {Stack} from '../../primitives'
12
13
  import {_findNextItemElement, _findPrevItemElement, _focusItemElement} from './helpers'
13
14
  import {TreeContext} from './treeContext'
@@ -1,4 +1,5 @@
1
1
  import {memo} from 'react'
2
+
2
3
  import {Stack} from '../../primitives'
3
4
  import {useTree} from './useTree'
4
5
 
@@ -2,12 +2,13 @@ import {ToggleArrowRightIcon} from '@sanity/icons'
2
2
  import {ThemeFontWeightKey} from '@sanity/ui/theme'
3
3
  import {memo, useCallback, useEffect, useId, useMemo, useRef} from 'react'
4
4
  import {styled} from 'styled-components'
5
+
5
6
  import {Box, BoxProps, Flex, Text} from '../../primitives'
6
7
  import {
7
- treeItemRootStyle,
8
- treeItemRootColorStyle,
9
8
  treeItemBoxStyle,
10
9
  TreeItemBoxStyleProps,
10
+ treeItemRootColorStyle,
11
+ treeItemRootStyle,
11
12
  } from './style'
12
13
  import {TreeContext} from './treeContext'
13
14
  import {TreeGroup} from './treeGroup'
@@ -1,4 +1,5 @@
1
1
  import {useContext} from 'react'
2
+
2
3
  import {TreeContext} from './treeContext'
3
4
  import {TreeContextValue} from './types'
4
5
 
@@ -1,8 +1,8 @@
1
1
  import {
2
- isHTMLElement,
3
2
  isHTMLAnchorElement,
4
- isHTMLInputElement,
5
3
  isHTMLButtonElement,
4
+ isHTMLElement,
5
+ isHTMLInputElement,
6
6
  isHTMLSelectElement,
7
7
  isHTMLTextAreaElement,
8
8
  } from './element'
@@ -1,4 +1,5 @@
1
1
  import {useState} from 'react'
2
+
2
3
  import {_getArrayProp} from '../styles'
3
4
 
4
5
  /** @beta */
@@ -1,5 +1,4 @@
1
1
  /** @jest-environment jsdom */
2
- /* eslint-disable padding-line-between-statements, react/display-name */
3
2
 
4
3
  import {render, screen} from '@testing-library/react'
5
4
  import userEvent from '@testing-library/user-event'
@@ -1,4 +1,5 @@
1
1
  import {useEffect, useRef, useState} from 'react'
2
+
2
3
  import {EMPTY_ARRAY} from '../constants'
3
4
 
4
5
  /**
@@ -1,5 +1,4 @@
1
1
  /** @jest-environment jsdom */
2
- /* eslint-disable padding-line-between-statements, react/display-name */
3
2
 
4
3
  import {render, screen} from '@testing-library/react'
5
4
  import userEvent from '@testing-library/user-event'
@@ -1,5 +1,6 @@
1
1
  import {useDebugValue, useEffect} from 'react'
2
2
  import {useEffectEvent} from 'use-effect-event'
3
+
3
4
  import {EMPTY_ARRAY} from '../constants'
4
5
 
5
6
  /**
@@ -1,6 +1,7 @@
1
1
  /** @jest-environment jsdom */
2
2
 
3
- import {renderHook, act} from '@testing-library/react'
3
+ import {act, renderHook} from '@testing-library/react'
4
+
4
5
  import {useDelayedState} from './useDelayedState'
5
6
 
6
7
  describe('useDelayedState', () => {
@@ -1,5 +1,4 @@
1
- import {useRef} from 'react'
2
- import {useState, useCallback, SetStateAction} from 'react'
1
+ import {SetStateAction, useCallback, useRef, useState} from 'react'
3
2
 
4
3
  /**
5
4
  * @beta
@@ -1,5 +1,6 @@
1
1
  import {Box, Card, Code, Container, Stack, Text, useElementRect} from '@sanity/ui'
2
2
  import {useState} from 'react'
3
+
3
4
  import {Grid} from '../../../primitives'
4
5
 
5
6
  export default function ExampleStory() {
@@ -1,5 +1,6 @@
1
1
  import {useEffect, useState} from 'react'
2
- import {ElementSize, _elementSizeObserver} from '../observers/elementSizeObserver'
2
+
3
+ import {_elementSizeObserver, ElementSize} from '../observers/elementSizeObserver'
3
4
 
4
5
  /**
5
6
  * Subscribe to the size of a DOM element.
@@ -1,7 +1,8 @@
1
1
  /** @jest-environment node */
2
2
 
3
3
  import {buildTheme} from '@sanity/ui/theme'
4
- import {renderToString, renderToStaticMarkup} from 'react-dom/server'
4
+ import {renderToStaticMarkup, renderToString} from 'react-dom/server'
5
+
5
6
  import {ThemeProvider} from '../../theme'
6
7
  import {useMediaIndex} from './useMediaIndex'
7
8
 
@@ -1,4 +1,5 @@
1
1
  import {useMemo, useSyncExternalStore} from 'react'
2
+
2
3
  import {useTheme_v2} from '../../theme'
3
4
 
4
5
  /**
@@ -1,5 +1,6 @@
1
1
  /** @jest-environment node */
2
- import {renderToString, renderToStaticMarkup} from 'react-dom/server'
2
+ import {renderToStaticMarkup, renderToString} from 'react-dom/server'
3
+
3
4
  import {usePrefersDark} from './usePrefersDark'
4
5
 
5
6
  function Log() {
@@ -1,5 +1,6 @@
1
1
  /** @jest-environment node */
2
- import {renderToString, renderToStaticMarkup} from 'react-dom/server'
2
+ import {renderToStaticMarkup, renderToString} from 'react-dom/server'
3
+
3
4
  import {usePrefersReducedMotion} from './usePrefersReducedMotion'
4
5
 
5
6
  function Log() {
package/src/core/index.ts CHANGED
@@ -1,10 +1,9 @@
1
1
  export * from './_compat'
2
-
3
- export * from './primitives'
4
2
  export * from './components'
5
3
  export * from './helpers'
6
4
  export * from './hooks'
7
5
  export * from './observers'
6
+ export * from './primitives'
8
7
  export * from './styles'
9
8
  export * from './theme'
10
9
  export * from './types'
@@ -8,7 +8,8 @@
8
8
  * It's also why it's vital that all changes to globally scoped providers remain fully backwards compatible to v1.
9
9
  */
10
10
 
11
- import {createContext, type Context} from 'react'
11
+ import {type Context, createContext} from 'react'
12
+
12
13
  import {globalScope} from './globalScope'
13
14
 
14
15
  export function createGlobalScopedContext<ContextType, const T extends ContextType = ContextType>(
@@ -1,4 +1,5 @@
1
1
  import {styled} from 'styled-components'
2
+
2
3
  import {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/radius'
3
4
  import {Box} from '../box'
4
5
  import {selectableBaseStyle, selectableColorStyle, SelectableStyleProps} from './style'
@@ -1,5 +1,6 @@
1
1
  import {getTheme_v2} from '@sanity/ui/theme'
2
2
  import {css} from 'styled-components'
3
+
3
4
  import {ThemeProps} from '../../styles'
4
5
  import {_cardColorStyle} from '../../styles/card'
5
6
  import {SelectableTone} from '../../types'
@@ -1,5 +1,6 @@
1
1
  import {Avatar, Flex} from '@sanity/ui'
2
2
  import {useSelect} from '@sanity/ui-workshop'
3
+
3
4
  import {WORKSHOP_AVATAR_SIZE_OPTIONS} from '../../../__workshop__/constants'
4
5
 
5
6
  export default function AsButtonStory() {
@@ -1,5 +1,6 @@
1
1
  import {Avatar, AvatarCounter, AvatarStack, Flex} from '@sanity/ui'
2
2
  import {useSelect} from '@sanity/ui-workshop'
3
+
3
4
  import {WORKSHOP_AVATAR_SIZE_OPTIONS} from '../../../__workshop__/constants'
4
5
 
5
6
  export default function StackStory() {
@@ -1,4 +1,5 @@
1
1
  import {useBoolean} from '@sanity/ui-workshop'
2
+
2
3
  import {Box} from '../../box'
3
4
  import {Button} from '../../button'
4
5
  import {Container} from '../../container'
@@ -1,4 +1,5 @@
1
1
  import {useBoolean} from '@sanity/ui-workshop'
2
+
2
3
  import {Menu, MenuItem} from '../../../components'
3
4
  import {Layer} from '../../../utils'
4
5
  import {Box} from '../../box'
@@ -2,6 +2,7 @@ import {ThemeColorAvatarColorKey} from '@sanity/ui/theme'
2
2
  import {forwardRef, useCallback, useEffect, useId, useMemo, useState} from 'react'
3
3
  import ReactIs from 'react-is'
4
4
  import {styled} from 'styled-components'
5
+
5
6
  import {useArrayProp} from '../../hooks'
6
7
  import {useTheme_v2} from '../../theme'
7
8
  import {AvatarPosition, AvatarSize, AvatarStatus} from '../../types'
@@ -150,13 +151,7 @@ export const Avatar = forwardRef(function Avatar(
150
151
  <AvatarImage viewBox={`0 0 ${_sizeRem} ${_sizeRem}`} fill="none">
151
152
  <defs>
152
153
  <pattern id={imageId} patternContentUnits="objectBoundingBox" width="1" height="1">
153
- <image
154
- href={src}
155
- width="1"
156
- height="1"
157
- // eslint-disable-next-line react/no-unknown-property
158
- onError={handleImageError}
159
- />
154
+ <image href={src} width="1" height="1" onError={handleImageError} />
160
155
  </pattern>
161
156
  </defs>
162
157
 
@@ -1,9 +1,10 @@
1
1
  import {getTheme_v2} from '@sanity/ui/theme'
2
2
  import {forwardRef, useMemo} from 'react'
3
- import {styled, css} from 'styled-components'
3
+ import {css, styled} from 'styled-components'
4
+
4
5
  import {EMPTY_RECORD} from '../../constants'
5
6
  import {useArrayProp} from '../../hooks'
6
- import {rem, _responsive, ThemeProps} from '../../styles'
7
+ import {_responsive, rem, ThemeProps} from '../../styles'
7
8
  import {AvatarSize} from '../../types'
8
9
  import {Label} from '../label'
9
10
 
@@ -1,9 +1,10 @@
1
1
  import {getTheme_v2} from '@sanity/ui/theme'
2
2
  import {Children, cloneElement, forwardRef, isValidElement} from 'react'
3
- import {styled, css} from 'styled-components'
3
+ import {css, styled} from 'styled-components'
4
+
4
5
  import {EMPTY_RECORD} from '../../constants'
5
6
  import {useArrayProp} from '../../hooks'
6
- import {rem, _responsive, ThemeProps} from '../../styles'
7
+ import {_responsive, rem, ThemeProps} from '../../styles'
7
8
  import {AvatarSize} from '../../types'
8
9
  import {AvatarCounter} from './avatarCounter'
9
10
 
@@ -1,5 +1,6 @@
1
1
  import {CSSObject, getTheme_v2} from '@sanity/ui/theme'
2
- import {rem, _responsive, ThemeProps} from '../../styles'
2
+
3
+ import {_responsive, rem, ThemeProps} from '../../styles'
3
4
  import {focusRingStyle} from '../../styles/internal'
4
5
  import {AvatarRootStyleProps, ResponsiveAvatarSizeStyleProps} from './types'
5
6
 
@@ -1,4 +1,5 @@
1
1
  import {ThemeColorAvatarColorKey} from '@sanity/ui/theme'
2
+
2
3
  import {AvatarSize} from '../../types'
3
4
 
4
5
  /**
@@ -1,5 +1,6 @@
1
1
  import {Badge, Flex} from '@sanity/ui'
2
2
  import {useAction, useSelect, useText} from '@sanity/ui-workshop'
3
+
3
4
  import {
4
5
  WORKSHOP_BADGE_MODE_OPTIONS,
5
6
  WORKSHOP_BADGE_TONE_OPTIONS,
@@ -1,6 +1,7 @@
1
1
  import {Badge, Flex, Inline} from '@sanity/ui'
2
2
  import {THEME_COLOR_STATE_TONES} from '@sanity/ui/theme'
3
3
  import {useSelect} from '@sanity/ui-workshop'
4
+
4
5
  import {WORKSHOP_BADGE_MODE_OPTIONS} from '../../../__workshop__/constants'
5
6
 
6
7
  export default function Tones() {
@@ -1,6 +1,7 @@
1
1
  /** @jest-environment jsdom */
2
2
 
3
3
  import {axe} from 'jest-axe'
4
+
4
5
  import {render} from '../../../../test'
5
6
  import {Badge} from './badge'
6
7
 
@@ -1,5 +1,6 @@
1
1
  import {forwardRef} from 'react'
2
2
  import {styled} from 'styled-components'
3
+
3
4
  import {useArrayProp} from '../../hooks'
4
5
  import {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'
5
6
  import {BadgeMode, BadgeTone} from '../../types'
@@ -1,4 +1,5 @@
1
1
  import {CSSObject} from '@sanity/ui/theme'
2
+
2
3
  import {BadgeStyleProps} from './types'
3
4
 
4
5
  export function badgeStyle(props: BadgeStyleProps): CSSObject {
@@ -1,5 +1,6 @@
1
1
  import {Box, Card, Text} from '@sanity/ui'
2
2
  import {useAction, useSelect} from '@sanity/ui-workshop'
3
+
3
4
  import {WORKSHOP_SPACE_OPTIONS} from '../../../__workshop__/constants'
4
5
 
5
6
  export default function PropsStory() {
@@ -1,5 +1,6 @@
1
1
  import {forwardRef} from 'react'
2
2
  import {styled} from 'styled-components'
3
+
3
4
  import {useArrayProp} from '../../hooks'
4
5
  import {
5
6
  boxStyle,
@@ -9,10 +10,10 @@ import {
9
10
  ResponsiveBoxStyleProps,
10
11
  responsiveGridItemStyle,
11
12
  ResponsiveGridItemStyleProps,
12
- responsivePaddingStyle,
13
- ResponsivePaddingStyleProps,
14
13
  responsiveMarginStyle,
15
14
  ResponsiveMarginStyleProps,
15
+ responsivePaddingStyle,
16
+ ResponsivePaddingStyleProps,
16
17
  } from '../../styles/internal'
17
18
  import {
18
19
  ResponsiveBoxProps,
@@ -1,4 +1,7 @@
1
+ /* eslint-disable jsx-a11y/anchor-is-valid */
2
+
1
3
  import {Button, Flex, Grid, Stack, Text} from '@sanity/ui'
4
+
2
5
  import {WORKSHOP_BUTTON_TONE_OPTIONS} from '../../../__workshop__/constants'
3
6
 
4
7
  export default function CustomStory() {
@@ -1,4 +1,5 @@
1
1
  import {SquareIcon} from '@sanity/icons'
2
+
2
3
  import {Card} from '../../card/card'
3
4
  import {Container} from '../../container/container'
4
5
  import {Grid} from '../../grid/grid'
@@ -1,14 +1,15 @@
1
1
  import {icons} from '@sanity/icons'
2
2
  import {Button, Flex} from '@sanity/ui'
3
3
  import {useAction, useBoolean, useSelect, useText} from '@sanity/ui-workshop'
4
+
4
5
  import {
5
6
  WORKSHOP_BUTTON_MODE_OPTIONS,
6
7
  WORKSHOP_BUTTON_TEXT_ALIGN_OPTIONS,
7
8
  WORKSHOP_BUTTON_TONE_OPTIONS,
8
9
  WORKSHOP_FLEX_JUSTIFY_OPTIONS,
9
10
  WORKSHOP_ICON_SYMBOL_OPTIONS,
10
- WORKSHOP_TEXT_SIZE_OPTIONS,
11
11
  WORKSHOP_SPACE_OPTIONS,
12
+ WORKSHOP_TEXT_SIZE_OPTIONS,
12
13
  WORKSHOP_TEXT_WEIGHT_OPTIONS,
13
14
  } from '../../../__workshop__/constants'
14
15
 
@@ -1,6 +1,7 @@
1
1
  import {icons} from '@sanity/icons'
2
2
  import {Box, Button, Card, Container, Flex, Stack} from '@sanity/ui'
3
3
  import {useAction, useBoolean, useSelect} from '@sanity/ui-workshop'
4
+
4
5
  import {
5
6
  WORKSHOP_BUTTON_MODE_OPTIONS,
6
7
  WORKSHOP_BUTTON_TONE_OPTIONS,
@@ -3,6 +3,7 @@
3
3
  import {AddIcon} from '@sanity/icons'
4
4
  import {screen} from '@testing-library/react'
5
5
  import {axe} from 'jest-axe'
6
+
6
7
  import {render} from '../../../../test'
7
8
  import {Button, ButtonProps} from './button'
8
9
 
@@ -2,6 +2,7 @@ import {ThemeFontWeightKey} from '@sanity/ui/theme'
2
2
  import {forwardRef, isValidElement, useMemo} from 'react'
3
3
  import {isValidElementType} from 'react-is'
4
4
  import {styled} from 'styled-components'
5
+
5
6
  import {useArrayProp} from '../../hooks'
6
7
  import {ThemeProps} from '../../styles'
7
8
  import {responsiveRadiusStyle, ResponsiveRadiusStyleProps} from '../../styles/internal'
@@ -1,5 +1,6 @@
1
1
  import {CSSObject, getTheme_v2} from '@sanity/ui/theme'
2
2
  import {css} from 'styled-components'
3
+
3
4
  import {ThemeProps} from '../../styles'
4
5
  import {_cardColorStyle} from '../../styles/card'
5
6
  import {focusRingBorderStyle, focusRingStyle} from '../../styles/internal'