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

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 (381) 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/refractor.cjs +18 -0
  8. package/dist/_chunks/refractor.cjs.map +1 -0
  9. package/dist/_chunks/refractor.js +20 -0
  10. package/dist/_chunks/refractor.js.map +1 -0
  11. package/dist/_chunks/rgba.d.cts +929 -0
  12. package/dist/_chunks/rgba.d.cts.map +1 -0
  13. package/dist/_chunks/rgba.d.ts +929 -0
  14. package/dist/_chunks/rgba.d.ts.map +1 -0
  15. package/dist/index.cjs +6243 -0
  16. package/dist/index.cjs.map +1 -0
  17. package/dist/index.d.cts +2332 -0
  18. package/dist/index.d.cts.map +1 -0
  19. package/dist/index.d.ts +1767 -1190
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +6134 -4725
  22. package/dist/index.js.map +1 -1
  23. package/dist/theme.cjs +54 -0
  24. package/dist/theme.cjs.map +1 -0
  25. package/dist/theme.d.cts +278 -0
  26. package/dist/theme.d.cts.map +1 -0
  27. package/dist/theme.d.ts +278 -0
  28. package/dist/theme.d.ts.map +1 -0
  29. package/dist/theme.js +53 -0
  30. package/dist/theme.js.map +1 -0
  31. package/package.json +55 -86
  32. package/dist/_chunks-es/Syntax.js +0 -23
  33. package/dist/_chunks-es/Syntax.js.map +0 -1
  34. package/dist/index.css +0 -1
  35. package/exports/index.css +0 -1
  36. package/exports/index.ts +0 -125
  37. package/src/components/autocomplete/Autocomplete.tsx +0 -665
  38. package/src/components/autocomplete/AutocompleteOption.tsx +0 -42
  39. package/src/components/autocomplete/__workshop__/Async.tsx +0 -162
  40. package/src/components/autocomplete/__workshop__/ConstrainedHeight.tsx +0 -121
  41. package/src/components/autocomplete/__workshop__/Custom.tsx +0 -91
  42. package/src/components/autocomplete/__workshop__/Example.tsx +0 -70
  43. package/src/components/autocomplete/__workshop__/FocusAndBlur.tsx +0 -39
  44. package/src/components/autocomplete/__workshop__/Fullscreen.tsx +0 -307
  45. package/src/components/autocomplete/__workshop__/index.ts +0 -41
  46. package/src/components/autocomplete/__workshop__/mock/apiStore.ts +0 -49
  47. package/src/components/autocomplete/__workshop__/mock/countries.ts +0 -245
  48. package/src/components/autocomplete/__workshop__/types.ts +0 -4
  49. package/src/components/autocomplete/autocompleteReducer.ts +0 -47
  50. package/src/components/autocomplete/constants.ts +0 -28
  51. package/src/components/autocomplete/types.ts +0 -103
  52. package/src/components/breadcrumbs/Breadcrumbs.tsx +0 -163
  53. package/src/components/breadcrumbs/__workshop__/Example.tsx +0 -48
  54. package/src/components/breadcrumbs/__workshop__/index.ts +0 -16
  55. package/src/components/dialog/Dialog.tsx +0 -230
  56. package/src/components/dialog/DialogCard.tsx +0 -233
  57. package/src/components/dialog/DialogContext.ts +0 -21
  58. package/src/components/dialog/DialogProvider.tsx +0 -34
  59. package/src/components/dialog/__workshop__/Activate.tsx +0 -141
  60. package/src/components/dialog/__workshop__/AutoFocus.tsx +0 -29
  61. package/src/components/dialog/__workshop__/Layering.tsx +0 -41
  62. package/src/components/dialog/__workshop__/Nested.tsx +0 -71
  63. package/src/components/dialog/__workshop__/OnScroll.tsx +0 -51
  64. package/src/components/dialog/__workshop__/Panes.tsx +0 -75
  65. package/src/components/dialog/__workshop__/Position.tsx +0 -30
  66. package/src/components/dialog/__workshop__/Props.tsx +0 -93
  67. package/src/components/dialog/__workshop__/Provider.tsx +0 -11
  68. package/src/components/dialog/__workshop__/Wrapped.tsx +0 -76
  69. package/src/components/dialog/__workshop__/index.ts +0 -21
  70. package/src/components/dialog/isTargetWithinScope.ts +0 -14
  71. package/src/components/dialog/types.ts +0 -2
  72. package/src/components/dialog/useDialog.ts +0 -11
  73. package/src/components/hotkeys/Hotkeys.tsx +0 -70
  74. package/src/components/hotkeys/__workshop__/Plain.tsx +0 -9
  75. package/src/components/hotkeys/__workshop__/index.ts +0 -16
  76. package/src/components/menu/Menu.test.tsx +0 -125
  77. package/src/components/menu/Menu.tsx +0 -174
  78. package/src/components/menu/MenuButton.tsx +0 -231
  79. package/src/components/menu/MenuContext.ts +0 -19
  80. package/src/components/menu/MenuDivider.tsx +0 -32
  81. package/src/components/menu/MenuGroup.tsx +0 -240
  82. package/src/components/menu/MenuItem.tsx +0 -153
  83. package/src/components/menu/__workshop__/AsComponent.tsx +0 -45
  84. package/src/components/menu/__workshop__/AvatarMenu.tsx +0 -36
  85. package/src/components/menu/__workshop__/ClosableMenuButton.tsx +0 -47
  86. package/src/components/menu/__workshop__/ConstrainedInBoundary.tsx +0 -133
  87. package/src/components/menu/__workshop__/CustomMenuItem.tsx +0 -47
  88. package/src/components/menu/__workshop__/CustomSelectedState.tsx +0 -35
  89. package/src/components/menu/__workshop__/DataProps.tsx +0 -27
  90. package/src/components/menu/__workshop__/DisableFocusOnClose.tsx +0 -40
  91. package/src/components/menu/__workshop__/Groups.tsx +0 -164
  92. package/src/components/menu/__workshop__/MenuButton.tsx +0 -79
  93. package/src/components/menu/__workshop__/MenuGroupRight.tsx +0 -73
  94. package/src/components/menu/__workshop__/NestedMenu.tsx +0 -22
  95. package/src/components/menu/__workshop__/OnCloseMenuButton.tsx +0 -50
  96. package/src/components/menu/__workshop__/SelectedItem.tsx +0 -69
  97. package/src/components/menu/__workshop__/ShouldFocus.tsx +0 -42
  98. package/src/components/menu/__workshop__/Tones.tsx +0 -19
  99. package/src/components/menu/__workshop__/index.ts +0 -91
  100. package/src/components/menu/helpers.ts +0 -82
  101. package/src/components/menu/useMenu.ts +0 -21
  102. package/src/components/menu/useMenuController.ts +0 -245
  103. package/src/components/tab/Tab.tsx +0 -135
  104. package/src/components/tab/TabList.tsx +0 -157
  105. package/src/components/tab/TabListContext.ts +0 -10
  106. package/src/components/tab/TabPanel.tsx +0 -94
  107. package/src/components/tab/__workshop__/Example.tsx +0 -135
  108. package/src/components/tab/__workshop__/index.ts +0 -16
  109. package/src/components/tab/types.ts +0 -11
  110. package/src/components/toast/Toast.test.tsx +0 -103
  111. package/src/components/toast/Toast.tsx +0 -191
  112. package/src/components/toast/ToastContext.ts +0 -7
  113. package/src/components/toast/ToastLayer.tsx +0 -54
  114. package/src/components/toast/ToastProvider.tsx +0 -127
  115. package/src/components/toast/__workshop__/Hook.tsx +0 -71
  116. package/src/components/toast/__workshop__/Toast.tsx +0 -26
  117. package/src/components/toast/__workshop__/index.ts +0 -21
  118. package/src/components/toast/toastState.ts +0 -6
  119. package/src/components/toast/types.ts +0 -24
  120. package/src/components/toast/useToast.ts +0 -23
  121. package/src/components/tree/Tree.tsx +0 -248
  122. package/src/components/tree/TreeContext.ts +0 -10
  123. package/src/components/tree/TreeGroup.tsx +0 -46
  124. package/src/components/tree/TreeItem.tsx +0 -236
  125. package/src/components/tree/__workshop__/Basic.tsx +0 -108
  126. package/src/components/tree/__workshop__/TabFromElement.tsx +0 -84
  127. package/src/components/tree/__workshop__/basic.perf.ts +0 -19
  128. package/src/components/tree/__workshop__/index.ts +0 -23
  129. package/src/components/tree/helpers.ts +0 -105
  130. package/src/components/tree/types.ts +0 -24
  131. package/src/components/tree/useTree.ts +0 -17
  132. package/src/components/virtualList/VirtualList.tsx +0 -254
  133. package/src/components/virtualList/__workshop__/ChangingProps.tsx +0 -41
  134. package/src/components/virtualList/__workshop__/ElementScroll.tsx +0 -43
  135. package/src/components/virtualList/__workshop__/InfiniteList.tsx +0 -40
  136. package/src/components/virtualList/__workshop__/WindowScrolll.tsx +0 -23
  137. package/src/components/virtualList/__workshop__/index.ts +0 -31
  138. package/src/core/_keys.ts +0 -26
  139. package/src/core/constants.ts +0 -67
  140. package/src/core/getElementRef.ts +0 -29
  141. package/src/core/helpers/animation.ts +0 -26
  142. package/src/core/helpers/element.ts +0 -55
  143. package/src/core/helpers/focus.ts +0 -92
  144. package/src/core/helpers/props.ts +0 -51
  145. package/src/core/helpers/scroll.ts +0 -15
  146. package/src/core/lib/createGlobalScopedContext.ts +0 -39
  147. package/src/core/lib/globalScope.ts +0 -19
  148. package/src/core/lib/isArray.ts +0 -3
  149. package/src/core/lib/isRecord.ts +0 -3
  150. package/src/core/types.ts +0 -57
  151. package/src/hooks/useClickOutsideEvent.test.tsx +0 -114
  152. package/src/hooks/useClickOutsideEvent.ts +0 -66
  153. package/src/hooks/useCustomValidity.ts +0 -13
  154. package/src/hooks/useElementSize.ts +0 -19
  155. package/src/hooks/useGlobalKeyDown.ts +0 -23
  156. package/src/hooks/useMatchMedia.ts +0 -28
  157. package/src/hooks/useMediaIndex/__workshop__/Test.tsx +0 -14
  158. package/src/hooks/useMediaIndex/__workshop__/index.ts +0 -16
  159. package/src/hooks/useMediaIndex/useMediaIndex.test.tsx +0 -21
  160. package/src/hooks/useMediaIndex/useMediaIndex.ts +0 -111
  161. package/src/hooks/useMounted.ts +0 -15
  162. package/src/hooks/usePrefersDark.hydration.test.tsx +0 -56
  163. package/src/hooks/usePrefersDark.test.tsx +0 -20
  164. package/src/hooks/usePrefersDark.ts +0 -16
  165. package/src/hooks/usePrefersReducedMotion.hydration.test.tsx +0 -56
  166. package/src/hooks/usePrefersReducedMotion.test.tsx +0 -20
  167. package/src/hooks/usePrefersReducedMotion.ts +0 -16
  168. package/src/hooks/useResponsiveProp.ts +0 -14
  169. package/src/hooks/useUnique.ts +0 -54
  170. package/src/middleware/origin.ts +0 -47
  171. package/src/observers/elementSize.ts +0 -114
  172. package/src/primitives/_syntax/LazySyntax.tsx +0 -4
  173. package/src/primitives/_syntax/Syntax.tsx +0 -26
  174. package/src/primitives/avatar/Avatar.tsx +0 -145
  175. package/src/primitives/avatar/AvatarCounter.tsx +0 -69
  176. package/src/primitives/avatar/AvatarStack.tsx +0 -77
  177. package/src/primitives/avatar/__workshop__/AsButton.tsx +0 -12
  178. package/src/primitives/avatar/__workshop__/PropsStory.tsx +0 -24
  179. package/src/primitives/avatar/__workshop__/Stack.tsx +0 -27
  180. package/src/primitives/avatar/__workshop__/WithinButton.tsx +0 -51
  181. package/src/primitives/avatar/__workshop__/WithinMenuItem.tsx +0 -52
  182. package/src/primitives/avatar/__workshop__/index.ts +0 -36
  183. package/src/primitives/avatar/types.ts +0 -2
  184. package/src/primitives/badge/Badge.test.tsx +0 -16
  185. package/src/primitives/badge/Badge.tsx +0 -53
  186. package/src/primitives/badge/__workshop__/Props.tsx +0 -27
  187. package/src/primitives/badge/__workshop__/Tones.tsx +0 -15
  188. package/src/primitives/badge/__workshop__/index.ts +0 -26
  189. package/src/primitives/badge/__workshop__/within-button.tsx +0 -36
  190. package/src/primitives/box/Box.tsx +0 -73
  191. package/src/primitives/box/__workshop__/Props.tsx +0 -26
  192. package/src/primitives/box/__workshop__/Responsive.tsx +0 -19
  193. package/src/primitives/box/__workshop__/index.ts +0 -21
  194. package/src/primitives/button/Button.test.tsx +0 -30
  195. package/src/primitives/button/Button.tsx +0 -148
  196. package/src/primitives/button/__workshop__/Custom.tsx +0 -39
  197. package/src/primitives/button/__workshop__/CustomIcons.tsx +0 -37
  198. package/src/primitives/button/__workshop__/DataProps.tsx +0 -18
  199. package/src/primitives/button/__workshop__/Disabled.tsx +0 -43
  200. package/src/primitives/button/__workshop__/MixedChildren.tsx +0 -12
  201. package/src/primitives/button/__workshop__/Props.tsx +0 -60
  202. package/src/primitives/button/__workshop__/Stacked.tsx +0 -60
  203. package/src/primitives/button/__workshop__/Styled1.css.ts +0 -7
  204. package/src/primitives/button/__workshop__/Styled1.tsx +0 -11
  205. package/src/primitives/button/__workshop__/TextOverflow.tsx +0 -17
  206. package/src/primitives/button/__workshop__/UploadButton.tsx +0 -28
  207. package/src/primitives/button/__workshop__/index.ts +0 -61
  208. package/src/primitives/button/types.ts +0 -2
  209. package/src/primitives/card/Card.tsx +0 -124
  210. package/src/primitives/card/CardContext.ts +0 -10
  211. package/src/primitives/card/CardInternalContext.ts +0 -10
  212. package/src/primitives/card/CardInternalProvider.tsx +0 -15
  213. package/src/primitives/card/CardProvider.tsx +0 -16
  214. package/src/primitives/card/__workshop__/AsButton.tsx +0 -103
  215. package/src/primitives/card/__workshop__/AsComponent.tsx +0 -25
  216. package/src/primitives/card/__workshop__/Checkered.tsx +0 -25
  217. package/src/primitives/card/__workshop__/DataProps.tsx +0 -25
  218. package/src/primitives/card/__workshop__/Interactive.tsx +0 -29
  219. package/src/primitives/card/__workshop__/ListNavigation.tsx +0 -78
  220. package/src/primitives/card/__workshop__/Props.tsx +0 -59
  221. package/src/primitives/card/__workshop__/Selected.tsx +0 -62
  222. package/src/primitives/card/__workshop__/Styled.tsx +0 -11
  223. package/src/primitives/card/__workshop__/Tones.tsx +0 -26
  224. package/src/primitives/card/__workshop__/index.ts +0 -21
  225. package/src/primitives/card/types.ts +0 -21
  226. package/src/primitives/card/useCard.ts +0 -20
  227. package/src/primitives/checkbox/Checkbox.tsx +0 -80
  228. package/src/primitives/checkbox/__workshop__/Example.tsx +0 -25
  229. package/src/primitives/checkbox/__workshop__/Props.tsx +0 -35
  230. package/src/primitives/checkbox/__workshop__/ReadOnly.tsx +0 -16
  231. package/src/primitives/checkbox/__workshop__/Tones.tsx +0 -26
  232. package/src/primitives/checkbox/__workshop__/index.ts +0 -15
  233. package/src/primitives/code/Code.tsx +0 -47
  234. package/src/primitives/code/__workshop__/OpticalAlignment.tsx +0 -25
  235. package/src/primitives/code/__workshop__/Props.tsx +0 -20
  236. package/src/primitives/code/__workshop__/index.ts +0 -21
  237. package/src/primitives/container/Container.tsx +0 -43
  238. package/src/primitives/container/__workshop__/Example.tsx +0 -16
  239. package/src/primitives/container/__workshop__/index.ts +0 -16
  240. package/src/primitives/container/types.ts +0 -6
  241. package/src/primitives/flex/Flex.tsx +0 -38
  242. package/src/primitives/flex/__workshop__/Example.tsx +0 -26
  243. package/src/primitives/flex/__workshop__/Gap.tsx +0 -25
  244. package/src/primitives/flex/__workshop__/index.ts +0 -13
  245. package/src/primitives/flex/__workshop__/styles.css.ts +0 -12
  246. package/src/primitives/grid/Grid.tsx +0 -38
  247. package/src/primitives/grid/__workshop__/Responsive.tsx +0 -54
  248. package/src/primitives/grid/__workshop__/index.ts +0 -12
  249. package/src/primitives/heading/Heading.tsx +0 -68
  250. package/src/primitives/heading/__workshop__/OpticalAlignment.tsx +0 -27
  251. package/src/primitives/heading/__workshop__/Plain.tsx +0 -25
  252. package/src/primitives/heading/__workshop__/index.ts +0 -21
  253. package/src/primitives/inline/Inline.tsx +0 -37
  254. package/src/primitives/inline/__workshop__/Plain.tsx +0 -22
  255. package/src/primitives/inline/__workshop__/index.ts +0 -10
  256. package/src/primitives/kbd/Kbd.tsx +0 -36
  257. package/src/primitives/kbd/__workshop__/Plain.tsx +0 -9
  258. package/src/primitives/kbd/__workshop__/index.ts +0 -10
  259. package/src/primitives/label/Label.tsx +0 -67
  260. package/src/primitives/label/__workshop__/OpticalAlignment.tsx +0 -27
  261. package/src/primitives/label/__workshop__/Plain.tsx +0 -27
  262. package/src/primitives/label/__workshop__/index.ts +0 -21
  263. package/src/primitives/layer/Layer.test.tsx +0 -110
  264. package/src/primitives/layer/Layer.tsx +0 -35
  265. package/src/primitives/layer/LayerCard.tsx +0 -90
  266. package/src/primitives/layer/LayerContext.ts +0 -7
  267. package/src/primitives/layer/LayerProvider.tsx +0 -106
  268. package/src/primitives/layer/__workshop__/MultipleRoots.tsx +0 -49
  269. package/src/primitives/layer/__workshop__/Nested.tsx +0 -107
  270. package/src/primitives/layer/__workshop__/ResponsiveZOffset.tsx +0 -17
  271. package/src/primitives/layer/__workshop__/_debug.tsx +0 -17
  272. package/src/primitives/layer/__workshop__/index.ts +0 -26
  273. package/src/primitives/layer/getLayerContext.test.ts +0 -32
  274. package/src/primitives/layer/getLayerContext.ts +0 -21
  275. package/src/primitives/layer/types.ts +0 -9
  276. package/src/primitives/layer/useLayer.ts +0 -24
  277. package/src/primitives/popover/Popover.tsx +0 -291
  278. package/src/primitives/popover/PopoverLayer.tsx +0 -101
  279. package/src/primitives/popover/__workshop__/AlignedStory.tsx +0 -75
  280. package/src/primitives/popover/__workshop__/MarginsStory.tsx +0 -31
  281. package/src/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -32
  282. package/src/primitives/popover/__workshop__/OpenOnMountStory.tsx +0 -11
  283. package/src/primitives/popover/__workshop__/PlainStory.tsx +0 -67
  284. package/src/primitives/popover/__workshop__/RecursiveStory.tsx +0 -71
  285. package/src/primitives/popover/__workshop__/SidePanelStory.tsx +0 -95
  286. package/src/primitives/popover/__workshop__/TestStory.tsx +0 -97
  287. package/src/primitives/popover/__workshop__/index.ts +0 -56
  288. package/src/primitives/popover/__workshop__/portal-inheritance.tsx +0 -15
  289. package/src/primitives/popover/constants.ts +0 -20
  290. package/src/primitives/popover/floating-ui/size.ts +0 -75
  291. package/src/primitives/popover/types.ts +0 -12
  292. package/src/primitives/popover/useMiddleware.ts +0 -126
  293. package/src/primitives/radio/Radio.tsx +0 -64
  294. package/src/primitives/radio/__workshop__/Example.tsx +0 -63
  295. package/src/primitives/radio/__workshop__/Plain.tsx +0 -28
  296. package/src/primitives/radio/__workshop__/index.ts +0 -13
  297. package/src/primitives/select/Select.tsx +0 -76
  298. package/src/primitives/select/__workshop__/Plain.tsx +0 -37
  299. package/src/primitives/select/__workshop__/ReadOnly.tsx +0 -23
  300. package/src/primitives/select/__workshop__/index.ts +0 -13
  301. package/src/primitives/selectable/Selectable.tsx +0 -48
  302. package/src/primitives/selectable/__workshop__/DataProps.tsx +0 -24
  303. package/src/primitives/selectable/__workshop__/as-link.tsx +0 -13
  304. package/src/primitives/selectable/__workshop__/index.ts +0 -19
  305. package/src/primitives/skeleton/CodeSkeleton.tsx +0 -49
  306. package/src/primitives/skeleton/HeadingSkeleton.tsx +0 -48
  307. package/src/primitives/skeleton/LabelSkeleton.tsx +0 -47
  308. package/src/primitives/skeleton/Skeleton.tsx +0 -70
  309. package/src/primitives/skeleton/TextSkeleton.tsx +0 -49
  310. package/src/primitives/skeleton/__workshop__/Delay.tsx +0 -69
  311. package/src/primitives/skeleton/__workshop__/Skeleton.tsx +0 -63
  312. package/src/primitives/skeleton/__workshop__/index.ts +0 -13
  313. package/src/primitives/spinner/Spinner.tsx +0 -45
  314. package/src/primitives/spinner/SpinnerAnimatedIcon.tsx +0 -14
  315. package/src/primitives/spinner/__workshop__/Props.tsx +0 -13
  316. package/src/primitives/spinner/__workshop__/index.ts +0 -16
  317. package/src/primitives/srOnly/SrOnly.tsx +0 -33
  318. package/src/primitives/stack/Stack.tsx +0 -38
  319. package/src/primitives/stack/__workshop__/Plain.tsx +0 -30
  320. package/src/primitives/stack/__workshop__/index.ts +0 -16
  321. package/src/primitives/switch/Switch.tsx +0 -76
  322. package/src/primitives/switch/__workshop__/Example.tsx +0 -25
  323. package/src/primitives/switch/__workshop__/Props.tsx +0 -23
  324. package/src/primitives/switch/__workshop__/index.ts +0 -13
  325. package/src/primitives/text/InlineCode.tsx +0 -25
  326. package/src/primitives/text/Text.tsx +0 -68
  327. package/src/primitives/text/__workshop__/Example.tsx +0 -26
  328. package/src/primitives/text/__workshop__/OpticalAlignment.tsx +0 -27
  329. package/src/primitives/text/__workshop__/index.ts +0 -26
  330. package/src/primitives/text/__workshop__/inline-code.tsx +0 -13
  331. package/src/primitives/textArea/TextArea.tsx +0 -97
  332. package/src/primitives/textArea/__workshop__/Plain.tsx +0 -46
  333. package/src/primitives/textArea/__workshop__/index.ts +0 -16
  334. package/src/primitives/textInput/TextInput.tsx +0 -279
  335. package/src/primitives/textInput/__workshop__/ClearButton.tsx +0 -32
  336. package/src/primitives/textInput/__workshop__/CustomValidity.tsx +0 -17
  337. package/src/primitives/textInput/__workshop__/Plain.tsx +0 -102
  338. package/src/primitives/textInput/__workshop__/ReadOnly.tsx +0 -14
  339. package/src/primitives/textInput/__workshop__/States.tsx +0 -53
  340. package/src/primitives/textInput/__workshop__/Tones.tsx +0 -40
  341. package/src/primitives/textInput/__workshop__/Typed.tsx +0 -23
  342. package/src/primitives/textInput/__workshop__/index.ts +0 -46
  343. package/src/primitives/tooltip/Tooltip.test.tsx +0 -496
  344. package/src/primitives/tooltip/Tooltip.tsx +0 -546
  345. package/src/primitives/tooltip/TooltipLayer.tsx +0 -72
  346. package/src/primitives/tooltip/__workshop__/CustomPortal.tsx +0 -102
  347. package/src/primitives/tooltip/__workshop__/OverflowingBoundary.tsx +0 -74
  348. package/src/primitives/tooltip/__workshop__/Props.tsx +0 -107
  349. package/src/primitives/tooltip/__workshop__/ResizableBoundary.tsx +0 -91
  350. package/src/primitives/tooltip/__workshop__/index.ts +0 -31
  351. package/src/primitives/tooltip/constants.ts +0 -24
  352. package/src/primitives/tooltip/tooltipDelayGroup/TooltipDelayGroupContext.tsx +0 -13
  353. package/src/primitives/tooltip/tooltipDelayGroup/TooltipDelayGroupProvider.tsx +0 -96
  354. package/src/primitives/tooltip/tooltipDelayGroup/types.ts +0 -7
  355. package/src/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -13
  356. package/src/root/Root.tsx +0 -93
  357. package/src/root/RootProvider.tsx +0 -37
  358. package/src/root/__workshop__/Boundary.tsx +0 -43
  359. package/src/root/__workshop__/index.ts +0 -24
  360. package/src/root/__workshop__/primitives.tsx +0 -49
  361. package/src/root/__workshop__/tone-inheritance.tsx +0 -65
  362. package/src/utils/ErrorBoundary.tsx +0 -50
  363. package/src/utils/boundaryElement/BoundaryElementContext.ts +0 -7
  364. package/src/utils/boundaryElement/BoundaryElementProvider.tsx +0 -16
  365. package/src/utils/boundaryElement/__workshop__/Plain.tsx +0 -49
  366. package/src/utils/boundaryElement/__workshop__/index.ts +0 -16
  367. package/src/utils/boundaryElement/types.ts +0 -2
  368. package/src/utils/boundaryElement/useBoundaryElement.ts +0 -12
  369. package/src/utils/elementQuery/ElementQuery.tsx +0 -75
  370. package/src/utils/elementQuery/__workshop__/CustomMedia.tsx +0 -19
  371. package/src/utils/elementQuery/__workshop__/index.ts +0 -16
  372. package/src/utils/elementQuery/__workshop__/styles.css.ts +0 -31
  373. package/src/utils/elementQuery/helpers.ts +0 -27
  374. package/src/utils/portal/Portal.test.tsx +0 -105
  375. package/src/utils/portal/Portal.tsx +0 -42
  376. package/src/utils/portal/PortalContext.ts +0 -37
  377. package/src/utils/portal/PortalProvider.tsx +0 -38
  378. package/src/utils/portal/__workshop__/Named.tsx +0 -69
  379. package/src/utils/portal/__workshop__/index.ts +0 -16
  380. package/src/utils/portal/types.ts +0 -7
  381. package/src/utils/portal/usePortal.ts +0 -30
