@sanity/ui 3.1.13 → 4.0.0-beta.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 (957) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +7 -9
  3. package/dist/_chunks-es/Syntax.js +23 -0
  4. package/dist/_chunks-es/Syntax.js.map +1 -0
  5. package/dist/css/index.css +1 -0
  6. package/dist/css.d.ts +11 -0
  7. package/dist/css.js +7 -0
  8. package/dist/css.js.map +1 -0
  9. package/dist/index.d.ts +1352 -1848
  10. package/dist/index.js +4621 -1827
  11. package/dist/index.js.map +1 -1
  12. package/dist/tokens.d.ts +4 -0
  13. package/dist/tokens.js +2 -0
  14. package/dist/tokens.js.map +1 -0
  15. package/exports/css/index.css +1 -0
  16. package/exports/css.ts +2 -0
  17. package/exports/index.ts +117 -1
  18. package/exports/tokens.ts +2 -0
  19. package/package.json +86 -172
  20. package/src/components/autocomplete/Autocomplete.tsx +665 -0
  21. package/src/components/autocomplete/AutocompleteOption.tsx +42 -0
  22. package/src/components/autocomplete/__workshop__/Async.tsx +162 -0
  23. package/src/components/autocomplete/__workshop__/ConstrainedHeight.tsx +121 -0
  24. package/src/components/autocomplete/__workshop__/Custom.tsx +91 -0
  25. package/src/components/autocomplete/__workshop__/Example.tsx +71 -0
  26. package/src/components/autocomplete/__workshop__/FocusAndBlur.tsx +39 -0
  27. package/src/components/autocomplete/__workshop__/Fullscreen.tsx +307 -0
  28. package/src/components/autocomplete/__workshop__/index.ts +41 -0
  29. package/src/components/autocomplete/__workshop__/mock/apiStore.ts +49 -0
  30. package/src/components/autocomplete/__workshop__/mock/countries.ts +245 -0
  31. package/src/components/autocomplete/autocompleteReducer.ts +47 -0
  32. package/src/components/autocomplete/constants.ts +28 -0
  33. package/src/components/autocomplete/types.ts +103 -0
  34. package/src/components/breadcrumbs/Breadcrumbs.tsx +163 -0
  35. package/src/components/breadcrumbs/__workshop__/Example.tsx +49 -0
  36. package/src/components/breadcrumbs/__workshop__/index.ts +16 -0
  37. package/src/components/dialog/Dialog.tsx +230 -0
  38. package/src/components/dialog/DialogCard.tsx +233 -0
  39. package/src/components/dialog/DialogContext.ts +21 -0
  40. package/src/components/dialog/DialogProvider.tsx +34 -0
  41. package/src/components/dialog/__workshop__/Activate.tsx +141 -0
  42. package/src/components/dialog/__workshop__/AutoFocus.tsx +29 -0
  43. package/src/components/dialog/__workshop__/Layering.tsx +41 -0
  44. package/src/components/dialog/__workshop__/Nested.tsx +71 -0
  45. package/src/components/dialog/__workshop__/OnScroll.tsx +51 -0
  46. package/src/components/dialog/__workshop__/Panes.tsx +75 -0
  47. package/src/components/dialog/__workshop__/Position.tsx +30 -0
  48. package/src/components/dialog/__workshop__/Props.tsx +84 -0
  49. package/src/components/dialog/__workshop__/Provider.tsx +11 -0
  50. package/src/components/dialog/__workshop__/Wrapped.tsx +76 -0
  51. package/src/components/dialog/__workshop__/index.ts +21 -0
  52. package/src/components/dialog/isTargetWithinScope.ts +14 -0
  53. package/src/components/dialog/types.ts +2 -0
  54. package/src/components/dialog/useDialog.ts +11 -0
  55. package/src/components/hotkeys/Hotkeys.tsx +70 -0
  56. package/src/components/hotkeys/__workshop__/Plain.tsx +9 -0
  57. package/src/components/hotkeys/__workshop__/index.ts +16 -0
  58. package/src/components/menu/Menu.test.tsx +125 -0
  59. package/src/components/menu/Menu.tsx +174 -0
  60. package/src/components/menu/MenuButton.tsx +231 -0
  61. package/src/components/menu/MenuContext.ts +19 -0
  62. package/src/components/menu/MenuDivider.tsx +32 -0
  63. package/src/components/menu/MenuGroup.tsx +240 -0
  64. package/src/components/menu/MenuItem.tsx +153 -0
  65. package/src/components/menu/__workshop__/AsComponent.tsx +45 -0
  66. package/src/components/menu/__workshop__/AvatarMenu.tsx +36 -0
  67. package/src/components/menu/__workshop__/ClosableMenuButton.tsx +47 -0
  68. package/src/components/menu/__workshop__/ConstrainedInBoundary.tsx +133 -0
  69. package/src/components/menu/__workshop__/CustomMenuItem.tsx +47 -0
  70. package/src/components/menu/__workshop__/CustomSelectedState.tsx +35 -0
  71. package/src/components/menu/__workshop__/DataProps.tsx +28 -0
  72. package/src/components/menu/__workshop__/DisableFocusOnClose.tsx +40 -0
  73. package/src/components/menu/__workshop__/Groups.tsx +164 -0
  74. package/src/components/menu/__workshop__/MenuButton.tsx +79 -0
  75. package/src/components/menu/__workshop__/MenuGroupRight.tsx +73 -0
  76. package/src/components/menu/__workshop__/NestedMenu.tsx +22 -0
  77. package/src/components/menu/__workshop__/OnCloseMenuButton.tsx +50 -0
  78. package/src/components/menu/__workshop__/SelectedItem.tsx +69 -0
  79. package/src/components/menu/__workshop__/ShouldFocus.tsx +42 -0
  80. package/src/components/menu/__workshop__/Tones.tsx +20 -0
  81. package/src/components/menu/__workshop__/index.ts +91 -0
  82. package/src/components/menu/helpers.ts +82 -0
  83. package/src/components/menu/useMenu.ts +21 -0
  84. package/src/components/menu/useMenuController.ts +245 -0
  85. package/src/components/tab/Tab.tsx +135 -0
  86. package/src/components/tab/TabList.tsx +157 -0
  87. package/src/components/tab/TabListContext.ts +10 -0
  88. package/src/components/tab/TabPanel.tsx +94 -0
  89. package/src/components/tab/__workshop__/Example.tsx +135 -0
  90. package/src/components/tab/__workshop__/index.ts +16 -0
  91. package/src/components/tab/types.ts +11 -0
  92. package/src/components/toast/Toast.test.tsx +103 -0
  93. package/src/components/toast/Toast.tsx +191 -0
  94. package/src/components/toast/ToastContext.ts +7 -0
  95. package/src/components/toast/ToastLayer.tsx +54 -0
  96. package/src/components/toast/ToastProvider.tsx +127 -0
  97. package/src/components/toast/__workshop__/Hook.tsx +71 -0
  98. package/src/components/toast/__workshop__/Toast.tsx +26 -0
  99. package/src/components/toast/__workshop__/index.ts +21 -0
  100. package/src/components/toast/types.ts +24 -0
  101. package/src/components/toast/useToast.ts +23 -0
  102. package/src/components/tree/Tree.tsx +248 -0
  103. package/src/components/tree/TreeContext.ts +10 -0
  104. package/src/components/tree/TreeGroup.tsx +46 -0
  105. package/src/components/tree/TreeItem.tsx +236 -0
  106. package/src/components/tree/__workshop__/Basic.tsx +109 -0
  107. package/src/components/tree/__workshop__/TabFromElement.tsx +84 -0
  108. package/src/components/tree/__workshop__/basic.perf.ts +19 -0
  109. package/src/components/tree/__workshop__/index.ts +23 -0
  110. package/src/components/tree/helpers.ts +105 -0
  111. package/src/components/tree/types.ts +24 -0
  112. package/src/components/tree/useTree.ts +17 -0
  113. package/src/components/virtualList/VirtualList.tsx +254 -0
  114. package/src/components/virtualList/__workshop__/ChangingProps.tsx +41 -0
  115. package/src/components/virtualList/__workshop__/ElementScroll.tsx +43 -0
  116. package/src/components/virtualList/__workshop__/InfiniteList.tsx +40 -0
  117. package/src/components/virtualList/__workshop__/WindowScrolll.tsx +23 -0
  118. package/src/components/virtualList/__workshop__/index.ts +31 -0
  119. package/src/core/_keys.ts +26 -0
  120. package/src/core/constants.ts +4 -16
  121. package/src/core/getElementRef.ts +29 -0
  122. package/src/core/helpers/animation.ts +4 -5
  123. package/src/core/helpers/focus.ts +0 -8
  124. package/src/core/helpers/props.ts +51 -0
  125. package/src/core/lib/createGlobalScopedContext.ts +7 -4
  126. package/src/core/lib/globalScope.ts +1 -1
  127. package/src/core/lib/isArray.ts +3 -0
  128. package/src/core/types.ts +57 -0
  129. package/src/hooks/useClickOutsideEvent.test.tsx +114 -0
  130. package/src/hooks/useClickOutsideEvent.ts +66 -0
  131. package/src/hooks/useElementSize.ts +19 -0
  132. package/src/hooks/useGlobalKeyDown.ts +23 -0
  133. package/src/hooks/useMatchMedia.ts +28 -0
  134. package/src/hooks/useMediaIndex/__workshop__/Test.tsx +14 -0
  135. package/src/hooks/useMediaIndex/__workshop__/index.ts +16 -0
  136. package/src/hooks/useMediaIndex/useMediaIndex.test.tsx +21 -0
  137. package/src/hooks/useMediaIndex/useMediaIndex.ts +111 -0
  138. package/src/hooks/usePrefersDark.hydration.test.tsx +56 -0
  139. package/src/hooks/usePrefersDark.test.tsx +20 -0
  140. package/src/hooks/usePrefersDark.ts +16 -0
  141. package/src/hooks/usePrefersReducedMotion.hydration.test.tsx +56 -0
  142. package/src/hooks/usePrefersReducedMotion.test.tsx +20 -0
  143. package/src/hooks/usePrefersReducedMotion.ts +16 -0
  144. package/src/hooks/useResponsiveProp.ts +14 -0
  145. package/src/hooks/useUnique.ts +54 -0
  146. package/src/middleware/origin.ts +47 -0
  147. package/src/observers/elementSize.ts +114 -0
  148. package/src/primitives/_syntax/LazySyntax.tsx +4 -0
  149. package/src/primitives/_syntax/Syntax.tsx +26 -0
  150. package/src/primitives/avatar/Avatar.tsx +145 -0
  151. package/src/primitives/avatar/AvatarCounter.tsx +69 -0
  152. package/src/primitives/avatar/AvatarStack.tsx +77 -0
  153. package/src/primitives/avatar/__workshop__/AsButton.tsx +13 -0
  154. package/src/primitives/avatar/__workshop__/PropsStory.tsx +25 -0
  155. package/src/primitives/avatar/__workshop__/Stack.tsx +28 -0
  156. package/src/primitives/avatar/__workshop__/WithinButton.tsx +51 -0
  157. package/src/primitives/avatar/__workshop__/WithinMenuItem.tsx +52 -0
  158. package/src/primitives/avatar/__workshop__/index.ts +36 -0
  159. package/src/primitives/avatar/types.ts +2 -0
  160. package/src/primitives/badge/Badge.test.tsx +16 -0
  161. package/src/primitives/badge/Badge.tsx +53 -0
  162. package/src/primitives/badge/__workshop__/Props.tsx +28 -0
  163. package/src/primitives/badge/__workshop__/Tones.tsx +16 -0
  164. package/src/primitives/badge/__workshop__/index.ts +26 -0
  165. package/src/primitives/badge/__workshop__/within-button.tsx +36 -0
  166. package/src/primitives/box/Box.tsx +73 -0
  167. package/src/primitives/box/__workshop__/Props.tsx +26 -0
  168. package/src/primitives/box/__workshop__/Responsive.tsx +20 -0
  169. package/src/primitives/box/__workshop__/index.ts +21 -0
  170. package/src/primitives/button/Button.test.tsx +30 -0
  171. package/src/primitives/button/Button.tsx +145 -0
  172. package/src/primitives/button/__workshop__/Custom.tsx +29 -0
  173. package/src/primitives/button/__workshop__/CustomIcons.tsx +38 -0
  174. package/src/primitives/button/__workshop__/DataProps.tsx +19 -0
  175. package/src/primitives/button/__workshop__/Disabled.tsx +43 -0
  176. package/src/primitives/button/__workshop__/MixedChildren.tsx +12 -0
  177. package/src/primitives/button/__workshop__/Props.tsx +60 -0
  178. package/src/primitives/button/__workshop__/Stacked.tsx +51 -0
  179. package/src/primitives/button/__workshop__/Styled1.css.ts +7 -0
  180. package/src/primitives/button/__workshop__/Styled1.tsx +11 -0
  181. package/src/primitives/button/__workshop__/TextOverflow.tsx +17 -0
  182. package/src/primitives/button/__workshop__/UploadButton.tsx +28 -0
  183. package/src/primitives/button/__workshop__/index.ts +61 -0
  184. package/src/primitives/button/types.ts +2 -0
  185. package/src/primitives/card/Card.tsx +124 -0
  186. package/src/primitives/card/CardContext.ts +10 -0
  187. package/src/primitives/card/CardInternalContext.ts +10 -0
  188. package/src/primitives/card/CardInternalProvider.tsx +15 -0
  189. package/src/primitives/card/CardProvider.tsx +16 -0
  190. package/src/primitives/card/__workshop__/AsButton.tsx +104 -0
  191. package/src/primitives/card/__workshop__/AsComponent.tsx +25 -0
  192. package/src/primitives/card/__workshop__/Checkered.tsx +26 -0
  193. package/src/primitives/card/__workshop__/DataProps.tsx +25 -0
  194. package/src/primitives/card/__workshop__/Interactive.tsx +29 -0
  195. package/src/primitives/card/__workshop__/ListNavigation.tsx +78 -0
  196. package/src/primitives/card/__workshop__/Props.tsx +49 -0
  197. package/src/primitives/card/__workshop__/Selected.tsx +62 -0
  198. package/src/primitives/card/__workshop__/Styled.tsx +11 -0
  199. package/src/primitives/card/__workshop__/Tones.tsx +27 -0
  200. package/src/primitives/card/__workshop__/index.ts +21 -0
  201. package/src/primitives/card/types.ts +21 -0
  202. package/src/primitives/card/useCard.ts +20 -0
  203. package/src/primitives/checkbox/Checkbox.tsx +80 -0
  204. package/src/primitives/checkbox/__workshop__/Example.tsx +25 -0
  205. package/src/primitives/checkbox/__workshop__/Props.tsx +35 -0
  206. package/src/primitives/checkbox/__workshop__/ReadOnly.tsx +16 -0
  207. package/src/primitives/checkbox/__workshop__/Tones.tsx +27 -0
  208. package/src/primitives/checkbox/__workshop__/index.ts +15 -0
  209. package/src/primitives/code/Code.tsx +47 -0
  210. package/src/primitives/code/__workshop__/OpticalAlignment.tsx +26 -0
  211. package/src/primitives/code/__workshop__/Props.tsx +19 -0
  212. package/src/primitives/code/__workshop__/index.ts +21 -0
  213. package/src/primitives/container/Container.tsx +43 -0
  214. package/src/primitives/container/__workshop__/Example.tsx +17 -0
  215. package/src/primitives/container/__workshop__/index.ts +16 -0
  216. package/src/primitives/flex/Flex.tsx +38 -0
  217. package/src/primitives/flex/__workshop__/Example.tsx +26 -0
  218. package/src/primitives/flex/__workshop__/Gap.tsx +25 -0
  219. package/src/primitives/flex/__workshop__/index.ts +13 -0
  220. package/src/primitives/flex/__workshop__/styles.css.ts +12 -0
  221. package/src/primitives/grid/Grid.tsx +38 -0
  222. package/src/primitives/grid/__workshop__/Responsive.tsx +54 -0
  223. package/src/primitives/grid/__workshop__/index.ts +12 -0
  224. package/src/primitives/heading/Heading.tsx +68 -0
  225. package/src/primitives/heading/__workshop__/OpticalAlignment.tsx +28 -0
  226. package/src/primitives/heading/__workshop__/Plain.tsx +26 -0
  227. package/src/primitives/heading/__workshop__/index.ts +21 -0
  228. package/src/primitives/inline/Inline.tsx +37 -0
  229. package/src/primitives/inline/__workshop__/Plain.tsx +23 -0
  230. package/src/primitives/inline/__workshop__/index.ts +10 -0
  231. package/src/primitives/kbd/Kbd.tsx +36 -0
  232. package/src/primitives/kbd/__workshop__/Plain.tsx +9 -0
  233. package/src/primitives/kbd/__workshop__/index.ts +10 -0
  234. package/src/primitives/label/Label.tsx +67 -0
  235. package/src/primitives/label/__workshop__/OpticalAlignment.tsx +28 -0
  236. package/src/primitives/label/__workshop__/Plain.tsx +28 -0
  237. package/src/primitives/label/__workshop__/index.ts +21 -0
  238. package/src/primitives/layer/Layer.test.tsx +110 -0
  239. package/src/primitives/layer/Layer.tsx +35 -0
  240. package/src/primitives/layer/LayerCard.tsx +90 -0
  241. package/src/primitives/layer/LayerContext.ts +7 -0
  242. package/src/primitives/layer/LayerProvider.tsx +106 -0
  243. package/src/primitives/layer/__workshop__/MultipleRoots.tsx +49 -0
  244. package/src/primitives/layer/__workshop__/Nested.tsx +107 -0
  245. package/src/primitives/layer/__workshop__/ResponsiveZOffset.tsx +17 -0
  246. package/src/primitives/layer/__workshop__/_debug.tsx +17 -0
  247. package/src/primitives/layer/__workshop__/index.ts +26 -0
  248. package/src/primitives/layer/getLayerContext.test.ts +32 -0
  249. package/src/primitives/layer/getLayerContext.ts +21 -0
  250. package/src/primitives/layer/useLayer.ts +24 -0
  251. package/src/primitives/popover/Popover.tsx +291 -0
  252. package/src/primitives/popover/PopoverLayer.tsx +101 -0
  253. package/src/primitives/popover/__workshop__/AlignedStory.tsx +76 -0
  254. package/src/primitives/popover/__workshop__/MarginsStory.tsx +31 -0
  255. package/src/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +32 -0
  256. package/src/primitives/popover/__workshop__/OpenOnMountStory.tsx +11 -0
  257. package/src/primitives/popover/__workshop__/PlainStory.tsx +68 -0
  258. package/src/primitives/popover/__workshop__/RecursiveStory.tsx +71 -0
  259. package/src/primitives/popover/__workshop__/SidePanelStory.tsx +94 -0
  260. package/src/primitives/popover/__workshop__/TestStory.tsx +97 -0
  261. package/src/primitives/popover/__workshop__/index.ts +56 -0
  262. package/src/primitives/popover/__workshop__/portal-inheritance.tsx +15 -0
  263. package/src/primitives/popover/constants.ts +20 -0
  264. package/src/primitives/popover/floating-ui/size.ts +75 -0
  265. package/src/primitives/popover/types.ts +12 -0
  266. package/src/primitives/popover/useMiddleware.ts +126 -0
  267. package/src/primitives/radio/Radio.tsx +64 -0
  268. package/src/primitives/radio/__workshop__/Example.tsx +63 -0
  269. package/src/primitives/radio/__workshop__/Plain.tsx +28 -0
  270. package/src/primitives/radio/__workshop__/index.ts +13 -0
  271. package/src/primitives/select/Select.tsx +76 -0
  272. package/src/primitives/select/__workshop__/Plain.tsx +38 -0
  273. package/src/primitives/select/__workshop__/ReadOnly.tsx +23 -0
  274. package/src/primitives/select/__workshop__/index.ts +13 -0
  275. package/src/primitives/selectable/Selectable.tsx +48 -0
  276. package/src/primitives/selectable/__workshop__/DataProps.tsx +24 -0
  277. package/src/primitives/selectable/__workshop__/as-link.tsx +13 -0
  278. package/src/primitives/selectable/__workshop__/index.ts +19 -0
  279. package/src/primitives/skeleton/CodeSkeleton.tsx +49 -0
  280. package/src/primitives/skeleton/HeadingSkeleton.tsx +48 -0
  281. package/src/primitives/skeleton/LabelSkeleton.tsx +47 -0
  282. package/src/primitives/skeleton/Skeleton.tsx +70 -0
  283. package/src/primitives/skeleton/TextSkeleton.tsx +49 -0
  284. package/src/primitives/skeleton/__workshop__/Delay.tsx +69 -0
  285. package/src/primitives/skeleton/__workshop__/Skeleton.tsx +63 -0
  286. package/src/primitives/skeleton/__workshop__/index.ts +13 -0
  287. package/src/primitives/spinner/Spinner.tsx +45 -0
  288. package/src/primitives/spinner/SpinnerAnimatedIcon.tsx +14 -0
  289. package/src/primitives/spinner/__workshop__/Props.tsx +14 -0
  290. package/src/primitives/spinner/__workshop__/index.ts +16 -0
  291. package/src/primitives/srOnly/SrOnly.tsx +33 -0
  292. package/src/primitives/stack/Stack.tsx +38 -0
  293. package/src/primitives/stack/__workshop__/Plain.tsx +31 -0
  294. package/src/primitives/stack/__workshop__/index.ts +16 -0
  295. package/src/primitives/switch/Switch.tsx +76 -0
  296. package/src/primitives/switch/__workshop__/Example.tsx +25 -0
  297. package/src/primitives/switch/__workshop__/Props.tsx +23 -0
  298. package/src/primitives/switch/__workshop__/index.ts +13 -0
  299. package/src/primitives/text/InlineCode.tsx +25 -0
  300. package/src/primitives/text/Text.tsx +68 -0
  301. package/src/primitives/text/__workshop__/Example.tsx +27 -0
  302. package/src/primitives/text/__workshop__/OpticalAlignment.tsx +28 -0
  303. package/src/primitives/text/__workshop__/index.ts +26 -0
  304. package/src/primitives/text/__workshop__/inline-code.tsx +13 -0
  305. package/src/primitives/textArea/TextArea.tsx +97 -0
  306. package/src/primitives/textArea/__workshop__/Plain.tsx +47 -0
  307. package/src/primitives/textArea/__workshop__/index.ts +16 -0
  308. package/src/primitives/textInput/TextInput.tsx +279 -0
  309. package/src/primitives/textInput/__workshop__/ClearButton.tsx +32 -0
  310. package/src/primitives/textInput/__workshop__/CustomValidity.tsx +17 -0
  311. package/src/primitives/textInput/__workshop__/Plain.tsx +103 -0
  312. package/src/primitives/textInput/__workshop__/ReadOnly.tsx +14 -0
  313. package/src/primitives/textInput/__workshop__/States.tsx +53 -0
  314. package/src/primitives/textInput/__workshop__/Tones.tsx +41 -0
  315. package/src/primitives/textInput/__workshop__/Typed.tsx +23 -0
  316. package/src/primitives/textInput/__workshop__/index.ts +46 -0
  317. package/src/primitives/tooltip/Tooltip.test.tsx +496 -0
  318. package/src/primitives/tooltip/Tooltip.tsx +546 -0
  319. package/src/primitives/tooltip/TooltipLayer.tsx +72 -0
  320. package/src/primitives/tooltip/__workshop__/CustomPortal.tsx +102 -0
  321. package/src/primitives/tooltip/__workshop__/OverflowingBoundary.tsx +74 -0
  322. package/src/primitives/tooltip/__workshop__/Props.tsx +99 -0
  323. package/src/primitives/tooltip/__workshop__/ResizableBoundary.tsx +91 -0
  324. package/src/primitives/tooltip/__workshop__/index.ts +31 -0
  325. package/src/primitives/tooltip/constants.ts +24 -0
  326. package/src/primitives/tooltip/tooltipDelayGroup/TooltipDelayGroupContext.tsx +13 -0
  327. package/src/primitives/tooltip/tooltipDelayGroup/TooltipDelayGroupProvider.tsx +96 -0
  328. package/src/primitives/tooltip/tooltipDelayGroup/types.ts +7 -0
  329. package/src/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +13 -0
  330. package/src/root/Root.tsx +93 -0
  331. package/src/root/RootProvider.tsx +37 -0
  332. package/src/root/__workshop__/Boundary.tsx +43 -0
  333. package/src/root/__workshop__/index.ts +24 -0
  334. package/src/root/__workshop__/primitives.tsx +49 -0
  335. package/src/root/__workshop__/tone-inheritance.tsx +65 -0
  336. package/src/utils/ErrorBoundary.tsx +50 -0
  337. package/src/utils/boundaryElement/BoundaryElementContext.ts +7 -0
  338. package/src/utils/boundaryElement/BoundaryElementProvider.tsx +16 -0
  339. package/src/utils/boundaryElement/__workshop__/Plain.tsx +49 -0
  340. package/src/utils/boundaryElement/__workshop__/index.ts +16 -0
  341. package/src/utils/boundaryElement/types.ts +2 -0
  342. package/src/utils/boundaryElement/useBoundaryElement.ts +12 -0
  343. package/src/utils/elementQuery/ElementQuery.tsx +75 -0
  344. package/src/utils/elementQuery/__workshop__/CustomMedia.tsx +19 -0
  345. package/src/utils/elementQuery/__workshop__/index.ts +16 -0
  346. package/src/utils/elementQuery/__workshop__/styles.css.ts +31 -0
  347. package/src/utils/portal/Portal.test.tsx +105 -0
  348. package/src/utils/portal/Portal.tsx +42 -0
  349. package/src/utils/portal/PortalContext.ts +37 -0
  350. package/src/utils/portal/PortalProvider.tsx +38 -0
  351. package/src/utils/portal/__workshop__/Named.tsx +69 -0
  352. package/src/utils/portal/__workshop__/index.ts +16 -0
  353. package/src/utils/portal/types.ts +7 -0
  354. package/src/utils/portal/usePortal.ts +30 -0
  355. package/dist/_chunks-cjs/_visual-editing.js +0 -5864
  356. package/dist/_chunks-cjs/_visual-editing.js.map +0 -1
  357. package/dist/_chunks-cjs/refractor.js +0 -23
  358. package/dist/_chunks-cjs/refractor.js.map +0 -1
  359. package/dist/_chunks-es/_visual-editing.mjs +0 -5870
  360. package/dist/_chunks-es/_visual-editing.mjs.map +0 -1
  361. package/dist/_chunks-es/refractor.mjs +0 -26
  362. package/dist/_chunks-es/refractor.mjs.map +0 -1
  363. package/dist/_visual-editing.d.mts +0 -1007
  364. package/dist/_visual-editing.d.ts +0 -1007
  365. package/dist/_visual-editing.js +0 -31
  366. package/dist/_visual-editing.js.map +0 -1
  367. package/dist/_visual-editing.mjs +0 -31
  368. package/dist/_visual-editing.mjs.map +0 -1
  369. package/dist/index.d.mts +0 -2972
  370. package/dist/index.mjs +0 -2041
  371. package/dist/index.mjs.map +0 -1
  372. package/dist/theme.d.mts +0 -1500
  373. package/dist/theme.d.ts +0 -1500
  374. package/dist/theme.js +0 -4127
  375. package/dist/theme.js.map +0 -1
  376. package/dist/theme.mjs +0 -4127
  377. package/dist/theme.mjs.map +0 -1
  378. package/exports/_visual-editing.ts +0 -31
  379. package/exports/theme.ts +0 -1
  380. package/src/core/__workshop__/constants.ts +0 -293
  381. package/src/core/_compat.ts +0 -264
  382. package/src/core/components/autocomplete/__mocks__/apiStore.ts +0 -49
  383. package/src/core/components/autocomplete/__mocks__/countries.ts +0 -245
  384. package/src/core/components/autocomplete/__workshop__/async.tsx +0 -156
  385. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +0 -137
  386. package/src/core/components/autocomplete/__workshop__/custom.tsx +0 -89
  387. package/src/core/components/autocomplete/__workshop__/example.tsx +0 -79
  388. package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +0 -36
  389. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +0 -294
  390. package/src/core/components/autocomplete/__workshop__/index.ts +0 -39
  391. package/src/core/components/autocomplete/autocomplete.styles.tsx +0 -39
  392. package/src/core/components/autocomplete/autocomplete.tsx +0 -767
  393. package/src/core/components/autocomplete/autocompleteOption.tsx +0 -45
  394. package/src/core/components/autocomplete/autocompleteReducer.ts +0 -47
  395. package/src/core/components/autocomplete/constants.ts +0 -28
  396. package/src/core/components/autocomplete/index.ts +0 -2
  397. package/src/core/components/autocomplete/types.ts +0 -108
  398. package/src/core/components/breadcrumbs/__workshop__/example.tsx +0 -62
  399. package/src/core/components/breadcrumbs/__workshop__/index.ts +0 -14
  400. package/src/core/components/breadcrumbs/breadcrumbs.styles.ts +0 -18
  401. package/src/core/components/breadcrumbs/breadcrumbs.tsx +0 -129
  402. package/src/core/components/breadcrumbs/index.ts +0 -1
  403. package/src/core/components/dialog/__workshop__/activate.tsx +0 -134
  404. package/src/core/components/dialog/__workshop__/autoFocus.tsx +0 -29
  405. package/src/core/components/dialog/__workshop__/index.ts +0 -19
  406. package/src/core/components/dialog/__workshop__/layering.tsx +0 -41
  407. package/src/core/components/dialog/__workshop__/nested.tsx +0 -72
  408. package/src/core/components/dialog/__workshop__/onScroll.tsx +0 -39
  409. package/src/core/components/dialog/__workshop__/panes.tsx +0 -82
  410. package/src/core/components/dialog/__workshop__/position.tsx +0 -30
  411. package/src/core/components/dialog/__workshop__/props.tsx +0 -75
  412. package/src/core/components/dialog/__workshop__/provider.tsx +0 -11
  413. package/src/core/components/dialog/__workshop__/wrapped.tsx +0 -76
  414. package/src/core/components/dialog/dialog.tsx +0 -430
  415. package/src/core/components/dialog/dialogContext.ts +0 -20
  416. package/src/core/components/dialog/dialogProvider.tsx +0 -35
  417. package/src/core/components/dialog/index.ts +0 -4
  418. package/src/core/components/dialog/styles.ts +0 -77
  419. package/src/core/components/dialog/useDialog.ts +0 -11
  420. package/src/core/components/hotkeys/__workshop__/index.ts +0 -14
  421. package/src/core/components/hotkeys/__workshop__/plain.tsx +0 -9
  422. package/src/core/components/hotkeys/hotkeys.tsx +0 -62
  423. package/src/core/components/hotkeys/index.ts +0 -1
  424. package/src/core/components/index.ts +0 -9
  425. package/src/core/components/menu/__workshop__/asComponent.tsx +0 -45
  426. package/src/core/components/menu/__workshop__/avatarMenu.tsx +0 -51
  427. package/src/core/components/menu/__workshop__/closableMenuButton.tsx +0 -46
  428. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +0 -134
  429. package/src/core/components/menu/__workshop__/customMenuItem.tsx +0 -45
  430. package/src/core/components/menu/__workshop__/customSelectedState.tsx +0 -39
  431. package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +0 -40
  432. package/src/core/components/menu/__workshop__/groups.tsx +0 -156
  433. package/src/core/components/menu/__workshop__/index.ts +0 -89
  434. package/src/core/components/menu/__workshop__/menuButton.tsx +0 -80
  435. package/src/core/components/menu/__workshop__/menuGroupRight.tsx +0 -65
  436. package/src/core/components/menu/__workshop__/nestedMenu.tsx +0 -22
  437. package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +0 -41
  438. package/src/core/components/menu/__workshop__/selectedItem.tsx +0 -69
  439. package/src/core/components/menu/__workshop__/shouldFocus.tsx +0 -47
  440. package/src/core/components/menu/__workshop__/tones.tsx +0 -25
  441. package/src/core/components/menu/__workshop__/withoutArrow.tsx +0 -32
  442. package/src/core/components/menu/helpers.ts +0 -82
  443. package/src/core/components/menu/index.ts +0 -5
  444. package/src/core/components/menu/menu.test.tsx +0 -125
  445. package/src/core/components/menu/menu.tsx +0 -172
  446. package/src/core/components/menu/menuButton.tsx +0 -268
  447. package/src/core/components/menu/menuContext.ts +0 -18
  448. package/src/core/components/menu/menuDivider.ts +0 -12
  449. package/src/core/components/menu/menuGroup.tsx +0 -219
  450. package/src/core/components/menu/menuItem.tsx +0 -180
  451. package/src/core/components/menu/useMenu.ts +0 -21
  452. package/src/core/components/menu/useMenuController.ts +0 -231
  453. package/src/core/components/skeleton/__workshop__/delay.tsx +0 -70
  454. package/src/core/components/skeleton/__workshop__/index.ts +0 -11
  455. package/src/core/components/skeleton/__workshop__/skeleton.tsx +0 -64
  456. package/src/core/components/skeleton/index.ts +0 -2
  457. package/src/core/components/skeleton/skeleton.tsx +0 -57
  458. package/src/core/components/skeleton/styles.ts +0 -50
  459. package/src/core/components/skeleton/textSkeleton.tsx +0 -122
  460. package/src/core/components/tab/__workshop__/example.tsx +0 -79
  461. package/src/core/components/tab/__workshop__/index.ts +0 -14
  462. package/src/core/components/tab/index.ts +0 -3
  463. package/src/core/components/tab/tab.tsx +0 -101
  464. package/src/core/components/tab/tabList.tsx +0 -70
  465. package/src/core/components/tab/tabPanel.tsx +0 -39
  466. package/src/core/components/toast/__workshop__/hook.tsx +0 -71
  467. package/src/core/components/toast/__workshop__/index.ts +0 -19
  468. package/src/core/components/toast/__workshop__/toast.tsx +0 -26
  469. package/src/core/components/toast/index.ts +0 -4
  470. package/src/core/components/toast/styles.ts +0 -77
  471. package/src/core/components/toast/toast.test.tsx +0 -101
  472. package/src/core/components/toast/toast.tsx +0 -198
  473. package/src/core/components/toast/toastContext.ts +0 -7
  474. package/src/core/components/toast/toastLayer.tsx +0 -51
  475. package/src/core/components/toast/toastProvider.tsx +0 -113
  476. package/src/core/components/toast/types.ts +0 -26
  477. package/src/core/components/toast/useToast.ts +0 -25
  478. package/src/core/components/tree/__workshop__/basic.perf.ts +0 -19
  479. package/src/core/components/tree/__workshop__/basic.tsx +0 -105
  480. package/src/core/components/tree/__workshop__/index.ts +0 -21
  481. package/src/core/components/tree/__workshop__/tabFromElement.tsx +0 -84
  482. package/src/core/components/tree/helpers.ts +0 -105
  483. package/src/core/components/tree/index.ts +0 -4
  484. package/src/core/components/tree/style.ts +0 -105
  485. package/src/core/components/tree/tree.tsx +0 -231
  486. package/src/core/components/tree/treeContext.ts +0 -10
  487. package/src/core/components/tree/treeGroup.tsx +0 -28
  488. package/src/core/components/tree/treeItem.tsx +0 -217
  489. package/src/core/components/tree/types.ts +0 -21
  490. package/src/core/components/tree/useTree.ts +0 -17
  491. package/src/core/helpers/index.ts +0 -4
  492. package/src/core/hooks/index.ts +0 -12
  493. package/src/core/hooks/useArrayProp.ts +0 -17
  494. package/src/core/hooks/useClickOutside.test.tsx +0 -482
  495. package/src/core/hooks/useClickOutside.ts +0 -118
  496. package/src/core/hooks/useClickOutsideEvent.test.tsx +0 -115
  497. package/src/core/hooks/useClickOutsideEvent.ts +0 -73
  498. package/src/core/hooks/useDelayed.test.ts +0 -68
  499. package/src/core/hooks/useDelayedState.ts +0 -28
  500. package/src/core/hooks/useElementRect/__workshop__/example.tsx +0 -32
  501. package/src/core/hooks/useElementRect/__workshop__/index.ts +0 -14
  502. package/src/core/hooks/useElementRect/index.ts +0 -1
  503. package/src/core/hooks/useElementRect/useElementRect.ts +0 -13
  504. package/src/core/hooks/useElementSize.ts +0 -19
  505. package/src/core/hooks/useForwardedRef.ts +0 -19
  506. package/src/core/hooks/useGlobalKeyDown.ts +0 -24
  507. package/src/core/hooks/useIsomorphicEffect.ts +0 -7
  508. package/src/core/hooks/useMatchMedia.ts +0 -28
  509. package/src/core/hooks/useMediaIndex/__workshop__/index.ts +0 -14
  510. package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +0 -14
  511. package/src/core/hooks/useMediaIndex/index.ts +0 -1
  512. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +0 -36
  513. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +0 -102
  514. package/src/core/hooks/usePrefersDark.hydration.test.tsx +0 -56
  515. package/src/core/hooks/usePrefersDark.test.tsx +0 -19
  516. package/src/core/hooks/usePrefersDark.ts +0 -16
  517. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +0 -56
  518. package/src/core/hooks/usePrefersReducedMotion.test.tsx +0 -19
  519. package/src/core/hooks/usePrefersReducedMotion.ts +0 -16
  520. package/src/core/index.ts +0 -10
  521. package/src/core/middleware/origin.ts +0 -47
  522. package/src/core/observers/elementSizeObserver.ts +0 -116
  523. package/src/core/observers/index.ts +0 -2
  524. package/src/core/observers/resizeObserver.ts +0 -9
  525. package/src/core/primitives/_selectable/index.ts +0 -1
  526. package/src/core/primitives/_selectable/selectable.tsx +0 -15
  527. package/src/core/primitives/_selectable/style.ts +0 -115
  528. package/src/core/primitives/avatar/__workshop__/asButton.tsx +0 -14
  529. package/src/core/primitives/avatar/__workshop__/index.ts +0 -29
  530. package/src/core/primitives/avatar/__workshop__/stack.tsx +0 -25
  531. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +0 -63
  532. package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +0 -70
  533. package/src/core/primitives/avatar/avatar.tsx +0 -192
  534. package/src/core/primitives/avatar/avatarCounter.tsx +0 -91
  535. package/src/core/primitives/avatar/avatarStack.tsx +0 -100
  536. package/src/core/primitives/avatar/index.ts +0 -4
  537. package/src/core/primitives/avatar/styles.ts +0 -167
  538. package/src/core/primitives/avatar/types.ts +0 -17
  539. package/src/core/primitives/badge/__workshop__/index.ts +0 -19
  540. package/src/core/primitives/badge/__workshop__/props.tsx +0 -30
  541. package/src/core/primitives/badge/__workshop__/tones.tsx +0 -21
  542. package/src/core/primitives/badge/badge.test.tsx +0 -16
  543. package/src/core/primitives/badge/badge.tsx +0 -62
  544. package/src/core/primitives/badge/index.ts +0 -1
  545. package/src/core/primitives/badge/styles.ts +0 -20
  546. package/src/core/primitives/badge/types.ts +0 -8
  547. package/src/core/primitives/box/__workshop__/index.ts +0 -19
  548. package/src/core/primitives/box/__workshop__/props.tsx +0 -20
  549. package/src/core/primitives/box/__workshop__/responsive.tsx +0 -20
  550. package/src/core/primitives/box/box.tsx +0 -131
  551. package/src/core/primitives/box/index.ts +0 -1
  552. package/src/core/primitives/button/__workshop__/custom.tsx +0 -51
  553. package/src/core/primitives/button/__workshop__/customIcons.tsx +0 -30
  554. package/src/core/primitives/button/__workshop__/disabled.tsx +0 -74
  555. package/src/core/primitives/button/__workshop__/index.ts +0 -59
  556. package/src/core/primitives/button/__workshop__/mixedChildren.tsx +0 -12
  557. package/src/core/primitives/button/__workshop__/props.tsx +0 -55
  558. package/src/core/primitives/button/__workshop__/sanityUploadButton.tsx +0 -36
  559. package/src/core/primitives/button/__workshop__/stacked.tsx +0 -58
  560. package/src/core/primitives/button/__workshop__/styled1.tsx +0 -17
  561. package/src/core/primitives/button/__workshop__/styled2.tsx +0 -19
  562. package/src/core/primitives/button/__workshop__/uploadButton.tsx +0 -28
  563. package/src/core/primitives/button/button.test.tsx +0 -44
  564. package/src/core/primitives/button/button.tsx +0 -186
  565. package/src/core/primitives/button/index.ts +0 -1
  566. package/src/core/primitives/button/styles.ts +0 -117
  567. package/src/core/primitives/card/__workshop__/allTones.tsx +0 -25
  568. package/src/core/primitives/card/__workshop__/asButton.tsx +0 -107
  569. package/src/core/primitives/card/__workshop__/asComponent.tsx +0 -27
  570. package/src/core/primitives/card/__workshop__/checkered.tsx +0 -26
  571. package/src/core/primitives/card/__workshop__/index.ts +0 -18
  572. package/src/core/primitives/card/__workshop__/interactive.tsx +0 -30
  573. package/src/core/primitives/card/__workshop__/listNavigation.tsx +0 -80
  574. package/src/core/primitives/card/__workshop__/props.tsx +0 -53
  575. package/src/core/primitives/card/__workshop__/selected.tsx +0 -94
  576. package/src/core/primitives/card/__workshop__/styled.tsx +0 -14
  577. package/src/core/primitives/card/card.tsx +0 -117
  578. package/src/core/primitives/card/index.ts +0 -2
  579. package/src/core/primitives/card/styles.ts +0 -147
  580. package/src/core/primitives/card/types.ts +0 -11
  581. package/src/core/primitives/checkbox/__workshop__/example.tsx +0 -25
  582. package/src/core/primitives/checkbox/__workshop__/index.ts +0 -13
  583. package/src/core/primitives/checkbox/__workshop__/props.tsx +0 -33
  584. package/src/core/primitives/checkbox/__workshop__/readOnly.tsx +0 -16
  585. package/src/core/primitives/checkbox/__workshop__/tones.tsx +0 -28
  586. package/src/core/primitives/checkbox/checkbox.tsx +0 -73
  587. package/src/core/primitives/checkbox/index.ts +0 -1
  588. package/src/core/primitives/checkbox/styles.ts +0 -128
  589. package/src/core/primitives/code/__workshop__/index.ts +0 -19
  590. package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +0 -48
  591. package/src/core/primitives/code/__workshop__/props.tsx +0 -21
  592. package/src/core/primitives/code/code.tsx +0 -46
  593. package/src/core/primitives/code/index.ts +0 -1
  594. package/src/core/primitives/code/refractor.tsx +0 -20
  595. package/src/core/primitives/code/styles.ts +0 -77
  596. package/src/core/primitives/container/__workshop__/example.tsx +0 -20
  597. package/src/core/primitives/container/__workshop__/index.ts +0 -8
  598. package/src/core/primitives/container/container.tsx +0 -41
  599. package/src/core/primitives/container/index.ts +0 -2
  600. package/src/core/primitives/container/styles.ts +0 -23
  601. package/src/core/primitives/flex/__workshop__/example.tsx +0 -34
  602. package/src/core/primitives/flex/__workshop__/gap.tsx +0 -25
  603. package/src/core/primitives/flex/__workshop__/index.ts +0 -11
  604. package/src/core/primitives/flex/flex.tsx +0 -54
  605. package/src/core/primitives/flex/index.ts +0 -1
  606. package/src/core/primitives/grid/__workshop__/index.ts +0 -10
  607. package/src/core/primitives/grid/__workshop__/responsive.tsx +0 -54
  608. package/src/core/primitives/grid/grid.tsx +0 -48
  609. package/src/core/primitives/grid/index.ts +0 -1
  610. package/src/core/primitives/heading/__workshop__/index.ts +0 -19
  611. package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +0 -54
  612. package/src/core/primitives/heading/__workshop__/plain.tsx +0 -32
  613. package/src/core/primitives/heading/heading.tsx +0 -80
  614. package/src/core/primitives/heading/index.ts +0 -1
  615. package/src/core/primitives/heading/styles.ts +0 -64
  616. package/src/core/primitives/heading/types.ts +0 -7
  617. package/src/core/primitives/index.ts +0 -27
  618. package/src/core/primitives/inline/__workshop__/index.ts +0 -8
  619. package/src/core/primitives/inline/__workshop__/plain.tsx +0 -27
  620. package/src/core/primitives/inline/index.ts +0 -1
  621. package/src/core/primitives/inline/inline.tsx +0 -47
  622. package/src/core/primitives/inline/styles.ts +0 -32
  623. package/src/core/primitives/inline/types.ts +0 -6
  624. package/src/core/primitives/kbd/__workshop__/index.ts +0 -8
  625. package/src/core/primitives/kbd/__workshop__/plain.tsx +0 -9
  626. package/src/core/primitives/kbd/index.ts +0 -1
  627. package/src/core/primitives/kbd/kbd.tsx +0 -61
  628. package/src/core/primitives/label/__workshop__/index.ts +0 -19
  629. package/src/core/primitives/label/__workshop__/opticalAlignment.tsx +0 -48
  630. package/src/core/primitives/label/__workshop__/plain.tsx +0 -24
  631. package/src/core/primitives/label/index.ts +0 -1
  632. package/src/core/primitives/label/label.tsx +0 -79
  633. package/src/core/primitives/label/styles.ts +0 -45
  634. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +0 -77
  635. package/src/core/primitives/popover/__workshop__/MarginsStory.tsx +0 -31
  636. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -32
  637. package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +0 -11
  638. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +0 -71
  639. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +0 -71
  640. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +0 -89
  641. package/src/core/primitives/popover/__workshop__/TestStory.tsx +0 -97
  642. package/src/core/primitives/popover/__workshop__/index.ts +0 -49
  643. package/src/core/primitives/popover/constants.ts +0 -22
  644. package/src/core/primitives/popover/floating-ui/size.ts +0 -99
  645. package/src/core/primitives/popover/helpers.ts +0 -31
  646. package/src/core/primitives/popover/index.ts +0 -2
  647. package/src/core/primitives/popover/popover.tsx +0 -511
  648. package/src/core/primitives/popover/popoverCard.tsx +0 -166
  649. package/src/core/primitives/popover/types.ts +0 -7
  650. package/src/core/primitives/radio/__workshop__/example.tsx +0 -63
  651. package/src/core/primitives/radio/__workshop__/index.ts +0 -11
  652. package/src/core/primitives/radio/__workshop__/plain.tsx +0 -28
  653. package/src/core/primitives/radio/index.ts +0 -1
  654. package/src/core/primitives/radio/radio.tsx +0 -51
  655. package/src/core/primitives/radio/styles.ts +0 -117
  656. package/src/core/primitives/select/__workshop__/index.ts +0 -11
  657. package/src/core/primitives/select/__workshop__/plain.tsx +0 -27
  658. package/src/core/primitives/select/__workshop__/readOnly.tsx +0 -23
  659. package/src/core/primitives/select/index.ts +0 -1
  660. package/src/core/primitives/select/select.tsx +0 -88
  661. package/src/core/primitives/select/styles.ts +0 -166
  662. package/src/core/primitives/spinner/__workshop__/Props.tsx +0 -15
  663. package/src/core/primitives/spinner/__workshop__/index.ts +0 -14
  664. package/src/core/primitives/spinner/index.ts +0 -1
  665. package/src/core/primitives/spinner/spinner.tsx +0 -46
  666. package/src/core/primitives/stack/__workshop__/index.ts +0 -14
  667. package/src/core/primitives/stack/__workshop__/plain.tsx +0 -32
  668. package/src/core/primitives/stack/index.ts +0 -1
  669. package/src/core/primitives/stack/stack.tsx +0 -43
  670. package/src/core/primitives/stack/styles.ts +0 -32
  671. package/src/core/primitives/switch/__workshop__/example.tsx +0 -23
  672. package/src/core/primitives/switch/__workshop__/index.ts +0 -11
  673. package/src/core/primitives/switch/__workshop__/props.tsx +0 -21
  674. package/src/core/primitives/switch/index.ts +0 -1
  675. package/src/core/primitives/switch/styles.ts +0 -173
  676. package/src/core/primitives/switch/switch.tsx +0 -68
  677. package/src/core/primitives/text/__workshop__/colored.tsx +0 -30
  678. package/src/core/primitives/text/__workshop__/example.tsx +0 -39
  679. package/src/core/primitives/text/__workshop__/index.ts +0 -24
  680. package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +0 -48
  681. package/src/core/primitives/text/index.ts +0 -1
  682. package/src/core/primitives/text/styles.ts +0 -74
  683. package/src/core/primitives/text/text.tsx +0 -81
  684. package/src/core/primitives/textArea/__workshop__/index.ts +0 -14
  685. package/src/core/primitives/textArea/__workshop__/plain.tsx +0 -50
  686. package/src/core/primitives/textArea/index.ts +0 -1
  687. package/src/core/primitives/textArea/textArea.tsx +0 -120
  688. package/src/core/primitives/textInput/__workshop__/clearButton.tsx +0 -30
  689. package/src/core/primitives/textInput/__workshop__/customValidity.tsx +0 -17
  690. package/src/core/primitives/textInput/__workshop__/index.ts +0 -44
  691. package/src/core/primitives/textInput/__workshop__/plain.tsx +0 -98
  692. package/src/core/primitives/textInput/__workshop__/readOnly.tsx +0 -9
  693. package/src/core/primitives/textInput/__workshop__/states.tsx +0 -53
  694. package/src/core/primitives/textInput/__workshop__/tones.tsx +0 -277
  695. package/src/core/primitives/textInput/__workshop__/typed.tsx +0 -23
  696. package/src/core/primitives/textInput/index.ts +0 -1
  697. package/src/core/primitives/textInput/textInput.tsx +0 -390
  698. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +0 -102
  699. package/src/core/primitives/tooltip/__workshop__/index.ts +0 -29
  700. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +0 -74
  701. package/src/core/primitives/tooltip/__workshop__/props.tsx +0 -107
  702. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +0 -86
  703. package/src/core/primitives/tooltip/constants.ts +0 -23
  704. package/src/core/primitives/tooltip/index.ts +0 -2
  705. package/src/core/primitives/tooltip/tooltip.test.tsx +0 -452
  706. package/src/core/primitives/tooltip/tooltip.tsx +0 -495
  707. package/src/core/primitives/tooltip/tooltipCard.tsx +0 -109
  708. package/src/core/primitives/tooltip/tooltipDelayGroup/index.ts +0 -4
  709. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +0 -11
  710. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +0 -57
  711. package/src/core/primitives/tooltip/tooltipDelayGroup/types.ts +0 -10
  712. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -13
  713. package/src/core/primitives/types.ts +0 -146
  714. package/src/core/styles/border/borderStyle.ts +0 -56
  715. package/src/core/styles/border/index.ts +0 -2
  716. package/src/core/styles/border/types.ts +0 -10
  717. package/src/core/styles/box/boxStyle.ts +0 -69
  718. package/src/core/styles/box/index.ts +0 -2
  719. package/src/core/styles/box/types.ts +0 -11
  720. package/src/core/styles/card/_cardColorStyle.ts +0 -108
  721. package/src/core/styles/card/index.ts +0 -1
  722. package/src/core/styles/flex/flexItemStyle.ts +0 -27
  723. package/src/core/styles/flex/flexStyle.ts +0 -70
  724. package/src/core/styles/flex/index.ts +0 -3
  725. package/src/core/styles/flex/types.ts +0 -25
  726. package/src/core/styles/focusRing/index.ts +0 -25
  727. package/src/core/styles/font/codeFontStyle.ts +0 -13
  728. package/src/core/styles/font/headingFontStyle.ts +0 -13
  729. package/src/core/styles/font/index.ts +0 -6
  730. package/src/core/styles/font/labelFontStyle.ts +0 -13
  731. package/src/core/styles/font/responsiveFont.ts +0 -103
  732. package/src/core/styles/font/textAlignStyle.ts +0 -19
  733. package/src/core/styles/font/textFontStyle.ts +0 -13
  734. package/src/core/styles/font/types.ts +0 -35
  735. package/src/core/styles/grid/gridItemStyle.ts +0 -82
  736. package/src/core/styles/grid/gridStyle.ts +0 -108
  737. package/src/core/styles/grid/index.ts +0 -3
  738. package/src/core/styles/grid/types.ts +0 -37
  739. package/src/core/styles/helpers.ts +0 -72
  740. package/src/core/styles/index.ts +0 -5
  741. package/src/core/styles/input/index.ts +0 -2
  742. package/src/core/styles/input/responsiveInputPaddingStyle.ts +0 -78
  743. package/src/core/styles/input/textInputStyle.ts +0 -263
  744. package/src/core/styles/internal.ts +0 -12
  745. package/src/core/styles/margin/index.ts +0 -2
  746. package/src/core/styles/margin/marginStyle.ts +0 -21
  747. package/src/core/styles/margin/marginsStyle.test.ts +0 -33
  748. package/src/core/styles/margin/types.ts +0 -9
  749. package/src/core/styles/padding/index.ts +0 -2
  750. package/src/core/styles/padding/paddingStyle.test.ts +0 -33
  751. package/src/core/styles/padding/paddingStyle.ts +0 -21
  752. package/src/core/styles/padding/types.ts +0 -12
  753. package/src/core/styles/radius/index.ts +0 -2
  754. package/src/core/styles/radius/radiusStyle.ts +0 -23
  755. package/src/core/styles/radius/types.ts +0 -8
  756. package/src/core/styles/shadow/index.ts +0 -2
  757. package/src/core/styles/shadow/shadowStyle.ts +0 -29
  758. package/src/core/styles/shadow/types.ts +0 -6
  759. package/src/core/styles/types.ts +0 -8
  760. package/src/core/theme/__workshop__/build/Root.tsx +0 -367
  761. package/src/core/theme/__workshop__/build/helpers.ts +0 -46
  762. package/src/core/theme/__workshop__/build/story.tsx +0 -465
  763. package/src/core/theme/__workshop__/canvas.tsx +0 -352
  764. package/src/core/theme/__workshop__/color.tsx +0 -62
  765. package/src/core/theme/__workshop__/debug/story.tsx +0 -408
  766. package/src/core/theme/__workshop__/index.ts +0 -39
  767. package/src/core/theme/__workshop__/layer.tsx +0 -78
  768. package/src/core/theme/__workshop__/nestedProvider.tsx +0 -15
  769. package/src/core/theme/index.ts +0 -5
  770. package/src/core/theme/theme.test.tsx +0 -73
  771. package/src/core/theme/themeColorProvider.tsx +0 -29
  772. package/src/core/theme/themeContext.ts +0 -10
  773. package/src/core/theme/themeProvider.tsx +0 -62
  774. package/src/core/theme/types.ts +0 -12
  775. package/src/core/theme/useRootTheme.ts +0 -17
  776. package/src/core/theme/useTheme.ts +0 -16
  777. package/src/core/types/avatar.ts +0 -14
  778. package/src/core/types/badge.ts +0 -12
  779. package/src/core/types/box.ts +0 -19
  780. package/src/core/types/button.ts +0 -21
  781. package/src/core/types/card.ts +0 -6
  782. package/src/core/types/dialog.ts +0 -4
  783. package/src/core/types/flex.ts +0 -30
  784. package/src/core/types/grid.ts +0 -14
  785. package/src/core/types/gridItem.ts +0 -29
  786. package/src/core/types/index.ts +0 -14
  787. package/src/core/types/placement.ts +0 -18
  788. package/src/core/types/popover.ts +0 -4
  789. package/src/core/types/radius.ts +0 -4
  790. package/src/core/types/selectable.ts +0 -6
  791. package/src/core/types/text.ts +0 -4
  792. package/src/core/utils/arrow/arrow.tsx +0 -123
  793. package/src/core/utils/arrow/cmds.ts +0 -91
  794. package/src/core/utils/arrow/index.ts +0 -1
  795. package/src/core/utils/boundaryElement/__workshop__/index.ts +0 -14
  796. package/src/core/utils/boundaryElement/__workshop__/plain.tsx +0 -19
  797. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +0 -100
  798. package/src/core/utils/boundaryElement/boundaryElementContext.ts +0 -7
  799. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +0 -24
  800. package/src/core/utils/boundaryElement/index.ts +0 -3
  801. package/src/core/utils/boundaryElement/types.ts +0 -7
  802. package/src/core/utils/boundaryElement/useBoundaryElement.ts +0 -26
  803. package/src/core/utils/conditionalWrapper/conditionalWrapper.tsx +0 -21
  804. package/src/core/utils/conditionalWrapper/index.ts +0 -1
  805. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +0 -30
  806. package/src/core/utils/elementQuery/__workshop__/index.ts +0 -14
  807. package/src/core/utils/elementQuery/elementQuery.tsx +0 -53
  808. package/src/core/utils/elementQuery/index.ts +0 -1
  809. package/src/core/utils/errorBoundary.tsx +0 -48
  810. package/src/core/utils/getElementRef.ts +0 -26
  811. package/src/core/utils/index.ts +0 -9
  812. package/src/core/utils/layer/__workshop__/_debug.tsx +0 -17
  813. package/src/core/utils/layer/__workshop__/index.ts +0 -24
  814. package/src/core/utils/layer/__workshop__/multipleRoots.tsx +0 -49
  815. package/src/core/utils/layer/__workshop__/nested.tsx +0 -98
  816. package/src/core/utils/layer/__workshop__/responsiveZOffset.tsx +0 -13
  817. package/src/core/utils/layer/getLayerContext.test.ts +0 -30
  818. package/src/core/utils/layer/getLayerContext.ts +0 -21
  819. package/src/core/utils/layer/index.ts +0 -4
  820. package/src/core/utils/layer/layer.test.tsx +0 -108
  821. package/src/core/utils/layer/layer.tsx +0 -98
  822. package/src/core/utils/layer/layerContext.ts +0 -7
  823. package/src/core/utils/layer/layerProvider.tsx +0 -111
  824. package/src/core/utils/layer/useLayer.ts +0 -26
  825. package/src/core/utils/portal/__workshop__/index.ts +0 -14
  826. package/src/core/utils/portal/__workshop__/named.tsx +0 -63
  827. package/src/core/utils/portal/index.ts +0 -4
  828. package/src/core/utils/portal/portal.test.tsx +0 -103
  829. package/src/core/utils/portal/portal.ts +0 -32
  830. package/src/core/utils/portal/portalContext.ts +0 -31
  831. package/src/core/utils/portal/portalProvider.tsx +0 -47
  832. package/src/core/utils/portal/types.ts +0 -9
  833. package/src/core/utils/portal/usePortal.ts +0 -25
  834. package/src/core/utils/spanWithTextOverflow.tsx +0 -10
  835. package/src/core/utils/srOnly/index.ts +0 -1
  836. package/src/core/utils/srOnly/srOnly.tsx +0 -36
  837. package/src/core/utils/virtualList/__workshop__/changingProps.tsx +0 -36
  838. package/src/core/utils/virtualList/__workshop__/elementScroll.tsx +0 -24
  839. package/src/core/utils/virtualList/__workshop__/index.ts +0 -29
  840. package/src/core/utils/virtualList/__workshop__/infiniteList.tsx +0 -48
  841. package/src/core/utils/virtualList/__workshop__/windowScrolll.tsx +0 -22
  842. package/src/core/utils/virtualList/index.ts +0 -1
  843. package/src/core/utils/virtualList/virtualList.tsx +0 -200
  844. package/src/theme/build/_deprecated/color/_selectable/createSelectableTones.ts +0 -76
  845. package/src/theme/build/_deprecated/color/_solid/createSolidTones.ts +0 -54
  846. package/src/theme/build/_deprecated/color/button/createButtonModes.ts +0 -22
  847. package/src/theme/build/_deprecated/color/button/createButtonTones.ts +0 -55
  848. package/src/theme/build/_deprecated/color/card/createCardStates.ts +0 -60
  849. package/src/theme/build/_deprecated/color/color.test.ts +0 -63
  850. package/src/theme/build/_deprecated/color/defaults.ts +0 -390
  851. package/src/theme/build/_deprecated/color/factory.ts +0 -142
  852. package/src/theme/build/_deprecated/color/index.ts +0 -1
  853. package/src/theme/build/_deprecated/color/input/createInputModes.ts +0 -81
  854. package/src/theme/build/_deprecated/color/muted/createMuted.ts +0 -54
  855. package/src/theme/build/_deprecated/color/spot/createSpot.ts +0 -20
  856. package/src/theme/build/buildColorTheme.test.ts +0 -183
  857. package/src/theme/build/buildColorTheme.ts +0 -499
  858. package/src/theme/build/buildTheme.test.ts +0 -87
  859. package/src/theme/build/buildTheme.ts +0 -36
  860. package/src/theme/build/colorToken/colorToken.ts +0 -19
  861. package/src/theme/build/colorToken/compileColorToken.ts +0 -21
  862. package/src/theme/build/colorToken/index.ts +0 -2
  863. package/src/theme/build/colorToken/types.ts +0 -6
  864. package/src/theme/build/index.ts +0 -3
  865. package/src/theme/build/lib/color-fns/blend/index.ts +0 -3
  866. package/src/theme/build/lib/color-fns/blend/mix.ts +0 -21
  867. package/src/theme/build/lib/color-fns/blend/multiply.ts +0 -18
  868. package/src/theme/build/lib/color-fns/blend/screen.ts +0 -18
  869. package/src/theme/build/lib/color-fns/color-fns.test.ts +0 -68
  870. package/src/theme/build/lib/color-fns/contrastRatio.ts +0 -31
  871. package/src/theme/build/lib/color-fns/convert.ts +0 -150
  872. package/src/theme/build/lib/color-fns/index.ts +0 -6
  873. package/src/theme/build/lib/color-fns/parse.ts +0 -60
  874. package/src/theme/build/lib/color-fns/rgba.ts +0 -10
  875. package/src/theme/build/lib/color-fns/types.ts +0 -28
  876. package/src/theme/build/lib/isRecord.ts +0 -3
  877. package/src/theme/build/lib/lazy.ts +0 -30
  878. package/src/theme/build/lib/utils.ts +0 -19
  879. package/src/theme/build/merge.ts +0 -26
  880. package/src/theme/build/mixThemeColor.test.ts +0 -21
  881. package/src/theme/build/mixThemeColor.ts +0 -53
  882. package/src/theme/build/renderColorTheme.ts +0 -532
  883. package/src/theme/build/renderColorValue.ts +0 -85
  884. package/src/theme/build/resolveColorTokens.ts +0 -268
  885. package/src/theme/build/theme.test.ts +0 -27
  886. package/src/theme/config/helpers.ts +0 -55
  887. package/src/theme/config/index.ts +0 -4
  888. package/src/theme/config/system.ts +0 -115
  889. package/src/theme/config/tokens/color/index.ts +0 -1
  890. package/src/theme/config/tokens/color/types.ts +0 -133
  891. package/src/theme/config/tokens/index.ts +0 -4
  892. package/src/theme/config/tokens/parseTokenKey.test.ts +0 -64
  893. package/src/theme/config/tokens/parseTokenKey.ts +0 -67
  894. package/src/theme/config/tokens/parseTokenValue.test.ts +0 -42
  895. package/src/theme/config/tokens/parseTokenValue.ts +0 -133
  896. package/src/theme/config/tokens/types.ts +0 -53
  897. package/src/theme/config/types.ts +0 -46
  898. package/src/theme/defaults/colorPalette.ts +0 -5
  899. package/src/theme/defaults/colorTokens.ts +0 -648
  900. package/src/theme/defaults/config.ts +0 -84
  901. package/src/theme/defaults/fonts.ts +0 -227
  902. package/src/theme/getScopedTheme.ts +0 -98
  903. package/src/theme/index.ts +0 -5
  904. package/src/theme/system/avatar.ts +0 -14
  905. package/src/theme/system/color/_constants.ts +0 -45
  906. package/src/theme/system/color/_helpers.ts +0 -24
  907. package/src/theme/system/color/_system.ts +0 -40
  908. package/src/theme/system/color/avatar.ts +0 -15
  909. package/src/theme/system/color/badge.ts +0 -16
  910. package/src/theme/system/color/button.ts +0 -17
  911. package/src/theme/system/color/color.ts +0 -34
  912. package/src/theme/system/color/index.ts +0 -13
  913. package/src/theme/system/color/input.ts +0 -25
  914. package/src/theme/system/color/kbd.ts +0 -8
  915. package/src/theme/system/color/selectable.ts +0 -12
  916. package/src/theme/system/color/shadow.ts +0 -7
  917. package/src/theme/system/color/state.ts +0 -43
  918. package/src/theme/system/color/syntax.ts +0 -41
  919. package/src/theme/system/css.ts +0 -8
  920. package/src/theme/system/focusRing.ts +0 -7
  921. package/src/theme/system/font.ts +0 -52
  922. package/src/theme/system/index.ts +0 -11
  923. package/src/theme/system/input.ts +0 -33
  924. package/src/theme/system/layer.ts +0 -8
  925. package/src/theme/system/shadow.ts +0 -19
  926. package/src/theme/system/styles.ts +0 -13
  927. package/src/theme/system/theme.ts +0 -138
  928. package/src/theme/system/v0/avatar.ts +0 -10
  929. package/src/theme/system/v0/color/_generic.ts +0 -35
  930. package/src/theme/system/v0/color/_system.ts +0 -17
  931. package/src/theme/system/v0/color/base.ts +0 -21
  932. package/src/theme/system/v0/color/button.ts +0 -42
  933. package/src/theme/system/v0/color/card.ts +0 -19
  934. package/src/theme/system/v0/color/color.ts +0 -40
  935. package/src/theme/system/v0/color/index.ts +0 -11
  936. package/src/theme/system/v0/color/input.ts +0 -34
  937. package/src/theme/system/v0/color/muted.ts +0 -26
  938. package/src/theme/system/v0/color/selectable.ts +0 -31
  939. package/src/theme/system/v0/color/solid.ts +0 -26
  940. package/src/theme/system/v0/color/spot.ts +0 -13
  941. package/src/theme/system/v0/index.ts +0 -3
  942. package/src/theme/system/v0/input.ts +0 -23
  943. package/src/theme/versioning/getTheme_v2.ts +0 -57
  944. package/src/theme/versioning/index.ts +0 -5
  945. package/src/theme/versioning/is_v0.ts +0 -6
  946. package/src/theme/versioning/is_v2.ts +0 -6
  947. package/src/theme/versioning/themeColor_v0_v2.ts +0 -243
  948. package/src/theme/versioning/themeColor_v2_v2_9.ts +0 -49
  949. package/src/theme/versioning/v0_v2.ts +0 -94
  950. package/src/theme/versioning/v2_v0.ts +0 -135
  951. /package/src/{core/components → components}/autocomplete/__workshop__/types.ts +0 -0
  952. /package/src/{core/components → components}/toast/toastState.ts +0 -0
  953. /package/src/{core/hooks → hooks}/useCustomValidity.ts +0 -0
  954. /package/src/{core/hooks → hooks}/useMounted.ts +0 -0
  955. /package/src/{core/primitives → primitives}/container/types.ts +0 -0
  956. /package/src/{core/utils → primitives}/layer/types.ts +0 -0
  957. /package/src/{core/utils → utils}/elementQuery/helpers.ts +0 -0
