@sanity/ui 4.0.0-beta.8 → 4.0.0-next.0

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 (393) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +21 -7
  3. package/dist/_chunks/getScopedTheme.cjs +4043 -0
  4. package/dist/_chunks/getScopedTheme.cjs.map +1 -0
  5. package/dist/_chunks/getScopedTheme.js +3803 -0
  6. package/dist/_chunks/getScopedTheme.js.map +1 -0
  7. package/dist/_chunks/portalProvider.cjs +3750 -0
  8. package/dist/_chunks/portalProvider.cjs.map +1 -0
  9. package/dist/_chunks/portalProvider.d.cts +1067 -0
  10. package/dist/_chunks/portalProvider.d.cts.map +1 -0
  11. package/dist/_chunks/portalProvider.d.ts +1067 -0
  12. package/dist/_chunks/portalProvider.d.ts.map +1 -0
  13. package/dist/_chunks/portalProvider.js +3300 -0
  14. package/dist/_chunks/portalProvider.js.map +1 -0
  15. package/dist/_chunks/refractor.cjs +18 -0
  16. package/dist/_chunks/refractor.cjs.map +1 -0
  17. package/dist/_chunks/refractor.js +20 -0
  18. package/dist/_chunks/refractor.js.map +1 -0
  19. package/dist/_chunks/rgba.d.cts +929 -0
  20. package/dist/_chunks/rgba.d.cts.map +1 -0
  21. package/dist/_chunks/rgba.d.ts +929 -0
  22. package/dist/_chunks/rgba.d.ts.map +1 -0
  23. package/dist/_visual-editing.cjs +4 -0
  24. package/dist/_visual-editing.d.cts +2 -0
  25. package/dist/_visual-editing.d.ts +2 -0
  26. package/dist/_visual-editing.js +3 -0
  27. package/dist/index.cjs +3007 -0
  28. package/dist/index.cjs.map +1 -0
  29. package/dist/index.d.cts +1275 -0
  30. package/dist/index.d.cts.map +1 -0
  31. package/dist/index.d.ts +708 -1188
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +2964 -4783
  34. package/dist/index.js.map +1 -1
  35. package/dist/theme.cjs +54 -0
  36. package/dist/theme.cjs.map +1 -0
  37. package/dist/theme.d.cts +278 -0
  38. package/dist/theme.d.cts.map +1 -0
  39. package/dist/theme.d.ts +278 -0
  40. package/dist/theme.d.ts.map +1 -0
  41. package/dist/theme.js +53 -0
  42. package/dist/theme.js.map +1 -0
  43. package/package.json +65 -88
  44. package/dist/_chunks-es/Syntax.js +0 -23
  45. package/dist/_chunks-es/Syntax.js.map +0 -1
  46. package/dist/index.css +0 -1
  47. package/exports/index.css +0 -1
  48. package/exports/index.ts +0 -125
  49. package/src/components/autocomplete/Autocomplete.tsx +0 -665
  50. package/src/components/autocomplete/AutocompleteOption.tsx +0 -42
  51. package/src/components/autocomplete/__workshop__/Async.tsx +0 -162
  52. package/src/components/autocomplete/__workshop__/ConstrainedHeight.tsx +0 -121
  53. package/src/components/autocomplete/__workshop__/Custom.tsx +0 -91
  54. package/src/components/autocomplete/__workshop__/Example.tsx +0 -70
  55. package/src/components/autocomplete/__workshop__/FocusAndBlur.tsx +0 -39
  56. package/src/components/autocomplete/__workshop__/Fullscreen.tsx +0 -307
  57. package/src/components/autocomplete/__workshop__/index.ts +0 -41
  58. package/src/components/autocomplete/__workshop__/mock/apiStore.ts +0 -49
  59. package/src/components/autocomplete/__workshop__/mock/countries.ts +0 -245
  60. package/src/components/autocomplete/__workshop__/types.ts +0 -4
  61. package/src/components/autocomplete/autocompleteReducer.ts +0 -47
  62. package/src/components/autocomplete/constants.ts +0 -28
  63. package/src/components/autocomplete/types.ts +0 -103
  64. package/src/components/breadcrumbs/Breadcrumbs.tsx +0 -163
  65. package/src/components/breadcrumbs/__workshop__/Example.tsx +0 -48
  66. package/src/components/breadcrumbs/__workshop__/index.ts +0 -16
  67. package/src/components/dialog/Dialog.tsx +0 -230
  68. package/src/components/dialog/DialogCard.tsx +0 -233
  69. package/src/components/dialog/DialogContext.ts +0 -21
  70. package/src/components/dialog/DialogProvider.tsx +0 -34
  71. package/src/components/dialog/__workshop__/Activate.tsx +0 -141
  72. package/src/components/dialog/__workshop__/AutoFocus.tsx +0 -29
  73. package/src/components/dialog/__workshop__/Layering.tsx +0 -41
  74. package/src/components/dialog/__workshop__/Nested.tsx +0 -71
  75. package/src/components/dialog/__workshop__/OnScroll.tsx +0 -51
  76. package/src/components/dialog/__workshop__/Panes.tsx +0 -75
  77. package/src/components/dialog/__workshop__/Position.tsx +0 -30
  78. package/src/components/dialog/__workshop__/Props.tsx +0 -93
  79. package/src/components/dialog/__workshop__/Provider.tsx +0 -11
  80. package/src/components/dialog/__workshop__/Wrapped.tsx +0 -76
  81. package/src/components/dialog/__workshop__/index.ts +0 -21
  82. package/src/components/dialog/isTargetWithinScope.ts +0 -14
  83. package/src/components/dialog/types.ts +0 -2
  84. package/src/components/dialog/useDialog.ts +0 -11
  85. package/src/components/hotkeys/Hotkeys.tsx +0 -70
  86. package/src/components/hotkeys/__workshop__/Plain.tsx +0 -9
  87. package/src/components/hotkeys/__workshop__/index.ts +0 -16
  88. package/src/components/menu/Menu.test.tsx +0 -125
  89. package/src/components/menu/Menu.tsx +0 -174
  90. package/src/components/menu/MenuButton.tsx +0 -231
  91. package/src/components/menu/MenuContext.ts +0 -19
  92. package/src/components/menu/MenuDivider.tsx +0 -32
  93. package/src/components/menu/MenuGroup.tsx +0 -240
  94. package/src/components/menu/MenuItem.tsx +0 -153
  95. package/src/components/menu/__workshop__/AsComponent.tsx +0 -45
  96. package/src/components/menu/__workshop__/AvatarMenu.tsx +0 -36
  97. package/src/components/menu/__workshop__/ClosableMenuButton.tsx +0 -47
  98. package/src/components/menu/__workshop__/ConstrainedInBoundary.tsx +0 -133
  99. package/src/components/menu/__workshop__/CustomMenuItem.tsx +0 -47
  100. package/src/components/menu/__workshop__/CustomSelectedState.tsx +0 -35
  101. package/src/components/menu/__workshop__/DataProps.tsx +0 -27
  102. package/src/components/menu/__workshop__/DisableFocusOnClose.tsx +0 -40
  103. package/src/components/menu/__workshop__/Groups.tsx +0 -164
  104. package/src/components/menu/__workshop__/MenuButton.tsx +0 -79
  105. package/src/components/menu/__workshop__/MenuGroupRight.tsx +0 -73
  106. package/src/components/menu/__workshop__/NestedMenu.tsx +0 -22
  107. package/src/components/menu/__workshop__/OnCloseMenuButton.tsx +0 -50
  108. package/src/components/menu/__workshop__/SelectedItem.tsx +0 -69
  109. package/src/components/menu/__workshop__/ShouldFocus.tsx +0 -42
  110. package/src/components/menu/__workshop__/Tones.tsx +0 -19
  111. package/src/components/menu/__workshop__/index.ts +0 -91
  112. package/src/components/menu/helpers.ts +0 -82
  113. package/src/components/menu/useMenu.ts +0 -21
  114. package/src/components/menu/useMenuController.ts +0 -245
  115. package/src/components/tab/Tab.tsx +0 -135
  116. package/src/components/tab/TabList.tsx +0 -157
  117. package/src/components/tab/TabListContext.ts +0 -10
  118. package/src/components/tab/TabPanel.tsx +0 -94
  119. package/src/components/tab/__workshop__/Example.tsx +0 -135
  120. package/src/components/tab/__workshop__/index.ts +0 -16
  121. package/src/components/tab/types.ts +0 -11
  122. package/src/components/toast/Toast.test.tsx +0 -103
  123. package/src/components/toast/Toast.tsx +0 -191
  124. package/src/components/toast/ToastContext.ts +0 -7
  125. package/src/components/toast/ToastLayer.tsx +0 -54
  126. package/src/components/toast/ToastProvider.tsx +0 -127
  127. package/src/components/toast/__workshop__/Hook.tsx +0 -71
  128. package/src/components/toast/__workshop__/Toast.tsx +0 -26
  129. package/src/components/toast/__workshop__/index.ts +0 -21
  130. package/src/components/toast/toastState.ts +0 -6
  131. package/src/components/toast/types.ts +0 -24
  132. package/src/components/toast/useToast.ts +0 -23
  133. package/src/components/tree/Tree.tsx +0 -248
  134. package/src/components/tree/TreeContext.ts +0 -10
  135. package/src/components/tree/TreeGroup.tsx +0 -46
  136. package/src/components/tree/TreeItem.tsx +0 -236
  137. package/src/components/tree/__workshop__/Basic.tsx +0 -108
  138. package/src/components/tree/__workshop__/TabFromElement.tsx +0 -84
  139. package/src/components/tree/__workshop__/basic.perf.ts +0 -19
  140. package/src/components/tree/__workshop__/index.ts +0 -23
  141. package/src/components/tree/helpers.ts +0 -105
  142. package/src/components/tree/types.ts +0 -24
  143. package/src/components/tree/useTree.ts +0 -17
  144. package/src/components/virtualList/VirtualList.tsx +0 -254
  145. package/src/components/virtualList/__workshop__/ChangingProps.tsx +0 -41
  146. package/src/components/virtualList/__workshop__/ElementScroll.tsx +0 -43
  147. package/src/components/virtualList/__workshop__/InfiniteList.tsx +0 -40
  148. package/src/components/virtualList/__workshop__/WindowScrolll.tsx +0 -23
  149. package/src/components/virtualList/__workshop__/index.ts +0 -31
  150. package/src/core/_keys.ts +0 -26
  151. package/src/core/constants.ts +0 -67
  152. package/src/core/getElementRef.ts +0 -29
  153. package/src/core/helpers/animation.ts +0 -26
  154. package/src/core/helpers/element.ts +0 -55
  155. package/src/core/helpers/focus.ts +0 -92
  156. package/src/core/helpers/props.ts +0 -51
  157. package/src/core/helpers/scroll.ts +0 -15
  158. package/src/core/lib/createGlobalScopedContext.ts +0 -39
  159. package/src/core/lib/globalScope.ts +0 -19
  160. package/src/core/lib/isArray.ts +0 -3
  161. package/src/core/lib/isRecord.ts +0 -3
  162. package/src/core/types.ts +0 -57
  163. package/src/hooks/useClickOutsideEvent.test.tsx +0 -114
  164. package/src/hooks/useClickOutsideEvent.ts +0 -66
  165. package/src/hooks/useCustomValidity.ts +0 -13
  166. package/src/hooks/useElementSize.ts +0 -19
  167. package/src/hooks/useGlobalKeyDown.ts +0 -23
  168. package/src/hooks/useMatchMedia.ts +0 -28
  169. package/src/hooks/useMediaIndex/__workshop__/Test.tsx +0 -14
  170. package/src/hooks/useMediaIndex/__workshop__/index.ts +0 -16
  171. package/src/hooks/useMediaIndex/useMediaIndex.test.tsx +0 -21
  172. package/src/hooks/useMediaIndex/useMediaIndex.ts +0 -111
  173. package/src/hooks/useMounted.ts +0 -15
  174. package/src/hooks/usePrefersDark.hydration.test.tsx +0 -56
  175. package/src/hooks/usePrefersDark.test.tsx +0 -20
  176. package/src/hooks/usePrefersDark.ts +0 -16
  177. package/src/hooks/usePrefersReducedMotion.hydration.test.tsx +0 -56
  178. package/src/hooks/usePrefersReducedMotion.test.tsx +0 -20
  179. package/src/hooks/usePrefersReducedMotion.ts +0 -16
  180. package/src/hooks/useResponsiveProp.ts +0 -14
  181. package/src/hooks/useUnique.ts +0 -54
  182. package/src/middleware/origin.ts +0 -47
  183. package/src/observers/elementSize.ts +0 -114
  184. package/src/primitives/_syntax/LazySyntax.tsx +0 -4
  185. package/src/primitives/_syntax/Syntax.tsx +0 -26
  186. package/src/primitives/avatar/Avatar.tsx +0 -145
  187. package/src/primitives/avatar/AvatarCounter.tsx +0 -69
  188. package/src/primitives/avatar/AvatarStack.tsx +0 -77
  189. package/src/primitives/avatar/__workshop__/AsButton.tsx +0 -12
  190. package/src/primitives/avatar/__workshop__/PropsStory.tsx +0 -24
  191. package/src/primitives/avatar/__workshop__/Stack.tsx +0 -27
  192. package/src/primitives/avatar/__workshop__/WithinButton.tsx +0 -51
  193. package/src/primitives/avatar/__workshop__/WithinMenuItem.tsx +0 -52
  194. package/src/primitives/avatar/__workshop__/index.ts +0 -36
  195. package/src/primitives/avatar/types.ts +0 -2
  196. package/src/primitives/badge/Badge.test.tsx +0 -16
  197. package/src/primitives/badge/Badge.tsx +0 -53
  198. package/src/primitives/badge/__workshop__/Props.tsx +0 -27
  199. package/src/primitives/badge/__workshop__/Tones.tsx +0 -15
  200. package/src/primitives/badge/__workshop__/index.ts +0 -26
  201. package/src/primitives/badge/__workshop__/within-button.tsx +0 -36
  202. package/src/primitives/box/Box.tsx +0 -73
  203. package/src/primitives/box/__workshop__/Props.tsx +0 -26
  204. package/src/primitives/box/__workshop__/Responsive.tsx +0 -19
  205. package/src/primitives/box/__workshop__/index.ts +0 -21
  206. package/src/primitives/button/Button.test.tsx +0 -30
  207. package/src/primitives/button/Button.tsx +0 -148
  208. package/src/primitives/button/__workshop__/Custom.tsx +0 -39
  209. package/src/primitives/button/__workshop__/CustomIcons.tsx +0 -37
  210. package/src/primitives/button/__workshop__/DataProps.tsx +0 -18
  211. package/src/primitives/button/__workshop__/Disabled.tsx +0 -43
  212. package/src/primitives/button/__workshop__/MixedChildren.tsx +0 -12
  213. package/src/primitives/button/__workshop__/Props.tsx +0 -60
  214. package/src/primitives/button/__workshop__/Stacked.tsx +0 -60
  215. package/src/primitives/button/__workshop__/Styled1.css.ts +0 -7
  216. package/src/primitives/button/__workshop__/Styled1.tsx +0 -11
  217. package/src/primitives/button/__workshop__/TextOverflow.tsx +0 -17
  218. package/src/primitives/button/__workshop__/UploadButton.tsx +0 -28
  219. package/src/primitives/button/__workshop__/index.ts +0 -61
  220. package/src/primitives/button/types.ts +0 -2
  221. package/src/primitives/card/Card.tsx +0 -124
  222. package/src/primitives/card/CardContext.ts +0 -10
  223. package/src/primitives/card/CardInternalContext.ts +0 -10
  224. package/src/primitives/card/CardInternalProvider.tsx +0 -15
  225. package/src/primitives/card/CardProvider.tsx +0 -16
  226. package/src/primitives/card/__workshop__/AsButton.tsx +0 -103
  227. package/src/primitives/card/__workshop__/AsComponent.tsx +0 -25
  228. package/src/primitives/card/__workshop__/Checkered.tsx +0 -25
  229. package/src/primitives/card/__workshop__/DataProps.tsx +0 -25
  230. package/src/primitives/card/__workshop__/Interactive.tsx +0 -29
  231. package/src/primitives/card/__workshop__/ListNavigation.tsx +0 -78
  232. package/src/primitives/card/__workshop__/Props.tsx +0 -59
  233. package/src/primitives/card/__workshop__/Selected.tsx +0 -62
  234. package/src/primitives/card/__workshop__/Styled.tsx +0 -11
  235. package/src/primitives/card/__workshop__/Tones.tsx +0 -26
  236. package/src/primitives/card/__workshop__/index.ts +0 -21
  237. package/src/primitives/card/types.ts +0 -21
  238. package/src/primitives/card/useCard.ts +0 -20
  239. package/src/primitives/checkbox/Checkbox.tsx +0 -80
  240. package/src/primitives/checkbox/__workshop__/Example.tsx +0 -25
  241. package/src/primitives/checkbox/__workshop__/Props.tsx +0 -35
  242. package/src/primitives/checkbox/__workshop__/ReadOnly.tsx +0 -16
  243. package/src/primitives/checkbox/__workshop__/Tones.tsx +0 -26
  244. package/src/primitives/checkbox/__workshop__/index.ts +0 -15
  245. package/src/primitives/code/Code.tsx +0 -47
  246. package/src/primitives/code/__workshop__/OpticalAlignment.tsx +0 -25
  247. package/src/primitives/code/__workshop__/Props.tsx +0 -20
  248. package/src/primitives/code/__workshop__/index.ts +0 -21
  249. package/src/primitives/container/Container.tsx +0 -43
  250. package/src/primitives/container/__workshop__/Example.tsx +0 -16
  251. package/src/primitives/container/__workshop__/index.ts +0 -16
  252. package/src/primitives/container/types.ts +0 -6
  253. package/src/primitives/flex/Flex.tsx +0 -38
  254. package/src/primitives/flex/__workshop__/Example.tsx +0 -26
  255. package/src/primitives/flex/__workshop__/Gap.tsx +0 -25
  256. package/src/primitives/flex/__workshop__/index.ts +0 -13
  257. package/src/primitives/flex/__workshop__/styles.css.ts +0 -12
  258. package/src/primitives/grid/Grid.tsx +0 -38
  259. package/src/primitives/grid/__workshop__/Responsive.tsx +0 -54
  260. package/src/primitives/grid/__workshop__/index.ts +0 -12
  261. package/src/primitives/heading/Heading.tsx +0 -68
  262. package/src/primitives/heading/__workshop__/OpticalAlignment.tsx +0 -27
  263. package/src/primitives/heading/__workshop__/Plain.tsx +0 -25
  264. package/src/primitives/heading/__workshop__/index.ts +0 -21
  265. package/src/primitives/inline/Inline.tsx +0 -37
  266. package/src/primitives/inline/__workshop__/Plain.tsx +0 -22
  267. package/src/primitives/inline/__workshop__/index.ts +0 -10
  268. package/src/primitives/kbd/Kbd.tsx +0 -36
  269. package/src/primitives/kbd/__workshop__/Plain.tsx +0 -9
  270. package/src/primitives/kbd/__workshop__/index.ts +0 -10
  271. package/src/primitives/label/Label.tsx +0 -67
  272. package/src/primitives/label/__workshop__/OpticalAlignment.tsx +0 -27
  273. package/src/primitives/label/__workshop__/Plain.tsx +0 -27
  274. package/src/primitives/label/__workshop__/index.ts +0 -21
  275. package/src/primitives/layer/Layer.test.tsx +0 -110
  276. package/src/primitives/layer/Layer.tsx +0 -35
  277. package/src/primitives/layer/LayerCard.tsx +0 -90
  278. package/src/primitives/layer/LayerContext.ts +0 -7
  279. package/src/primitives/layer/LayerProvider.tsx +0 -106
  280. package/src/primitives/layer/__workshop__/MultipleRoots.tsx +0 -49
  281. package/src/primitives/layer/__workshop__/Nested.tsx +0 -107
  282. package/src/primitives/layer/__workshop__/ResponsiveZOffset.tsx +0 -17
  283. package/src/primitives/layer/__workshop__/_debug.tsx +0 -17
  284. package/src/primitives/layer/__workshop__/index.ts +0 -26
  285. package/src/primitives/layer/getLayerContext.test.ts +0 -32
  286. package/src/primitives/layer/getLayerContext.ts +0 -21
  287. package/src/primitives/layer/types.ts +0 -9
  288. package/src/primitives/layer/useLayer.ts +0 -24
  289. package/src/primitives/popover/Popover.tsx +0 -291
  290. package/src/primitives/popover/PopoverLayer.tsx +0 -101
  291. package/src/primitives/popover/__workshop__/AlignedStory.tsx +0 -75
  292. package/src/primitives/popover/__workshop__/MarginsStory.tsx +0 -31
  293. package/src/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -32
  294. package/src/primitives/popover/__workshop__/OpenOnMountStory.tsx +0 -11
  295. package/src/primitives/popover/__workshop__/PlainStory.tsx +0 -67
  296. package/src/primitives/popover/__workshop__/RecursiveStory.tsx +0 -71
  297. package/src/primitives/popover/__workshop__/SidePanelStory.tsx +0 -95
  298. package/src/primitives/popover/__workshop__/TestStory.tsx +0 -97
  299. package/src/primitives/popover/__workshop__/index.ts +0 -56
  300. package/src/primitives/popover/__workshop__/portal-inheritance.tsx +0 -15
  301. package/src/primitives/popover/constants.ts +0 -20
  302. package/src/primitives/popover/floating-ui/size.ts +0 -75
  303. package/src/primitives/popover/types.ts +0 -12
  304. package/src/primitives/popover/useMiddleware.ts +0 -126
  305. package/src/primitives/radio/Radio.tsx +0 -64
  306. package/src/primitives/radio/__workshop__/Example.tsx +0 -63
  307. package/src/primitives/radio/__workshop__/Plain.tsx +0 -28
  308. package/src/primitives/radio/__workshop__/index.ts +0 -13
  309. package/src/primitives/select/Select.tsx +0 -76
  310. package/src/primitives/select/__workshop__/Plain.tsx +0 -37
  311. package/src/primitives/select/__workshop__/ReadOnly.tsx +0 -23
  312. package/src/primitives/select/__workshop__/index.ts +0 -13
  313. package/src/primitives/selectable/Selectable.tsx +0 -48
  314. package/src/primitives/selectable/__workshop__/DataProps.tsx +0 -24
  315. package/src/primitives/selectable/__workshop__/as-link.tsx +0 -13
  316. package/src/primitives/selectable/__workshop__/index.ts +0 -19
  317. package/src/primitives/skeleton/CodeSkeleton.tsx +0 -49
  318. package/src/primitives/skeleton/HeadingSkeleton.tsx +0 -48
  319. package/src/primitives/skeleton/LabelSkeleton.tsx +0 -47
  320. package/src/primitives/skeleton/Skeleton.tsx +0 -70
  321. package/src/primitives/skeleton/TextSkeleton.tsx +0 -49
  322. package/src/primitives/skeleton/__workshop__/Delay.tsx +0 -69
  323. package/src/primitives/skeleton/__workshop__/Skeleton.tsx +0 -63
  324. package/src/primitives/skeleton/__workshop__/index.ts +0 -13
  325. package/src/primitives/spinner/Spinner.tsx +0 -45
  326. package/src/primitives/spinner/SpinnerAnimatedIcon.tsx +0 -14
  327. package/src/primitives/spinner/__workshop__/Props.tsx +0 -13
  328. package/src/primitives/spinner/__workshop__/index.ts +0 -16
  329. package/src/primitives/srOnly/SrOnly.tsx +0 -33
  330. package/src/primitives/stack/Stack.tsx +0 -38
  331. package/src/primitives/stack/__workshop__/Plain.tsx +0 -30
  332. package/src/primitives/stack/__workshop__/index.ts +0 -16
  333. package/src/primitives/switch/Switch.tsx +0 -76
  334. package/src/primitives/switch/__workshop__/Example.tsx +0 -25
  335. package/src/primitives/switch/__workshop__/Props.tsx +0 -23
  336. package/src/primitives/switch/__workshop__/index.ts +0 -13
  337. package/src/primitives/text/InlineCode.tsx +0 -25
  338. package/src/primitives/text/Text.tsx +0 -68
  339. package/src/primitives/text/__workshop__/Example.tsx +0 -26
  340. package/src/primitives/text/__workshop__/OpticalAlignment.tsx +0 -27
  341. package/src/primitives/text/__workshop__/index.ts +0 -26
  342. package/src/primitives/text/__workshop__/inline-code.tsx +0 -13
  343. package/src/primitives/textArea/TextArea.tsx +0 -97
  344. package/src/primitives/textArea/__workshop__/Plain.tsx +0 -46
  345. package/src/primitives/textArea/__workshop__/index.ts +0 -16
  346. package/src/primitives/textInput/TextInput.tsx +0 -279
  347. package/src/primitives/textInput/__workshop__/ClearButton.tsx +0 -32
  348. package/src/primitives/textInput/__workshop__/CustomValidity.tsx +0 -17
  349. package/src/primitives/textInput/__workshop__/Plain.tsx +0 -102
  350. package/src/primitives/textInput/__workshop__/ReadOnly.tsx +0 -14
  351. package/src/primitives/textInput/__workshop__/States.tsx +0 -53
  352. package/src/primitives/textInput/__workshop__/Tones.tsx +0 -40
  353. package/src/primitives/textInput/__workshop__/Typed.tsx +0 -23
  354. package/src/primitives/textInput/__workshop__/index.ts +0 -46
  355. package/src/primitives/tooltip/Tooltip.test.tsx +0 -496
  356. package/src/primitives/tooltip/Tooltip.tsx +0 -546
  357. package/src/primitives/tooltip/TooltipLayer.tsx +0 -72
  358. package/src/primitives/tooltip/__workshop__/CustomPortal.tsx +0 -102
  359. package/src/primitives/tooltip/__workshop__/OverflowingBoundary.tsx +0 -74
  360. package/src/primitives/tooltip/__workshop__/Props.tsx +0 -107
  361. package/src/primitives/tooltip/__workshop__/ResizableBoundary.tsx +0 -91
  362. package/src/primitives/tooltip/__workshop__/index.ts +0 -31
  363. package/src/primitives/tooltip/constants.ts +0 -24
  364. package/src/primitives/tooltip/tooltipDelayGroup/TooltipDelayGroupContext.tsx +0 -13
  365. package/src/primitives/tooltip/tooltipDelayGroup/TooltipDelayGroupProvider.tsx +0 -96
  366. package/src/primitives/tooltip/tooltipDelayGroup/types.ts +0 -7
  367. package/src/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -13
  368. package/src/root/Root.tsx +0 -93
  369. package/src/root/RootProvider.tsx +0 -37
  370. package/src/root/__workshop__/Boundary.tsx +0 -43
  371. package/src/root/__workshop__/index.ts +0 -24
  372. package/src/root/__workshop__/primitives.tsx +0 -49
  373. package/src/root/__workshop__/tone-inheritance.tsx +0 -65
  374. package/src/utils/ErrorBoundary.tsx +0 -50
  375. package/src/utils/boundaryElement/BoundaryElementContext.ts +0 -7
  376. package/src/utils/boundaryElement/BoundaryElementProvider.tsx +0 -16
  377. package/src/utils/boundaryElement/__workshop__/Plain.tsx +0 -49
  378. package/src/utils/boundaryElement/__workshop__/index.ts +0 -16
  379. package/src/utils/boundaryElement/types.ts +0 -2
  380. package/src/utils/boundaryElement/useBoundaryElement.ts +0 -12
  381. package/src/utils/elementQuery/ElementQuery.tsx +0 -75
  382. package/src/utils/elementQuery/__workshop__/CustomMedia.tsx +0 -19
  383. package/src/utils/elementQuery/__workshop__/index.ts +0 -16
  384. package/src/utils/elementQuery/__workshop__/styles.css.ts +0 -31
  385. package/src/utils/elementQuery/helpers.ts +0 -27
  386. package/src/utils/portal/Portal.test.tsx +0 -105
  387. package/src/utils/portal/Portal.tsx +0 -42
  388. package/src/utils/portal/PortalContext.ts +0 -37
  389. package/src/utils/portal/PortalProvider.tsx +0 -38
  390. package/src/utils/portal/__workshop__/Named.tsx +0 -69
  391. package/src/utils/portal/__workshop__/index.ts +0 -16
  392. package/src/utils/portal/types.ts +0 -7
  393. package/src/utils/portal/usePortal.ts +0 -30