@@ -1,233 +0,0 @@
1
- import {CloseIcon} from '@sanity/icons'
2
- import {
3
- dialog_card,
4
- dialog_content,
5
- dialog_footer,
6
- dialog_header,
7
- dialog_scroller,
8
- dialog_scrollerShadowBottom,
9
- dialog_scrollerShadowTop,
10
- } from '@sanity/ui-css'
11
- import {
12
- type ForwardedRef,
13
- type ReactNode,
14
- use,
15
- useCallback,
16
- useEffect,
17
- useImperativeHandle,
18
- useRef,
19
- useState,
20
- } from 'react'
21
-
22
- import {focusFirstDescendant} from '../../core/helpers/focus'
23
- import type {Props} from '../../core/types'
24
- import {useClickOutsideEvent} from '../../hooks/useClickOutsideEvent'
25
- import {useGlobalKeyDown} from '../../hooks/useGlobalKeyDown'
26
- import {Box} from '../../primitives/box/Box'
27
- import {Button} from '../../primitives/button/Button'
28
- import {Card, type CardElementType, type CardOwnProps} from '../../primitives/card/Card'
29
- import {Flex} from '../../primitives/flex/Flex'
30
- import {useLayer} from '../../primitives/layer/useLayer'
31
- import {Text} from '../../primitives/text/Text'
32
- import {BoundaryElementContext} from '../../utils/boundaryElement/BoundaryElementContext'
33
- import {usePortal} from '../../utils/portal/usePortal'
34
- import {isTargetWithinScope} from './isTargetWithinScope'
35
-
36
- /** @internal */
37
- export const DEFAULT_DIALOG_CARD_ELEMENT = 'div'
38
-
39
- /** @internal */
40
- export type DialogCardOwnProps = CardOwnProps & {
41
- /**
42
- * @beta
43
- */
44
- __unstable_autoFocus: boolean
45
- /**
46
- * @beta
47
- */
48
- __unstable_hideCloseButton: boolean
49
- children: ReactNode
50
- contentRef?: ForwardedRef<HTMLDivElement>
51
- footer: ReactNode
52
- header: ReactNode
53
- id: string
54
- onClickOutside?: () => void
55
- onClose?: () => void
56
- portal?: string
57
- }
58
-
59
- /** @internal */
60
- export type DialogCardElementType = CardElementType
61
-
62
- /** @internal */
63
- export type DialogCardProps<E extends DialogCardElementType = DialogCardElementType> = Props<
64
- DialogCardOwnProps,
65
- E
66
- >
67
-
68
- /** @internal */
69
-
70
- export function DialogCard<E extends DialogCardElementType = typeof DEFAULT_DIALOG_CARD_ELEMENT>(
71
- props: DialogCardProps<E>,
72
- ): React.JSX.Element {
73
- const {
74
- __unstable_autoFocus: autoFocus,
75
- __unstable_hideCloseButton: hideCloseButton,
76
- as = DEFAULT_DIALOG_CARD_ELEMENT,
77
- children,
78
- contentRef: forwardedContentRef,
79
- footer,
80
- header,
81
- id,
82
- onClickOutside,
83
- onClose,
84
- portal: portalProp,
85
- ref: forwardedRef,
86
- ...rest
87
- } = props as DialogCardProps<typeof DEFAULT_DIALOG_CARD_ELEMENT>
88
-
89
- const portal = usePortal()
90
- const portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element
91
- const boundaryElement = use(BoundaryElementContext)
92
- const ref = useRef<HTMLDivElement | null>(null)
93
- const contentRef = useRef<HTMLDivElement | null>(null)
94
- const {isTopLayer} = useLayer()
95
- const labelId = `${id}_label`
96
- const showCloseButton = Boolean(onClose) && hideCloseButton === false
97
- const showHeader = Boolean(header) || showCloseButton
98
- const [scrollTop, setScrollTop] = useState(0)
99
- const [scrollHeight, setScrollHeight] = useState(0)
100
- const scrollBottom = scrollHeight - scrollTop
101
-
102
- useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)
103
- useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(
104
- forwardedContentRef,
105
- () => contentRef.current,
106
- )
107
-
108
- useEffect(() => {
109
- if (!autoFocus) return
110
-
111
- // On mount: focus the first focusable element
112
- if (ref.current) {
113
- focusFirstDescendant(ref.current)
114
- }
115
- }, [autoFocus, ref])
116
-
117
- useGlobalKeyDown(
118
- useCallback(
119
- (event: KeyboardEvent) => {
120
- if (!isTopLayer || !onClose) return
121
-
122
- const target = document.activeElement
123
-
124
- if (target && !isTargetWithinScope(boundaryElement, portalElement, target)) {
125
- // Ignore key presses when the focused element is outside of scope
126
- return
127
- }
128
-
129
- if (event.key === 'Escape') {
130
- event.preventDefault()
131
- event.stopPropagation()
132
- onClose()
133
- }
134
- },
135
- [boundaryElement, isTopLayer, onClose, portalElement],
136
- ),
137
- )
138
-
139
- useClickOutsideEvent(
140
- isTopLayer &&
141
- onClickOutside &&
142
- ((event) => {
143
- const target = event.target as Node | null
144
-
145
- if (target && !isTargetWithinScope(boundaryElement, portalElement, target)) {
146
- // Ignore clicks outside of the scope
147
- return
148
- }
149
-
150
- onClickOutside()
151
- }),
152
- () => [ref.current],
153
- )
154
-
155
- useEffect(() => {
156
- const el = contentRef.current
157
-
158
- if (!el) return
159
-
160
- const handleScroll = () => {
161
- setScrollTop(el.scrollTop)
162
- setScrollHeight(el.scrollHeight - el.offsetHeight)
163
- }
164
-
165
- el.addEventListener('scroll', handleScroll, {passive: true})
166
-
167
- return () => {
168
- el.removeEventListener('scroll', handleScroll)
169
- }
170
- }, [])
171
-
172
- return (
173
- <Card
174
- {...rest}
175
- ref={ref}
176
- as={as}
177
- className={dialog_card()}
178
- display="flex"
179
- flexDirection="column"
180
- >
181
- {showHeader && (
182
- <Flex align="flex-start" className={dialog_header()} padding={3} position="relative">
183
- <Box flex={1} padding={2}>
184
- {header && (
185
- <Text id={labelId} size={1} weight="semibold">
186
- {header}
187
- </Text>
188
- )}
189
- </Box>
190
-
191
- {showCloseButton && (
192
- <Box flex="none">
193
- <Button
194
- aria-label="Close dialog"
195
- disabled={!onClose}
196
- icon={CloseIcon}
197
- mode="bleed"
198
- padding={2}
199
- onClick={onClose}
200
- />
201
- </Box>
202
- )}
203
- </Flex>
204
- )}
205
-
206
- <Box className={dialog_content()} flex={1} position="relative" tabIndex={-1}>
207
- {showHeader && (
208
- <div
209
- className={dialog_scrollerShadowTop()}
210
- style={{opacity: Math.min(scrollTop, 32) / 32, zIndex: 1}}
211
- />
212
- )}
213
-
214
- <Box ref={contentRef} className={dialog_scroller()} overflow="auto" tabIndex={-1}>
215
- {children}
216
- </Box>
217
-
218
- {footer && (
219
- <div
220
- className={dialog_scrollerShadowBottom()}
221
- style={{opacity: Math.min(scrollBottom, 32) / 32}}
222
- />
223
- )}
224
- </Box>
225
-
226
- {footer && (
227
- <Box className={dialog_footer()} position="relative">
228
- {footer}
229
- </Box>
230
- )}
231
- </Card>
232
- )
233
- }
@@ -1,21 +0,0 @@
1
- import type {ResponsiveProp} from '@sanity/ui-css'
2
- import type {Context} from 'react'
3
-
4
- import {createGlobalScopedContext} from '../../core/lib/createGlobalScopedContext'
5
- import type {DialogPosition} from './types'
6
-
7
- /**
8
- * This API might change. DO NOT USE IN PRODUCTION.
9
- * @beta
10
- */
11
- export interface DialogContextValue {
12
- version: 0.0
13
- position?: ResponsiveProp<DialogPosition>
14
- zOffset?: ResponsiveProp<number>
15
- }
16
-
17
- /**
18
- * @internal
19
- */
20
- export const DialogContext: Context<DialogContextValue> =
21
- createGlobalScopedContext<DialogContextValue>('@sanity/ui/v4/dialog', {version: 0.0})
@@ -1,34 +0,0 @@
1
- import type {ResponsiveProp} from '@sanity/ui-css'
2
- import {type ReactNode, useMemo} from 'react'
3
-
4
- import {DialogContext, type DialogContextValue} from './DialogContext'
5
- import type {DialogPosition} from './types'
6
-
7
- /**
8
- * This API might change. DO NOT USE IN PRODUCTION.
9
- * @beta
10
- */
11
- export interface DialogProviderProps {
12
- children?: ReactNode
13
- position?: ResponsiveProp<DialogPosition>
14
- zOffset?: ResponsiveProp<number>
15
- }
16
-
17
- /**
18
- * This API might change. DO NOT USE IN PRODUCTION.
19
- * @beta
20
- */
21
- export function DialogProvider(props: DialogProviderProps): React.JSX.Element {
22
- const {children, position, zOffset} = props
23
-
24
- const contextValue: DialogContextValue = useMemo(
25
- () => ({
26
- version: 0.0,
27
- position,
28
- zOffset,
29
- }),
30
- [position, zOffset],
31
- )
32
-
33
- return <DialogContext value={contextValue}>{children}</DialogContext>
34
- }
@@ -1,141 +0,0 @@
1
- import {
2
- Button,
3
- Dialog,
4
- Flex,
5
- Layer,
6
- LayerProvider,
7
- Menu,
8
- MenuButton,
9
- MenuItem,
10
- Stack,
11
- Text,
12
- } from '@sanity/ui'
13
- import {useState} from 'react'
14
-
15
- export default function LayeringFocusStory(): React.JSX.Element {
16
- const [firstDialogOpen, setFirstDialogOpen] = useState<boolean>(false)
17
- const [secondDialogOpen, setSecondDialogOpen] = useState<boolean>(false)
18
- const [thirdDialogOpen, setThirdDialogOpen] = useState<boolean>(false)
19
- const [fourthDialogOpen, setFourthDialogOpen] = useState<boolean>(false)
20
-
21
- return (
22
- <LayerProvider>
23
- <Flex align="center" height="fill" justify="center">
24
- <Layer onActivate={({activeElement}) => activeElement?.focus()}>
25
- <Button
26
- id="open-dialog-1-button"
27
- text="Open dialog 1"
28
- onClick={() => setFirstDialogOpen(true)}
29
- />
30
-
31
- {firstDialogOpen && (
32
- <Dialog
33
- header="Dialog 1"
34
- id="1"
35
- onActivate={({activeElement}) => activeElement?.focus()}
36
- onClose={() => setFirstDialogOpen(false)}
37
- >
38
- <Stack gap={2} padding={3}>
39
- <Button
40
- id="open-dialog-2-button-1"
41
- mode="ghost"
42
- text="Open dialog 2"
43
- onClick={() => setSecondDialogOpen(true)}
44
- />
45
- <Button
46
- id="open-dialog-2-button-2"
47
- mode="ghost"
48
- text="Open dialog 2"
49
- onClick={() => setSecondDialogOpen(true)}
50
- />
51
- <Button
52
- id="open-dialog-2-button-3"
53
- mode="ghost"
54
- text="Open dialog 2"
55
- onClick={() => setSecondDialogOpen(true)}
56
- />
57
- </Stack>
58
-
59
- {secondDialogOpen && (
60
- <Dialog
61
- header="Dialog 2"
62
- id="2"
63
- onActivate={({activeElement}) => activeElement?.focus()}
64
- onClose={() => setSecondDialogOpen(false)}
65
- >
66
- <Stack gap={2} padding={3}>
67
- <Button
68
- id="open-dialog-3-button-1"
69
- mode="ghost"
70
- text="Open dialog 3"
71
- onClick={() => setThirdDialogOpen(true)}
72
- />
73
- <Button
74
- id="open-dialog-3-button-2"
75
- mode="ghost"
76
- text="Open dialog 3"
77
- onClick={() => setThirdDialogOpen(true)}
78
- />
79
- <Button
80
- id="open-dialog-3-button-3"
81
- mode="ghost"
82
- text="Open dialog 3"
83
- onClick={() => setThirdDialogOpen(true)}
84
- />
85
- </Stack>
86
-
87
- {thirdDialogOpen && (
88
- <Dialog
89
- header="Dialog 3"
90
- id="3"
91
- onActivate={({activeElement}) => activeElement?.focus()}
92
- onClose={() => setThirdDialogOpen(false)}
93
- >
94
- <Stack gap={2} padding={3}>
95
- <MenuButton
96
- button={
97
- <Button id="open-dialog-4-menu-button" mode="ghost" text="Open menu" />
98
- }
99
- id="menu"
100
- menu={
101
- <Menu>
102
- <MenuItem
103
- text="Open dialog 4"
104
- onClick={() => setFourthDialogOpen(true)}
105
- />
106
- <MenuItem
107
- text="Open dialog 4"
108
- onClick={() => setFourthDialogOpen(true)}
109
- />
110
- <MenuItem
111
- text="Open dialog 4"
112
- onClick={() => setFourthDialogOpen(true)}
113
- />
114
- </Menu>
115
- }
116
- />
117
- </Stack>
118
-
119
- {fourthDialogOpen && (
120
- <Dialog
121
- header="Dialog 4"
122
- id="4"
123
- onActivate={({activeElement}) => activeElement?.focus()}
124
- onClose={() => setFourthDialogOpen(false)}
125
- >
126
- <Stack gap={2} padding={3}>
127
- <Text>👋</Text>
128
- </Stack>
129
- </Dialog>
130
- )}
131
- </Dialog>
132
- )}
133
- </Dialog>
134
- )}
135
- </Dialog>
136
- )}
137
- </Layer>
138
- </Flex>
139
- </LayerProvider>
140
- )
141
- }
@@ -1,29 +0,0 @@
1
- import {Box, Button, Dialog, Text} from '@sanity/ui'
2
- import {useAction, useBoolean} from '@sanity/ui-workshop'
3
-
4
- export default function AutoFocusStory(): React.JSX.Element {
5
- const autoFocus = useBoolean('Auto-focus', true)
6
- const open = useBoolean('Open', false)
7
- const handleClose = useAction('onClose')
8
-
9
- if (!open) {
10
- return (
11
- <Box padding={4}>
12
- <Text muted>Use knobs to open the dialog</Text>
13
- </Box>
14
- )
15
- }
16
-
17
- return (
18
- <Dialog
19
- __unstable_autoFocus={autoFocus}
20
- header="Auto-focus example"
21
- id="auto-focus-example"
22
- onClose={handleClose}
23
- >
24
- <Box padding={4}>
25
- <Button text="Focusable button" />
26
- </Box>
27
- </Dialog>
28
- )
29
- }
@@ -1,41 +0,0 @@
1
- import {Box, Card, Code, Dialog, Layer, LayerProvider, useLayer} from '@sanity/ui'
2
- import {useAction} from '@sanity/ui-workshop'
3
-
4
- export default function LayeringStory(): React.JSX.Element {
5
- return (
6
- <Box padding={[4, 5, 6]}>
7
- <LayerProvider>
8
- <Layer id="a" zOffset={10}>
9
- <Card padding={2} shadow={2}>
10
- <DebugLayer />
11
- </Card>
12
- </Layer>
13
- <Layer id="b" zOffset={10}>
14
- <Card padding={2} shadow={2}>
15
- <DebugLayer />
16
- </Card>
17
- </Layer>
18
- <Dialog
19
- header="Layering example"
20
- id="layering-example"
21
- zOffset={100}
22
- onClose={useAction('onEscape')}
23
- >
24
- <Box padding={4}>
25
- <DebugLayer />
26
- </Box>
27
- </Dialog>
28
- </LayerProvider>
29
- </Box>
30
- )
31
- }
32
-
33
- function DebugLayer() {
34
- const layer = useLayer()
35
-
36
- return (
37
- <Code language="json" size={1}>
38
- {JSON.stringify(layer, null, 2)}
39
- </Code>
40
- )
41
- }
@@ -1,71 +0,0 @@
1
- import {Box, Button, Dialog, LayerProvider, Menu, MenuButton, MenuItem} from '@sanity/ui'
2
- import {useEffect, useRef, useState} from 'react'
3
-
4
- export default function NestedStory(): React.JSX.Element {
5
- const [open1] = useState(true)
6
- const [open2, setOpen2] = useState(false)
7
- const [open3, setOpen3] = useState(false)
8
-
9
- const dialog2Button = useRef<HTMLButtonElement>(null)
10
- const dialog3Button = useRef<HTMLButtonElement>(null)
11
-
12
- useEffect(() => {
13
- if (!open2) dialog2Button.current?.focus()
14
- }, [open2])
15
-
16
- useEffect(() => {
17
- if (!open3) dialog3Button.current?.focus()
18
- }, [open3])
19
-
20
- return (
21
- <LayerProvider>
22
- {open1 && (
23
- <Dialog animate header="Dialog 1" id="dialog1" shadow={1}>
24
- <Box padding={4}>
25
- <Button ref={dialog2Button} text="Open Dialog 2" onClick={() => setOpen2(true)} />
26
- </Box>
27
-
28
- {open2 && (
29
- <Dialog
30
- animate
31
- header="Dialog 2"
32
- id="dialog2"
33
- shadow={2}
34
- onClickOutside={() => setOpen2(false)}
35
- onClose={() => setOpen2(false)}
36
- >
37
- <Box padding={4}>
38
- <Button ref={dialog3Button} text="Open Dialog 3" onClick={() => setOpen3(true)} />
39
- </Box>
40
-
41
- {open3 && (
42
- <Dialog
43
- animate
44
- header="Dialog 3"
45
- id="dialog3"
46
- shadow={4}
47
- onClickOutside={() => setOpen3(false)}
48
- onClose={() => setOpen3(false)}
49
- >
50
- <Box padding={4}>
51
- <MenuButton
52
- button={<Button text="Test" />}
53
- id="menu3"
54
- menu={
55
- <Menu>
56
- <MenuItem text="Test" />
57
- <MenuItem text="Test" />
58
- </Menu>
59
- }
60
- popover={{animate: true, portal: true}}
61
- />
62
- </Box>
63
- </Dialog>
64
- )}
65
- </Dialog>
66
- )}
67
- </Dialog>
68
- )}
69
- </LayerProvider>
70
- )
71
- }
@@ -1,51 +0,0 @@
1
- import {Dialog, LayerProvider, Stack, Text} from '@sanity/ui'
2
- import {useAction} from '@sanity/ui-workshop'
3
- import {useEffect, useRef} from 'react'
4
-
5
- export default function OnScrollStory(): React.JSX.Element {
6
- const ref = useRef<HTMLDivElement | null>(null)
7
- const handleScroll = useAction('scroll')
8
-
9
- useEffect(() => {
10
- const el = ref.current
11
-
12
- if (!el) return
13
-
14
- el.addEventListener('scroll', handleScroll, {passive: true})
15
-
16
- return () => el.removeEventListener('scroll', handleScroll)
17
- }, [handleScroll])
18
-
19
- return (
20
- <LayerProvider>
21
- <Dialog contentRef={ref} header="On scroll example" id="on-scroll-example">
22
- <Stack gap={4} padding={4} paddingTop={1}>
23
- <Text muted size={1}>
24
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque at nisl at sem tempor
25
- hendrerit scelerisque ut libero. Maecenas iaculis efficitur lorem, ac faucibus mi
26
- imperdiet quis. Cras a consectetur erat. Fusce imperdiet, dolor et pellentesque iaculis,
27
- ex quam luctus felis, non ultrices enim sem vitae quam. Duis lorem velit, lacinia at
28
- rhoncus a, tempus vel neque. Vestibulum ante ipsum primis in faucibus orci luctus et
29
- ultrices posuere cubilia curae; Sed id mauris quam. Nam finibus sapien non lacinia
30
- ultricies. Integer fermentum tortor at pellentesque faucibus. In venenatis commodo
31
- placerat. Curabitur commodo tortor libero, vel pellentesque elit luctus sodales. Donec
32
- mattis tristique nunc ac lacinia. Vestibulum non pulvinar turpis, posuere consequat
33
- arcu. Fusce ut urna blandit, finibus nisi a, molestie elit. Nulla sed eleifend mi.
34
- </Text>
35
-
36
- <Text muted size={1}>
37
- Aliquam quis finibus ex. Fusce semper lorem sed orci tempor gravida. Cras dui urna,
38
- congue quis ipsum in, viverra facilisis libero. Vivamus vehicula libero quam, at posuere
39
- leo ornare imperdiet. Cras eu neque eu tellus scelerisque iaculis ac id ex. Vestibulum
40
- quam enim, lacinia ac ultricies at, molestie ut nisi. Vivamus vitae elit vel ante
41
- feugiat iaculis. Pellentesque vel diam volutpat, luctus magna at, laoreet tellus.
42
- Aliquam congue id nisi at sollicitudin. In sed nisi libero. Nulla ornare, mauris et
43
- pulvinar hendrerit, ligula leo auctor enim, vestibulum laoreet metus nisl a nulla. Sed
44
- et interdum sapien. Mauris lacinia interdum nisi quis ultrices. Etiam lobortis, dui
45
- semper ornare fringilla, felis lacus feugiat dui, vitae rhoncus tellus tortor ut ipsum.
46
- </Text>
47
- </Stack>
48
- </Dialog>
49
- </LayerProvider>
50
- )
51
- }