package/dist/index.mjs DELETED
@@ -1,2041 +0,0 @@
1
- import { isHTMLElement, isHTMLAnchorElement, isHTMLInputElement, isHTMLButtonElement, isHTMLSelectElement, isHTMLTextAreaElement, _getArrayProp, EMPTY_ARRAY, useElementSize, Code, Box, _isEnterToClickElement, EMPTY_RECORD, Card, Text, Button, Stack, Popover, TextInput, useClickOutsideEvent, _responsive, createGlobalScopedContext, Container, Flex, usePortal, useBoundaryElement, useLayer, useGlobalKeyDown, useTheme_v2, usePrefersReducedMotion, Portal, containsOrEqualsElement, Layer, responsivePaddingStyle, responsiveRadiusStyle, Grid, LayerProvider, isRecord, _cardColorStyle, rem } from "./_chunks-es/_visual-editing.mjs";
2
- import { Arrow, Avatar, AvatarCounter, AvatarStack, Badge, BoundaryElementProvider, Checkbox, ConditionalWrapper, ElementQuery, Heading, Hotkeys, Inline, KBD, Label, Menu, MenuDivider, MenuGroup, MenuItem, PortalProvider, Radio, Select, Spinner, SrOnly, Switch, Tab, TabList, TextArea, ThemeColorProvider, ThemeProvider, Tooltip, TooltipDelayGroupContext, TooltipDelayGroupProvider, VirtualList, _ResizeObserver, _elementSizeObserver, _fillCSSObject, _getResponsiveSpace, _isScrollable, createColorTheme, hexToRgb, hslToRgb, multiply, parseColor, responsiveCodeFontStyle, responsiveHeadingFont, responsiveLabelFont, responsiveTextAlignStyle, responsiveTextFont, rgbToHex, rgbToHsl, rgba, screen, studioTheme, useCustomValidity, useMatchMedia, useMediaIndex, usePrefersDark, useRootTheme, useTheme, useTooltipDelayGroup } from "./_chunks-es/_visual-editing.mjs";
3
- import { jsx, jsxs, Fragment as Fragment$1 } from "react/jsx-runtime";
4
- import { c } from "react-compiler-runtime";
5
- import { SpinnerIcon, ChevronDownIcon, CloseIcon, ToggleArrowRightIcon } from "@sanity/icons";
6
- import { useState, useRef, useEffect, useImperativeHandle, Component, forwardRef, useReducer, startTransition, cloneElement, Children, isValidElement, Fragment, useContext, useSyncExternalStore, useId } from "react";
7
- import { styled, keyframes, css } from "styled-components";
8
- import { getTheme_v2 } from "@sanity/ui/theme";
9
- import { motion, AnimatePresence } from "motion/react";
10
- function _raf(fn) {
11
- const frameId = requestAnimationFrame(fn);
12
- return () => {
13
- cancelAnimationFrame(frameId);
14
- };
15
- }
16
- function _raf2(fn) {
17
- let innerDispose = null;
18
- const outerDispose = _raf(() => {
19
- innerDispose = _raf(fn);
20
- });
21
- return () => {
22
- innerDispose && innerDispose(), outerDispose();
23
- };
24
- }
25
- function _hasFocus(element) {
26
- return !!document.activeElement && element.contains(document.activeElement);
27
- }
28
- function isFocusable(element) {
29
- return element.tabIndex > 0 || element.tabIndex === 0 && element.getAttribute("tabIndex") !== null ? !0 : isHTMLAnchorElement(element) ? !!element.href && element.rel !== "ignore" : isHTMLInputElement(element) ? element.type !== "hidden" && element.type !== "file" && !element.disabled : isHTMLButtonElement(element) || isHTMLSelectElement(element) || isHTMLTextAreaElement(element) ? !element.disabled : !1;
30
- }
31
- function attemptFocus(element) {
32
- if (!isFocusable(element))
33
- return !1;
34
- try {
35
- element.focus();
36
- } catch {
37
- }
38
- return document.activeElement === element;
39
- }
40
- function focusFirstDescendant(element) {
41
- for (let i = 0; i < element.childNodes.length; i++) {
42
- const child = element.childNodes[i];
43
- if (isHTMLElement(child) && (attemptFocus(child) || focusFirstDescendant(child)))
44
- return !0;
45
- }
46
- return !1;
47
- }
48
- function focusLastDescendant(element) {
49
- for (let i = element.childNodes.length - 1; i >= 0; i--) {
50
- const child = element.childNodes[i];
51
- if (isHTMLElement(child) && (attemptFocus(child) || focusLastDescendant(child)))
52
- return !0;
53
- }
54
- return !1;
55
- }
56
- function useArrayProp(val, defaultVal) {
57
- const $ = c(3);
58
- let t0;
59
- return $[0] !== defaultVal || $[1] !== val ? (t0 = _getArrayProp(val, defaultVal), $[0] = defaultVal, $[1] = val, $[2] = t0) : t0 = $[2], t0;
60
- }
61
- function _getElements(element, elementsArg) {
62
- const ret = [element];
63
- for (const el of elementsArg)
64
- Array.isArray(el) ? ret.push(...el) : ret.push(el);
65
- return ret.filter(Boolean);
66
- }
67
- function useClickOutside(listener, t0, boundaryElement) {
68
- const $ = c(12), elementsArg = t0 === void 0 ? EMPTY_ARRAY : t0, [element, setElement] = useState(null);
69
- let t1;
70
- $[0] !== element || $[1] !== elementsArg ? (t1 = () => _getElements(element, elementsArg), $[0] = element, $[1] = elementsArg, $[2] = t1) : t1 = $[2];
71
- const [elements, setElements] = useState(t1), elementsRef = useRef(elements);
72
- let t2, t3;
73
- $[3] !== element || $[4] !== elementsArg ? (t2 = () => {
74
- const prevElements = elementsRef.current, nextElements = _getElements(element, elementsArg);
75
- if (prevElements.length !== nextElements.length) {
76
- setElements(nextElements), elementsRef.current = nextElements;
77
- return;
78
- }
79
- for (const el of prevElements)
80
- if (!nextElements.includes(el)) {
81
- setElements(nextElements), elementsRef.current = nextElements;
82
- return;
83
- }
84
- for (const el_0 of nextElements)
85
- if (!prevElements.includes(el_0)) {
86
- setElements(nextElements), elementsRef.current = nextElements;
87
- return;
88
- }
89
- }, t3 = [element, elementsArg], $[3] = element, $[4] = elementsArg, $[5] = t2, $[6] = t3) : (t2 = $[5], t3 = $[6]), useEffect(t2, t3);
90
- let t4, t5;
91
- return $[7] !== boundaryElement || $[8] !== elements || $[9] !== listener ? (t4 = () => {
92
- if (!listener)
93
- return;
94
- const handleWindowMouseDown = (evt) => {
95
- const target = evt.target;
96
- if (target instanceof Node && !(boundaryElement && !boundaryElement.contains(target))) {
97
- for (const el_1 of elements)
98
- if (target === el_1 || el_1.contains(target))
99
- return;
100
- listener(evt);
101
- }
102
- };
103
- return window.addEventListener("mousedown", handleWindowMouseDown), () => {
104
- window.removeEventListener("mousedown", handleWindowMouseDown);
105
- };
106
- }, t5 = [boundaryElement, listener, elements], $[7] = boundaryElement, $[8] = elements, $[9] = listener, $[10] = t4, $[11] = t5) : (t4 = $[10], t5 = $[11]), useEffect(t4, t5), setElement;
107
- }
108
- function useElementRect(element) {
109
- return useElementSize(element)?._contentRect || null;
110
- }
111
- function useForwardedRef(ref) {
112
- const $ = c(1), innerRef = useRef(null);
113
- let t0;
114
- return $[0] === Symbol.for("react.memo_cache_sentinel") ? (t0 = () => innerRef.current, $[0] = t0) : t0 = $[0], useImperativeHandle(ref, t0), innerRef;
115
- }
116
- class ErrorBoundary extends Component {
117
- state = {
118
- error: null
119
- };
120
- static getDerivedStateFromError(error) {
121
- return {
122
- error
123
- };
124
- }
125
- componentDidCatch(error, info) {
126
- this.props.onCatch({
127
- error,
128
- info
129
- });
130
- }
131
- render() {
132
- const {
133
- error
134
- } = this.state;
135
- if (error) {
136
- const message = typeof error?.message == "string" ? error.message : "Error";
137
- return /* @__PURE__ */ jsx(Code, { children: message });
138
- }
139
- return this.props.children;
140
- }
141
- }
142
- const StyledAutocomplete = styled.div.withConfig({
143
- displayName: "StyledAutocomplete",
144
- componentId: "sc-1igauft-0"
145
- })`line-height:0;`, ListBox = styled(Box).withConfig({
146
- displayName: "ListBox",
147
- componentId: "sc-1igauft-1"
148
- })`& > ul{list-style:none;padding:0;margin:0;}`, rotate = keyframes`
149
- from {
150
- transform: rotate(0deg);
151
- }
152
-
153
- to {
154
- transform: rotate(360deg);
155
- }
156
- `, AnimatedSpinnerIcon = styled(SpinnerIcon).withConfig({
157
- displayName: "AnimatedSpinnerIcon",
158
- componentId: "sc-1igauft-2"
159
- })`animation:${rotate} 500ms linear infinite;`;
160
- function AutocompleteOption(props) {
161
- const $ = c(11), {
162
- children,
163
- id,
164
- onSelect,
165
- selected,
166
- value
167
- } = props;
168
- let t0;
169
- $[0] !== onSelect || $[1] !== value ? (t0 = () => {
170
- setTimeout(() => {
171
- onSelect(value);
172
- }, 0);
173
- }, $[0] = onSelect, $[1] = value, $[2] = t0) : t0 = $[2];
174
- const handleClick = t0;
175
- let t1;
176
- $[3] !== handleClick ? (t1 = (event) => {
177
- event.key === "Enter" && !_isEnterToClickElement(event.currentTarget) && handleClick();
178
- }, $[3] = handleClick, $[4] = t1) : t1 = $[4];
179
- const handleKeyDown = t1;
180
- let t2;
181
- return $[5] !== children || $[6] !== handleClick || $[7] !== handleKeyDown || $[8] !== id || $[9] !== selected ? (t2 = /* @__PURE__ */ jsx("li", { "aria-selected": selected, "data-ui": "AutocompleteOption", id, role: "option", onClick: handleClick, onKeyDown: handleKeyDown, children }), $[5] = children, $[6] = handleClick, $[7] = handleKeyDown, $[8] = id, $[9] = selected, $[10] = t2) : t2 = $[10], t2;
182
- }
183
- function autocompleteReducer(state, msg) {
184
- return msg.type === "input/change" ? {
185
- ...state,
186
- activeValue: null,
187
- focused: !0,
188
- query: msg.query
189
- } : msg.type === "input/focus" ? {
190
- ...state,
191
- focused: !0
192
- } : msg.type === "root/blur" ? {
193
- ...state,
194
- focused: !1,
195
- query: null
196
- } : msg.type === "root/clear" ? {
197
- ...state,
198
- activeValue: null,
199
- query: null,
200
- value: null
201
- } : msg.type === "root/escape" ? {
202
- ...state,
203
- focused: !1,
204
- query: null
205
- } : msg.type === "root/open" ? {
206
- ...state,
207
- query: state.query || msg.query
208
- } : msg.type === "root/setActiveValue" ? {
209
- ...state,
210
- activeValue: msg.value,
211
- listFocused: msg.listFocused || state.listFocused
212
- } : msg.type === "root/setListFocused" ? {
213
- ...state,
214
- listFocused: msg.listFocused
215
- } : msg.type === "value/change" ? {
216
- ...state,
217
- activeValue: msg.value,
218
- query: null,
219
- value: msg.value
220
- } : state;
221
- }
222
- const AUTOCOMPLETE_LISTBOX_IGNORE_KEYS = ["Control", "Shift", "Alt", "Enter", "Home", "End", "PageUp", "PageDown", "Meta", "Tab", "CapsLock"], AUTOCOMPLETE_POPOVER_PLACEMENT = "bottom-start", AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS = ["bottom-start", "top-start"], DEFAULT_RENDER_VALUE = (value, option) => option ? option.value : value, DEFAULT_FILTER_OPTION = (query, option) => option.value.toLowerCase().indexOf(query.toLowerCase()) > -1, InnerAutocomplete = forwardRef(function(props, forwardedRef) {
223
- const $ = c(181);
224
- let customValidity, disabled, filterOptionProp, icon, id, loading, onBlur, onChange, onFocus, onQueryChange, onSelect, openButton, openOnFocus, optionsProp, prefix, readOnly, relatedElements, renderOptionProp, renderPopover, restProps, suffix, t0, t1, t2, t3, t4, t5, t6, valueProp;
225
- $[0] !== props ? ({
226
- border: t0,
227
- customValidity,
228
- disabled,
229
- filterOption: filterOptionProp,
230
- fontSize: t1,
231
- icon,
232
- id,
233
- listBox: t2,
234
- loading,
235
- onBlur,
236
- onChange,
237
- onFocus,
238
- onQueryChange,
239
- onSelect,
240
- openButton,
241
- openOnFocus,
242
- options: optionsProp,
243
- padding: t3,
244
- popover: t4,
245
- prefix,
246
- radius: t5,
247
- readOnly,
248
- relatedElements,
249
- renderOption: renderOptionProp,
250
- renderPopover,
251
- renderValue: t6,
252
- suffix,
253
- value: valueProp,
254
- ...restProps
255
- } = props, $[0] = props, $[1] = customValidity, $[2] = disabled, $[3] = filterOptionProp, $[4] = icon, $[5] = id, $[6] = loading, $[7] = onBlur, $[8] = onChange, $[9] = onFocus, $[10] = onQueryChange, $[11] = onSelect, $[12] = openButton, $[13] = openOnFocus, $[14] = optionsProp, $[15] = prefix, $[16] = readOnly, $[17] = relatedElements, $[18] = renderOptionProp, $[19] = renderPopover, $[20] = restProps, $[21] = suffix, $[22] = t0, $[23] = t1, $[24] = t2, $[25] = t3, $[26] = t4, $[27] = t5, $[28] = t6, $[29] = valueProp) : (customValidity = $[1], disabled = $[2], filterOptionProp = $[3], icon = $[4], id = $[5], loading = $[6], onBlur = $[7], onChange = $[8], onFocus = $[9], onQueryChange = $[10], onSelect = $[11], openButton = $[12], openOnFocus = $[13], optionsProp = $[14], prefix = $[15], readOnly = $[16], relatedElements = $[17], renderOptionProp = $[18], renderPopover = $[19], restProps = $[20], suffix = $[21], t0 = $[22], t1 = $[23], t2 = $[24], t3 = $[25], t4 = $[26], t5 = $[27], t6 = $[28], valueProp = $[29]);
256
- const border = t0 === void 0 ? !0 : t0, fontSize = t1 === void 0 ? 2 : t1, listBox = t2 === void 0 ? EMPTY_RECORD : t2, paddingProp = t3 === void 0 ? 3 : t3, popover = t4 === void 0 ? EMPTY_RECORD : t4, radius = t5 === void 0 ? 2 : t5, renderValue = t6 === void 0 ? DEFAULT_RENDER_VALUE : t6, t7 = valueProp || null, t8 = valueProp || null;
257
- let t9;
258
- $[30] !== t7 || $[31] !== t8 ? (t9 = {
259
- activeValue: t7,
260
- focused: !1,
261
- listFocused: !1,
262
- query: null,
263
- value: t8
264
- }, $[30] = t7, $[31] = t8, $[32] = t9) : t9 = $[32];
265
- const [state, dispatch] = useReducer(autocompleteReducer, t9), {
266
- activeValue,
267
- focused,
268
- listFocused,
269
- query,
270
- value
271
- } = state;
272
- let t10;
273
- $[33] !== fontSize || $[34] !== paddingProp ? (t10 = (t112) => {
274
- const {
275
- value: value_0
276
- } = t112;
277
- return /* @__PURE__ */ jsx(Card, { "data-as": "button", padding: paddingProp, radius: 2, tone: "inherit", children: /* @__PURE__ */ jsx(Text, { size: fontSize, textOverflow: "ellipsis", children: value_0 }) });
278
- }, $[33] = fontSize, $[34] = paddingProp, $[35] = t10) : t10 = $[35];
279
- const renderOption = typeof renderOptionProp == "function" ? renderOptionProp : t10, filterOption = typeof filterOptionProp == "function" ? filterOptionProp : DEFAULT_FILTER_OPTION, rootElementRef = useRef(null), resultsPopoverElementRef = useRef(null), inputElementRef = useRef(null), listBoxElementRef = useRef(null), [inputElement, _setInputElement] = useState(null);
280
- let t11;
281
- $[36] === Symbol.for("react.memo_cache_sentinel") ? (t11 = (node) => {
282
- startTransition(() => _setInputElement(node));
283
- }, $[36] = t11) : t11 = $[36];
284
- const setInputElement = t11, listFocusedRef = useRef(!1), valueRef = useRef(value), valuePropRef = useRef(valueProp), popoverMouseWithinRef = useRef(!1);
285
- let t12, t13;
286
- $[37] !== inputElement ? (t12 = () => inputElement, t13 = [inputElement], $[37] = inputElement, $[38] = t12, $[39] = t13) : (t12 = $[38], t13 = $[39]), useImperativeHandle(inputElementRef, t12, t13);
287
- let t14, t15;
288
- $[40] !== inputElement ? (t14 = () => inputElement, t15 = [inputElement], $[40] = inputElement, $[41] = t14, $[42] = t15) : (t14 = $[41], t15 = $[42]), useImperativeHandle(forwardedRef, t14, t15);
289
- const listBoxId = `${id}-listbox`, options = Array.isArray(optionsProp) ? optionsProp : EMPTY_ARRAY, padding = _getArrayProp(paddingProp);
290
- let t16;
291
- $[43] !== options || $[44] !== value ? (t16 = value !== null ? options.find((o) => o.value === value) : void 0, $[43] = options, $[44] = value, $[45] = t16) : t16 = $[45];
292
- const currentOption = t16;
293
- let t17;
294
- if ($[46] !== filterOption || $[47] !== options || $[48] !== query) {
295
- let t182;
296
- $[50] !== filterOption || $[51] !== query ? (t182 = (option) => query ? filterOption(query, option) : !0, $[50] = filterOption, $[51] = query, $[52] = t182) : t182 = $[52], t17 = options.filter(t182), $[46] = filterOption, $[47] = options, $[48] = query, $[49] = t17;
297
- } else
298
- t17 = $[49];
299
- const filteredOptions = t17, filteredOptionsLen = filteredOptions.length, activeItemId = activeValue ? `${id}-option-${activeValue}` : void 0, expanded = query !== null && loading || focused && query !== null;
300
- let t18;
301
- $[53] !== onBlur || $[54] !== onQueryChange || $[55] !== relatedElements ? (t18 = (event) => {
302
- setTimeout(() => {
303
- if (popoverMouseWithinRef.current)
304
- return;
305
- const elements = (relatedElements || []).concat(rootElementRef.current ? [rootElementRef.current] : [], resultsPopoverElementRef.current ? [resultsPopoverElementRef.current] : []);
306
- let focusInside = !1;
307
- if (document.activeElement) {
308
- for (const e of elements)
309
- if (e === document.activeElement || e.contains(document.activeElement)) {
310
- focusInside = !0;
311
- break;
312
- }
313
- }
314
- focusInside === !1 && (dispatch({
315
- type: "root/blur"
316
- }), popoverMouseWithinRef.current = !1, onQueryChange && onQueryChange(null), onBlur && onBlur(event));
317
- }, 0);
318
- }, $[53] = onBlur, $[54] = onQueryChange, $[55] = relatedElements, $[56] = t18) : t18 = $[56];
319
- const handleRootBlur = t18;
320
- let t19;
321
- $[57] === Symbol.for("react.memo_cache_sentinel") ? (t19 = (event_0) => {
322
- const listBoxElement = listBoxElementRef.current, focusedElement = event_0.target instanceof HTMLElement ? event_0.target : null, listFocused_0 = listBoxElement?.contains(focusedElement) || !1;
323
- listFocused_0 !== listFocusedRef.current && (listFocusedRef.current = listFocused_0, dispatch({
324
- type: "root/setListFocused",
325
- listFocused: listFocused_0
326
- }));
327
- }, $[57] = t19) : t19 = $[57];
328
- const handleRootFocus = t19;
329
- let t20;
330
- $[58] !== onChange || $[59] !== onQueryChange || $[60] !== onSelect ? (t20 = (v) => {
331
- dispatch({
332
- type: "value/change",
333
- value: v
334
- }), popoverMouseWithinRef.current = !1, onSelect && onSelect(v), valueRef.current = v, onChange && onChange(v), onQueryChange && onQueryChange(null), inputElementRef.current?.focus();
335
- }, $[58] = onChange, $[59] = onQueryChange, $[60] = onSelect, $[61] = t20) : t20 = $[61];
336
- const handleOptionSelect = t20;
337
- let t21;
338
- $[62] !== activeValue || $[63] !== filteredOptions || $[64] !== filteredOptionsLen || $[65] !== onQueryChange ? (t21 = (event_1) => {
339
- if (event_1.key === "ArrowDown") {
340
- if (event_1.preventDefault(), !filteredOptionsLen)
341
- return;
342
- const activeOption = filteredOptions.find((o_0) => o_0.value === activeValue), activeIndex = activeOption ? filteredOptions.indexOf(activeOption) : -1, nextActiveOption = filteredOptions[(activeIndex + 1) % filteredOptionsLen];
343
- nextActiveOption && dispatch({
344
- type: "root/setActiveValue",
345
- value: nextActiveOption.value,
346
- listFocused: !0
347
- });
348
- return;
349
- }
350
- if (event_1.key === "ArrowUp") {
351
- if (event_1.preventDefault(), !filteredOptionsLen)
352
- return;
353
- const activeOption_0 = filteredOptions.find((o_1) => o_1.value === activeValue), activeIndex_0 = activeOption_0 ? filteredOptions.indexOf(activeOption_0) : -1, nextActiveOption_0 = filteredOptions[activeIndex_0 === -1 ? filteredOptionsLen - 1 : (filteredOptionsLen + activeIndex_0 - 1) % filteredOptionsLen];
354
- nextActiveOption_0 && dispatch({
355
- type: "root/setActiveValue",
356
- value: nextActiveOption_0.value,
357
- listFocused: !0
358
- });
359
- return;
360
- }
361
- if (event_1.key === "Escape") {
362
- dispatch({
363
- type: "root/escape"
364
- }), popoverMouseWithinRef.current = !1, onQueryChange && onQueryChange(null), inputElementRef.current?.focus();
365
- return;
366
- }
367
- const target = event_1.target, listEl = listBoxElementRef.current;
368
- if ((listEl === target || listEl?.contains(target)) && !AUTOCOMPLETE_LISTBOX_IGNORE_KEYS.includes(event_1.key)) {
369
- inputElementRef.current?.focus();
370
- return;
371
- }
372
- }, $[62] = activeValue, $[63] = filteredOptions, $[64] = filteredOptionsLen, $[65] = onQueryChange, $[66] = t21) : t21 = $[66];
373
- const handleRootKeyDown = t21;
374
- let t22;
375
- $[67] !== onQueryChange ? (t22 = (event_2) => {
376
- const nextQuery = event_2.currentTarget.value;
377
- dispatch({
378
- type: "input/change",
379
- query: nextQuery
380
- }), onQueryChange && onQueryChange(nextQuery);
381
- }, $[67] = onQueryChange, $[68] = t22) : t22 = $[68];
382
- const handleInputChange = t22;
383
- let t23;
384
- $[69] !== currentOption || $[70] !== renderValue || $[71] !== value ? (t23 = () => {
385
- dispatch({
386
- type: "root/open",
387
- query: value ? renderValue(value, currentOption) : ""
388
- });
389
- }, $[69] = currentOption, $[70] = renderValue, $[71] = value, $[72] = t23) : t23 = $[72];
390
- const dispatchOpen = t23;
391
- let t24;
392
- $[73] !== dispatchOpen || $[74] !== focused || $[75] !== onFocus || $[76] !== openOnFocus ? (t24 = (event_3) => {
393
- focused || (dispatch({
394
- type: "input/focus"
395
- }), onFocus && onFocus(event_3), openOnFocus && dispatchOpen());
396
- }, $[73] = dispatchOpen, $[74] = focused, $[75] = onFocus, $[76] = openOnFocus, $[77] = t24) : t24 = $[77];
397
- const handleInputFocus = t24;
398
- let t25;
399
- $[78] === Symbol.for("react.memo_cache_sentinel") ? (t25 = () => {
400
- popoverMouseWithinRef.current = !0;
401
- }, $[78] = t25) : t25 = $[78];
402
- const handlePopoverMouseEnter = t25;
403
- let t26;
404
- $[79] === Symbol.for("react.memo_cache_sentinel") ? (t26 = () => {
405
- popoverMouseWithinRef.current = !1;
406
- }, $[79] = t26) : t26 = $[79];
407
- const handlePopoverMouseLeave = t26;
408
- let t27;
409
- $[80] !== onChange || $[81] !== onQueryChange ? (t27 = () => {
410
- dispatch({
411
- type: "root/clear"
412
- }), valueRef.current = "", onChange && onChange(""), onQueryChange && onQueryChange(null), inputElementRef.current?.focus();
413
- }, $[80] = onChange, $[81] = onQueryChange, $[82] = t27) : t27 = $[82];
414
- const handleClearButtonClick = t27;
415
- let t28;
416
- $[83] === Symbol.for("react.memo_cache_sentinel") ? (t28 = () => {
417
- dispatch({
418
- type: "input/focus"
419
- });
420
- }, $[83] = t28) : t28 = $[83];
421
- const handleClearButtonFocus = t28;
422
- let t29, t30;
423
- $[84] !== valueProp ? (t29 = () => {
424
- if (valueProp !== valuePropRef.current) {
425
- valuePropRef.current = valueProp, valueProp !== void 0 && (dispatch({
426
- type: "value/change",
427
- value: valueProp
428
- }), valueRef.current = valueProp);
429
- return;
430
- }
431
- valueProp !== valueRef.current && (valueRef.current = valueProp || null, dispatch({
432
- type: "value/change",
433
- value: valueProp || null
434
- }));
435
- }, t30 = [valueProp], $[84] = valueProp, $[85] = t29, $[86] = t30) : (t29 = $[85], t30 = $[86]), useEffect(t29, t30);
436
- let t31, t32;
437
- $[87] !== focused ? (t31 = () => {
438
- !focused && valueRef.current && dispatch({
439
- type: "root/setActiveValue",
440
- value: valueRef.current
441
- });
442
- }, t32 = [focused], $[87] = focused, $[88] = t31, $[89] = t32) : (t31 = $[88], t32 = $[89]), useEffect(t31, t32);
443
- let t33, t34;
444
- $[90] !== activeValue || $[91] !== filteredOptions ? (t33 = () => {
445
- const listElement = listBoxElementRef.current;
446
- if (!listElement)
447
- return;
448
- const activeOption_1 = filteredOptions.find((o_2) => o_2.value === activeValue);
449
- if (activeOption_1) {
450
- const activeIndex_1 = filteredOptions.indexOf(activeOption_1), activeItemElement = listElement.childNodes[activeIndex_1];
451
- if (activeItemElement) {
452
- if (_hasFocus(activeItemElement))
453
- return;
454
- focusFirstDescendant(activeItemElement);
455
- }
456
- }
457
- }, t34 = [activeValue, filteredOptions], $[90] = activeValue, $[91] = filteredOptions, $[92] = t33, $[93] = t34) : (t33 = $[92], t34 = $[93]), useEffect(t33, t34);
458
- let t35;
459
- bb0: {
460
- if (!loading && !disabled && value) {
461
- let t362;
462
- $[94] === Symbol.for("react.memo_cache_sentinel") ? (t362 = {
463
- "aria-label": "Clear",
464
- onFocus: handleClearButtonFocus
465
- }, $[94] = t362) : t362 = $[94], t35 = t362;
466
- break bb0;
467
- }
468
- t35 = void 0;
469
- }
470
- const clearButton = t35, openButtonBoxPadding = padding.map(_temp$3), openButtonPadding = padding.map(_temp2$1), openButtonProps = typeof openButton == "object" ? openButton : EMPTY_RECORD;
471
- let t36;
472
- $[95] !== dispatchOpen || $[96] !== openButtonProps ? (t36 = (event_4) => {
473
- dispatchOpen(), openButtonProps.onClick && openButtonProps.onClick(event_4), _raf(() => inputElementRef.current?.focus());
474
- }, $[95] = dispatchOpen, $[96] = openButtonProps, $[97] = t36) : t36 = $[97];
475
- const handleOpenClick = t36;
476
- let t37;
477
- $[98] !== disabled || $[99] !== expanded || $[100] !== fontSize || $[101] !== handleOpenClick || $[102] !== openButton || $[103] !== openButtonBoxPadding || $[104] !== openButtonPadding || $[105] !== openButtonProps || $[106] !== readOnly ? (t37 = !disabled && !readOnly && openButton ? /* @__PURE__ */ jsx(Box, { "aria-hidden": expanded, padding: openButtonBoxPadding, children: /* @__PURE__ */ jsx(Button, { "aria-label": "Open", disabled: expanded, fontSize, icon: ChevronDownIcon, mode: "bleed", padding: openButtonPadding, ...openButtonProps, onClick: handleOpenClick }) }) : void 0, $[98] = disabled, $[99] = expanded, $[100] = fontSize, $[101] = handleOpenClick, $[102] = openButton, $[103] = openButtonBoxPadding, $[104] = openButtonPadding, $[105] = openButtonProps, $[106] = readOnly, $[107] = t37) : t37 = $[107];
478
- const openButtonNode = t37;
479
- let t38;
480
- bb1: {
481
- if (query === null) {
482
- if (value !== null) {
483
- let t392;
484
- $[108] !== currentOption || $[109] !== renderValue || $[110] !== value ? (t392 = renderValue(value, currentOption), $[108] = currentOption, $[109] = renderValue, $[110] = value, $[111] = t392) : t392 = $[111], t38 = t392;
485
- break bb1;
486
- }
487
- t38 = "";
488
- break bb1;
489
- }
490
- t38 = query;
491
- }
492
- const inputValue = t38;
493
- let t39;
494
- $[112] !== listFocused ? (t39 = (event_5) => {
495
- event_5.key === "Tab" && listFocused && inputElementRef.current?.focus();
496
- }, $[112] = listFocused, $[113] = t39) : t39 = $[113];
497
- const handleListBoxKeyDown = t39;
498
- let t40;
499
- bb2: {
500
- if (filteredOptions.length === 0) {
501
- t40 = null;
502
- break bb2;
503
- }
504
- let t412;
505
- if ($[114] !== activeValue || $[115] !== currentOption || $[116] !== filteredOptions || $[117] !== handleOptionSelect || $[118] !== id || $[119] !== listFocused || $[120] !== loading || $[121] !== renderOption) {
506
- let t423;
507
- $[123] !== activeValue || $[124] !== currentOption || $[125] !== handleOptionSelect || $[126] !== id || $[127] !== listFocused || $[128] !== loading || $[129] !== renderOption ? (t423 = (option_0) => {
508
- const active = activeValue !== null ? option_0.value === activeValue : currentOption === option_0;
509
- return /* @__PURE__ */ jsx(AutocompleteOption, { id: `${id}-option-${option_0.value}`, onSelect: handleOptionSelect, selected: active, value: option_0.value, children: cloneElement(renderOption(option_0), {
510
- disabled: loading,
511
- selected: active,
512
- tabIndex: listFocused && active ? 0 : -1
513
- }) }, option_0.value);
514
- }, $[123] = activeValue, $[124] = currentOption, $[125] = handleOptionSelect, $[126] = id, $[127] = listFocused, $[128] = loading, $[129] = renderOption, $[130] = t423) : t423 = $[130], t412 = filteredOptions.map(t423), $[114] = activeValue, $[115] = currentOption, $[116] = filteredOptions, $[117] = handleOptionSelect, $[118] = id, $[119] = listFocused, $[120] = loading, $[121] = renderOption, $[122] = t412;
515
- } else
516
- t412 = $[122];
517
- let t422;
518
- $[131] !== listBoxId || $[132] !== t412 ? (t422 = /* @__PURE__ */ jsx(Stack, { as: "ul", "aria-multiselectable": !1, "data-ui": "AutoComplete__resultsList", id: listBoxId, ref: listBoxElementRef, role: "listbox", space: 1, children: t412 }), $[131] = listBoxId, $[132] = t412, $[133] = t422) : t422 = $[133];
519
- let t432;
520
- $[134] !== handleListBoxKeyDown || $[135] !== listBox || $[136] !== t422 ? (t432 = /* @__PURE__ */ jsx(ListBox, { "data-ui": "AutoComplete__results", onKeyDown: handleListBoxKeyDown, padding: 1, ...listBox, tabIndex: -1, children: t422 }), $[134] = handleListBoxKeyDown, $[135] = listBox, $[136] = t422, $[137] = t432) : t432 = $[137], t40 = t432;
521
- }
522
- const content2 = t40;
523
- let t41;
524
- bb3: {
525
- if (renderPopover) {
526
- const t423 = !expanded;
527
- let t432;
528
- $[138] !== content2 || $[139] !== handlePopoverMouseEnter || $[140] !== handlePopoverMouseLeave || $[141] !== inputElement || $[142] !== renderPopover || $[143] !== t423 ? (t432 = /* @__PURE__ */ jsx(RenderPopover, { content: content2, hidden: t423, inputElement, onMouseEnter: handlePopoverMouseEnter, onMouseLeave: handlePopoverMouseLeave, resultsPopoverElementRef, renderPopover }), $[138] = content2, $[139] = handlePopoverMouseEnter, $[140] = handlePopoverMouseLeave, $[141] = inputElement, $[142] = renderPopover, $[143] = t423, $[144] = t432) : t432 = $[144], t41 = t432;
529
- break bb3;
530
- }
531
- if (filteredOptionsLen === 0) {
532
- t41 = null;
533
- break bb3;
534
- }
535
- let t422;
536
- $[145] !== content2 || $[146] !== expanded || $[147] !== handlePopoverMouseEnter || $[148] !== handlePopoverMouseLeave || $[149] !== inputElement || $[150] !== popover || $[151] !== radius ? (t422 = /* @__PURE__ */ jsx(Popover, { arrow: !1, constrainSize: !0, content: content2, fallbackPlacements: AUTOCOMPLETE_POPOVER_FALLBACK_PLACEMENTS, matchReferenceWidth: !0, onMouseEnter: handlePopoverMouseEnter, onMouseLeave: handlePopoverMouseLeave, open: expanded, overflow: "auto", placement: AUTOCOMPLETE_POPOVER_PLACEMENT, portal: !0, radius, ref: resultsPopoverElementRef, referenceElement: inputElement, ...popover }), $[145] = content2, $[146] = expanded, $[147] = handlePopoverMouseEnter, $[148] = handlePopoverMouseLeave, $[149] = inputElement, $[150] = popover, $[151] = radius, $[152] = t422) : t422 = $[152], t41 = t422;
537
- }
538
- const results = t41, t42 = loading && AnimatedSpinnerIcon, t43 = suffix || openButtonNode;
539
- let t44;
540
- $[153] !== activeItemId || $[154] !== border || $[155] !== clearButton || $[156] !== customValidity || $[157] !== disabled || $[158] !== expanded || $[159] !== fontSize || $[160] !== handleClearButtonClick || $[161] !== handleInputChange || $[162] !== handleInputFocus || $[163] !== icon || $[164] !== id || $[165] !== inputValue || $[166] !== listBoxId || $[167] !== padding || $[168] !== prefix || $[169] !== radius || $[170] !== readOnly || $[171] !== restProps || $[172] !== t42 || $[173] !== t43 ? (t44 = /* @__PURE__ */ jsx(TextInput, { ...restProps, "aria-activedescendant": activeItemId, "aria-autocomplete": "list", "aria-expanded": expanded, "aria-owns": listBoxId, autoCapitalize: "off", autoComplete: "off", autoCorrect: "off", border, clearButton, customValidity, disabled, fontSize, icon, iconRight: t42, id, inputMode: "search", onChange: handleInputChange, onClear: handleClearButtonClick, onFocus: handleInputFocus, padding, prefix, radius, readOnly, ref: setInputElement, role: "combobox", spellCheck: !1, suffix: t43, value: inputValue }), $[153] = activeItemId, $[154] = border, $[155] = clearButton, $[156] = customValidity, $[157] = disabled, $[158] = expanded, $[159] = fontSize, $[160] = handleClearButtonClick, $[161] = handleInputChange, $[162] = handleInputFocus, $[163] = icon, $[164] = id, $[165] = inputValue, $[166] = listBoxId, $[167] = padding, $[168] = prefix, $[169] = radius, $[170] = readOnly, $[171] = restProps, $[172] = t42, $[173] = t43, $[174] = t44) : t44 = $[174];
541
- let t45;
542
- return $[175] !== handleRootBlur || $[176] !== handleRootFocus || $[177] !== handleRootKeyDown || $[178] !== results || $[179] !== t44 ? (t45 = /* @__PURE__ */ jsxs(StyledAutocomplete, { "data-ui": "Autocomplete", onBlur: handleRootBlur, onFocus: handleRootFocus, onKeyDown: handleRootKeyDown, ref: rootElementRef, children: [
543
- t44,
544
- results
545
- ] }), $[175] = handleRootBlur, $[176] = handleRootFocus, $[177] = handleRootKeyDown, $[178] = results, $[179] = t44, $[180] = t45) : t45 = $[180], t45;
546
- });
547
- function RenderPopover({
548
- renderPopover,
549
- content: content2,
550
- hidden,
551
- inputElement,
552
- onMouseEnter,
553
- onMouseLeave,
554
- resultsPopoverElementRef
555
- }) {
556
- return renderPopover({
557
- content: content2,
558
- hidden,
559
- inputElement,
560
- onMouseEnter,
561
- onMouseLeave
562
- }, resultsPopoverElementRef);
563
- }
564
- InnerAutocomplete.displayName = "ForwardRef(Autocomplete)";
565
- const Autocomplete = InnerAutocomplete;
566
- function _temp$3(v_0) {
567
- return v_0 === 0 ? 0 : v_0 === 1 || v_0 === 2 ? 1 : v_0 - 2;
568
- }
569
- function _temp2$1(v_1) {
570
- return Math.max(v_1 - 1, 0);
571
- }
572
- const StyledBreadcrumbs = styled.ol.withConfig({
573
- displayName: "StyledBreadcrumbs",
574
- componentId: "sc-1es8h8q-0"
575
- })`margin:0;padding:0;display:flex;list-style:none;align-items:center;white-space:nowrap;line-height:0;`, ExpandButton = styled(Button).withConfig({
576
- displayName: "ExpandButton",
577
- componentId: "sc-1es8h8q-1"
578
- })`appearance:none;margin:-4px;`, Breadcrumbs = forwardRef(function(props, ref) {
579
- const $ = c(29);
580
- let children, maxLength, restProps, separator, t0;
581
- $[0] !== props ? ({
582
- children,
583
- maxLength,
584
- separator,
585
- space: t0,
586
- ...restProps
587
- } = props, $[0] = props, $[1] = children, $[2] = maxLength, $[3] = restProps, $[4] = separator, $[5] = t0) : (children = $[1], maxLength = $[2], restProps = $[3], separator = $[4], t0 = $[5]);
588
- const spaceRaw = t0 === void 0 ? 2 : t0;
589
- let t1;
590
- $[6] !== spaceRaw ? (t1 = _getArrayProp(spaceRaw), $[6] = spaceRaw, $[7] = t1) : t1 = $[7];
591
- const space = t1, [open, setOpen] = useState(!1), expandElementRef = useRef(null), popoverElementRef = useRef(null);
592
- let t2;
593
- $[8] === Symbol.for("react.memo_cache_sentinel") ? (t2 = () => setOpen(!1), $[8] = t2) : t2 = $[8];
594
- const collapse = t2;
595
- let t3;
596
- $[9] === Symbol.for("react.memo_cache_sentinel") ? (t3 = () => setOpen(!0), $[9] = t3) : t3 = $[9];
597
- const expand = t3;
598
- let t4;
599
- $[10] === Symbol.for("react.memo_cache_sentinel") ? (t4 = () => [expandElementRef.current, popoverElementRef.current], $[10] = t4) : t4 = $[10], useClickOutsideEvent(collapse, t4);
600
- let t5;
601
- $[11] !== children ? (t5 = Children.toArray(children).filter(isValidElement), $[11] = children, $[12] = t5) : t5 = $[12];
602
- const rawItems = t5;
603
- let t6;
604
- $[13] !== maxLength || $[14] !== open || $[15] !== rawItems || $[16] !== space ? (t6 = {
605
- collapse,
606
- expand,
607
- expandElementRef,
608
- maxLength,
609
- open,
610
- popoverElementRef,
611
- rawItems,
612
- space
613
- }, $[13] = maxLength, $[14] = open, $[15] = rawItems, $[16] = space, $[17] = t6) : t6 = $[17];
614
- const items = useItems(t6);
615
- let t7;
616
- if ($[18] !== items || $[19] !== separator || $[20] !== space) {
617
- let t82;
618
- $[22] !== separator || $[23] !== space ? (t82 = (item, itemIndex) => /* @__PURE__ */ jsxs(Fragment, { children: [
619
- itemIndex > 0 && /* @__PURE__ */ jsx(Box, { "aria-hidden": !0, as: "li", paddingX: space, children: separator || /* @__PURE__ */ jsx(Text, { muted: !0, children: "/" }) }),
620
- /* @__PURE__ */ jsx(Box, { as: "li", children: item })
621
- ] }, itemIndex), $[22] = separator, $[23] = space, $[24] = t82) : t82 = $[24], t7 = items.map(t82), $[18] = items, $[19] = separator, $[20] = space, $[21] = t7;
622
- } else
623
- t7 = $[21];
624
- let t8;
625
- return $[25] !== ref || $[26] !== restProps || $[27] !== t7 ? (t8 = /* @__PURE__ */ jsx(StyledBreadcrumbs, { "data-ui": "Breadcrumbs", ...restProps, ref, children: t7 }), $[25] = ref, $[26] = restProps, $[27] = t7, $[28] = t8) : t8 = $[28], t8;
626
- });
627
- Breadcrumbs.displayName = "ForwardRef(Breadcrumbs)";
628
- function useItems(t0) {
629
- const $ = c(28), {
630
- collapse,
631
- expand,
632
- expandElementRef,
633
- maxLength,
634
- open,
635
- popoverElementRef,
636
- rawItems,
637
- space
638
- } = t0, len = rawItems.length;
639
- if (maxLength && len > maxLength) {
640
- const beforeLength = Math.ceil(maxLength / 2), afterLength = Math.floor(maxLength / 2);
641
- let t1;
642
- if ($[0] !== afterLength || $[1] !== beforeLength || $[2] !== collapse || $[3] !== expand || $[4] !== expandElementRef || $[5] !== len || $[6] !== open || $[7] !== popoverElementRef || $[8] !== rawItems || $[9] !== space) {
643
- const t2 = rawItems.slice(0, beforeLength - 1);
644
- let t3;
645
- $[11] !== afterLength || $[12] !== beforeLength || $[13] !== len || $[14] !== rawItems ? (t3 = rawItems.slice(beforeLength - 1, len - afterLength), $[11] = afterLength, $[12] = beforeLength, $[13] = len, $[14] = rawItems, $[15] = t3) : t3 = $[15];
646
- let t4;
647
- $[16] !== space || $[17] !== t3 ? (t4 = /* @__PURE__ */ jsx(Stack, { as: "ol", overflow: "auto", padding: space, space, children: t3 }), $[16] = space, $[17] = t3, $[18] = t4) : t4 = $[18];
648
- const t5 = open ? collapse : expand;
649
- let t6;
650
- $[19] !== expandElementRef || $[20] !== open || $[21] !== t5 ? (t6 = /* @__PURE__ */ jsx(ExpandButton, { fontSize: 1, mode: "bleed", onClick: t5, padding: 1, ref: expandElementRef, selected: open, text: "\u2026" }), $[19] = expandElementRef, $[20] = open, $[21] = t5, $[22] = t6) : t6 = $[22];
651
- let t7;
652
- $[23] !== open || $[24] !== popoverElementRef || $[25] !== t4 || $[26] !== t6 ? (t7 = /* @__PURE__ */ jsx(Popover, { constrainSize: !0, content: t4, open, placement: "top", portal: !0, ref: popoverElementRef, children: t6 }, "button"), $[23] = open, $[24] = popoverElementRef, $[25] = t4, $[26] = t6, $[27] = t7) : t7 = $[27], t1 = [...t2, t7, ...rawItems.slice(len - afterLength)], $[0] = afterLength, $[1] = beforeLength, $[2] = collapse, $[3] = expand, $[4] = expandElementRef, $[5] = len, $[6] = open, $[7] = popoverElementRef, $[8] = rawItems, $[9] = space, $[10] = t1;
653
- } else
654
- t1 = $[10];
655
- return t1;
656
- }
657
- return rawItems;
658
- }
659
- function dialogStyle({
660
- theme
661
- }) {
662
- const {
663
- color
664
- } = getTheme_v2(theme);
665
- return {
666
- "&:not([hidden])": {
667
- display: "flex"
668
- },
669
- top: 0,
670
- left: 0,
671
- right: 0,
672
- bottom: 0,
673
- alignItems: "center",
674
- justifyContent: "center",
675
- outline: "none",
676
- background: color.backdrop
677
- };
678
- }
679
- function responsiveDialogPositionStyle(props) {
680
- const {
681
- media
682
- } = getTheme_v2(props.theme);
683
- return _responsive(media, props.$position, (position) => ({
684
- "&&": {
685
- position
686
- }
687
- }));
688
- }
689
- function animationDialogStyle(props) {
690
- return props.$animate ? css`
691
- @keyframes zoomIn {
692
- from {
693
- opacity: 0;
694
- transform: scale(0.95);
695
- }
696
- to {
697
- opacity: 1;
698
- transform: scale(1);
699
- }
700
- }
701
- @keyframes fadeIn {
702
- from {
703
- opacity: 0;
704
- }
705
- to {
706
- opacity: 1;
707
- }
708
- }
709
-
710
- animation: fadeIn 200ms ease-out;
711
- // Animates the dialog card.
712
- & > [data-ui='DialogCard'] {
713
- animation: zoomIn 200ms ease-out;
714
- }
715
- ` : css``;
716
- }
717
- const DialogContext = createGlobalScopedContext("@sanity/ui/context/dialog", {
718
- version: 0
719
- });
720
- function useDialog() {
721
- return useContext(DialogContext);
722
- }
723
- function isTargetWithinScope(boundaryElement, portalElement, target) {
724
- return !boundaryElement || !portalElement ? !0 : containsOrEqualsElement(boundaryElement, target) || containsOrEqualsElement(portalElement, target);
725
- }
726
- const StyledDialog = /* @__PURE__ */ styled(Layer).withConfig({
727
- displayName: "StyledDialog",
728
- componentId: "sc-4n4xb3-0"
729
- })(responsivePaddingStyle, dialogStyle, responsiveDialogPositionStyle, animationDialogStyle), DialogContainer = styled(Container).withConfig({
730
- displayName: "DialogContainer",
731
- componentId: "sc-4n4xb3-1"
732
- })`&:not([hidden]){display:flex;}width:100%;height:100%;flex-direction:column;align-items:center;justify-content:center;`, DialogCardRoot = styled(Card).withConfig({
733
- displayName: "DialogCardRoot",
734
- componentId: "sc-4n4xb3-2"
735
- })`&:not([hidden]){display:flex;}width:100%;min-height:0;max-height:100%;overflow:hidden;overflow:clip;`, DialogLayout = styled(Flex).withConfig({
736
- displayName: "DialogLayout",
737
- componentId: "sc-4n4xb3-3"
738
- })`flex:1;min-height:0;width:100%;`, DialogHeader = styled(Box).withConfig({
739
- displayName: "DialogHeader",
740
- componentId: "sc-4n4xb3-4"
741
- })`position:relative;z-index:2;`, DialogContent = styled(Box).withConfig({
742
- displayName: "DialogContent",
743
- componentId: "sc-4n4xb3-5"
744
- })`position:relative;z-index:1;overflow:auto;outline:none;`, DialogFooter = styled(Box).withConfig({
745
- displayName: "DialogFooter",
746
- componentId: "sc-4n4xb3-6"
747
- })`position:relative;z-index:3;`, DialogCard = forwardRef(function(props, forwardedRef) {
748
- const $ = c(44), {
749
- __unstable_autoFocus: autoFocus,
750
- __unstable_hideCloseButton: hideCloseButton,
751
- children,
752
- contentRef: forwardedContentRef,
753
- footer,
754
- header,
755
- id,
756
- onClickOutside,
757
- onClose,
758
- portal: portalProp,
759
- radius: radiusProp,
760
- scheme,
761
- shadow: shadowProp,
762
- width: widthProp
763
- } = props, portal = usePortal(), portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element, boundaryElement = useBoundaryElement().element;
764
- let t0;
765
- $[0] !== radiusProp ? (t0 = _getArrayProp(radiusProp), $[0] = radiusProp, $[1] = t0) : t0 = $[1];
766
- const radius = t0;
767
- let t1;
768
- $[2] !== shadowProp ? (t1 = _getArrayProp(shadowProp), $[2] = shadowProp, $[3] = t1) : t1 = $[3];
769
- const shadow = t1;
770
- let t2;
771
- $[4] !== widthProp ? (t2 = _getArrayProp(widthProp), $[4] = widthProp, $[5] = t2) : t2 = $[5];
772
- const width = t2, ref = useRef(null), contentRef = useRef(null), layer = useLayer(), {
773
- isTopLayer
774
- } = layer, labelId = `${id}_label`, showCloseButton = !!onClose && hideCloseButton === !1, showHeader = !!header || showCloseButton;
775
- let t3;
776
- $[6] === Symbol.for("react.memo_cache_sentinel") ? (t3 = () => ref.current, $[6] = t3) : t3 = $[6], useImperativeHandle(forwardedRef, t3);
777
- let t4;
778
- $[7] === Symbol.for("react.memo_cache_sentinel") ? (t4 = () => contentRef.current, $[7] = t4) : t4 = $[7], useImperativeHandle(forwardedContentRef, t4);
779
- let t5, t6;
780
- $[8] !== autoFocus ? (t5 = () => {
781
- autoFocus && ref.current && focusFirstDescendant(ref.current);
782
- }, t6 = [autoFocus, ref], $[8] = autoFocus, $[9] = t5, $[10] = t6) : (t5 = $[9], t6 = $[10]), useEffect(t5, t6);
783
- let t7;
784
- $[11] !== boundaryElement || $[12] !== isTopLayer || $[13] !== onClose || $[14] !== portalElement ? (t7 = (event) => {
785
- if (!isTopLayer || !onClose)
786
- return;
787
- const target = document.activeElement;
788
- target && !isTargetWithinScope(boundaryElement, portalElement, target) || event.key === "Escape" && (event.preventDefault(), event.stopPropagation(), onClose());
789
- }, $[11] = boundaryElement, $[12] = isTopLayer, $[13] = onClose, $[14] = portalElement, $[15] = t7) : t7 = $[15], useGlobalKeyDown(t7);
790
- let t8;
791
- $[16] !== boundaryElement || $[17] !== isTopLayer || $[18] !== onClickOutside || $[19] !== portalElement ? (t8 = isTopLayer && onClickOutside && ((event_0) => {
792
- const target_0 = event_0.target;
793
- target_0 && !isTargetWithinScope(boundaryElement, portalElement, target_0) || onClickOutside();
794
- }), $[16] = boundaryElement, $[17] = isTopLayer, $[18] = onClickOutside, $[19] = portalElement, $[20] = t8) : t8 = $[20];
795
- let t9;
796
- $[21] === Symbol.for("react.memo_cache_sentinel") ? (t9 = () => [ref.current], $[21] = t9) : t9 = $[21], useClickOutsideEvent(t8, t9);
797
- let t10;
798
- $[22] !== header || $[23] !== labelId || $[24] !== onClose || $[25] !== showCloseButton || $[26] !== showHeader ? (t10 = showHeader && /* @__PURE__ */ jsx(DialogHeader, { children: /* @__PURE__ */ jsxs(Flex, { align: "flex-start", padding: 3, children: [
799
- /* @__PURE__ */ jsx(Box, { flex: 1, padding: 2, children: header && /* @__PURE__ */ jsx(Text, { id: labelId, size: 1, weight: "semibold", children: header }) }),
800
- showCloseButton && /* @__PURE__ */ jsx(Box, { flex: "none", children: /* @__PURE__ */ jsx(Button, { "aria-label": "Close dialog", disabled: !onClose, icon: CloseIcon, mode: "bleed", onClick: onClose, padding: 2 }) })
801
- ] }) }), $[22] = header, $[23] = labelId, $[24] = onClose, $[25] = showCloseButton, $[26] = showHeader, $[27] = t10) : t10 = $[27];
802
- let t11;
803
- $[28] !== children ? (t11 = /* @__PURE__ */ jsx(DialogContent, { flex: 1, ref: contentRef, tabIndex: -1, children }), $[28] = children, $[29] = t11) : t11 = $[29];
804
- let t12;
805
- $[30] !== footer ? (t12 = footer && /* @__PURE__ */ jsx(DialogFooter, { children: footer }), $[30] = footer, $[31] = t12) : t12 = $[31];
806
- let t13;
807
- $[32] !== t10 || $[33] !== t11 || $[34] !== t12 ? (t13 = /* @__PURE__ */ jsxs(DialogLayout, { direction: "column", children: [
808
- t10,
809
- t11,
810
- t12
811
- ] }), $[32] = t10, $[33] = t11, $[34] = t12, $[35] = t13) : t13 = $[35];
812
- let t14;
813
- $[36] !== radius || $[37] !== scheme || $[38] !== shadow || $[39] !== t13 ? (t14 = /* @__PURE__ */ jsx(DialogCardRoot, { radius, ref, scheme, shadow, children: t13 }), $[36] = radius, $[37] = scheme, $[38] = shadow, $[39] = t13, $[40] = t14) : t14 = $[40];
814
- let t15;
815
- return $[41] !== t14 || $[42] !== width ? (t15 = /* @__PURE__ */ jsx(DialogContainer, { "data-ui": "DialogCard", width, children: t14 }), $[41] = t14, $[42] = width, $[43] = t15) : t15 = $[43], t15;
816
- });
817
- DialogCard.displayName = "ForwardRef(DialogCard)";
818
- const Dialog = forwardRef(function(props, ref) {
819
- const $ = c(70), dialog = useDialog(), {
820
- layer
821
- } = useTheme_v2();
822
- let _positionProp, _zOffsetProp, children, contentRef, footer, header, id, onActivate, onClickOutside, onClose, onFocus, portalProp, restProps, scheme, t0, t1, t2, t3, t4, t5, t6;
823
- $[0] !== props ? ({
824
- __unstable_autoFocus: t0,
825
- __unstable_hideCloseButton: t1,
826
- cardRadius: t2,
827
- cardShadow: t3,
828
- children,
829
- contentRef,
830
- footer,
831
- header,
832
- id,
833
- onActivate,
834
- onClickOutside,
835
- onClose,
836
- onFocus,
837
- padding: t4,
838
- portal: portalProp,
839
- position: _positionProp,
840
- scheme,
841
- width: t5,
842
- zOffset: _zOffsetProp,
843
- animate: t6,
844
- ...restProps
845
- } = props, $[0] = props, $[1] = _positionProp, $[2] = _zOffsetProp, $[3] = children, $[4] = contentRef, $[5] = footer, $[6] = header, $[7] = id, $[8] = onActivate, $[9] = onClickOutside, $[10] = onClose, $[11] = onFocus, $[12] = portalProp, $[13] = restProps, $[14] = scheme, $[15] = t0, $[16] = t1, $[17] = t2, $[18] = t3, $[19] = t4, $[20] = t5, $[21] = t6) : (_positionProp = $[1], _zOffsetProp = $[2], children = $[3], contentRef = $[4], footer = $[5], header = $[6], id = $[7], onActivate = $[8], onClickOutside = $[9], onClose = $[10], onFocus = $[11], portalProp = $[12], restProps = $[13], scheme = $[14], t0 = $[15], t1 = $[16], t2 = $[17], t3 = $[18], t4 = $[19], t5 = $[20], t6 = $[21]);
846
- const autoFocus = t0 === void 0 ? !0 : t0, hideCloseButton = t1 === void 0 ? !1 : t1, cardRadiusProp = t2 === void 0 ? 4 : t2, cardShadow = t3 === void 0 ? 3 : t3, paddingProp = t4 === void 0 ? 3 : t4, widthProp = t5 === void 0 ? 0 : t5, _animate = t6 === void 0 ? !1 : t6, positionProp = _positionProp ?? (dialog.position || "fixed"), zOffsetProp = _zOffsetProp ?? (dialog.zOffset || layer.dialog.zOffset), animate = usePrefersReducedMotion() ? !1 : _animate, portal = usePortal(), portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element, boundaryElement = useBoundaryElement().element;
847
- let t7;
848
- $[22] !== cardRadiusProp ? (t7 = _getArrayProp(cardRadiusProp), $[22] = cardRadiusProp, $[23] = t7) : t7 = $[23];
849
- const cardRadius = t7;
850
- let t8;
851
- $[24] !== paddingProp ? (t8 = _getArrayProp(paddingProp), $[24] = paddingProp, $[25] = t8) : t8 = $[25];
852
- const padding = t8;
853
- let t9;
854
- $[26] !== positionProp ? (t9 = _getArrayProp(positionProp), $[26] = positionProp, $[27] = t9) : t9 = $[27];
855
- const position = t9;
856
- let t10;
857
- $[28] !== widthProp ? (t10 = _getArrayProp(widthProp), $[28] = widthProp, $[29] = t10) : t10 = $[29];
858
- const width = t10;
859
- let t11;
860
- $[30] !== zOffsetProp ? (t11 = _getArrayProp(zOffsetProp), $[30] = zOffsetProp, $[31] = t11) : t11 = $[31];
861
- const zOffset = t11, preDivRef = useRef(null), postDivRef = useRef(null), cardRef = useRef(null), focusedElementRef = useRef(null);
862
- let t12;
863
- $[32] !== onFocus ? (t12 = (event) => {
864
- onFocus?.(event);
865
- const target = event.target, cardElement = cardRef.current;
866
- if (cardElement && target === preDivRef.current) {
867
- focusLastDescendant(cardElement);
868
- return;
869
- }
870
- if (cardElement && target === postDivRef.current) {
871
- focusFirstDescendant(cardElement);
872
- return;
873
- }
874
- isHTMLElement(event.target) && (focusedElementRef.current = event.target);
875
- }, $[32] = onFocus, $[33] = t12) : t12 = $[33];
876
- const handleFocus = t12, labelId = `${id}_label`, rootClickTimeoutRef = useRef(void 0);
877
- let t13;
878
- $[34] !== boundaryElement || $[35] !== portalElement ? (t13 = () => {
879
- rootClickTimeoutRef.current && clearTimeout(rootClickTimeoutRef.current), rootClickTimeoutRef.current = setTimeout(() => {
880
- const activeElement = document.activeElement;
881
- if (activeElement && !isTargetWithinScope(boundaryElement, portalElement, activeElement)) {
882
- const target_0 = focusedElementRef.current;
883
- if (!target_0 || !document.body.contains(target_0)) {
884
- const cardElement_0 = cardRef.current;
885
- cardElement_0 && focusFirstDescendant(cardElement_0);
886
- return;
887
- }
888
- target_0.focus();
889
- }
890
- }, 0);
891
- }, $[34] = boundaryElement, $[35] = portalElement, $[36] = t13) : t13 = $[36];
892
- const handleRootClick = t13;
893
- let t14;
894
- $[37] === Symbol.for("react.memo_cache_sentinel") ? (t14 = /* @__PURE__ */ jsx("div", { ref: preDivRef, tabIndex: 0 }), $[37] = t14) : t14 = $[37];
895
- let t15;
896
- $[38] !== autoFocus || $[39] !== cardRadius || $[40] !== cardShadow || $[41] !== children || $[42] !== contentRef || $[43] !== footer || $[44] !== header || $[45] !== hideCloseButton || $[46] !== id || $[47] !== onClickOutside || $[48] !== onClose || $[49] !== portalProp || $[50] !== scheme || $[51] !== width ? (t15 = /* @__PURE__ */ jsx(DialogCard, { __unstable_autoFocus: autoFocus, __unstable_hideCloseButton: hideCloseButton, contentRef, footer, header, id, onClickOutside, onClose, portal: portalProp, radius: cardRadius, ref: cardRef, scheme, shadow: cardShadow, width, children }), $[38] = autoFocus, $[39] = cardRadius, $[40] = cardShadow, $[41] = children, $[42] = contentRef, $[43] = footer, $[44] = header, $[45] = hideCloseButton, $[46] = id, $[47] = onClickOutside, $[48] = onClose, $[49] = portalProp, $[50] = scheme, $[51] = width, $[52] = t15) : t15 = $[52];
897
- let t16;
898
- $[53] === Symbol.for("react.memo_cache_sentinel") ? (t16 = /* @__PURE__ */ jsx("div", { ref: postDivRef, tabIndex: 0 }), $[53] = t16) : t16 = $[53];
899
- let t17;
900
- $[54] !== animate || $[55] !== handleFocus || $[56] !== handleRootClick || $[57] !== id || $[58] !== labelId || $[59] !== onActivate || $[60] !== padding || $[61] !== position || $[62] !== ref || $[63] !== restProps || $[64] !== t15 || $[65] !== zOffset ? (t17 = /* @__PURE__ */ jsxs(StyledDialog, { ...restProps, $animate: animate, $padding: padding, $position: position, "aria-labelledby": labelId, "aria-modal": !0, "data-ui": "Dialog", id, onActivate, onClick: handleRootClick, onFocus: handleFocus, ref, role: "dialog", zOffset, children: [
901
- t14,
902
- t15,
903
- t16
904
- ] }), $[54] = animate, $[55] = handleFocus, $[56] = handleRootClick, $[57] = id, $[58] = labelId, $[59] = onActivate, $[60] = padding, $[61] = position, $[62] = ref, $[63] = restProps, $[64] = t15, $[65] = zOffset, $[66] = t17) : t17 = $[66];
905
- let t18;
906
- return $[67] !== portalProp || $[68] !== t17 ? (t18 = /* @__PURE__ */ jsx(Portal, { __unstable_name: portalProp, children: t17 }), $[67] = portalProp, $[68] = t17, $[69] = t18) : t18 = $[69], t18;
907
- });
908
- Dialog.displayName = "ForwardRef(Dialog)";
909
- function DialogProvider(props) {
910
- const $ = c(6), {
911
- children,
912
- position,
913
- zOffset
914
- } = props;
915
- let t0;
916
- $[0] !== position || $[1] !== zOffset ? (t0 = {
917
- version: 0,
918
- position,
919
- zOffset
920
- }, $[0] = position, $[1] = zOffset, $[2] = t0) : t0 = $[2];
921
- const contextValue = t0;
922
- let t1;
923
- return $[3] !== children || $[4] !== contextValue ? (t1 = /* @__PURE__ */ jsx(DialogContext.Provider, { value: contextValue, children }), $[3] = children, $[4] = contextValue, $[5] = t1) : t1 = $[5], t1;
924
- }
925
- DialogProvider.displayName = "DialogProvider";
926
- const MenuButton = forwardRef(function(props, forwardedRef) {
927
- const $ = c(62), {
928
- __unstable_disableRestoreFocusOnClose: t0,
929
- boundaryElement: deprecated_boundaryElement,
930
- button: buttonProp,
931
- id,
932
- menu: menuProp,
933
- onClose,
934
- onOpen,
935
- placement: deprecated_placement,
936
- popoverScheme: deprecated_popoverScheme,
937
- portal: t1,
938
- popover,
939
- popoverRadius: deprecated_popoverRadius,
940
- preventOverflow: deprecated_preventOverflow
941
- } = props, disableRestoreFocusOnClose = t0 === void 0 ? !1 : t0, deprecated_portal = t1 === void 0 ? !0 : t1, [open, setOpen] = useState(!1), [shouldFocus, setShouldFocus] = useState(null), [buttonElement, setButtonElement] = useState(null);
942
- let t2;
943
- $[0] === Symbol.for("react.memo_cache_sentinel") ? (t2 = [], $[0] = t2) : t2 = $[0];
944
- const [menuElements, setChildMenuElements] = useState(t2), openRef = useRef(open);
945
- let t3, t4;
946
- $[1] !== onOpen || $[2] !== open ? (t3 = () => {
947
- onOpen && open && !openRef.current && onOpen();
948
- }, t4 = [onOpen, open], $[1] = onOpen, $[2] = open, $[3] = t3, $[4] = t4) : (t3 = $[3], t4 = $[4]), useEffect(t3, t4);
949
- let t5, t6;
950
- $[5] !== onClose || $[6] !== open ? (t5 = () => {
951
- onClose && !open && openRef.current && onClose();
952
- }, t6 = [onClose, open], $[5] = onClose, $[6] = open, $[7] = t5, $[8] = t6) : (t5 = $[7], t6 = $[8]), useEffect(t5, t6);
953
- let t7, t8;
954
- $[9] !== open ? (t7 = () => {
955
- openRef.current = open;
956
- }, t8 = [open], $[9] = open, $[10] = t7, $[11] = t8) : (t7 = $[10], t8 = $[11]), useEffect(t7, t8);
957
- let t9;
958
- $[12] === Symbol.for("react.memo_cache_sentinel") ? (t9 = () => {
959
- setOpen(_temp$2), setShouldFocus(null);
960
- }, $[12] = t9) : t9 = $[12];
961
- const handleButtonClick = t9;
962
- let t10;
963
- $[13] !== open ? (t10 = (event) => {
964
- open && event.preventDefault();
965
- }, $[13] = open, $[14] = t10) : t10 = $[14];
966
- const handleMouseDown = t10;
967
- let t11;
968
- $[15] === Symbol.for("react.memo_cache_sentinel") ? (t11 = (event_0) => {
969
- if (event_0.key === "ArrowDown" || event_0.key === "Enter" || event_0.key === " ") {
970
- event_0.preventDefault(), setOpen(!0), setShouldFocus("first");
971
- return;
972
- }
973
- if (event_0.key === "ArrowUp") {
974
- event_0.preventDefault(), setOpen(!0), setShouldFocus("last");
975
- return;
976
- }
977
- }, $[15] = t11) : t11 = $[15];
978
- const handleButtonKeyDown = t11;
979
- let t12;
980
- $[16] !== buttonElement || $[17] !== menuElements ? (t12 = (event_1) => {
981
- const target = event_1.target;
982
- if (target instanceof Node && !(buttonElement && (target === buttonElement || buttonElement.contains(target)))) {
983
- for (const el of menuElements)
984
- if (target === el || el.contains(target))
985
- return;
986
- setOpen(!1);
987
- }
988
- }, $[16] = buttonElement, $[17] = menuElements, $[18] = t12) : t12 = $[18];
989
- const handleMenuClickOutside = t12;
990
- let t13;
991
- $[19] !== buttonElement || $[20] !== disableRestoreFocusOnClose ? (t13 = () => {
992
- setOpen(!1), !disableRestoreFocusOnClose && buttonElement && buttonElement.focus();
993
- }, $[19] = buttonElement, $[20] = disableRestoreFocusOnClose, $[21] = t13) : t13 = $[21];
994
- const handleMenuEscape = t13;
995
- let t14;
996
- $[22] !== menuElements ? (t14 = (event_2) => {
997
- const target_0 = event_2.relatedTarget;
998
- if (target_0 instanceof Node) {
999
- for (const el_0 of menuElements)
1000
- if (el_0 === target_0 || el_0.contains(target_0))
1001
- return;
1002
- setOpen(!1);
1003
- }
1004
- }, $[22] = menuElements, $[23] = t14) : t14 = $[23];
1005
- const handleBlur = t14;
1006
- let t15;
1007
- $[24] !== buttonElement || $[25] !== disableRestoreFocusOnClose ? (t15 = () => {
1008
- setOpen(!1), !disableRestoreFocusOnClose && buttonElement && buttonElement.focus();
1009
- }, $[24] = buttonElement, $[25] = disableRestoreFocusOnClose, $[26] = t15) : t15 = $[26];
1010
- const handleItemClick = t15;
1011
- let t16;
1012
- $[27] === Symbol.for("react.memo_cache_sentinel") ? (t16 = (el_1) => (setChildMenuElements((els) => els.concat([el_1])), () => setChildMenuElements((els_0) => els_0.filter((_el) => _el !== el_1))), $[27] = t16) : t16 = $[27];
1013
- const registerElement = t16;
1014
- let t17;
1015
- $[28] !== buttonElement || $[29] !== handleBlur || $[30] !== handleItemClick || $[31] !== handleMenuClickOutside || $[32] !== handleMenuEscape || $[33] !== id || $[34] !== menuProp || $[35] !== shouldFocus ? (t17 = menuProp && cloneElement(menuProp, {
1016
- "aria-labelledby": id,
1017
- onBlurCapture: handleBlur,
1018
- onClickOutside: handleMenuClickOutside,
1019
- onEscape: handleMenuEscape,
1020
- onItemClick: handleItemClick,
1021
- originElement: buttonElement,
1022
- registerElement,
1023
- shouldFocus
1024
- }), $[28] = buttonElement, $[29] = handleBlur, $[30] = handleItemClick, $[31] = handleMenuClickOutside, $[32] = handleMenuEscape, $[33] = id, $[34] = menuProp, $[35] = shouldFocus, $[36] = t17) : t17 = $[36];
1025
- const menu = t17;
1026
- let t18;
1027
- $[37] !== buttonProp || $[38] !== handleMouseDown || $[39] !== id || $[40] !== open ? (t18 = buttonProp && cloneElement(buttonProp, {
1028
- "data-ui": "MenuButton",
1029
- id,
1030
- onClick: handleButtonClick,
1031
- onKeyDown: handleButtonKeyDown,
1032
- onMouseDown: handleMouseDown,
1033
- "aria-haspopup": !0,
1034
- "aria-expanded": open,
1035
- ref: setButtonElement,
1036
- selected: buttonProp.props.selected ?? open
1037
- }), $[37] = buttonProp, $[38] = handleMouseDown, $[39] = id, $[40] = open, $[41] = t18) : t18 = $[41];
1038
- const button = t18;
1039
- let t19, t20;
1040
- $[42] !== buttonElement ? (t19 = () => buttonElement, t20 = [buttonElement], $[42] = buttonElement, $[43] = t19, $[44] = t20) : (t19 = $[43], t20 = $[44]), useImperativeHandle(forwardedRef, t19, t20);
1041
- let t21;
1042
- $[45] !== popover ? (t21 = popover || {}, $[45] = popover, $[46] = t21) : t21 = $[46];
1043
- let t22;
1044
- $[47] !== deprecated_boundaryElement || $[48] !== deprecated_placement || $[49] !== deprecated_popoverRadius || $[50] !== deprecated_popoverScheme || $[51] !== deprecated_portal || $[52] !== deprecated_preventOverflow || $[53] !== t21 ? (t22 = {
1045
- boundaryElement: deprecated_boundaryElement,
1046
- overflow: "auto",
1047
- placement: deprecated_placement,
1048
- portal: deprecated_portal,
1049
- preventOverflow: deprecated_preventOverflow,
1050
- radius: deprecated_popoverRadius,
1051
- scheme: deprecated_popoverScheme,
1052
- ...t21
1053
- }, $[47] = deprecated_boundaryElement, $[48] = deprecated_placement, $[49] = deprecated_popoverRadius, $[50] = deprecated_popoverScheme, $[51] = deprecated_portal, $[52] = deprecated_preventOverflow, $[53] = t21, $[54] = t22) : t22 = $[54];
1054
- const popoverProps = t22;
1055
- let t23;
1056
- $[55] !== button ? (t23 = button || /* @__PURE__ */ jsx(Fragment$1, {}), $[55] = button, $[56] = t23) : t23 = $[56];
1057
- let t24;
1058
- return $[57] !== menu || $[58] !== open || $[59] !== popoverProps || $[60] !== t23 ? (t24 = /* @__PURE__ */ jsx(Popover, { "data-ui": "MenuButton__popover", ...popoverProps, content: menu, open, children: t23 }), $[57] = menu, $[58] = open, $[59] = popoverProps, $[60] = t23, $[61] = t24) : t24 = $[61], t24;
1059
- });
1060
- MenuButton.displayName = "ForwardRef(MenuButton)";
1061
- function _temp$2(v) {
1062
- return !v;
1063
- }
1064
- const keyframe = keyframes`
1065
- 0% {
1066
- background-position: 100%;
1067
- }
1068
- 100% {
1069
- background-position: -100%;
1070
- }
1071
- `, animation = css`
1072
- background-image: linear-gradient(
1073
- to right,
1074
- var(--card-skeleton-color-from),
1075
- var(--card-skeleton-color-to),
1076
- var(--card-skeleton-color-from),
1077
- var(--card-skeleton-color-from),
1078
- var(--card-skeleton-color-from)
1079
- );
1080
- background-position: 100%;
1081
- background-size: 200% 100%;
1082
- background-attachment: fixed;
1083
- animation-name: ${keyframe};
1084
- animation-timing-function: ease-in-out;
1085
- animation-iteration-count: infinite;
1086
- animation-duration: 2000ms;
1087
- `, skeletonStyle = css`
1088
- opacity: ${({
1089
- $visible
1090
- }) => $visible ? 1 : 0};
1091
- transition: opacity 200ms ease-in;
1092
-
1093
- @media screen and (prefers-reduced-motion: no-preference) {
1094
- ${({
1095
- $animated
1096
- }) => $animated ? animation : css`
1097
- background-color: var(--card-skeleton-color-from);
1098
- `}
1099
- }
1100
-
1101
- @media screen and (prefers-reduced-motion: reduce) {
1102
- background-color: var(--card-skeleton-color-from);
1103
- }
1104
- `, StyledSkeleton$1 = /* @__PURE__ */ styled(Box).withConfig({
1105
- displayName: "StyledSkeleton",
1106
- componentId: "sc-ebtpni-0"
1107
- })(responsiveRadiusStyle, skeletonStyle), Skeleton = forwardRef(function(props, ref) {
1108
- const $ = c(16);
1109
- let delay, radius, restProps, t0;
1110
- $[0] !== props ? ({
1111
- animated: t0,
1112
- delay,
1113
- radius,
1114
- ...restProps
1115
- } = props, $[0] = props, $[1] = delay, $[2] = radius, $[3] = restProps, $[4] = t0) : (delay = $[1], radius = $[2], restProps = $[3], t0 = $[4]);
1116
- const animated = t0 === void 0 ? !1 : t0, [visible, setVisible] = useState(!delay);
1117
- let t1, t2;
1118
- $[5] !== delay ? (t1 = () => {
1119
- if (!delay)
1120
- return;
1121
- const timeout = setTimeout(() => {
1122
- setVisible(!0);
1123
- }, delay);
1124
- return () => {
1125
- clearTimeout(timeout);
1126
- };
1127
- }, t2 = [delay], $[5] = delay, $[6] = t1, $[7] = t2) : (t1 = $[6], t2 = $[7]), useEffect(t1, t2);
1128
- let t3;
1129
- $[8] !== radius ? (t3 = _getArrayProp(radius), $[8] = radius, $[9] = t3) : t3 = $[9];
1130
- const t4 = delay ? visible : !0;
1131
- let t5;
1132
- return $[10] !== animated || $[11] !== ref || $[12] !== restProps || $[13] !== t3 || $[14] !== t4 ? (t5 = /* @__PURE__ */ jsx(StyledSkeleton$1, { ...restProps, $animated: animated, $radius: t3, $visible: t4, ref }), $[10] = animated, $[11] = ref, $[12] = restProps, $[13] = t3, $[14] = t4, $[15] = t5) : t5 = $[15], t5;
1133
- });
1134
- Skeleton.displayName = "ForwardRef(Skeleton)";
1135
- const StyledSkeleton = /* @__PURE__ */ styled(Skeleton).withConfig({
1136
- displayName: "StyledSkeleton",
1137
- componentId: "sc-2p7a1v-0"
1138
- })((props) => {
1139
- const {
1140
- $size,
1141
- $style
1142
- } = props, {
1143
- font,
1144
- media
1145
- } = getTheme_v2(props.theme), fontStyle = font[$style];
1146
- return _responsive(media, $size, (sizeIndex) => {
1147
- const fontSize = fontStyle.sizes[sizeIndex];
1148
- return {
1149
- height: fontSize.lineHeight - fontSize.ascenderHeight - fontSize.descenderHeight
1150
- };
1151
- });
1152
- }), TextSkeleton = forwardRef(function(props, ref) {
1153
- const $ = c(9);
1154
- let restProps, t0;
1155
- $[0] !== props ? ({
1156
- size: t0,
1157
- ...restProps
1158
- } = props, $[0] = props, $[1] = restProps, $[2] = t0) : (restProps = $[1], t0 = $[2]);
1159
- const size = t0 === void 0 ? 2 : t0;
1160
- let t1;
1161
- $[3] !== size ? (t1 = _getArrayProp(size), $[3] = size, $[4] = t1) : t1 = $[4];
1162
- const $size = t1;
1163
- let t2;
1164
- return $[5] !== $size || $[6] !== ref || $[7] !== restProps ? (t2 = /* @__PURE__ */ jsx(StyledSkeleton, { ...restProps, $size, ref, $style: "text" }), $[5] = $size, $[6] = ref, $[7] = restProps, $[8] = t2) : t2 = $[8], t2;
1165
- });
1166
- TextSkeleton.displayName = "ForwardRef(TextSkeleton)";
1167
- const LabelSkeleton = forwardRef(function(props, ref) {
1168
- const $ = c(9);
1169
- let restProps, t0;
1170
- $[0] !== props ? ({
1171
- size: t0,
1172
- ...restProps
1173
- } = props, $[0] = props, $[1] = restProps, $[2] = t0) : (restProps = $[1], t0 = $[2]);
1174
- const size = t0 === void 0 ? 2 : t0;
1175
- let t1;
1176
- $[3] !== size ? (t1 = _getArrayProp(size), $[3] = size, $[4] = t1) : t1 = $[4];
1177
- const $size = t1;
1178
- let t2;
1179
- return $[5] !== $size || $[6] !== ref || $[7] !== restProps ? (t2 = /* @__PURE__ */ jsx(StyledSkeleton, { ...restProps, $size, ref, $style: "label" }), $[5] = $size, $[6] = ref, $[7] = restProps, $[8] = t2) : t2 = $[8], t2;
1180
- });
1181
- LabelSkeleton.displayName = "ForwardRef(LabelSkeleton)";
1182
- const HeadingSkeleton = forwardRef(function(props, ref) {
1183
- const $ = c(9);
1184
- let restProps, t0;
1185
- $[0] !== props ? ({
1186
- size: t0,
1187
- ...restProps
1188
- } = props, $[0] = props, $[1] = restProps, $[2] = t0) : (restProps = $[1], t0 = $[2]);
1189
- const size = t0 === void 0 ? 2 : t0;
1190
- let t1;
1191
- $[3] !== size ? (t1 = _getArrayProp(size), $[3] = size, $[4] = t1) : t1 = $[4];
1192
- const $size = t1;
1193
- let t2;
1194
- return $[5] !== $size || $[6] !== ref || $[7] !== restProps ? (t2 = /* @__PURE__ */ jsx(StyledSkeleton, { ...restProps, $size, ref, $style: "heading" }), $[5] = $size, $[6] = ref, $[7] = restProps, $[8] = t2) : t2 = $[8], t2;
1195
- });
1196
- HeadingSkeleton.displayName = "ForwardRef(HeadingSkeleton)";
1197
- const CodeSkeleton = forwardRef(function(props, ref) {
1198
- const $ = c(9);
1199
- let restProps, t0;
1200
- $[0] !== props ? ({
1201
- size: t0,
1202
- ...restProps
1203
- } = props, $[0] = props, $[1] = restProps, $[2] = t0) : (restProps = $[1], t0 = $[2]);
1204
- const size = t0 === void 0 ? 2 : t0;
1205
- let t1;
1206
- $[3] !== size ? (t1 = _getArrayProp(size), $[3] = size, $[4] = t1) : t1 = $[4];
1207
- const $size = t1;
1208
- let t2;
1209
- return $[5] !== $size || $[6] !== ref || $[7] !== restProps ? (t2 = /* @__PURE__ */ jsx(StyledSkeleton, { ...restProps, $size, ref, $style: "code" }), $[5] = $size, $[6] = ref, $[7] = restProps, $[8] = t2) : t2 = $[8], t2;
1210
- });
1211
- CodeSkeleton.displayName = "ForwardRef(CodeSkeleton)";
1212
- const TabPanel = forwardRef(function(props, ref) {
1213
- const $ = c(9);
1214
- let flex, restProps;
1215
- $[0] !== props ? ({
1216
- flex,
1217
- ...restProps
1218
- } = props, $[0] = props, $[1] = flex, $[2] = restProps) : (flex = $[1], restProps = $[2]);
1219
- const t0 = props.tabIndex === void 0 ? 0 : props.tabIndex;
1220
- let t1;
1221
- return $[3] !== flex || $[4] !== props.children || $[5] !== ref || $[6] !== restProps || $[7] !== t0 ? (t1 = /* @__PURE__ */ jsx(Box, { "data-ui": "TabPanel", ...restProps, flex, ref, role: "tabpanel", tabIndex: t0, children: props.children }), $[3] = flex, $[4] = props.children, $[5] = ref, $[6] = restProps, $[7] = t0, $[8] = t1) : t1 = $[8], t1;
1222
- });
1223
- TabPanel.displayName = "ForwardRef(TabPanel)";
1224
- const LOADING_BAR_HEIGHT = 2, STATUS_CARD_TONE = {
1225
- error: "critical",
1226
- warning: "caution",
1227
- success: "positive",
1228
- info: "neutral"
1229
- }, BUTTON_TONE = {
1230
- error: "critical",
1231
- warning: "caution",
1232
- success: "positive",
1233
- info: "neutral"
1234
- }, TextBox = styled(Flex).withConfig({
1235
- displayName: "TextBox",
1236
- componentId: "sc-1rr7rxo-0"
1237
- })`overflow-x:auto;`, StyledToast = styled(Card).withConfig({
1238
- displayName: "StyledToast",
1239
- componentId: "sc-1rr7rxo-1"
1240
- })`pointer-events:all;width:100%;position:relative;overflow:hidden;overflow:clip;&[data-has-duration]{padding-bottom:calc(${LOADING_BAR_HEIGHT}px / 2);}`, LoadingBar = styled.div.withConfig({
1241
- displayName: "LoadingBar",
1242
- componentId: "sc-1rr7rxo-2"
1243
- })`display:flex;position:absolute;bottom:0px;top:0px;left:0px;right:0px;pointer-events:none;z-index:-1;overflow:hidden;overflow:clip;background:transparent;align-items:flex-end;will-change:opacity;`, LoadingBarMask = styled(Card).withConfig({
1244
- displayName: "LoadingBarMask",
1245
- componentId: "sc-1rr7rxo-3"
1246
- })`position:absolute;top:0;left:-${LOADING_BAR_HEIGHT}px;right:-${LOADING_BAR_HEIGHT}px;bottom:${LOADING_BAR_HEIGHT}px;z-index:1;`, LoadingBarProgress = styled(Card).withConfig({
1247
- displayName: "LoadingBarProgress",
1248
- componentId: "sc-1rr7rxo-4"
1249
- })`display:block;height:100%;width:100%;transform-origin:0% 50%;background-color:${(props) => {
1250
- const {
1251
- color
1252
- } = getTheme_v2(props.theme);
1253
- return color.button.default[props.tone].enabled.bg;
1254
- }};`, ROLES = {
1255
- error: "alert",
1256
- warning: "alert",
1257
- success: "alert",
1258
- info: "alert"
1259
- }, LONG_ENOUGH_BUT_NOT_TOO_LONG = 1e3 * 60 * 60 * 24 * 24;
1260
- function Toast(props) {
1261
- const $ = c(50);
1262
- let closable, description, duration, onClose, restProps, status, t0, title, updatedAt;
1263
- $[0] !== props ? ({
1264
- closable,
1265
- description,
1266
- duration,
1267
- onClose,
1268
- radius: t0,
1269
- title,
1270
- status,
1271
- updatedAt,
1272
- ...restProps
1273
- } = props, $[0] = props, $[1] = closable, $[2] = description, $[3] = duration, $[4] = onClose, $[5] = restProps, $[6] = status, $[7] = t0, $[8] = title, $[9] = updatedAt) : (closable = $[1], description = $[2], duration = $[3], onClose = $[4], restProps = $[5], status = $[6], t0 = $[7], title = $[8], updatedAt = $[9]);
1274
- const radius = t0 === void 0 ? 3 : t0, cardTone = status ? STATUS_CARD_TONE[status] : "default", buttonTone = status ? BUTTON_TONE[status] : "default", role = status ? ROLES[status] : "status", visualDuration = usePrefersReducedMotion() ? 0 : 0.26;
1275
- let t1;
1276
- $[10] !== visualDuration ? (t1 = visualDuration ? {
1277
- type: "spring",
1278
- visualDuration,
1279
- bounce: 0.25
1280
- } : {
1281
- duration: 0
1282
- }, $[10] = visualDuration, $[11] = t1) : t1 = $[11];
1283
- const transition = t1, hasDuration = duration && isFinite(duration) && duration < LONG_ENOUGH_BUT_NOT_TOO_LONG;
1284
- let t2;
1285
- $[12] === Symbol.for("react.memo_cache_sentinel") ? (t2 = ["hidden", "initial"], $[12] = t2) : t2 = $[12];
1286
- const initial = t2;
1287
- let t3;
1288
- $[13] === Symbol.for("react.memo_cache_sentinel") ? (t3 = ["visible", "slideIn"], $[13] = t3) : t3 = $[13];
1289
- const animate = t3;
1290
- let t4;
1291
- $[14] === Symbol.for("react.memo_cache_sentinel") ? (t4 = ["hidden", "slideOut"], $[14] = t4) : t4 = $[14];
1292
- const exit = t4, t5 = hasDuration ? "" : void 0;
1293
- let t6;
1294
- $[15] !== title ? (t6 = title && /* @__PURE__ */ jsx(Text, { size: 1, weight: "medium", children: title }), $[15] = title, $[16] = t6) : t6 = $[16];
1295
- let t7;
1296
- $[17] !== description || $[18] !== transition ? (t7 = description && /* @__PURE__ */ jsx(MotionText, { muted: !0, size: 1, variants: content, transition, children: description }), $[17] = description, $[18] = transition, $[19] = t7) : t7 = $[19];
1297
- let t8;
1298
- $[20] !== t6 || $[21] !== t7 ? (t8 = /* @__PURE__ */ jsx(TextBox, { flex: 1, padding: 3, children: /* @__PURE__ */ jsxs(Stack, { space: 3, children: [
1299
- t6,
1300
- t7
1301
- ] }) }), $[20] = t6, $[21] = t7, $[22] = t8) : t8 = $[22];
1302
- let t9;
1303
- $[23] !== buttonTone || $[24] !== closable || $[25] !== onClose ? (t9 = closable && /* @__PURE__ */ jsx(Box, { padding: 1, children: /* @__PURE__ */ jsx(Button, { as: "button", icon: CloseIcon, mode: "bleed", padding: 2, tone: buttonTone, onClick: onClose, style: {
1304
- verticalAlign: "top"
1305
- } }) }), $[23] = buttonTone, $[24] = closable, $[25] = onClose, $[26] = t9) : t9 = $[26];
1306
- let t10;
1307
- $[27] !== t8 || $[28] !== t9 || $[29] !== transition ? (t10 = /* @__PURE__ */ jsxs(MotionFlex, { align: "flex-start", variants: content, transition, children: [
1308
- t8,
1309
- t9
1310
- ] }), $[27] = t8, $[28] = t9, $[29] = transition, $[30] = t10) : t10 = $[30];
1311
- let t11;
1312
- $[31] !== cardTone || $[32] !== duration || $[33] !== hasDuration || $[34] !== onClose || $[35] !== radius || $[36] !== transition || $[37] !== updatedAt || $[38] !== visualDuration ? (t11 = hasDuration && /* @__PURE__ */ jsxs(MotionLoadingBar, { variants: content, transition, children: [
1313
- /* @__PURE__ */ jsx(LoadingBarMask, { tone: cardTone, radius }),
1314
- /* @__PURE__ */ jsx(MotionLoadingBarProgress, { tone: cardTone, initial: {
1315
- scaleX: 0
1316
- }, animate: {
1317
- scaleX: 1
1318
- }, transition: {
1319
- delay: visualDuration,
1320
- duration: duration / 1e3,
1321
- ease: "linear"
1322
- }, onAnimationComplete: onClose }, `progress-${updatedAt}`)
1323
- ] }), $[31] = cardTone, $[32] = duration, $[33] = hasDuration, $[34] = onClose, $[35] = radius, $[36] = transition, $[37] = updatedAt, $[38] = visualDuration, $[39] = t11) : t11 = $[39];
1324
- let t12;
1325
- return $[40] !== cardTone || $[41] !== radius || $[42] !== restProps || $[43] !== role || $[44] !== t10 || $[45] !== t11 || $[46] !== t5 || $[47] !== transition || $[48] !== visualDuration ? (t12 = /* @__PURE__ */ jsxs(MotionToast, { "data-ui": "Toast", role, ...restProps, "data-has-duration": t5, custom: visualDuration, radius, shadow: 2, tone: cardTone, forwardedAs: "li", layout: "position", variants: container, initial, animate, exit, transition, children: [
1326
- t10,
1327
- t11
1328
- ] }), $[40] = cardTone, $[41] = radius, $[42] = restProps, $[43] = role, $[44] = t10, $[45] = t11, $[46] = t5, $[47] = transition, $[48] = visualDuration, $[49] = t12) : t12 = $[49], t12;
1329
- }
1330
- Toast.displayName = "Toast";
1331
- const container = {
1332
- initial: {
1333
- y: 32,
1334
- scale: 0.5,
1335
- zIndex: 1
1336
- },
1337
- hidden: {
1338
- opacity: 0
1339
- },
1340
- visible: (visualDuration) => visualDuration ? {
1341
- opacity: 1,
1342
- transition: {
1343
- when: "beforeChildren",
1344
- staggerChildren: visualDuration / 3,
1345
- duration: visualDuration / 3
1346
- }
1347
- } : {
1348
- opacity: 1
1349
- },
1350
- slideIn: {
1351
- y: 0,
1352
- scale: 1
1353
- },
1354
- slideOut: {
1355
- zIndex: 0,
1356
- scale: 0.75
1357
- }
1358
- }, content = {
1359
- initial: {
1360
- willChange: "transform"
1361
- },
1362
- hidden: {
1363
- opacity: 0
1364
- },
1365
- visible: {
1366
- opacity: 1
1367
- }
1368
- }, MotionToast = motion.create(StyledToast), MotionFlex = motion.create(Flex), MotionText = motion.create(Text), MotionLoadingBar = motion.create(LoadingBar), MotionLoadingBarProgress = motion.create(LoadingBarProgress);
1369
- function useMounted() {
1370
- return useSyncExternalStore(subscribe, _temp$1, _temp2);
1371
- }
1372
- function _temp2() {
1373
- return !1;
1374
- }
1375
- function _temp$1() {
1376
- return !0;
1377
- }
1378
- const subscribe = () => () => {
1379
- }, ToastContext = createGlobalScopedContext("@sanity/ui/context/toast", null);
1380
- function ToastLayer(props) {
1381
- const $ = c(9), {
1382
- children,
1383
- padding: t0,
1384
- paddingX,
1385
- paddingY,
1386
- gap: t1
1387
- } = props, padding = t0 === void 0 ? 4 : t0, gap = t1 === void 0 ? 3 : t1, {
1388
- zIndex
1389
- } = useLayer();
1390
- let t2;
1391
- $[0] !== zIndex ? (t2 = {
1392
- zIndex
1393
- }, $[0] = zIndex, $[1] = t2) : t2 = $[1];
1394
- let t3;
1395
- return $[2] !== children || $[3] !== gap || $[4] !== padding || $[5] !== paddingX || $[6] !== paddingY || $[7] !== t2 ? (t3 = /* @__PURE__ */ jsx(StyledLayer, { forwardedAs: "ul", "data-ui": "ToastProvider", padding, paddingX, paddingY, gap, columns: 1, style: t2, children }), $[2] = children, $[3] = gap, $[4] = padding, $[5] = paddingX, $[6] = paddingY, $[7] = t2, $[8] = t3) : t3 = $[8], t3;
1396
- }
1397
- ToastLayer.displayName = "ToastLayer";
1398
- const StyledLayer = styled(Grid).withConfig({
1399
- displayName: "StyledLayer",
1400
- componentId: "sc-1tbwn58-0"
1401
- })`box-sizing:border-box;position:fixed;right:0;bottom:0;list-style:none;pointer-events:none;max-width:420px;width:100%;`;
1402
- let toastId = 0;
1403
- function generateToastId() {
1404
- return String(toastId++);
1405
- }
1406
- function ToastProvider(props) {
1407
- const $ = c(13), {
1408
- children,
1409
- padding,
1410
- paddingX,
1411
- paddingY,
1412
- gap,
1413
- zOffset: t0
1414
- } = props, zOffset = t0 === void 0 ? 1 : t0;
1415
- let t1;
1416
- $[0] === Symbol.for("react.memo_cache_sentinel") ? (t1 = [], $[0] = t1) : t1 = $[0];
1417
- const [state, setState] = useState(t1), mounted = useMounted();
1418
- let t2;
1419
- $[1] === Symbol.for("react.memo_cache_sentinel") ? (t2 = {
1420
- version: 0,
1421
- push: (params) => {
1422
- const id = params.id || generateToastId(), duration = params.duration || 5e3;
1423
- return startTransition(() => {
1424
- setState((prevState) => {
1425
- if (duration === 0.01)
1426
- return prevState.filter((toast) => toast.id !== id);
1427
- const dismiss = () => startTransition(() => setState((currentState) => currentState.filter((toast_0) => toast_0.id !== id)));
1428
- return [...prevState.filter((toast_1) => toast_1.id !== id), {
1429
- dismiss,
1430
- id,
1431
- updatedAt: Date.now(),
1432
- params: {
1433
- ...params,
1434
- duration
1435
- }
1436
- }];
1437
- });
1438
- }), id;
1439
- }
1440
- }, $[1] = t2) : t2 = $[1];
1441
- const value = t2;
1442
- let t3;
1443
- $[2] !== gap || $[3] !== mounted || $[4] !== padding || $[5] !== paddingX || $[6] !== paddingY || $[7] !== state || $[8] !== zOffset ? (t3 = mounted && /* @__PURE__ */ jsx(LayerProvider, { zOffset, children: /* @__PURE__ */ jsx(ToastLayer, { padding, paddingX, paddingY, gap, children: /* @__PURE__ */ jsx(AnimatePresence, { initial: !1, mode: "popLayout", children: state.map(_temp) }) }) }), $[2] = gap, $[3] = mounted, $[4] = padding, $[5] = paddingX, $[6] = paddingY, $[7] = state, $[8] = zOffset, $[9] = t3) : t3 = $[9];
1444
- let t4;
1445
- return $[10] !== children || $[11] !== t3 ? (t4 = /* @__PURE__ */ jsxs(ToastContext.Provider, { value, children: [
1446
- children,
1447
- t3
1448
- ] }), $[10] = children, $[11] = t3, $[12] = t4) : t4 = $[12], t4;
1449
- }
1450
- function _temp(t0) {
1451
- const {
1452
- dismiss: dismiss_0,
1453
- id: id_0,
1454
- params: params_0,
1455
- updatedAt
1456
- } = t0;
1457
- return /* @__PURE__ */ jsx(Toast, { closable: params_0.closable, description: params_0.description, onClose: dismiss_0, status: params_0.status, title: params_0.title, duration: params_0.duration, updatedAt }, id_0);
1458
- }
1459
- ToastProvider.displayName = "ToastProvider";
1460
- function useToast() {
1461
- const value = useContext(ToastContext);
1462
- if (!value)
1463
- throw new Error("useToast(): missing context value");
1464
- if (!isRecord(value) || value.version !== 0)
1465
- throw new Error("useToast(): the context value is not compatible");
1466
- return value;
1467
- }
1468
- function _findPrevItemElement(state, itemElements, focusedElement) {
1469
- const idx = itemElements.indexOf(focusedElement), els = itemElements.slice(0, idx), len = els.length;
1470
- for (let i = len - 1; i >= 0; i -= 1) {
1471
- const itemKey = els[i].getAttribute("data-tree-key");
1472
- if (!itemKey)
1473
- continue;
1474
- const segments = itemKey.split("/");
1475
- segments.pop();
1476
- const p = [];
1477
- let expanded = !0;
1478
- for (let j = 0; j < segments.length; j += 1) {
1479
- p.push(segments[j]);
1480
- const k = p.join("/");
1481
- if (!state[k]?.expanded) {
1482
- expanded = !1;
1483
- break;
1484
- }
1485
- }
1486
- if (expanded)
1487
- return els[i];
1488
- }
1489
- return null;
1490
- }
1491
- function _findNextItemElement(state, itemElements, focusedElement) {
1492
- const idx = itemElements.indexOf(focusedElement), els = itemElements.slice(idx), len = itemElements.length;
1493
- for (let i = 1; i < len; i += 1) {
1494
- if (!els[i])
1495
- continue;
1496
- const itemKey = els[i].getAttribute("data-tree-key");
1497
- if (!itemKey)
1498
- continue;
1499
- const segments = itemKey.split("/");
1500
- segments.pop();
1501
- const p = [];
1502
- let expanded = !0;
1503
- for (let j = 0; j < segments.length; j += 1) {
1504
- p.push(segments[j]);
1505
- const k = p.join("/");
1506
- if (!state[k]?.expanded) {
1507
- expanded = !1;
1508
- break;
1509
- }
1510
- }
1511
- if (expanded)
1512
- return els[i];
1513
- }
1514
- return null;
1515
- }
1516
- function _focusItemElement(el) {
1517
- if (el.getAttribute("role") === "treeitem" && el.focus(), el.getAttribute("role") === "none") {
1518
- const firstChild = el.firstChild;
1519
- firstChild && firstChild instanceof HTMLElement && firstChild.focus();
1520
- }
1521
- }
1522
- const TreeContext = createGlobalScopedContext("@sanity/ui/context/tree", null), Tree = forwardRef(function(props, forwardedRef) {
1523
- const $ = c(37);
1524
- let children, onFocus, restProps, t0;
1525
- $[0] !== props ? ({
1526
- children,
1527
- space: t0,
1528
- onFocus,
1529
- ...restProps
1530
- } = props, $[0] = props, $[1] = children, $[2] = onFocus, $[3] = restProps, $[4] = t0) : (children = $[1], onFocus = $[2], restProps = $[3], t0 = $[4]);
1531
- const space = t0 === void 0 ? 1 : t0, ref = useRef(null), [focusedElement, setFocusedElement] = useState(null), focusedElementRef = useRef(focusedElement);
1532
- let t1;
1533
- $[5] === Symbol.for("react.memo_cache_sentinel") ? (t1 = [], $[5] = t1) : t1 = $[5];
1534
- const path = t1;
1535
- let t2;
1536
- $[6] === Symbol.for("react.memo_cache_sentinel") ? (t2 = [], $[6] = t2) : t2 = $[6];
1537
- const [itemElements, setItemElements] = useState(t2);
1538
- let t3;
1539
- $[7] === Symbol.for("react.memo_cache_sentinel") ? (t3 = {}, $[7] = t3) : t3 = $[7];
1540
- const [state, setState] = useState(t3), stateRef = useRef(state);
1541
- let t4;
1542
- $[8] === Symbol.for("react.memo_cache_sentinel") ? (t4 = () => ref.current, $[8] = t4) : t4 = $[8], useImperativeHandle(forwardedRef, t4);
1543
- let t5, t6;
1544
- $[9] !== focusedElement ? (t5 = () => {
1545
- focusedElementRef.current = focusedElement;
1546
- }, t6 = [focusedElement], $[9] = focusedElement, $[10] = t5, $[11] = t6) : (t5 = $[10], t6 = $[11]), useEffect(t5, t6);
1547
- let t7, t8;
1548
- $[12] !== state ? (t7 = () => {
1549
- stateRef.current = state;
1550
- }, t8 = [state], $[12] = state, $[13] = t7, $[14] = t8) : (t7 = $[13], t8 = $[14]), useEffect(t7, t8);
1551
- let t9;
1552
- $[15] === Symbol.for("react.memo_cache_sentinel") ? (t9 = (element, path_0, expanded, selected) => (setState((s) => ({
1553
- ...s,
1554
- [path_0]: {
1555
- element,
1556
- expanded
1557
- }
1558
- })), selected && setFocusedElement(element), () => {
1559
- setState((s_0) => {
1560
- const newState = {
1561
- ...s_0
1562
- };
1563
- return delete newState[path_0], newState;
1564
- });
1565
- }), $[15] = t9) : t9 = $[15];
1566
- const registerItem = t9;
1567
- let t10;
1568
- $[16] === Symbol.for("react.memo_cache_sentinel") ? (t10 = (path_1, expanded_0) => {
1569
- setState((s_1) => {
1570
- const itemState = s_1[path_1];
1571
- return itemState ? {
1572
- ...s_1,
1573
- [path_1]: {
1574
- ...itemState,
1575
- expanded: expanded_0
1576
- }
1577
- } : s_1;
1578
- });
1579
- }, $[16] = t10) : t10 = $[16];
1580
- const setExpanded = t10, t11 = focusedElement || itemElements[0] || null;
1581
- let t12;
1582
- $[17] !== space || $[18] !== state || $[19] !== t11 ? (t12 = {
1583
- version: 0,
1584
- focusedElement: t11,
1585
- level: 0,
1586
- path,
1587
- registerItem,
1588
- setExpanded,
1589
- setFocusedElement,
1590
- space,
1591
- state
1592
- }, $[17] = space, $[18] = state, $[19] = t11, $[20] = t12) : t12 = $[20];
1593
- const contextValue = t12;
1594
- let t13;
1595
- $[21] !== itemElements ? (t13 = (event) => {
1596
- if (focusedElementRef.current) {
1597
- if (event.key === "ArrowDown") {
1598
- event.preventDefault();
1599
- const nextEl = _findNextItemElement(stateRef.current, itemElements, focusedElementRef.current);
1600
- nextEl && (_focusItemElement(nextEl), setFocusedElement(nextEl));
1601
- return;
1602
- }
1603
- if (event.key === "ArrowUp") {
1604
- event.preventDefault();
1605
- const prevEl = _findPrevItemElement(stateRef.current, itemElements, focusedElementRef.current);
1606
- prevEl && (_focusItemElement(prevEl), setFocusedElement(prevEl));
1607
- return;
1608
- }
1609
- if (event.key === "ArrowLeft") {
1610
- event.preventDefault();
1611
- const itemKey = focusedElementRef.current.getAttribute("data-tree-key");
1612
- if (!itemKey)
1613
- return;
1614
- const itemState_0 = stateRef.current[itemKey];
1615
- if (!itemState_0)
1616
- return;
1617
- if (itemState_0.expanded)
1618
- setState((s_2) => {
1619
- const itemState_1 = s_2[itemKey];
1620
- return itemState_1 ? {
1621
- ...s_2,
1622
- [itemKey]: {
1623
- ...itemState_1,
1624
- expanded: !1
1625
- }
1626
- } : s_2;
1627
- });
1628
- else {
1629
- const itemPath = itemKey.split("/");
1630
- itemPath.pop();
1631
- const parentKey = itemPath.join("/"), parentState = parentKey && stateRef.current[parentKey];
1632
- parentState && (parentState.element.focus(), setFocusedElement(parentState.element));
1633
- }
1634
- return;
1635
- }
1636
- if (event.key === "ArrowRight") {
1637
- event.preventDefault();
1638
- const focusedKey = focusedElementRef.current.getAttribute("data-tree-key");
1639
- if (!focusedKey)
1640
- return;
1641
- stateRef.current[focusedKey]?.expanded || setState((s_3) => {
1642
- const itemState_2 = s_3[focusedKey];
1643
- return itemState_2 ? {
1644
- ...s_3,
1645
- [focusedKey]: {
1646
- ...itemState_2,
1647
- expanded: !0
1648
- }
1649
- } : s_3;
1650
- });
1651
- return;
1652
- }
1653
- }
1654
- }, $[21] = itemElements, $[22] = t13) : t13 = $[22];
1655
- const handleKeyDown = t13;
1656
- let t14;
1657
- $[23] !== onFocus ? (t14 = (event_0) => {
1658
- setFocusedElement(event_0.target), onFocus?.(event_0);
1659
- }, $[23] = onFocus, $[24] = t14) : t14 = $[24];
1660
- const handleFocus = t14;
1661
- let t15;
1662
- $[25] === Symbol.for("react.memo_cache_sentinel") ? (t15 = () => {
1663
- if (!ref.current)
1664
- return;
1665
- const _itemElements = Array.from(ref.current.querySelectorAll('[data-ui="TreeItem"]'));
1666
- setItemElements(_itemElements);
1667
- }, $[25] = t15) : t15 = $[25];
1668
- let t16;
1669
- $[26] !== children ? (t16 = [children], $[26] = children, $[27] = t16) : t16 = $[27], useEffect(t15, t16);
1670
- let t17;
1671
- $[28] !== children || $[29] !== handleFocus || $[30] !== handleKeyDown || $[31] !== restProps || $[32] !== space ? (t17 = /* @__PURE__ */ jsx(Stack, { as: "ul", "data-ui": "Tree", ...restProps, onFocus: handleFocus, onKeyDown: handleKeyDown, ref, role: "tree", space, children }), $[28] = children, $[29] = handleFocus, $[30] = handleKeyDown, $[31] = restProps, $[32] = space, $[33] = t17) : t17 = $[33];
1672
- let t18;
1673
- return $[34] !== contextValue || $[35] !== t17 ? (t18 = /* @__PURE__ */ jsx(TreeContext.Provider, { value: contextValue, children: t17 }), $[34] = contextValue, $[35] = t17, $[36] = t18) : t18 = $[36], t18;
1674
- });
1675
- Tree.displayName = "ForwardRef(Tree)";
1676
- function treeItemRootStyle() {
1677
- return css`
1678
- &[role='none'] > [role='treeitem'] {
1679
- outline: none;
1680
- cursor: default;
1681
- border-radius: 3px;
1682
-
1683
- background-color: var(--card-bg-color);
1684
- color: var(--treeitem-fg-color);
1685
-
1686
- &:focus {
1687
- position: relative;
1688
- }
1689
- }
1690
-
1691
- &[role='treeitem'] {
1692
- outline: none;
1693
-
1694
- & > div {
1695
- cursor: default;
1696
- border-radius: 3px;
1697
-
1698
- background-color: var(--card-bg-color);
1699
- color: var(--treeitem-fg-color);
1700
- }
1701
-
1702
- &:focus > div {
1703
- position: relative;
1704
- }
1705
- }
1706
- `;
1707
- }
1708
- function treeItemRootColorStyle(props) {
1709
- const $tone = "default", {
1710
- color
1711
- } = getTheme_v2(props.theme), tone = color.selectable[$tone];
1712
- return css`
1713
- &[role='none'] {
1714
- & > [role='treeitem'] {
1715
- ${_cardColorStyle(color, tone.enabled)}
1716
- }
1717
-
1718
- &[data-selected] > [role='treeitem'] {
1719
- ${_cardColorStyle(color, tone.pressed)}
1720
- }
1721
-
1722
- @media (hover: hover) {
1723
- &:not([data-selected]) > [role='treeitem']:not(:focus):hover {
1724
- ${_cardColorStyle(color, tone.hovered)}
1725
- }
1726
-
1727
- & > [role='treeitem']:focus {
1728
- ${_cardColorStyle(color, tone.selected)}
1729
- }
1730
- }
1731
- }
1732
-
1733
- &[role='treeitem'] {
1734
- & > [data-ui='TreeItem__box'] {
1735
- ${_cardColorStyle(color, tone.enabled)}
1736
- }
1737
-
1738
- &[data-selected] > [data-ui='TreeItem__box'] {
1739
- ${_cardColorStyle(color, tone.pressed)}
1740
- }
1741
-
1742
- @media (hover: hover) {
1743
- &:not([data-selected]):not(:focus) > [data-ui='TreeItem__box']:hover {
1744
- ${_cardColorStyle(color, tone.hovered)}
1745
- }
1746
-
1747
- &:focus > [data-ui='TreeItem__box'] {
1748
- ${_cardColorStyle(color, tone.selected)}
1749
- }
1750
- }
1751
- }
1752
- `;
1753
- }
1754
- function treeItemBoxStyle(props) {
1755
- const {
1756
- $level
1757
- } = props, {
1758
- space
1759
- } = getTheme_v2(props.theme);
1760
- return css`
1761
- padding-left: ${rem(space[2] * $level)};
1762
-
1763
- &[data-as='a'] {
1764
- text-decoration: none;
1765
- }
1766
- `;
1767
- }
1768
- function useTree() {
1769
- const tree = useContext(TreeContext);
1770
- if (!tree)
1771
- throw new Error("Tree: missing context value");
1772
- return tree;
1773
- }
1774
- function TreeGroup(props) {
1775
- const $ = c(9);
1776
- let children, restProps, t0;
1777
- $[0] !== props ? ({
1778
- children,
1779
- expanded: t0,
1780
- ...restProps
1781
- } = props, $[0] = props, $[1] = children, $[2] = restProps, $[3] = t0) : (children = $[1], restProps = $[2], t0 = $[3]);
1782
- const expanded = t0 === void 0 ? !1 : t0, tree = useTree(), t1 = !expanded;
1783
- let t2;
1784
- return $[4] !== children || $[5] !== restProps || $[6] !== t1 || $[7] !== tree.space ? (t2 = /* @__PURE__ */ jsx(Stack, { as: "ul", "data-ui": "TreeGroup", ...restProps, hidden: t1, marginTop: tree.space, role: "group", space: tree.space, children }), $[4] = children, $[5] = restProps, $[6] = t1, $[7] = tree.space, $[8] = t2) : t2 = $[8], t2;
1785
- }
1786
- const StyledTreeItem = /* @__PURE__ */ styled.li.withConfig({
1787
- displayName: "StyledTreeItem",
1788
- componentId: "sc-iiskig-0"
1789
- })(treeItemRootStyle, treeItemRootColorStyle), TreeItemBox = /* @__PURE__ */ styled(Box).attrs({
1790
- forwardedAs: "a"
1791
- }).withConfig({
1792
- displayName: "TreeItemBox",
1793
- componentId: "sc-iiskig-1"
1794
- })(treeItemBoxStyle), ToggleArrowText = styled(Text).withConfig({
1795
- displayName: "ToggleArrowText",
1796
- componentId: "sc-iiskig-2"
1797
- })`& > svg{transition:transform 100ms;}`;
1798
- function TreeItem(props) {
1799
- const $ = c(113);
1800
- let IconComponent, children, href, idProp, linkAs, muted, onClick, restProps, t0, t1, t2, t3, t4, text, weight;
1801
- $[0] !== props ? ({
1802
- children,
1803
- expanded: t0,
1804
- fontSize: t1,
1805
- href,
1806
- icon: IconComponent,
1807
- id: idProp,
1808
- linkAs,
1809
- muted,
1810
- onClick,
1811
- padding: t2,
1812
- selected: t3,
1813
- space: t4,
1814
- text,
1815
- weight,
1816
- ...restProps
1817
- } = props, $[0] = props, $[1] = IconComponent, $[2] = children, $[3] = href, $[4] = idProp, $[5] = linkAs, $[6] = muted, $[7] = onClick, $[8] = restProps, $[9] = t0, $[10] = t1, $[11] = t2, $[12] = t3, $[13] = t4, $[14] = text, $[15] = weight) : (IconComponent = $[1], children = $[2], href = $[3], idProp = $[4], linkAs = $[5], muted = $[6], onClick = $[7], restProps = $[8], t0 = $[9], t1 = $[10], t2 = $[11], t3 = $[12], t4 = $[13], text = $[14], weight = $[15]);
1818
- const expandedProp = t0 === void 0 ? !1 : t0, fontSize = t1 === void 0 ? 1 : t1, padding = t2 === void 0 ? 2 : t2, selected = t3 === void 0 ? !1 : t3, space = t4 === void 0 ? 2 : t4, [rootElement, _setRootElement] = useState(null);
1819
- let t5;
1820
- $[16] === Symbol.for("react.memo_cache_sentinel") ? (t5 = (node) => {
1821
- startTransition(() => _setRootElement(node));
1822
- }, $[16] = t5) : t5 = $[16];
1823
- const setRootElement = t5, treeitemRef = useRef(null), tree = useTree(), {
1824
- path,
1825
- registerItem,
1826
- setExpanded,
1827
- setFocusedElement
1828
- } = tree, _id = useId(), id = idProp || _id;
1829
- let t6, t7;
1830
- if ($[17] !== id || $[18] !== path) {
1831
- const itemPath = path.concat([id || ""]);
1832
- t6 = itemPath, t7 = itemPath.join("/"), $[17] = id, $[18] = path, $[19] = t6, $[20] = t7;
1833
- } else
1834
- t6 = $[19], t7 = $[20];
1835
- let t8;
1836
- $[21] !== t6 || $[22] !== t7 ? (t8 = [t6, t7], $[21] = t6, $[22] = t7, $[23] = t8) : t8 = $[23];
1837
- const [itemPath_0, itemKey] = t8, itemState = tree.state[itemKey], focused = tree.focusedElement === rootElement, expanded = itemState?.expanded === void 0 ? expandedProp : itemState?.expanded || !1, tabIndex = tree.focusedElement && tree.focusedElement === rootElement ? 0 : -1, t9 = tree.level + 1;
1838
- let t10;
1839
- $[24] !== itemPath_0 || $[25] !== t9 || $[26] !== tree ? (t10 = {
1840
- ...tree,
1841
- level: t9,
1842
- path: itemPath_0
1843
- }, $[24] = itemPath_0, $[25] = t9, $[26] = tree, $[27] = t10) : t10 = $[27];
1844
- const contextValue = t10;
1845
- let t11;
1846
- $[28] !== expanded || $[29] !== itemKey || $[30] !== onClick || $[31] !== rootElement || $[32] !== setExpanded || $[33] !== setFocusedElement ? (t11 = (event) => {
1847
- onClick && onClick(event);
1848
- const target = event.target;
1849
- target instanceof HTMLElement && (target.getAttribute("data-ui") === "TreeItem" || target.closest('[data-ui="TreeItem__box"]')) && (event.stopPropagation(), setExpanded(itemKey, !expanded), setFocusedElement(rootElement));
1850
- }, $[28] = expanded, $[29] = itemKey, $[30] = onClick, $[31] = rootElement, $[32] = setExpanded, $[33] = setFocusedElement, $[34] = t11) : t11 = $[34];
1851
- const handleClick = t11;
1852
- let t12;
1853
- $[35] !== focused || $[36] !== rootElement ? (t12 = (event_0) => {
1854
- focused && event_0.key === "Enter" && (treeitemRef.current || rootElement)?.click();
1855
- }, $[35] = focused, $[36] = rootElement, $[37] = t12) : t12 = $[37];
1856
- const handleKeyDown = t12;
1857
- let t13, t14;
1858
- $[38] !== expanded || $[39] !== itemKey || $[40] !== registerItem || $[41] !== rootElement || $[42] !== selected ? (t13 = () => {
1859
- if (rootElement)
1860
- return registerItem(rootElement, itemKey, expanded, selected);
1861
- }, t14 = [expanded, itemKey, registerItem, rootElement, selected], $[38] = expanded, $[39] = itemKey, $[40] = registerItem, $[41] = rootElement, $[42] = selected, $[43] = t13, $[44] = t14) : (t13 = $[43], t14 = $[44]), useEffect(t13, t14);
1862
- const t15 = IconComponent || children ? "visible" : "hidden";
1863
- let t16;
1864
- $[45] !== t15 ? (t16 = {
1865
- visibility: t15,
1866
- pointerEvents: "none"
1867
- }, $[45] = t15, $[46] = t16) : t16 = $[46];
1868
- let t17;
1869
- $[47] !== IconComponent || $[48] !== fontSize || $[49] !== muted || $[50] !== weight ? (t17 = IconComponent && /* @__PURE__ */ jsx(Text, { muted, size: fontSize, weight, children: /* @__PURE__ */ jsx(IconComponent, {}) }), $[47] = IconComponent, $[48] = fontSize, $[49] = muted, $[50] = weight, $[51] = t17) : t17 = $[51];
1870
- let t18;
1871
- $[52] !== IconComponent || $[53] !== expanded || $[54] !== fontSize || $[55] !== muted || $[56] !== weight ? (t18 = !IconComponent && /* @__PURE__ */ jsx(ToggleArrowText, { muted, size: fontSize, weight, children: /* @__PURE__ */ jsx(ToggleArrowRightIcon, { style: {
1872
- transform: expanded ? "rotate(90deg)" : void 0
1873
- } }) }), $[52] = IconComponent, $[53] = expanded, $[54] = fontSize, $[55] = muted, $[56] = weight, $[57] = t18) : t18 = $[57];
1874
- let t19;
1875
- $[58] !== space || $[59] !== t16 || $[60] !== t17 || $[61] !== t18 ? (t19 = /* @__PURE__ */ jsxs(Box, { marginRight: space, style: t16, children: [
1876
- t17,
1877
- t18
1878
- ] }), $[58] = space, $[59] = t16, $[60] = t17, $[61] = t18, $[62] = t19) : t19 = $[62];
1879
- let t20;
1880
- $[63] !== fontSize || $[64] !== muted || $[65] !== text || $[66] !== weight ? (t20 = /* @__PURE__ */ jsx(Box, { flex: 1, children: /* @__PURE__ */ jsx(Text, { muted, size: fontSize, textOverflow: "ellipsis", weight, children: text }) }), $[63] = fontSize, $[64] = muted, $[65] = text, $[66] = weight, $[67] = t20) : t20 = $[67];
1881
- let t21;
1882
- $[68] !== padding || $[69] !== t19 || $[70] !== t20 ? (t21 = /* @__PURE__ */ jsxs(Flex, { padding, children: [
1883
- t19,
1884
- t20
1885
- ] }), $[68] = padding, $[69] = t19, $[70] = t20, $[71] = t21) : t21 = $[71];
1886
- const content2 = t21;
1887
- if (href) {
1888
- const t222 = selected ? "" : void 0;
1889
- let t232;
1890
- $[72] !== content2 || $[73] !== expanded || $[74] !== href || $[75] !== linkAs || $[76] !== tabIndex || $[77] !== tree.level ? (t232 = /* @__PURE__ */ jsx(TreeItemBox, { $level: tree.level, "aria-expanded": expanded, as: linkAs, "data-ui": "TreeItem__box", href, ref: treeitemRef, role: "treeitem", tabIndex, children: content2 }), $[72] = content2, $[73] = expanded, $[74] = href, $[75] = linkAs, $[76] = tabIndex, $[77] = tree.level, $[78] = t232) : t232 = $[78];
1891
- let t242;
1892
- $[79] !== children || $[80] !== expanded ? (t242 = children && /* @__PURE__ */ jsx(TreeGroup, { hidden: !expanded, children }), $[79] = children, $[80] = expanded, $[81] = t242) : t242 = $[81];
1893
- let t252;
1894
- $[82] !== contextValue || $[83] !== t242 ? (t252 = /* @__PURE__ */ jsx(TreeContext.Provider, { value: contextValue, children: t242 }), $[82] = contextValue, $[83] = t242, $[84] = t252) : t252 = $[84];
1895
- let t262;
1896
- return $[85] !== handleClick || $[86] !== id || $[87] !== itemKey || $[88] !== restProps || $[89] !== t222 || $[90] !== t232 || $[91] !== t252 ? (t262 = /* @__PURE__ */ jsxs(StyledTreeItem, { "data-selected": t222, "data-tree-id": id, "data-tree-key": itemKey, "data-ui": "TreeItem", ...restProps, onClick: handleClick, ref: setRootElement, role: "none", children: [
1897
- t232,
1898
- t252
1899
- ] }), $[85] = handleClick, $[86] = id, $[87] = itemKey, $[88] = restProps, $[89] = t222, $[90] = t232, $[91] = t252, $[92] = t262) : t262 = $[92], t262;
1900
- }
1901
- const t22 = selected ? "" : void 0;
1902
- let t23;
1903
- $[93] !== content2 || $[94] !== tree.level ? (t23 = /* @__PURE__ */ jsx(TreeItemBox, { $level: tree.level, as: "div", "data-ui": "TreeItem__box", children: content2 }), $[93] = content2, $[94] = tree.level, $[95] = t23) : t23 = $[95];
1904
- let t24;
1905
- $[96] !== children || $[97] !== expanded ? (t24 = children && /* @__PURE__ */ jsx(TreeGroup, { expanded, children }), $[96] = children, $[97] = expanded, $[98] = t24) : t24 = $[98];
1906
- let t25;
1907
- $[99] !== contextValue || $[100] !== t24 ? (t25 = /* @__PURE__ */ jsx(TreeContext.Provider, { value: contextValue, children: t24 }), $[99] = contextValue, $[100] = t24, $[101] = t25) : t25 = $[101];
1908
- let t26;
1909
- return $[102] !== expanded || $[103] !== handleClick || $[104] !== handleKeyDown || $[105] !== id || $[106] !== itemKey || $[107] !== restProps || $[108] !== t22 || $[109] !== t23 || $[110] !== t25 || $[111] !== tabIndex ? (t26 = /* @__PURE__ */ jsxs(StyledTreeItem, { "data-selected": t22, "data-ui": "TreeItem", "data-tree-id": id, "data-tree-key": itemKey, ...restProps, "aria-expanded": expanded, onClick: handleClick, onKeyDown: handleKeyDown, ref: setRootElement, role: "treeitem", tabIndex, children: [
1910
- t23,
1911
- t25
1912
- ] }), $[102] = expanded, $[103] = handleClick, $[104] = handleKeyDown, $[105] = id, $[106] = itemKey, $[107] = restProps, $[108] = t22, $[109] = t23, $[110] = t25, $[111] = tabIndex, $[112] = t26) : t26 = $[112], t26;
1913
- }
1914
- TreeItem.displayName = "TreeItem";
1915
- export {
1916
- Arrow,
1917
- Autocomplete,
1918
- Avatar,
1919
- AvatarCounter,
1920
- AvatarStack,
1921
- Badge,
1922
- BoundaryElementProvider,
1923
- Box,
1924
- Breadcrumbs,
1925
- Button,
1926
- Card,
1927
- Checkbox,
1928
- Code,
1929
- CodeSkeleton,
1930
- ConditionalWrapper,
1931
- Container,
1932
- Dialog,
1933
- DialogContext,
1934
- DialogProvider,
1935
- ElementQuery,
1936
- ErrorBoundary,
1937
- Flex,
1938
- Grid,
1939
- Heading,
1940
- HeadingSkeleton,
1941
- Hotkeys,
1942
- Inline,
1943
- KBD,
1944
- Label,
1945
- LabelSkeleton,
1946
- Layer,
1947
- LayerProvider,
1948
- Menu,
1949
- MenuButton,
1950
- MenuDivider,
1951
- MenuGroup,
1952
- MenuItem,
1953
- Popover,
1954
- Portal,
1955
- PortalProvider,
1956
- Radio,
1957
- Select,
1958
- Skeleton,
1959
- Spinner,
1960
- SrOnly,
1961
- Stack,
1962
- Switch,
1963
- Tab,
1964
- TabList,
1965
- TabPanel,
1966
- Text,
1967
- TextArea,
1968
- TextInput,
1969
- TextSkeleton,
1970
- ThemeColorProvider,
1971
- ThemeProvider,
1972
- Toast,
1973
- ToastProvider,
1974
- Tooltip,
1975
- TooltipDelayGroupContext,
1976
- TooltipDelayGroupProvider,
1977
- Tree,
1978
- TreeItem,
1979
- VirtualList,
1980
- _ResizeObserver,
1981
- _elementSizeObserver,
1982
- _fillCSSObject,
1983
- _getArrayProp,
1984
- _getResponsiveSpace,
1985
- _hasFocus,
1986
- _isEnterToClickElement,
1987
- _isScrollable,
1988
- _raf,
1989
- _raf2,
1990
- _responsive,
1991
- attemptFocus,
1992
- containsOrEqualsElement,
1993
- createColorTheme,
1994
- focusFirstDescendant,
1995
- focusLastDescendant,
1996
- hexToRgb,
1997
- hslToRgb,
1998
- isFocusable,
1999
- isHTMLAnchorElement,
2000
- isHTMLButtonElement,
2001
- isHTMLElement,
2002
- isHTMLInputElement,
2003
- isHTMLSelectElement,
2004
- isHTMLTextAreaElement,
2005
- multiply,
2006
- parseColor,
2007
- rem,
2008
- responsiveCodeFontStyle,
2009
- responsiveHeadingFont,
2010
- responsiveLabelFont,
2011
- responsiveTextAlignStyle,
2012
- responsiveTextFont,
2013
- rgbToHex,
2014
- rgbToHsl,
2015
- rgba,
2016
- screen,
2017
- studioTheme,
2018
- useArrayProp,
2019
- useBoundaryElement,
2020
- useClickOutside,
2021
- useClickOutsideEvent,
2022
- useCustomValidity,
2023
- useDialog,
2024
- useElementRect,
2025
- useElementSize,
2026
- useForwardedRef,
2027
- useGlobalKeyDown,
2028
- useLayer,
2029
- useMatchMedia,
2030
- useMediaIndex,
2031
- usePortal,
2032
- usePrefersDark,
2033
- usePrefersReducedMotion,
2034
- useRootTheme,
2035
- useTheme,
2036
- useTheme_v2,
2037
- useToast,
2038
- useTooltipDelayGroup,
2039
- useTree
2040
- };
2041
- //# sourceMappingURL=index.mjs.map