@@ -1,135 +0,0 @@
1
- import {Box, Button, Card, Tab, TabList, TabPanel, Text} from '@sanity/ui'
2
- import {useBoolean} from '@sanity/ui-workshop'
3
- import {useState} from 'react'
4
-
5
- import {CardWrapper} from '../../../../workshop'
6
-
7
- export default function ExampleStory(): React.JSX.Element {
8
- const [tab, setTab] = useState('foo')
9
-
10
- const autoActivate = useBoolean('Auto activate')
11
- const useLongTitle = useBoolean('Use long title', false)
12
-
13
- const longTitle =
14
- "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum."
15
-
16
- const hasFocusableChildren = useBoolean('Has focusable children', false)
17
-
18
- return (
19
- <CardWrapper pattern="halftone" tone="transparent">
20
- <Card
21
- display="flex"
22
- flexDirection="column"
23
- overflow="hidden"
24
- radius={5}
25
- shadow={2}
26
- style={{minHeight: 300}}
27
- >
28
- <TabList autoActivate={autoActivate} flex="none" padding={3} shadow={1}>
29
- <Tab
30
- aria-controls="example-panel-foo"
31
- id="example-tab-foo"
32
- label="Foo"
33
- selected={tab === 'foo'}
34
- onActivate={() => setTab('foo')}
35
- />
36
- <Tab
37
- aria-controls="example-panel-bar"
38
- id="example-tab-bar"
39
- label="Bar"
40
- selected={tab === 'bar'}
41
- onActivate={() => setTab('bar')}
42
- />
43
- <Tab
44
- aria-controls="example-panel-baz"
45
- id="example-tab-baz"
46
- label={useLongTitle ? longTitle : 'Baz'}
47
- selected={tab === 'baz'}
48
- onActivate={() => setTab('baz')}
49
- />
50
- </TabList>
51
-
52
- <TabPanel
53
- aria-labelledby="example-panel-foo"
54
- display="flex"
55
- flex={1}
56
- flexDirection="column"
57
- gap={4}
58
- hidden={tab !== 'foo'}
59
- id="example-panel-foo"
60
- padding={4}
61
- style={{
62
- borderBottomLeftRadius: 'inherit',
63
- borderBottomRightRadius: 'inherit',
64
- // @ts-expect-error - `cornerShape` is not yet fully supported in CSS
65
- cornerShape: 'inherit',
66
- }}
67
- >
68
- <Text size={1}>
69
- The <strong>Foo</strong> tab panel
70
- </Text>
71
-
72
- {hasFocusableChildren && (
73
- <Box>
74
- <Button mode="ghost" text="Focusable child" />
75
- </Box>
76
- )}
77
- </TabPanel>
78
-
79
- <TabPanel
80
- aria-labelledby="example-panel-bar"
81
- display="flex"
82
- flex={1}
83
- flexDirection="column"
84
- gap={4}
85
- hidden={tab !== 'bar'}
86
- id="example-panel-bar"
87
- padding={4}
88
- style={{
89
- borderBottomLeftRadius: 'inherit',
90
- borderBottomRightRadius: 'inherit',
91
- // @ts-expect-error - `cornerShape` is not yet fully supported in CSS
92
- cornerShape: 'inherit',
93
- }}
94
- >
95
- <Text size={1}>
96
- The <strong>Bar</strong> tab panel
97
- </Text>
98
-
99
- {hasFocusableChildren && (
100
- <Box>
101
- <Button mode="ghost" text="Focusable child" />
102
- </Box>
103
- )}
104
- </TabPanel>
105
-
106
- <TabPanel
107
- aria-labelledby="example-panel-baz"
108
- display="flex"
109
- flex={1}
110
- flexDirection="column"
111
- gap={4}
112
- hidden={tab !== 'baz'}
113
- id="example-panel-baz"
114
- padding={4}
115
- style={{
116
- borderBottomLeftRadius: 'inherit',
117
- borderBottomRightRadius: 'inherit',
118
- // @ts-expect-error - `cornerShape` is not yet fully supported in CSS
119
- cornerShape: 'inherit',
120
- }}
121
- >
122
- <Text size={1}>
123
- The <strong>Baz</strong> tab panel
124
- </Text>
125
-
126
- {hasFocusableChildren && (
127
- <Box>
128
- <Button mode="ghost" text="Focusable child" />
129
- </Box>
130
- )}
131
- </TabPanel>
132
- </Card>
133
- </CardWrapper>
134
- )
135
- }
@@ -1,16 +0,0 @@
1
- import type {WorkshopScope} from '@sanity/ui-workshop'
2
- import {lazy} from 'react'
3
-
4
- const scope: WorkshopScope = {
5
- name: 'components/tab',
6
- title: 'Tab',
7
- stories: [
8
- {
9
- name: 'example',
10
- title: 'Example',
11
- component: lazy(() => import('./Example')),
12
- },
13
- ],
14
- }
15
-
16
- export default scope
@@ -1,11 +0,0 @@
1
- /**
2
- * @beta
3
- */
4
- export interface TabContextListValue {
5
- version: 0.0
6
- focusedId: string | undefined
7
- activeId: string | undefined
8
- focusTab: (id: string | undefined) => void
9
- activateTab: (id: string) => void
10
- registerTab: (id: string, element: HTMLElement, selected: boolean | undefined) => () => void
11
- }
@@ -1,103 +0,0 @@
1
- import {describe, expect, it, vi} from 'vitest'
2
-
3
- import {render} from '$test/utils'
4
-
5
- import {ToastContext} from './ToastContext'
6
- import type {ToastContextValue} from './types'
7
- import {useToast} from './useToast'
8
-
9
- describe('components/toast', () => {
10
- describe('useToast', () => {
11
- it('should get context value', async () => {
12
- const log = vi.fn()
13
-
14
- function Debug() {
15
- const rootToast = useToast()
16
-
17
- log(rootToast)
18
-
19
- return <>debug</>
20
- }
21
-
22
- function Root() {
23
- const value: ToastContextValue = {
24
- version: 0.0,
25
- push: () => '',
26
- }
27
-
28
- return (
29
- <ToastContext value={value}>
30
- <Debug />
31
- </ToastContext>
32
- )
33
- }
34
-
35
- render(<Root />)
36
-
37
- expect(log.mock.calls[0][0].version).toBe(0.0)
38
- expect(typeof log.mock.calls[0][0].push).toBe('function')
39
- })
40
-
41
- it('should fail when no context value is provided', async () => {
42
- const log = vi.fn()
43
-
44
- function Debug() {
45
- try {
46
- useToast()
47
- } catch (err) {
48
- log(err)
49
- }
50
-
51
- return null
52
- }
53
-
54
- function Root() {
55
- return (
56
- <ToastContext
57
- // @ts-expect-error - we want to test the error case
58
- value={undefined}
59
- >
60
- <Debug />
61
- </ToastContext>
62
- )
63
- }
64
-
65
- render(<Root />)
66
-
67
- expect(log.mock.calls[0][0].message).toEqual('useToast(): missing context value')
68
- })
69
-
70
- it('should fail when context value is not compatible', async () => {
71
- const log = vi.fn()
72
-
73
- function Debug() {
74
- try {
75
- useToast()
76
- } catch (err) {
77
- log(err)
78
- }
79
-
80
- return null
81
- }
82
-
83
- function Root() {
84
- // NOTE: we’re testing this because the context value may be a function in the future
85
-
86
- return (
87
- <ToastContext
88
- // @ts-expect-error - we want to test the error case
89
- value={() => ({version: 1})}
90
- >
91
- <Debug />
92
- </ToastContext>
93
- )
94
- }
95
-
96
- render(<Root />)
97
-
98
- expect(log.mock.calls[0][0].message).toEqual(
99
- 'useToast(): the context value is not compatible',
100
- )
101
- })
102
- })
103
- })
@@ -1,191 +0,0 @@
1
- import {CloseIcon} from '@sanity/icons'
2
- import {type RadiusStyleProps, toast} from '@sanity/ui-css'
3
- import {motion, type Variant, type Variants} from 'motion/react'
4
- import {type ReactNode} from 'react'
5
-
6
- import type {ComponentType, Props} from '../../core/types'
7
- import {usePrefersReducedMotion} from '../../hooks/usePrefersReducedMotion'
8
- import {Box} from '../../primitives/box/Box'
9
- import {Button} from '../../primitives/button/Button'
10
- import {Card} from '../../primitives/card/Card'
11
- import {Flex} from '../../primitives/flex/Flex'
12
- import {Stack} from '../../primitives/stack/Stack'
13
- import {Text} from '../../primitives/text/Text'
14
-
15
- /** @internal */
16
- export const DEFAULT_TOAST_ELEMENT = 'li'
17
-
18
- /** @internal */
19
- export type ToastOwnProps = RadiusStyleProps & {
20
- closable?: boolean
21
- description?: ReactNode
22
- onClose?: () => void
23
- title?: ReactNode
24
- status?: 'error' | 'warning' | 'success' | 'info'
25
- duration?: number
26
- }
27
-
28
- /** @internal */
29
- export type ToastElementType = 'li' | ComponentType
30
-
31
- /** @internal */
32
- export type ToastProps<E extends ToastElementType = ToastElementType> = Props<ToastOwnProps, E>
33
-
34
- // Support pattern used by Sanity Studio, that works around the lack of `duration: Infinity` support in older @sanity/ui versions
35
- // https://developer.mozilla.org/en-US/docs/Web/API/setTimeout#maximum_delay_value
36
- const LONG_ENOUGH_BUT_NOT_TOO_LONG = 1000 * 60 * 60 * 24 * 24
37
-
38
- const ROLES = {
39
- error: 'alert',
40
- warning: 'alert',
41
- success: 'alert',
42
- info: 'alert',
43
- } as const
44
-
45
- const STATUS_CARD_TONE = {
46
- error: 'critical',
47
- warning: 'caution',
48
- success: 'positive',
49
- info: 'neutral',
50
- } as const
51
-
52
- const BUTTON_TONE = {
53
- error: 'critical',
54
- warning: 'caution',
55
- success: 'positive',
56
- info: 'neutral',
57
- } as const
58
-
59
- /**
60
- * The `Toast` component gives feedback to users when an action has taken place.
61
- *
62
- * Toasts can be closed with a close button, or auto-dismiss when the duration expires.
63
- *
64
- * @internal
65
- */
66
- export function Toast<E extends ToastElementType = typeof DEFAULT_TOAST_ELEMENT>(
67
- props: ToastProps<E>,
68
- ): React.JSX.Element {
69
- const {
70
- as = DEFAULT_TOAST_ELEMENT,
71
- closable,
72
- description,
73
- duration,
74
- onClose,
75
- radius = 3,
76
- title,
77
- status,
78
- ...rest
79
- } = props as ToastProps<typeof DEFAULT_TOAST_ELEMENT>
80
-
81
- const cardTone = status ? STATUS_CARD_TONE[status] : 'default'
82
- const buttonTone = status ? BUTTON_TONE[status] : 'default'
83
- const role = status ? ROLES[status] : 'status'
84
-
85
- const prefersReducedMotion = usePrefersReducedMotion()
86
-
87
- const visualDuration: number = prefersReducedMotion ? 0 : 0.26
88
- const transition = visualDuration
89
- ? {type: 'spring' as const, visualDuration, bounce: 0.25}
90
- : {duration: 0}
91
-
92
- const hasDuration = duration && isFinite(duration) && duration < LONG_ENOUGH_BUT_NOT_TOO_LONG
93
- const initial: ContainerVariants[] = ['hidden', 'initial']
94
- const animate: ContainerVariants[] = ['visible', 'slideIn']
95
- const exit: ContainerVariants[] = ['hidden', 'slideOut']
96
-
97
- return (
98
- <MotionCard
99
- as={as}
100
- className={toast()}
101
- data-ui="Toast"
102
- role={role}
103
- {...rest}
104
- animate={animate}
105
- custom={visualDuration}
106
- data-has-duration={hasDuration ? '' : undefined}
107
- exit={exit}
108
- initial={initial}
109
- layout="position"
110
- position="relative"
111
- radius={radius}
112
- shadow={2}
113
- tone={cardTone}
114
- transition={transition}
115
- variants={container}
116
- >
117
- <MotionFlex align="flex-start" transition={transition} variants={content}>
118
- <Flex flex={1} overflowX="auto" padding={3}>
119
- <Stack gap={3}>
120
- {title && (
121
- <Text size={1} weight="medium">
122
- {title}
123
- </Text>
124
- )}
125
- {description && (
126
- <MotionText muted size={1} transition={transition} variants={content}>
127
- {description}
128
- </MotionText>
129
- )}
130
- </Stack>
131
- </Flex>
132
-
133
- {closable && (
134
- <Box padding={1}>
135
- <Button
136
- as="button"
137
- icon={CloseIcon}
138
- mode="bleed"
139
- padding={2}
140
- style={{verticalAlign: 'top'}}
141
- tone={buttonTone}
142
- onClick={onClose}
143
- />
144
- </Box>
145
- )}
146
- </MotionFlex>
147
- </MotionCard>
148
- )
149
- }
150
-
151
- const container = {
152
- initial: {y: 32, scale: 0.5, zIndex: 1},
153
- hidden: {opacity: 0},
154
- visible: (visualDuration: number) => {
155
- if (!visualDuration) return {opacity: 1}
156
-
157
- return {
158
- opacity: 1,
159
- transition: {
160
- when: 'beforeChildren',
161
- staggerChildren: visualDuration / 3,
162
- duration: visualDuration / 3,
163
- },
164
- }
165
- },
166
- slideIn: {
167
- y: 0,
168
- scale: 1,
169
- },
170
- slideOut: {
171
- zIndex: 0,
172
- scale: 0.75,
173
- },
174
- } satisfies Variants
175
- type ContainerVariants = keyof typeof container
176
-
177
- const content = {
178
- initial: {
179
- willChange: 'transform',
180
- },
181
- hidden: {
182
- opacity: 0,
183
- },
184
- visible: {
185
- opacity: 1,
186
- },
187
- } satisfies Partial<Record<ContainerVariants, Variant>>
188
-
189
- const MotionCard = motion.create(Card)
190
- const MotionFlex = motion.create(Flex)
191
- const MotionText = motion.create(Text)
@@ -1,7 +0,0 @@
1
- import type {Context} from 'react'
2
-
3
- import {createGlobalScopedContext} from '../../core/lib/createGlobalScopedContext'
4
- import type {ToastContextValue} from './types'
5
-
6
- export const ToastContext: Context<ToastContextValue | null> =
7
- createGlobalScopedContext<ToastContextValue | null>('@sanity/ui/v4/toast', null)
@@ -1,54 +0,0 @@
1
- import {type GapStyleProps, type PaddingStyleProps, toast_layer} from '@sanity/ui-css'
2
-
3
- import type {ComponentType, Props} from '../../core/types'
4
- import {Grid} from '../../primitives/grid/Grid'
5
- import {useLayer} from '../../primitives/layer/useLayer'
6
-
7
- /** @internal */
8
- export const DEFAULT_TOAST_LAYER_ELEMENT = 'ul'
9
-
10
- /** @internal */
11
- export type ToastLayerOwnProps = GapStyleProps & PaddingStyleProps
12
-
13
- /** @internal */
14
- export type ToastLayerElementType = 'ul' | ComponentType
15
-
16
- /** @internal */
17
- export type ToastLayerProps<E extends ToastLayerElementType = ToastLayerElementType> = Props<
18
- ToastLayerOwnProps,
19
- E
20
- >
21
-
22
- /**
23
- * @internal
24
- */
25
- export function ToastLayer<E extends ToastLayerElementType = typeof DEFAULT_TOAST_LAYER_ELEMENT>(
26
- props: ToastLayerProps<E>,
27
- ): React.JSX.Element {
28
- const {
29
- as = DEFAULT_TOAST_LAYER_ELEMENT,
30
- children,
31
- padding = 4,
32
- paddingX,
33
- paddingY,
34
- gap = 3,
35
- } = props as ToastLayerProps<typeof DEFAULT_TOAST_LAYER_ELEMENT>
36
-
37
- const {zIndex} = useLayer()
38
-
39
- return (
40
- <Grid
41
- as={as}
42
- className={toast_layer()}
43
- data-ui="ToastProvider"
44
- gap={gap}
45
- gridTemplateColumns={1}
46
- padding={padding}
47
- paddingX={paddingX}
48
- paddingY={paddingY}
49
- style={{zIndex}}
50
- >
51
- {children}
52
- </Grid>
53
- )
54
- }
@@ -1,127 +0,0 @@
1
- import type {ResponsiveProp} from '@sanity/ui-css'
2
- import {AnimatePresence} from 'motion/react'
3
- import {startTransition, useMemo, useRef, useState} from 'react'
4
-
5
- import {useMounted} from '../../hooks/useMounted'
6
- import {LayerProvider} from '../../primitives/layer/LayerProvider'
7
- import {Toast} from './Toast'
8
- import {ToastContext} from './ToastContext'
9
- import {ToastLayer, type ToastLayerProps} from './ToastLayer'
10
- import {generateToastId} from './toastState'
11
- import type {ToastContextValue, ToastParams} from './types'
12
-
13
- type ToastState = {
14
- dismiss: () => void
15
- id: string
16
- params: ToastParams
17
- }[]
18
-
19
- /** @public */
20
- export interface ToastProviderProps extends Omit<ToastLayerProps, 'children'> {
21
- children?: React.ReactNode
22
- zOffset?: ResponsiveProp<number>
23
- }
24
-
25
- /** @public */
26
- export function ToastProvider(props: ToastProviderProps): React.JSX.Element {
27
- const {children, padding, paddingX, paddingY, gap, zOffset = 1} = props
28
- const [state, setState] = useState<ToastState>([])
29
- const mounted = useMounted()
30
-
31
- const timeoutIdsRef = useRef<Record<string, NodeJS.Timeout | undefined>>({})
32
-
33
- const value: ToastContextValue = useMemo(() => {
34
- const push = (params: ToastParams) => {
35
- const id = params.id ?? generateToastId()
36
- const duration = params.duration ?? 5000
37
-
38
- // If the `id` is reused, clear the previous timeout
39
- const existingTimeoutId = timeoutIdsRef.current[id]
40
- if (existingTimeoutId) {
41
- clearTimeout(existingTimeoutId)
42
- timeoutIdsRef.current[id] = undefined
43
- }
44
-
45
- startTransition(() => {
46
- setState((prevState): ToastState => {
47
- /**
48
- * Backwards compatibility for `sanity` patterns workaround a lack of programatically dismissible toasts.
49
- * It uses a super short duration that closes the toast immediately in previous versions of `@sanity/ui`.
50
- * We interpret this as a request to dismiss the toast immediately, and remove it from the state right away.
51
- * Even once we support programatic dismissal we'll need to keep this for backwards compatibility with v2 and v1.
52
- */
53
- if (duration === 0.01) {
54
- return prevState.filter((toast) => toast.id !== id)
55
- }
56
-
57
- /**
58
- * Creates a function to dismiss this specific toast.
59
- * This function will be passed to the Toast component
60
- * and called either on close button click or after duration.
61
- */
62
- function dismiss() {
63
- startTransition(() => {
64
- if (timeoutId) {
65
- clearTimeout(timeoutId)
66
- }
67
-
68
- setState((currentState) => currentState.filter((toast) => toast.id !== id))
69
-
70
- // Clear the timeout id from the ref to prevent memory leaks
71
- timeoutIdsRef.current[id] = undefined
72
- })
73
- }
74
-
75
- const timeoutId = duration === Infinity ? undefined : setTimeout(dismiss, duration)
76
-
77
- // Set the timeout id in the ref
78
- timeoutIdsRef.current[id] = timeoutId
79
-
80
- /**
81
- * Create updated state by:
82
- * 1. Removing any existing toast with the same ID (prevents duplicates)
83
- * 2. Adding the new toast with its dismiss handler
84
- * 3. Updates the `updatedAt` timestamp, which resets progress bar count downs.
85
- */
86
- return [
87
- ...prevState.filter((toast) => toast.id !== id),
88
- {
89
- dismiss,
90
- id,
91
- params: {...params, duration},
92
- },
93
- ]
94
- })
95
- })
96
-
97
- return id
98
- }
99
-
100
- return {version: 0.0, push}
101
- }, [])
102
-
103
- return (
104
- <ToastContext value={value}>
105
- {children}
106
- {mounted && (
107
- <LayerProvider zOffset={zOffset}>
108
- <ToastLayer gap={gap} padding={padding} paddingX={paddingX} paddingY={paddingY}>
109
- <AnimatePresence initial={false} mode="popLayout">
110
- {state.map(({dismiss, id, params}) => (
111
- <Toast
112
- key={id}
113
- closable={params.closable}
114
- description={params.description}
115
- duration={params.duration}
116
- status={params.status}
117
- title={params.title}
118
- onClose={dismiss}
119
- />
120
- ))}
121
- </AnimatePresence>
122
- </ToastLayer>
123
- </LayerProvider>
124
- )}
125
- </ToastContext>
126
- )
127
- }