@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,54 +0,0 @@
1
- import {Card, Code, Container, Flex, Grid} from '@sanity/ui'
2
-
3
- export default function ResponsiveStory(): React.JSX.Element {
4
- return (
5
- <Flex align="center" height="fill" justify="center" padding={[4, 5, 6]} sizing="border">
6
- <Container width="auto">
7
- <Grid
8
- gap={[0, 1, 2, 3, 4, 5, 6]}
9
- gridTemplateColumns={[1, 2, 3, 4, 5, 6, 7]}
10
- gridTemplateRows={[1, 2, 3, 4, 5, 6, 7]}
11
- id="responsive-grid"
12
- style={{textAlign: 'center'}}
13
- >
14
- <Card padding={[1, 2, 3]} tone="neutral">
15
- <Code>1</Code>
16
- </Card>
17
- <Card padding={[1, 2, 3]} tone="neutral">
18
- <Code>2</Code>
19
- </Card>
20
- <Card padding={[1, 2, 3]} tone="neutral">
21
- <Code>3</Code>
22
- </Card>
23
- <Card padding={[1, 2, 3]} tone="neutral">
24
- <Code>4</Code>
25
- </Card>
26
- <Card padding={[1, 2, 3]} tone="neutral">
27
- <Code>5</Code>
28
- </Card>
29
- <Card padding={[1, 2, 3]} tone="neutral">
30
- <Code>6</Code>
31
- </Card>
32
- <Card padding={[1, 2, 3]} tone="neutral">
33
- <Code>7</Code>
34
- </Card>
35
- <Card padding={[1, 2, 3]} tone="neutral">
36
- <Code>8</Code>
37
- </Card>
38
- <Card padding={[1, 2, 3]} tone="neutral">
39
- <Code>9</Code>
40
- </Card>
41
- <Card padding={[1, 2, 3]} tone="neutral">
42
- <Code>10</Code>
43
- </Card>
44
- <Card padding={[1, 2, 3]} tone="neutral">
45
- <Code>11</Code>
46
- </Card>
47
- <Card padding={[1, 2, 3]} tone="neutral">
48
- <Code>12</Code>
49
- </Card>
50
- </Grid>
51
- </Container>
52
- </Flex>
53
- )
54
- }
@@ -1,12 +0,0 @@
1
- import type {WorkshopScope} from '@sanity/ui-workshop'
2
- import {lazy} from 'react'
3
-
4
- const scope: WorkshopScope = {
5
- name: 'primitives/grid',
6
- title: 'Grid',
7
- stories: [
8
- {name: 'responsive', title: 'Responsive', component: lazy(() => import('./Responsive'))},
9
- ],
10
- }
11
-
12
- export default scope
@@ -1,68 +0,0 @@
1
- import {
2
- heading,
3
- HEADING_STYLE_PROP_KEYS,
4
- type HeadingStyleProps,
5
- textOverflow,
6
- type TextOverflowStyleProps,
7
- } from '@sanity/ui-css'
8
-
9
- import {_splitKeys} from '../../core/_keys'
10
- import type {ComponentType, Props} from '../../core/types'
11
-
12
- /** @public */
13
- export const DEFAULT_HEADING_ELEMENT = 'div'
14
-
15
- /** @public */
16
- export type HeadingOwnProps = HeadingStyleProps & TextOverflowStyleProps
17
-
18
- /** @public */
19
- export type HeadingElementType =
20
- | 'div'
21
- | 'h1'
22
- | 'h2'
23
- | 'h3'
24
- | 'h4'
25
- | 'h5'
26
- | 'h6'
27
- | 'label'
28
- | 'span'
29
- | ComponentType
30
-
31
- /** @public */
32
- export type HeadingProps<E extends HeadingElementType = HeadingElementType> = Props<
33
- HeadingOwnProps,
34
- E
35
- >
36
-
37
- /**
38
- * Typographic headings.
39
- *
40
- * @public
41
- */
42
- export function Heading<E extends HeadingElementType = typeof DEFAULT_HEADING_ELEMENT>(
43
- props: HeadingProps<E>,
44
- ): React.JSX.Element {
45
- const [
46
- // split style props
47
- styleProps,
48
- {
49
- as: Element = DEFAULT_HEADING_ELEMENT,
50
- children: childrenProp,
51
- textOverflow: textOverflowProp,
52
- // split DOM props
53
- ...domProps
54
- },
55
- ] = _splitKeys(props as HeadingProps<typeof DEFAULT_HEADING_ELEMENT>, HEADING_STYLE_PROP_KEYS)
56
-
57
- let children = childrenProp
58
-
59
- if (textOverflowProp) {
60
- children = <span className={textOverflow({textOverflow: textOverflowProp})}>{children}</span>
61
- }
62
-
63
- return (
64
- <Element data-ui="Heading" {...domProps} className={heading(styleProps)}>
65
- {children}
66
- </Element>
67
- )
68
- }
@@ -1,27 +0,0 @@
1
- import {CropIcon} from '@sanity/icons'
2
- import {Box, FONT_HEADING_SIZE, Heading, Stack} from '@sanity/ui'
3
-
4
- import {CardWrapper} from '$workshop'
5
-
6
- export default function OpticalAlignment(): React.JSX.Element {
7
- return (
8
- <CardWrapper width={1}>
9
- <Stack gap={4}>
10
- {FONT_HEADING_SIZE.map((size) => (
11
- <Box key={size} display="flex" gap={3}>
12
- <Box flex="none" muted shadow={1}>
13
- <Heading muted size={size} weight="semibold">
14
- <CropIcon />
15
- </Heading>
16
- </Box>
17
- <Box flex={1} muted shadow={1}>
18
- <Heading muted size={size} textOverflow="ellipsis" weight="semibold">
19
- Hamburgefonstiv M
20
- </Heading>
21
- </Box>
22
- </Box>
23
- ))}
24
- </Stack>
25
- </CardWrapper>
26
- )
27
- }
@@ -1,25 +0,0 @@
1
- import {Flex, FONT_HEADING_SIZE, Heading} from '@sanity/ui'
2
- import {useBoolean, useSelect, useText} from '@sanity/ui-workshop'
3
-
4
- import {WORKSHOP_FONT_WEIGHT_OPTIONS, WORKSHOP_TEXT_OVERFLOW_OPTIONS} from '$workshop'
5
-
6
- export default function PlainStory(): React.JSX.Element {
7
- const muted = useBoolean('Muted', false)
8
- const size = useSelect('Size', FONT_HEADING_SIZE, 2)
9
- const textChild = useText('Text', 'Hello, world')
10
- const textOverflow = useSelect(
11
- 'Text overflow',
12
- WORKSHOP_TEXT_OVERFLOW_OPTIONS,
13
- undefined,
14
- 'Props',
15
- )
16
- const weight = useSelect('Weight', WORKSHOP_FONT_WEIGHT_OPTIONS)
17
-
18
- return (
19
- <Flex align="center" height="fill" justify="center" padding={[4, 5, 6]} sizing="border">
20
- <Heading muted={muted} size={size} textOverflow={textOverflow} weight={weight}>
21
- {textChild}
22
- </Heading>
23
- </Flex>
24
- )
25
- }
@@ -1,21 +0,0 @@
1
- import type {WorkshopScope} from '@sanity/ui-workshop'
2
- import {lazy} from 'react'
3
-
4
- const scope: WorkshopScope = {
5
- name: 'primitives/heading',
6
- title: 'Heading',
7
- stories: [
8
- {
9
- name: 'plain',
10
- title: 'Plain',
11
- component: lazy(() => import('./Plain')),
12
- },
13
- {
14
- name: 'optical-alignment',
15
- title: 'Optical alignment',
16
- component: lazy(() => import('./OpticalAlignment')),
17
- },
18
- ],
19
- }
20
-
21
- export default scope
@@ -1,37 +0,0 @@
1
- import {inline, INLINE_STYLE_PROP_KEYS, type InlineStyleProps} from '@sanity/ui-css'
2
-
3
- import {_splitKeys} from '../../core/_keys'
4
- import type {Props} from '../../core/types'
5
- import type {BoxElementType} from '../box/Box'
6
-
7
- /** @public */
8
- export const DEFAULT_INLINE_ELEMENT = 'div'
9
-
10
- /** @public */
11
- export type InlineOwnProps = InlineStyleProps
12
-
13
- /** @public */
14
- export type InlineElementType = BoxElementType
15
-
16
- /** @public */
17
- export type InlineProps<E extends InlineElementType = InlineElementType> = Props<InlineOwnProps, E>
18
-
19
- /**
20
- * The `Inline` component is a layout utility for aligning and spacing items horizontally.
21
- *
22
- * @public
23
- */
24
- export function Inline<E extends InlineElementType = typeof DEFAULT_INLINE_ELEMENT>(
25
- props: InlineProps<E>,
26
- ): React.JSX.Element {
27
- const [
28
- styleProps,
29
- {
30
- as: Element = DEFAULT_INLINE_ELEMENT,
31
- // split DOM props
32
- ...domProps
33
- },
34
- ] = _splitKeys(props as InlineProps<typeof DEFAULT_INLINE_ELEMENT>, INLINE_STYLE_PROP_KEYS)
35
-
36
- return <Element data-ui="Inline" {...domProps} className={inline(styleProps)} />
37
- }
@@ -1,22 +0,0 @@
1
- import {Card, Flex, Inline, SPACE, Text} from '@sanity/ui'
2
- import {useAction, useSelect} from '@sanity/ui-workshop'
3
-
4
- export default function PlainStory(): React.JSX.Element {
5
- return (
6
- <Flex align="center" height="fill" justify="center" padding={[4, 5, 6]} sizing="border">
7
- <Inline gap={useSelect('Gap', SPACE, 0)} onClick={useAction('onClick')}>
8
- <Card padding={1} shadow={1}>
9
- <Text size={1}>Inline item</Text>
10
- </Card>
11
-
12
- <Card padding={2} shadow={1}>
13
- <Text size={1}>Inline item</Text>
14
- </Card>
15
-
16
- <Card padding={3} shadow={1}>
17
- <Text size={1}>Inline item</Text>
18
- </Card>
19
- </Inline>
20
- </Flex>
21
- )
22
- }
@@ -1,10 +0,0 @@
1
- import type {WorkshopScope} from '@sanity/ui-workshop'
2
- import {lazy} from 'react'
3
-
4
- const scope: WorkshopScope = {
5
- name: 'primitives/inline',
6
- title: 'Inline',
7
- stories: [{name: 'plain', title: 'Plain', component: lazy(() => import('./Plain'))}],
8
- }
9
-
10
- export default scope
@@ -1,36 +0,0 @@
1
- import {kbd, KBD_STYLE_PROP_KEYS, type KBDStyleProps} from '@sanity/ui-css'
2
-
3
- import {_splitKeys} from '../../core/_keys'
4
- import type {ComponentType, Props} from '../../core/types'
5
-
6
- /** @public */
7
- export const DEFAULT_KBD_ELEMENT = 'kbd'
8
-
9
- /** @public */
10
- export type KBDOwnProps = KBDStyleProps
11
-
12
- /** @public */
13
- export type KBDElementType = 'kbd' | ComponentType
14
-
15
- /** @public */
16
- export type KBDProps<E extends KBDElementType = KBDElementType> = Props<KBDOwnProps, E>
17
-
18
- /**
19
- * Used to define some text as keyboard input.
20
- *
21
- * @public
22
- */
23
- export function KBD<E extends KBDElementType = typeof DEFAULT_KBD_ELEMENT>(
24
- props: KBDProps<E>,
25
- ): React.JSX.Element {
26
- const [
27
- styleProps,
28
- {
29
- as: Element = DEFAULT_KBD_ELEMENT,
30
- // split DOM props
31
- ...domProps
32
- },
33
- ] = _splitKeys(props as KBDProps<typeof DEFAULT_KBD_ELEMENT>, KBD_STYLE_PROP_KEYS)
34
-
35
- return <Element data-ui="KBD" {...domProps} className={kbd(styleProps)} />
36
- }
@@ -1,9 +0,0 @@
1
- import {Flex, KBD} from '@sanity/ui'
2
-
3
- export default function PlainStory(): React.JSX.Element {
4
- return (
5
- <Flex align="center" height="fill" justify="center" padding={[4, 5, 6]} sizing="border">
6
- <KBD style={{verticalAlign: 'top'}}>Ctrl</KBD>
7
- </Flex>
8
- )
9
- }
@@ -1,10 +0,0 @@
1
- import type {WorkshopScope} from '@sanity/ui-workshop'
2
- import {lazy} from 'react'
3
-
4
- const scope: WorkshopScope = {
5
- name: 'primitives/kbd',
6
- title: 'KBD',
7
- stories: [{name: 'plain', title: 'Plain', component: lazy(() => import('./Plain'))}],
8
- }
9
-
10
- export default scope
@@ -1,67 +0,0 @@
1
- import {
2
- label,
3
- LABEL_STYLE_PROP_KEYS,
4
- type LabelStyleProps,
5
- textOverflow,
6
- type TextOverflowStyleProps,
7
- } from '@sanity/ui-css'
8
-
9
- import {_splitKeys} from '../../core/_keys'
10
- import type {ComponentType, Props} from '../../core/types'
11
-
12
- /** @public */
13
- export const DEFAULT_LABEL_ELEMENT = 'div'
14
-
15
- /** @public */
16
- export type LabelOwnProps = LabelStyleProps & TextOverflowStyleProps
17
-
18
- /** @public */
19
- export type LabelElementType =
20
- | 'div'
21
- | 'h1'
22
- | 'h2'
23
- | 'h3'
24
- | 'h4'
25
- | 'h5'
26
- | 'h6'
27
- | 'label'
28
- | 'li'
29
- | 'p'
30
- | 'span'
31
- | ComponentType
32
-
33
- /** @public */
34
- export type LabelProps<E extends LabelElementType = LabelElementType> = Props<LabelOwnProps, E>
35
-
36
- /**
37
- * Typographic labels.
38
- *
39
- * @public
40
- */
41
- export function Label<E extends LabelElementType = typeof DEFAULT_LABEL_ELEMENT>(
42
- props: LabelProps<E>,
43
- ): React.JSX.Element {
44
- const [
45
- // split style props
46
- styleProps,
47
- {
48
- as: Element = DEFAULT_LABEL_ELEMENT,
49
- children: childrenProp,
50
- textOverflow: textOverflowProp,
51
- // split DOM props
52
- ...domProps
53
- },
54
- ] = _splitKeys(props as LabelProps<typeof DEFAULT_LABEL_ELEMENT>, LABEL_STYLE_PROP_KEYS)
55
-
56
- let children = childrenProp
57
-
58
- if (textOverflowProp) {
59
- children = <span className={textOverflow({textOverflow: textOverflowProp})}>{children}</span>
60
- }
61
-
62
- return (
63
- <Element data-ui="Label" {...domProps} className={label(styleProps)}>
64
- {children}
65
- </Element>
66
- )
67
- }
@@ -1,27 +0,0 @@
1
- import {CropIcon} from '@sanity/icons'
2
- import {Box, FONT_LABEL_SIZE, Label, Stack} from '@sanity/ui'
3
-
4
- import {CardWrapper} from '$workshop'
5
-
6
- export default function OpticalAlignment(): React.JSX.Element {
7
- return (
8
- <CardWrapper width={0}>
9
- <Stack gap={4}>
10
- {FONT_LABEL_SIZE.map((size) => (
11
- <Box key={size} display="flex" gap={2}>
12
- <Box flex="none" muted shadow={1}>
13
- <Label muted size={size}>
14
- <CropIcon />
15
- </Label>
16
- </Box>
17
- <Box flex={1} muted shadow={1}>
18
- <Label muted size={size} textOverflow="ellipsis">
19
- Hamburgefonstiv M
20
- </Label>
21
- </Box>
22
- </Box>
23
- ))}
24
- </Stack>
25
- </CardWrapper>
26
- )
27
- }
@@ -1,27 +0,0 @@
1
- import {Container, Flex, FONT_TEXT_SIZE, Label} from '@sanity/ui'
2
- import {useBoolean, useSelect, useText} from '@sanity/ui-workshop'
3
-
4
- import {
5
- WORKSHOP_FONT_WEIGHT_OPTIONS,
6
- WORKSHOP_TEXT_ALIGN_OPTIONS,
7
- WORKSHOP_TEXT_OVERFLOW_OPTIONS,
8
- } from '$workshop'
9
-
10
- export default function PlainStory(): React.JSX.Element {
11
- const align = useSelect('Align', WORKSHOP_TEXT_ALIGN_OPTIONS)
12
- const muted = useBoolean('Muted', false)
13
- const size = useSelect('Size', FONT_TEXT_SIZE)
14
- const textChild = useText('Text', 'Label text')
15
- const textOverflow = useSelect('Text overflow', WORKSHOP_TEXT_OVERFLOW_OPTIONS)
16
- const weight = useSelect('Weight', WORKSHOP_FONT_WEIGHT_OPTIONS)
17
-
18
- return (
19
- <Flex align="center" height="fill" justify="center" padding={[4, 5, 6]} sizing="border">
20
- <Container width={0}>
21
- <Label align={align} muted={muted} size={size} textOverflow={textOverflow} weight={weight}>
22
- {textChild}
23
- </Label>
24
- </Container>
25
- </Flex>
26
- )
27
- }
@@ -1,21 +0,0 @@
1
- import type {WorkshopScope} from '@sanity/ui-workshop'
2
- import {lazy} from 'react'
3
-
4
- const scope: WorkshopScope = {
5
- name: 'primitives/label',
6
- title: 'Label',
7
- stories: [
8
- {
9
- name: 'plain',
10
- title: 'Plain',
11
- component: lazy(() => import('./Plain')),
12
- },
13
- {
14
- name: 'optical-alignment',
15
- title: 'Optical alignment',
16
- component: lazy(() => import('./OpticalAlignment')),
17
- },
18
- ],
19
- }
20
-
21
- export default scope
@@ -1,110 +0,0 @@
1
- import {describe, expect, it, vi} from 'vitest'
2
-
3
- import {render} from '$test/utils'
4
-
5
- import {LayerContext} from './LayerContext'
6
- import type {LayerContextValue} from './types'
7
- import {useLayer} from './useLayer'
8
-
9
- describe('primitives/layer', () => {
10
- describe('useLayer', () => {
11
- it('should get context value', async () => {
12
- const log = vi.fn()
13
-
14
- function Debug() {
15
- const rootLayer = useLayer()
16
-
17
- log(rootLayer)
18
-
19
- return <>debug</>
20
- }
21
-
22
- function Root() {
23
- const value: LayerContextValue = {
24
- version: 0.0,
25
- isTopLayer: true,
26
- level: 0,
27
- registerChild: () => () => undefined,
28
- size: 0,
29
- zIndex: 0,
30
- }
31
-
32
- return (
33
- <LayerContext value={value}>
34
- <Debug />
35
- </LayerContext>
36
- )
37
- }
38
-
39
- render(<Root />)
40
-
41
- expect(log.mock.calls[0][0].version).toBe(0.0)
42
- expect(log.mock.calls[0][0].isTopLayer).toBe(true)
43
- expect(typeof log.mock.calls[0][0].registerChild).toBe('function')
44
- expect(log.mock.calls[0][0].size).toBe(0)
45
- expect(log.mock.calls[0][0].zIndex).toBe(0)
46
- })
47
-
48
- it('should fail when no context value is provided', async () => {
49
- const log = vi.fn()
50
-
51
- function Debug() {
52
- try {
53
- useLayer()
54
- } catch (err) {
55
- log(err)
56
- }
57
-
58
- return null
59
- }
60
-
61
- function Root() {
62
- return (
63
- <LayerContext
64
- // @ts-expect-error - we want to test the error case
65
- value={undefined}
66
- >
67
- <Debug />
68
- </LayerContext>
69
- )
70
- }
71
-
72
- render(<Root />)
73
-
74
- expect(log.mock.calls[0][0].message).toEqual('useLayer(): missing context value')
75
- })
76
-
77
- it('should fail when context value is not compatible', async () => {
78
- const log = vi.fn()
79
-
80
- function Debug() {
81
- try {
82
- useLayer()
83
- } catch (err) {
84
- log(err)
85
- }
86
-
87
- return null
88
- }
89
-
90
- function Root() {
91
- // NOTE: we’re testing this because the context value may be a function in the future
92
-
93
- return (
94
- <LayerContext
95
- // @ts-expect-error - we want to test the error case
96
- value={() => ({version: 1})}
97
- >
98
- <Debug />
99
- </LayerContext>
100
- )
101
- }
102
-
103
- render(<Root />)
104
-
105
- expect(log.mock.calls[0][0].message).toEqual(
106
- 'useLayer(): the context value is not compatible',
107
- )
108
- })
109
- })
110
- })
@@ -1,35 +0,0 @@
1
- import type {ResponsiveProp} from '@sanity/ui-css'
2
-
3
- import type {Props} from '../../core/types'
4
- import type {CardElementType, CardOwnProps} from '../../primitives/card/Card'
5
- import {LayerCard} from './LayerCard'
6
- import {LayerProvider} from './LayerProvider'
7
-
8
- /** @public */
9
- export const DEFAULT_LAYER_ELEMENT = 'div'
10
-
11
- /** @public */
12
- export interface LayerOwnProps extends CardOwnProps {
13
- /** A callback that fires when the layer becomes the top layer when it was not the top layer before. */
14
- onActivate?: (props: {activeElement: HTMLElement | null}) => void
15
- zOffset?: ResponsiveProp<number>
16
- }
17
-
18
- /** @public */
19
- export type LayerElementType = CardElementType
20
-
21
- /** @public */
22
- export type LayerProps<E extends LayerElementType = LayerElementType> = Props<LayerOwnProps, E>
23
-
24
- /** @public */
25
- export function Layer<E extends LayerElementType = typeof DEFAULT_LAYER_ELEMENT>(
26
- props: LayerProps<E>,
27
- ): React.JSX.Element {
28
- const {zOffset = 1, ...rest} = props as LayerProps<typeof DEFAULT_LAYER_ELEMENT>
29
-
30
- return (
31
- <LayerProvider zOffset={zOffset}>
32
- <LayerCard {...rest} />
33
- </LayerProvider>
34
- )
35
- }