@sanity/ui 3.0.0-static.2 → 3.0.0-static.20

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 (770) hide show
  1. package/README.md +6 -6
  2. package/bin/{ui.js → sanity-ui.cjs} +1 -1
  3. package/dist/_chunks-cjs/_visual-editing.cjs +3152 -0
  4. package/dist/_chunks-cjs/_visual-editing.cjs.map +1 -0
  5. package/dist/_chunks-cjs/buildCommand.cjs +71 -0
  6. package/dist/_chunks-cjs/buildCommand.cjs.map +1 -0
  7. package/dist/_chunks-cjs/{refractor.js → refractor.cjs} +1 -1
  8. package/dist/_chunks-cjs/refractor.cjs.map +1 -0
  9. package/dist/_chunks-es/_visual-editing.js +3163 -0
  10. package/dist/_chunks-es/_visual-editing.js.map +1 -0
  11. package/dist/_chunks-es/{refractor.mjs → refractor.js} +1 -1
  12. package/dist/_chunks-es/refractor.js.map +1 -0
  13. package/dist/_visual-editing.cjs +30 -0
  14. package/dist/_visual-editing.cjs.map +1 -0
  15. package/dist/_visual-editing.d.cts +959 -0
  16. package/dist/_visual-editing.d.ts +545 -392
  17. package/dist/_visual-editing.js +29 -30
  18. package/dist/_visual-editing.js.map +1 -1
  19. package/dist/{cli.js → cli.cjs} +4 -4
  20. package/dist/cli.cjs.map +1 -0
  21. package/dist/css.cjs +4353 -0
  22. package/dist/css.cjs.map +1 -0
  23. package/dist/css.d.cts +10251 -0
  24. package/dist/css.d.ts +9714 -1598
  25. package/dist/css.js +3460 -3818
  26. package/dist/css.js.map +1 -1
  27. package/dist/index.cjs +1594 -0
  28. package/dist/index.cjs.map +1 -0
  29. package/dist/{index.d.mts → index.d.cts} +1435 -918
  30. package/dist/index.d.ts +1435 -918
  31. package/dist/index.js +622 -572
  32. package/dist/index.js.map +1 -1
  33. package/dist/{theme.mjs → theme.cjs} +2821 -2570
  34. package/dist/theme.cjs.map +1 -0
  35. package/dist/{theme.d.mts → theme.d.cts} +330 -310
  36. package/dist/theme.d.ts +330 -310
  37. package/dist/theme.js +2822 -2569
  38. package/dist/theme.js.map +1 -1
  39. package/dist/ui-system.css +24528 -0
  40. package/dist/ui-system.min.css +1 -0
  41. package/dist/ui-theme.css +1184 -0
  42. package/dist/ui-theme.min.css +1 -0
  43. package/dist/ui.css +25715 -0
  44. package/dist/ui.min.css +1 -0
  45. package/exports/_visual-editing.ts +0 -1
  46. package/package.json +78 -78
  47. package/src/cli/buildCommand.ts +77 -25
  48. package/src/cli/index.ts +2 -14
  49. package/src/core/StyleTags.tsx +8 -14
  50. package/src/core/_compat/helpers.ts +72 -0
  51. package/src/core/_compat/index.ts +1 -6
  52. package/src/core/_compat/styles/_responsive.ts +1 -1
  53. package/src/core/_compat/theme/theme.test.tsx +4 -5
  54. package/src/core/_compat/theme/themeColorProvider.tsx +4 -8
  55. package/src/core/_compat/theme/themeContext.ts +5 -5
  56. package/src/core/_compat/theme/themeProvider.tsx +19 -11
  57. package/src/core/_compat/theme/types.ts +2 -4
  58. package/src/core/_compat/theme/useRootTheme.ts +2 -4
  59. package/src/core/_compat/theme/useTheme.ts +3 -7
  60. package/src/core/_compat/types.ts +0 -73
  61. package/src/core/components/autocomplete/__workshop__/async.tsx +6 -6
  62. package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +11 -18
  63. package/src/core/components/autocomplete/__workshop__/custom.tsx +21 -20
  64. package/src/core/components/autocomplete/__workshop__/example.tsx +17 -17
  65. package/src/core/components/autocomplete/__workshop__/focusAndBlur.tsx +5 -5
  66. package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +57 -59
  67. package/src/core/components/autocomplete/autocomplete.tsx +92 -126
  68. package/src/core/components/autocomplete/autocompleteOption.tsx +3 -1
  69. package/src/core/components/autocomplete/autocompleteReducer.ts +1 -1
  70. package/src/core/components/autocomplete/constants.ts +1 -1
  71. package/src/core/components/autocomplete/types.ts +4 -9
  72. package/src/core/components/breadcrumbs/__workshop__/example.tsx +2 -3
  73. package/src/core/components/breadcrumbs/breadcrumbs.tsx +34 -28
  74. package/src/core/components/dialog/__workshop__/activate.tsx +4 -4
  75. package/src/core/components/dialog/__workshop__/autoFocus.tsx +2 -2
  76. package/src/core/components/dialog/__workshop__/onScroll.tsx +16 -4
  77. package/src/core/components/dialog/__workshop__/position.tsx +4 -4
  78. package/src/core/components/dialog/__workshop__/props.tsx +7 -7
  79. package/src/core/components/dialog/__workshop__/wrapped.tsx +2 -2
  80. package/src/core/components/dialog/dialog.tsx +104 -300
  81. package/src/core/components/dialog/dialogCard.tsx +198 -0
  82. package/src/core/components/dialog/dialogContext.ts +1 -1
  83. package/src/core/components/dialog/dialogProvider.tsx +3 -3
  84. package/src/core/components/dialog/isTargetWithinScope.ts +14 -0
  85. package/src/core/components/dialog/useDialog.ts +1 -1
  86. package/src/core/components/hotkeys/hotkeys.tsx +42 -26
  87. package/src/core/components/menu/__workshop__/asComponent.tsx +6 -6
  88. package/src/core/components/menu/__workshop__/closableMenuButton.tsx +5 -4
  89. package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +2 -2
  90. package/src/core/components/menu/__workshop__/customMenuItem.tsx +3 -3
  91. package/src/core/components/menu/__workshop__/disableFocusOnClose.tsx +1 -1
  92. package/src/core/components/menu/__workshop__/groups.tsx +2 -2
  93. package/src/core/components/menu/__workshop__/menuButton.tsx +4 -4
  94. package/src/core/components/menu/__workshop__/menuGroupRight.tsx +1 -1
  95. package/src/core/components/menu/__workshop__/nestedMenu.tsx +1 -1
  96. package/src/core/components/menu/__workshop__/onCloseMenuButton.tsx +13 -4
  97. package/src/core/components/menu/__workshop__/selectedItem.tsx +2 -2
  98. package/src/core/components/menu/__workshop__/tones.tsx +3 -3
  99. package/src/core/components/menu/__workshop__/withoutArrow.tsx +1 -1
  100. package/src/core/components/menu/menu.test.tsx +6 -7
  101. package/src/core/components/menu/menu.tsx +28 -34
  102. package/src/core/components/menu/menuButton.tsx +19 -23
  103. package/src/core/components/menu/menuContext.ts +1 -1
  104. package/src/core/components/menu/menuDivider.tsx +26 -14
  105. package/src/core/components/menu/menuGroup.tsx +39 -31
  106. package/src/core/components/menu/menuItem.tsx +59 -45
  107. package/src/core/components/menu/useMenu.ts +1 -1
  108. package/src/core/components/menu/useMenuController.ts +4 -4
  109. package/src/core/components/skeleton/__workshop__/delay.tsx +3 -3
  110. package/src/core/components/skeleton/__workshop__/skeleton.tsx +4 -4
  111. package/src/core/components/skeleton/codeSkeleton.tsx +53 -0
  112. package/src/core/components/skeleton/headingSkeleton.tsx +52 -0
  113. package/src/core/components/skeleton/index.ts +3 -0
  114. package/src/core/components/skeleton/labelSkeleton.tsx +51 -0
  115. package/src/core/components/skeleton/skeleton.tsx +40 -17
  116. package/src/core/components/skeleton/textSkeleton.tsx +32 -111
  117. package/src/core/components/tab/__workshop__/example.tsx +2 -2
  118. package/src/core/components/tab/tab.tsx +29 -25
  119. package/src/core/components/tab/tabList.tsx +51 -28
  120. package/src/core/components/tab/tabPanel.tsx +30 -21
  121. package/src/core/components/toast/__workshop__/hook.tsx +1 -1
  122. package/src/core/components/toast/__workshop__/toast.tsx +5 -5
  123. package/src/core/components/toast/toast.test.tsx +5 -5
  124. package/src/core/components/toast/toast.tsx +25 -22
  125. package/src/core/components/toast/toastContext.ts +1 -1
  126. package/src/core/components/toast/toastLayer.tsx +29 -11
  127. package/src/core/components/toast/toastProvider.tsx +3 -7
  128. package/src/core/components/toast/types.ts +3 -7
  129. package/src/core/components/toast/useToast.ts +2 -4
  130. package/src/core/components/tree/__workshop__/basic.perf.ts +1 -1
  131. package/src/core/components/tree/__workshop__/basic.tsx +1 -1
  132. package/src/core/components/tree/__workshop__/tabFromElement.tsx +1 -1
  133. package/src/core/components/tree/helpers.ts +1 -1
  134. package/src/core/components/tree/tree.tsx +198 -191
  135. package/src/core/components/tree/treeContext.ts +1 -1
  136. package/src/core/components/tree/treeGroup.tsx +26 -6
  137. package/src/core/components/tree/treeItem.tsx +45 -33
  138. package/src/core/components/tree/types.ts +2 -2
  139. package/src/core/components/tree/useTree.ts +1 -1
  140. package/src/core/constants.ts +6 -0
  141. package/src/core/hooks/useClickOutside.test.tsx +15 -16
  142. package/src/core/hooks/useClickOutside.ts +2 -6
  143. package/src/core/hooks/useClickOutsideEvent.test.tsx +4 -5
  144. package/src/core/hooks/useClickOutsideEvent.ts +3 -9
  145. package/src/core/hooks/useDelayed.test.ts +6 -7
  146. package/src/core/hooks/useDelayedState.ts +1 -1
  147. package/src/core/hooks/useElementRect/__workshop__/example.tsx +1 -1
  148. package/src/core/hooks/useElementSize.ts +1 -1
  149. package/src/core/hooks/useForwardedRef.ts +1 -1
  150. package/src/core/hooks/useMatchMedia.ts +13 -31
  151. package/src/core/hooks/useMediaIndex/__workshop__/test.tsx +1 -1
  152. package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +3 -18
  153. package/src/core/hooks/useMediaIndex/useMediaIndex.ts +12 -12
  154. package/src/core/hooks/usePrefersDark.hydration.test.tsx +4 -4
  155. package/src/core/hooks/usePrefersDark.test.tsx +1 -0
  156. package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +4 -4
  157. package/src/core/hooks/usePrefersReducedMotion.test.tsx +1 -0
  158. package/src/core/middleware/origin.ts +1 -1
  159. package/src/core/primitives/_selectable/selectable.tsx +34 -21
  160. package/src/core/primitives/avatar/__workshop__/asButton.tsx +2 -2
  161. package/src/core/primitives/avatar/__workshop__/stack.tsx +2 -2
  162. package/src/core/primitives/avatar/__workshop__/withinButton.tsx +2 -2
  163. package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +1 -1
  164. package/src/core/primitives/avatar/avatar.tsx +33 -36
  165. package/src/core/primitives/avatar/avatarCounter.tsx +35 -27
  166. package/src/core/primitives/avatar/avatarStack.tsx +35 -28
  167. package/src/core/primitives/avatar/types.ts +3 -3
  168. package/src/core/primitives/badge/__workshop__/props.tsx +6 -17
  169. package/src/core/primitives/badge/__workshop__/tones.tsx +1 -6
  170. package/src/core/primitives/badge/badge.test.tsx +2 -3
  171. package/src/core/primitives/badge/badge.tsx +34 -33
  172. package/src/core/primitives/badge/types.ts +2 -1
  173. package/src/core/primitives/box/__workshop__/props.tsx +2 -2
  174. package/src/core/primitives/box/__workshop__/responsive.tsx +2 -1
  175. package/src/core/primitives/box/box.tsx +76 -31
  176. package/src/core/primitives/button/__workshop__/custom.tsx +19 -42
  177. package/src/core/primitives/button/__workshop__/customIcons.tsx +3 -3
  178. package/src/core/primitives/button/__workshop__/disabled.tsx +9 -9
  179. package/src/core/primitives/button/__workshop__/props.tsx +19 -22
  180. package/src/core/primitives/button/__workshop__/sanityUploadButton.tsx +3 -3
  181. package/src/core/primitives/button/__workshop__/stacked.tsx +15 -16
  182. package/src/core/primitives/button/__workshop__/uploadButton.tsx +2 -1
  183. package/src/core/primitives/button/button.test.tsx +3 -18
  184. package/src/core/primitives/button/button.tsx +75 -73
  185. package/src/core/primitives/card/__workshop__/asButton.tsx +14 -14
  186. package/src/core/primitives/card/__workshop__/asComponent.tsx +3 -3
  187. package/src/core/primitives/card/__workshop__/checkered.tsx +1 -1
  188. package/src/core/primitives/card/__workshop__/index.ts +1 -1
  189. package/src/core/primitives/card/__workshop__/interactive.tsx +3 -4
  190. package/src/core/primitives/card/__workshop__/listNavigation.tsx +3 -3
  191. package/src/core/primitives/card/__workshop__/props.tsx +14 -17
  192. package/src/core/primitives/card/__workshop__/selected.tsx +10 -41
  193. package/src/core/primitives/card/__workshop__/{allTones.tsx → tones.tsx} +3 -3
  194. package/src/core/primitives/card/card.tsx +53 -43
  195. package/src/core/primitives/card/cardContext.ts +10 -0
  196. package/src/core/primitives/card/cardProvider.tsx +27 -0
  197. package/src/core/primitives/card/index.ts +2 -0
  198. package/src/core/primitives/card/types.ts +19 -3
  199. package/src/core/primitives/card/useCard.ts +8 -0
  200. package/src/core/primitives/checkbox/__workshop__/props.tsx +6 -4
  201. package/src/core/primitives/checkbox/__workshop__/tones.tsx +11 -20
  202. package/src/core/primitives/checkbox/checkbox.tsx +30 -21
  203. package/src/core/primitives/code/__workshop__/opticalAlignment.tsx +1 -1
  204. package/src/core/primitives/code/__workshop__/props.tsx +4 -7
  205. package/src/core/primitives/code/code.tsx +28 -26
  206. package/src/core/primitives/container/__workshop__/example.tsx +2 -2
  207. package/src/core/primitives/container/container.tsx +29 -18
  208. package/src/core/primitives/flex/__workshop__/example.tsx +2 -2
  209. package/src/core/primitives/flex/flex.tsx +21 -19
  210. package/src/core/primitives/grid/grid.tsx +21 -16
  211. package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +2 -2
  212. package/src/core/primitives/heading/__workshop__/plain.tsx +12 -15
  213. package/src/core/primitives/heading/heading.tsx +46 -23
  214. package/src/core/primitives/inline/__workshop__/plain.tsx +2 -5
  215. package/src/core/primitives/inline/inline.tsx +27 -24
  216. package/src/core/primitives/inline/types.ts +1 -0
  217. package/src/core/primitives/kbd/kbd.tsx +29 -27
  218. package/src/core/primitives/label/__workshop__/plain.tsx +8 -17
  219. package/src/core/primitives/label/label.tsx +45 -30
  220. package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +6 -6
  221. package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +3 -3
  222. package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +1 -1
  223. package/src/core/primitives/popover/__workshop__/PlainStory.tsx +3 -3
  224. package/src/core/primitives/popover/__workshop__/RecursiveStory.tsx +3 -4
  225. package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +10 -6
  226. package/src/core/primitives/popover/__workshop__/TestStory.tsx +5 -4
  227. package/src/core/primitives/popover/constants.ts +1 -1
  228. package/src/core/primitives/popover/floating-ui/size.ts +2 -2
  229. package/src/core/primitives/popover/helpers.ts +1 -1
  230. package/src/core/primitives/popover/popover.tsx +296 -334
  231. package/src/core/primitives/popover/popoverLayer.tsx +149 -0
  232. package/src/core/primitives/popover/types.ts +3 -2
  233. package/src/core/primitives/radio/__workshop__/example.tsx +3 -3
  234. package/src/core/primitives/radio/__workshop__/plain.tsx +3 -3
  235. package/src/core/primitives/radio/radio.tsx +33 -17
  236. package/src/core/primitives/select/__workshop__/plain.tsx +15 -6
  237. package/src/core/primitives/select/__workshop__/readOnly.tsx +1 -1
  238. package/src/core/primitives/select/select.tsx +29 -27
  239. package/src/core/primitives/spinner/__workshop__/Props.tsx +4 -5
  240. package/src/core/primitives/spinner/animatedSpinnerIcon.tsx +7 -5
  241. package/src/core/primitives/spinner/spinner.tsx +26 -14
  242. package/src/core/primitives/stack/__workshop__/plain.tsx +2 -2
  243. package/src/core/primitives/stack/stack.tsx +33 -19
  244. package/src/core/primitives/switch/switch.tsx +33 -16
  245. package/src/core/primitives/text/__workshop__/colored.tsx +6 -6
  246. package/src/core/primitives/text/__workshop__/example.tsx +9 -20
  247. package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +1 -1
  248. package/src/core/primitives/text/text.tsx +48 -30
  249. package/src/core/primitives/textArea/__workshop__/plain.tsx +44 -33
  250. package/src/core/primitives/textArea/textArea.tsx +48 -21
  251. package/src/core/primitives/textInput/__workshop__/customValidity.tsx +2 -2
  252. package/src/core/primitives/textInput/__workshop__/plain.tsx +36 -30
  253. package/src/core/primitives/textInput/__workshop__/states.tsx +5 -5
  254. package/src/core/primitives/textInput/__workshop__/tones.tsx +2 -2
  255. package/src/core/primitives/textInput/__workshop__/typed.tsx +2 -2
  256. package/src/core/primitives/textInput/textInput.tsx +52 -71
  257. package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +5 -5
  258. package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +2 -2
  259. package/src/core/primitives/tooltip/__workshop__/props.tsx +9 -8
  260. package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +1 -1
  261. package/src/core/primitives/tooltip/constants.ts +1 -1
  262. package/src/core/primitives/tooltip/tooltip.test.tsx +61 -60
  263. package/src/core/primitives/tooltip/tooltip.tsx +112 -87
  264. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +1 -1
  265. package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +3 -3
  266. package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +1 -1
  267. package/src/core/primitives/tooltip/tooltipLayer.tsx +107 -0
  268. package/src/core/primitives/types.ts +16 -27
  269. package/src/core/types/avatar.ts +3 -6
  270. package/src/core/types/badge.ts +2 -4
  271. package/src/core/types/button.ts +2 -4
  272. package/src/core/types/card.ts +2 -4
  273. package/src/core/types/dialog.ts +1 -3
  274. package/src/core/types/props.ts +20 -10
  275. package/src/core/types/selectable.ts +1 -1
  276. package/src/core/utils/arrow/arrow.tsx +37 -28
  277. package/src/core/utils/boundaryElement/boundaryElement.test.tsx +5 -5
  278. package/src/core/utils/boundaryElement/boundaryElementContext.ts +1 -1
  279. package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +4 -8
  280. package/src/core/utils/boundaryElement/types.ts +1 -3
  281. package/src/core/utils/boundaryElement/useBoundaryElement.ts +2 -4
  282. package/src/core/utils/elementQuery/__workshop__/customMedia.tsx +15 -8
  283. package/src/core/utils/elementQuery/elementQuery.tsx +43 -19
  284. package/src/core/utils/errorBoundary.tsx +6 -4
  285. package/src/core/utils/index.ts +0 -1
  286. package/src/core/utils/layer/__workshop__/multipleRoots.tsx +5 -5
  287. package/src/core/utils/layer/__workshop__/nested.tsx +3 -3
  288. package/src/core/utils/layer/__workshop__/responsiveZOffset.tsx +9 -5
  289. package/src/core/utils/layer/getLayerContext.test.ts +3 -1
  290. package/src/core/utils/layer/getLayerContext.ts +1 -1
  291. package/src/core/utils/layer/layer.test.tsx +5 -5
  292. package/src/core/utils/layer/layer.tsx +24 -94
  293. package/src/core/utils/layer/layerCard.tsx +92 -0
  294. package/src/core/utils/layer/layerContext.ts +1 -1
  295. package/src/core/utils/layer/layerProvider.tsx +13 -9
  296. package/src/core/utils/layer/useLayer.ts +2 -4
  297. package/src/core/utils/portal/__workshop__/named.tsx +3 -3
  298. package/src/core/utils/portal/portal.test.tsx +5 -5
  299. package/src/core/utils/portal/{portal.ts → portal.tsx} +17 -9
  300. package/src/core/utils/portal/portalContext.ts +1 -1
  301. package/src/core/utils/portal/portalProvider.tsx +4 -8
  302. package/src/core/utils/portal/types.ts +1 -3
  303. package/src/core/utils/portal/usePortal.ts +2 -4
  304. package/src/core/utils/srOnly/srOnly.tsx +27 -22
  305. package/src/core/utils/virtualList/__workshop__/infiniteList.tsx +1 -1
  306. package/src/core/utils/virtualList/virtualList.tsx +72 -54
  307. package/src/css/_assign.ts +3 -0
  308. package/src/css/_compileStyle.ts +156 -0
  309. package/src/css/_compileSystem.ts +7 -0
  310. package/src/css/_compileTheme.ts +13 -0
  311. package/src/css/_composeClassNames.ts +12 -0
  312. package/src/css/_fromEntries.ts +3 -0
  313. package/src/css/_getClassNames.ts +9 -0
  314. package/src/css/_hash.ts +9 -0
  315. package/src/css/_mergeStyles.ts +24 -0
  316. package/src/css/_resp.ts +2 -2
  317. package/src/css/_responsiveRule.ts +38 -0
  318. package/src/css/_scopeClassName.ts +9 -0
  319. package/src/css/_scopeClassNames.ts +12 -0
  320. package/src/css/_system.style.ts +166 -0
  321. package/src/css/aspects/border/border.style.ts +13 -0
  322. package/src/css/aspects/border/border.ts +14 -0
  323. package/src/css/{styles → aspects}/border/types.ts +1 -1
  324. package/src/css/aspects/boxSizing/boxSizing.style.ts +10 -0
  325. package/src/css/aspects/boxSizing/boxSizing.ts +8 -0
  326. package/src/css/aspects/boxSizing/index.ts +2 -0
  327. package/src/css/aspects/boxSizing/types.ts +9 -0
  328. package/src/css/aspects/display/display.style.ts +34 -0
  329. package/src/css/aspects/display/display.ts +8 -0
  330. package/src/css/{styles → aspects}/display/types.ts +3 -4
  331. package/src/css/aspects/flex/flex.ts +13 -0
  332. package/src/css/aspects/flex/flexAlign.style.ts +12 -0
  333. package/src/css/aspects/flex/flexDirection.style.ts +11 -0
  334. package/src/css/aspects/flex/flexJustify.style.ts +13 -0
  335. package/src/css/aspects/flex/flexWrap.style.ts +10 -0
  336. package/src/css/{styles → aspects}/flex/types.ts +5 -13
  337. package/src/css/aspects/flexItem/flex.style.ts +22 -0
  338. package/src/css/aspects/flexItem/flexItem.ts +8 -0
  339. package/src/css/aspects/flexItem/types.ts +25 -0
  340. package/src/css/aspects/font/font.style.ts +83 -0
  341. package/src/css/aspects/font/font.ts +7 -0
  342. package/src/css/aspects/font/types.ts +6 -0
  343. package/src/css/aspects/gap/gap.style.ts +21 -0
  344. package/src/css/aspects/gap/gap.ts +8 -0
  345. package/src/css/{styles → aspects}/gap/types.ts +2 -2
  346. package/src/css/{styles → aspects}/grid/grid.ts +6 -5
  347. package/src/css/aspects/grid/gridAutoColumns.style.ts +11 -0
  348. package/src/css/aspects/grid/gridAutoFlow.style.ts +11 -0
  349. package/src/css/aspects/grid/gridAutoRows.style.ts +11 -0
  350. package/src/css/aspects/grid/gridColumns.style.ts +18 -0
  351. package/src/css/aspects/grid/gridRows.style.ts +18 -0
  352. package/src/css/{styles → aspects}/grid/types.ts +8 -12
  353. package/src/css/aspects/gridItem/gridColumn.style.ts +20 -0
  354. package/src/css/aspects/gridItem/gridColumnEnd.style.ts +20 -0
  355. package/src/css/aspects/gridItem/gridColumnStart.style.ts +20 -0
  356. package/src/css/{styles → aspects}/gridItem/gridItem.ts +4 -4
  357. package/src/css/aspects/gridItem/gridRow.style.ts +20 -0
  358. package/src/css/aspects/gridItem/gridRowEnd.style.ts +20 -0
  359. package/src/css/aspects/gridItem/gridRowStart.style.ts +20 -0
  360. package/src/css/{styles → aspects}/gridItem/types.ts +8 -19
  361. package/src/css/aspects/height/height.style.ts +9 -0
  362. package/src/css/aspects/height/height.ts +16 -0
  363. package/src/css/aspects/height/index.ts +1 -0
  364. package/src/css/{styles → aspects}/index.ts +5 -0
  365. package/src/css/aspects/inset/inset.style.ts +12 -0
  366. package/src/css/{styles → aspects}/inset/inset.ts +4 -3
  367. package/src/css/{styles → aspects}/inset/types.ts +1 -1
  368. package/src/css/aspects/margin/margin.style.ts +56 -0
  369. package/src/css/{styles → aspects}/margin/margin.ts +4 -3
  370. package/src/css/aspects/margin/types.ts +17 -0
  371. package/src/css/aspects/maxWidth/maxWidth.style.ts +16 -0
  372. package/src/css/aspects/maxWidth/maxWidth.ts +8 -0
  373. package/src/css/aspects/maxWidth/types.ts +8 -0
  374. package/src/css/aspects/minHeight/index.ts +2 -0
  375. package/src/css/aspects/minHeight/minHeight.style.ts +9 -0
  376. package/src/css/aspects/minHeight/minHeight.ts +8 -0
  377. package/src/css/aspects/minHeight/types.ts +9 -0
  378. package/src/css/aspects/minWidth/index.ts +2 -0
  379. package/src/css/aspects/minWidth/minWidth.style.ts +13 -0
  380. package/src/css/aspects/minWidth/minWidth.ts +8 -0
  381. package/src/css/aspects/minWidth/types.ts +9 -0
  382. package/src/css/aspects/outline/outline.style.ts +9 -0
  383. package/src/css/aspects/overflow/overflow.style.ts +11 -0
  384. package/src/css/{styles → aspects}/overflow/overflow.ts +4 -3
  385. package/src/css/{styles → aspects}/overflow/types.ts +1 -1
  386. package/src/css/aspects/padding/padding.style.ts +43 -0
  387. package/src/css/{styles → aspects}/padding/padding.ts +4 -3
  388. package/src/css/{styles → aspects}/padding/types.ts +2 -2
  389. package/src/css/aspects/pointerEvents/pointerEvents.style.ts +13 -0
  390. package/src/css/aspects/pointerEvents/pointerEvents.ts +7 -0
  391. package/src/css/aspects/position/position.style.ts +12 -0
  392. package/src/css/aspects/position/position.ts +8 -0
  393. package/src/css/{styles → aspects}/position/types.ts +1 -1
  394. package/src/css/aspects/radius/radius.style.ts +16 -0
  395. package/src/css/aspects/radius/radius.ts +8 -0
  396. package/src/css/aspects/radius/types.ts +8 -0
  397. package/src/css/aspects/shadow/shadow.style.ts +24 -0
  398. package/src/css/aspects/shadow/shadow.ts +8 -0
  399. package/src/css/aspects/shadow/types.ts +8 -0
  400. package/src/css/aspects/textAlign/index.ts +2 -0
  401. package/src/css/aspects/textAlign/textAlign.style.ts +26 -0
  402. package/src/css/aspects/textAlign/textAlign.ts +8 -0
  403. package/src/css/aspects/textAlign/types.ts +7 -0
  404. package/src/css/aspects/textOverflow/textOverflow.style.ts +21 -0
  405. package/src/css/aspects/textOverflow/textOverflow.ts +7 -0
  406. package/src/css/{styles → aspects}/textOverflow/types.ts +1 -0
  407. package/src/css/aspects/width/types.ts +11 -0
  408. package/src/css/aspects/width/width.style.ts +11 -0
  409. package/src/css/aspects/width/width.ts +8 -0
  410. package/src/css/components/breadcrumbs/breadcrumbs.style.ts +9 -0
  411. package/src/css/components/breadcrumbs/breadcrumbs.ts +3 -2
  412. package/src/css/components/dialog/dialog.style.ts +77 -0
  413. package/src/css/components/dialog/dialog.ts +17 -8
  414. package/src/css/components/menu/menu.style.ts +17 -0
  415. package/src/css/components/menu/menu.ts +5 -3
  416. package/src/css/components/skeleton/skeleton.style.ts +104 -0
  417. package/src/css/components/skeleton/skeleton.ts +13 -8
  418. package/src/css/components/skeleton/types.ts +8 -6
  419. package/src/css/components/toast/toast.style.ts +20 -0
  420. package/src/css/components/toast/toast.ts +11 -6
  421. package/src/css/components/tree/tree.style.ts +39 -0
  422. package/src/css/components/tree/tree.ts +3 -2
  423. package/src/css/constants.ts +10 -0
  424. package/src/css/index.ts +8 -8
  425. package/src/css/prefix/constants.ts +6 -0
  426. package/src/css/prefix/types.ts +1 -0
  427. package/src/css/primitives/_arrow/{rules.ts → _arrow.style.ts} +23 -25
  428. package/src/css/primitives/_arrow/_arrow.ts +13 -6
  429. package/src/css/primitives/_input/_input.style.ts +235 -0
  430. package/src/css/primitives/_input/input.ts +18 -13
  431. package/src/css/primitives/_input/types.ts +3 -3
  432. package/src/css/primitives/_selectable/{rules.ts → _selectable.style.ts} +36 -36
  433. package/src/css/primitives/_selectable/selectable.ts +5 -5
  434. package/src/css/primitives/_selectable/types.ts +2 -2
  435. package/src/css/primitives/avatar/{rules.ts → avatar.style.ts} +62 -67
  436. package/src/css/primitives/avatar/avatar.ts +14 -8
  437. package/src/css/primitives/avatar/types.ts +4 -3
  438. package/src/css/primitives/badge/badge.style.ts +21 -0
  439. package/src/css/primitives/badge/badge.ts +8 -4
  440. package/src/css/primitives/badge/types.ts +2 -2
  441. package/src/css/primitives/box/box.style.ts +22 -0
  442. package/src/css/primitives/box/box.ts +16 -10
  443. package/src/css/primitives/box/types.ts +12 -15
  444. package/src/css/primitives/button/button.style.ts +275 -0
  445. package/src/css/primitives/button/button.ts +9 -30
  446. package/src/css/primitives/button/index.ts +1 -0
  447. package/src/css/primitives/button/types.ts +13 -0
  448. package/src/css/primitives/card/card.style.ts +295 -0
  449. package/src/css/primitives/card/card.ts +7 -11
  450. package/src/css/primitives/card/types.ts +4 -5
  451. package/src/css/primitives/checkbox/checkbox.style.ts +178 -0
  452. package/src/css/primitives/checkbox/checkbox.ts +5 -3
  453. package/src/css/primitives/code/code.style.ts +61 -0
  454. package/src/css/primitives/code/code.ts +8 -4
  455. package/src/css/primitives/code/types.ts +2 -2
  456. package/src/css/primitives/container/container.style.ts +10 -0
  457. package/src/css/primitives/container/container.ts +6 -4
  458. package/src/css/primitives/container/types.ts +3 -2
  459. package/src/css/primitives/heading/heading.style.ts +56 -0
  460. package/src/css/primitives/heading/heading.ts +13 -10
  461. package/src/css/primitives/heading/types.ts +4 -2
  462. package/src/css/primitives/kbd/kbd.style.ts +19 -0
  463. package/src/css/primitives/kbd/kbd.ts +6 -4
  464. package/src/css/primitives/kbd/types.ts +1 -1
  465. package/src/css/primitives/label/label.style.ts +52 -0
  466. package/src/css/primitives/label/label.ts +7 -9
  467. package/src/css/primitives/label/types.ts +11 -4
  468. package/src/css/primitives/popover/popover.style.ts +9 -0
  469. package/src/css/primitives/popover/popover.ts +8 -2
  470. package/src/css/primitives/radio/radio.style.ts +84 -0
  471. package/src/css/primitives/radio/radio.ts +3 -2
  472. package/src/css/primitives/select/{rules.ts → select.style.ts} +8 -6
  473. package/src/css/primitives/select/select.ts +7 -4
  474. package/src/css/primitives/select/types.ts +1 -1
  475. package/src/css/primitives/spinner/spinner.style.ts +22 -0
  476. package/src/css/primitives/spinner/spinner.ts +5 -3
  477. package/src/css/primitives/stack/index.ts +1 -0
  478. package/src/css/primitives/stack/stack.style.ts +13 -0
  479. package/src/css/primitives/stack/stack.ts +6 -0
  480. package/src/css/primitives/switch/switch.style.ts +102 -0
  481. package/src/css/primitives/switch/switch.ts +11 -6
  482. package/src/css/primitives/text/text.style.ts +65 -0
  483. package/src/css/primitives/text/text.ts +7 -9
  484. package/src/css/primitives/text/types.ts +7 -2
  485. package/src/css/primitives/textArea/textArea.style.ts +11 -0
  486. package/src/css/primitives/textArea/textArea.ts +5 -3
  487. package/src/css/primitives/textArea/types.ts +1 -1
  488. package/src/css/primitives/textInput/textInput.style.ts +46 -0
  489. package/src/css/primitives/textInput/textInput.ts +20 -4
  490. package/src/css/primitives/textInput/types.ts +2 -8
  491. package/src/css/primitives/token/token.style.ts +50 -0
  492. package/src/css/primitives/tooltip/tooltip.style.ts +9 -0
  493. package/src/css/primitives/tooltip/tooltip.ts +3 -6
  494. package/src/css/renderColor.ts +31 -0
  495. package/src/css/responsiveRules.ts +12 -19
  496. package/src/css/theme/index.ts +14 -0
  497. package/src/css/theme/lib/contract/buildVarContract.ts +76 -0
  498. package/src/css/theme/lib/contract/index.ts +2 -0
  499. package/src/css/theme/lib/contract/types.ts +15 -0
  500. package/src/css/theme/resolveTheme.ts +863 -0
  501. package/src/css/types.ts +29 -755
  502. package/src/css/util.ts +5 -0
  503. package/src/css/utils/srOnly/srOnly.style.ts +14 -0
  504. package/src/css/utils/srOnly/srOnly.ts +4 -2
  505. package/src/theme/getScopedTheme.ts +4 -4
  506. package/src/theme/index.ts +0 -5
  507. package/src/theme/types.ts +6 -10
  508. package/src/theme/v0/color/_generic.ts +1 -1
  509. package/src/theme/v0/color/button.ts +1 -1
  510. package/src/theme/v0/color/card.ts +1 -1
  511. package/src/theme/v0/color/color.ts +11 -11
  512. package/src/theme/v0/color/input.ts +1 -1
  513. package/src/theme/v0/color/muted.ts +1 -1
  514. package/src/theme/v0/color/selectable.ts +1 -1
  515. package/src/theme/v0/color/solid.ts +1 -1
  516. package/src/theme/v0/color/spot.ts +1 -1
  517. package/src/theme/v0/focusRing.ts +1 -3
  518. package/src/theme/v0/font.ts +6 -19
  519. package/src/theme/v0/layer.ts +1 -3
  520. package/src/theme/v0/shadow.ts +2 -6
  521. package/src/theme/v0/styles.ts +1 -1
  522. package/src/theme/v0/theme.ts +7 -7
  523. package/src/theme/v2/avatar.ts +2 -4
  524. package/src/theme/{build → v2/build}/_deprecated/color/_selectable/createSelectableTones.ts +3 -3
  525. package/src/theme/{build → v2/build}/_deprecated/color/_solid/createSolidTones.ts +2 -2
  526. package/src/theme/{build → v2/build}/_deprecated/color/button/createButtonModes.ts +7 -2
  527. package/src/theme/{build → v2/build}/_deprecated/color/button/createButtonTones.ts +4 -4
  528. package/src/theme/{build → v2/build}/_deprecated/color/card/createCardStates.ts +3 -3
  529. package/src/theme/{build → v2/build}/_deprecated/color/color.test.ts +1 -1
  530. package/src/theme/{build → v2/build}/_deprecated/color/defaults.ts +1 -1
  531. package/src/theme/{build → v2/build}/_deprecated/color/factory.ts +3 -3
  532. package/src/theme/{build → v2/build}/_deprecated/color/input/createInputModes.ts +7 -2
  533. package/src/theme/{build → v2/build}/_deprecated/color/muted/createMuted.ts +2 -2
  534. package/src/theme/{build → v2/build}/_deprecated/color/spot/createSpot.ts +2 -2
  535. package/src/theme/{build → v2/build}/buildColorTheme.test.ts +3 -1
  536. package/src/theme/{build → v2/build}/buildColorTheme.ts +24 -24
  537. package/src/theme/{build → v2/build}/buildTheme.test.ts +10 -8
  538. package/src/theme/v2/build/buildTheme.ts +12 -0
  539. package/src/theme/{build → v2/build}/colorToken/colorToken.ts +2 -2
  540. package/src/theme/{build → v2/build}/colorToken/compileColorToken.ts +1 -1
  541. package/src/theme/{build → v2/build}/colorToken/types.ts +2 -2
  542. package/src/theme/{build → v2/build}/lib/color-fns/blend/mix.ts +1 -1
  543. package/src/theme/{build → v2/build}/lib/color-fns/blend/multiply.ts +1 -1
  544. package/src/theme/{build → v2/build}/lib/color-fns/blend/screen.ts +1 -1
  545. package/src/theme/{build → v2/build}/lib/color-fns/color-fns.test.ts +1 -1
  546. package/src/theme/{build → v2/build}/lib/color-fns/contrastRatio.ts +5 -2
  547. package/src/theme/{build → v2/build}/lib/color-fns/convert.ts +1 -1
  548. package/src/theme/{build → v2/build}/lib/color-fns/parse.ts +1 -1
  549. package/src/theme/{build → v2/build}/mixThemeColor.test.ts +2 -0
  550. package/src/theme/{build → v2/build}/mixThemeColor.ts +1 -1
  551. package/src/theme/{build → v2/build}/renderColorTheme.ts +27 -27
  552. package/src/theme/{build → v2/build}/renderColorValue.ts +3 -3
  553. package/src/theme/{build → v2/build}/resolveColorTokens.ts +13 -13
  554. package/src/theme/v2/color/_helpers.ts +2 -2
  555. package/src/theme/v2/color/_system.ts +2 -4
  556. package/src/theme/v2/color/avatar.ts +3 -7
  557. package/src/theme/v2/color/badge.ts +3 -7
  558. package/src/theme/v2/color/button.ts +5 -11
  559. package/src/theme/v2/color/color.ts +10 -16
  560. package/src/theme/v2/color/input.ts +8 -10
  561. package/src/theme/v2/color/kbd.ts +1 -3
  562. package/src/theme/v2/color/selectable.ts +4 -8
  563. package/src/theme/v2/color/state.ts +5 -7
  564. package/src/theme/v2/color/syntax.ts +1 -3
  565. package/src/theme/{config → v2/config}/helpers.ts +6 -13
  566. package/src/theme/{config → v2/config}/system.ts +11 -12
  567. package/src/theme/{config → v2/config}/tokens/color/types.ts +14 -10
  568. package/src/theme/{config → v2/config}/tokens/index.ts +0 -1
  569. package/src/theme/{config → v2/config}/tokens/parseTokenValue.test.ts +2 -0
  570. package/src/theme/{config → v2/config}/tokens/parseTokenValue.ts +2 -2
  571. package/src/theme/{config → v2/config}/tokens/types.ts +3 -3
  572. package/src/theme/{config → v2/config}/types.ts +8 -6
  573. package/src/theme/{defaults → v2/defaults}/colorPalette.ts +1 -1
  574. package/src/theme/{defaults → v2/defaults}/colorTokens.ts +3 -3
  575. package/src/theme/{defaults → v2/defaults}/config.ts +2 -2
  576. package/src/theme/{defaults → v2/defaults}/fonts.ts +5 -6
  577. package/src/theme/v2/index.ts +2 -0
  578. package/src/theme/v2/input.ts +2 -4
  579. package/src/theme/v2/theme.ts +10 -14
  580. package/src/theme/{_constants.ts → v3/_constants.ts} +6 -3
  581. package/src/theme/v3/{color/parseColor.ts → _parseColorToken.ts} +59 -46
  582. package/src/theme/v3/buildTheme_v3.ts +14 -10
  583. package/src/theme/v3/color/_constants.ts +15 -0
  584. package/src/theme/v3/color/avatar.ts +14 -0
  585. package/src/theme/v3/color/card.ts +58 -95
  586. package/src/theme/v3/color/color.ts +75 -71
  587. package/src/theme/v3/color/element.ts +8 -8
  588. package/src/theme/v3/color/index.ts +2 -2
  589. package/src/theme/v3/color/token.ts +19 -4
  590. package/src/theme/v3/color/tokens.ts +2 -2
  591. package/src/theme/v3/defaultFonts.ts +250 -0
  592. package/src/theme/v3/defaultTokens.ts +199 -0
  593. package/src/theme/v3/index.ts +4 -1
  594. package/src/theme/{palette → v3/palette}/constants.ts +3 -3
  595. package/src/theme/v3/palette/index.ts +2 -0
  596. package/src/theme/v3/palette/types.ts +7 -0
  597. package/src/theme/v3/resolveTokens.ts +70 -65
  598. package/src/theme/v3/tokens.ts +2 -2
  599. package/src/theme/v3/types.ts +95 -11
  600. package/src/theme/versioning/getTheme_v2.ts +3 -3
  601. package/src/theme/versioning/is_v0.ts +2 -2
  602. package/src/theme/versioning/is_v2.ts +2 -2
  603. package/src/theme/versioning/themeColor_v0_v2.ts +2 -2
  604. package/src/theme/versioning/themeColor_v2_v2_9.ts +1 -1
  605. package/src/theme/versioning/themeColor_v3_v2.ts +229 -52
  606. package/src/theme/versioning/v0_v2.ts +3 -3
  607. package/src/theme/versioning/v2_v0.ts +4 -4
  608. package/src/theme/versioning/v3_v2.ts +39 -38
  609. package/dist/_chunks-cjs/_visual-editing.js +0 -3059
  610. package/dist/_chunks-cjs/_visual-editing.js.map +0 -1
  611. package/dist/_chunks-cjs/buildCommand.js +0 -32
  612. package/dist/_chunks-cjs/buildCommand.js.map +0 -1
  613. package/dist/_chunks-cjs/refractor.js.map +0 -1
  614. package/dist/_chunks-cjs/v3_v2.js +0 -251
  615. package/dist/_chunks-cjs/v3_v2.js.map +0 -1
  616. package/dist/_chunks-es/_visual-editing.mjs +0 -3066
  617. package/dist/_chunks-es/_visual-editing.mjs.map +0 -1
  618. package/dist/_chunks-es/refractor.mjs.map +0 -1
  619. package/dist/_chunks-es/v3_v2.mjs +0 -252
  620. package/dist/_chunks-es/v3_v2.mjs.map +0 -1
  621. package/dist/_visual-editing.d.mts +0 -806
  622. package/dist/_visual-editing.mjs +0 -31
  623. package/dist/_visual-editing.mjs.map +0 -1
  624. package/dist/cli.js.map +0 -1
  625. package/dist/css.d.mts +0 -2135
  626. package/dist/css.mjs +0 -4713
  627. package/dist/css.mjs.map +0 -1
  628. package/dist/index.mjs +0 -1542
  629. package/dist/index.mjs.map +0 -1
  630. package/dist/sanity-palette.css +0 -9
  631. package/dist/sanity-theme.css +0 -1
  632. package/dist/system.css +0 -3577
  633. package/dist/theme.mjs.map +0 -1
  634. package/src/core/primitives/popover/popoverCard.tsx +0 -148
  635. package/src/core/primitives/tooltip/tooltipCard.tsx +0 -115
  636. package/src/core/utils/conditionalWrapper/conditionalWrapper.tsx +0 -23
  637. package/src/core/utils/conditionalWrapper/index.ts +0 -1
  638. package/src/css/compile/compilePalette.ts +0 -60
  639. package/src/css/compile/compileRule.ts +0 -90
  640. package/src/css/compile/compileRules.test.ts +0 -35
  641. package/src/css/compile/compileRules.ts +0 -40
  642. package/src/css/compile/compileSystem.ts +0 -7
  643. package/src/css/compile/compileTheme.ts +0 -15
  644. package/src/css/compile/compileTheme_v3.ts +0 -410
  645. package/src/css/compile/types.ts +0 -6
  646. package/src/css/components/breadcrumbs/rules.ts +0 -25
  647. package/src/css/components/dialog/rules.ts +0 -76
  648. package/src/css/components/menu/rules.ts +0 -15
  649. package/src/css/components/skeleton/rules.ts +0 -112
  650. package/src/css/components/toast/rules.ts +0 -17
  651. package/src/css/components/tree/rules.ts +0 -168
  652. package/src/css/composeClassNames.ts +0 -13
  653. package/src/css/primitives/_input/rules.ts +0 -163
  654. package/src/css/primitives/_selectable/__style.ts +0 -117
  655. package/src/css/primitives/_selectable/_contants.ts +0 -11
  656. package/src/css/primitives/badge/rules.ts +0 -22
  657. package/src/css/primitives/box/rules.ts +0 -28
  658. package/src/css/primitives/button/_constants.ts +0 -17
  659. package/src/css/primitives/button/rules.ts +0 -293
  660. package/src/css/primitives/card/_constants.ts +0 -13
  661. package/src/css/primitives/card/rules.ts +0 -471
  662. package/src/css/primitives/checkbox/__styles.ts +0 -129
  663. package/src/css/primitives/checkbox/rules.ts +0 -152
  664. package/src/css/primitives/code/rules.ts +0 -96
  665. package/src/css/primitives/container/rules.ts +0 -8
  666. package/src/css/primitives/heading/rules.ts +0 -155
  667. package/src/css/primitives/kbd/rules.ts +0 -20
  668. package/src/css/primitives/label/rules.ts +0 -137
  669. package/src/css/primitives/popover/rules.ts +0 -5
  670. package/src/css/primitives/radio/rules.ts +0 -121
  671. package/src/css/primitives/spinner/rules.ts +0 -20
  672. package/src/css/primitives/switch/rules.ts +0 -340
  673. package/src/css/primitives/text/rules.ts +0 -164
  674. package/src/css/primitives/textArea/rules.ts +0 -7
  675. package/src/css/primitives/textInput/rules.ts +0 -224
  676. package/src/css/primitives/token/rules.ts +0 -45
  677. package/src/css/primitives/tooltip/rules.ts +0 -19
  678. package/src/css/rules.ts +0 -113
  679. package/src/css/styles/border/border.ts +0 -22
  680. package/src/css/styles/border/rules.ts +0 -24
  681. package/src/css/styles/display/display.ts +0 -7
  682. package/src/css/styles/display/rules.ts +0 -62
  683. package/src/css/styles/flex/flex.ts +0 -20
  684. package/src/css/styles/flex/rules.ts +0 -28
  685. package/src/css/styles/flexItem/flexItem.ts +0 -8
  686. package/src/css/styles/flexItem/rules.ts +0 -12
  687. package/src/css/styles/flexItem/types.ts +0 -11
  688. package/src/css/styles/font/font.ts +0 -17
  689. package/src/css/styles/font/rules.ts +0 -148
  690. package/src/css/styles/font/types.ts +0 -12
  691. package/src/css/styles/gap/gap.ts +0 -8
  692. package/src/css/styles/gap/rules.ts +0 -34
  693. package/src/css/styles/grid/rules.ts +0 -146
  694. package/src/css/styles/gridItem/rules.ts +0 -96
  695. package/src/css/styles/height/rules.ts +0 -7
  696. package/src/css/styles/inset/rules.ts +0 -16
  697. package/src/css/styles/margin/rules.ts +0 -64
  698. package/src/css/styles/margin/types.ts +0 -11
  699. package/src/css/styles/maxWidth/maxWidth.ts +0 -6
  700. package/src/css/styles/maxWidth/rules.ts +0 -13
  701. package/src/css/styles/maxWidth/types.ts +0 -7
  702. package/src/css/styles/outline/rules.ts +0 -7
  703. package/src/css/styles/overflow/rules.ts +0 -9
  704. package/src/css/styles/padding/rules.ts +0 -62
  705. package/src/css/styles/pointerEvents/pointerEvents.ts +0 -6
  706. package/src/css/styles/pointerEvents/rules.ts +0 -11
  707. package/src/css/styles/position/position.ts +0 -7
  708. package/src/css/styles/position/rules.ts +0 -24
  709. package/src/css/styles/radius/radius.ts +0 -8
  710. package/src/css/styles/radius/rules.ts +0 -13
  711. package/src/css/styles/radius/types.ts +0 -8
  712. package/src/css/styles/shadow/rules.ts +0 -53
  713. package/src/css/styles/shadow/shadow.ts +0 -7
  714. package/src/css/styles/shadow/types.ts +0 -8
  715. package/src/css/styles/textOverflow/rules.ts +0 -17
  716. package/src/css/styles/textOverflow/textOverflow.ts +0 -6
  717. package/src/css/styles/width/rules.ts +0 -7
  718. package/src/css/styles/width/types.ts +0 -9
  719. package/src/css/styles/width/width.ts +0 -6
  720. package/src/css/utils/srOnly/rules.ts +0 -11
  721. package/src/css/varNames.ts +0 -473
  722. package/src/css/vars.ts +0 -443
  723. package/src/theme/_types.ts +0 -41
  724. package/src/theme/build/buildTheme.ts +0 -12
  725. package/src/theme/build/theme.test.ts +0 -27
  726. package/src/theme/config/tokens/parseTokenKey.test.ts +0 -64
  727. package/src/theme/config/tokens/parseTokenKey.ts +0 -67
  728. package/src/theme/palette/types.ts +0 -16
  729. package/src/theme/v3/buildTheme_v3.test.ts +0 -40
  730. package/src/theme/v3/color/buildColor_v3.ts +0 -193
  731. package/src/theme/v3/color/parseColor.test.ts +0 -79
  732. package/src/theme/v3/color/renderColor.test.ts +0 -19
  733. package/src/theme/v3/color/renderColor.ts +0 -33
  734. package/src/theme/v3/defaults.ts +0 -205
  735. /package/dist/{cli.d.ts → cli.d.cts} +0 -0
  736. /package/src/core/components/autocomplete/{__mocks__ → __workshop__/mock}/apiStore.ts +0 -0
  737. /package/src/core/components/autocomplete/{__mocks__ → __workshop__/mock}/countries.ts +0 -0
  738. /package/src/css/{styles → aspects}/border/index.ts +0 -0
  739. /package/src/css/{styles → aspects}/display/index.ts +0 -0
  740. /package/src/css/{styles → aspects}/flex/index.ts +0 -0
  741. /package/src/css/{styles → aspects}/flexItem/index.ts +0 -0
  742. /package/src/css/{styles → aspects}/font/index.ts +0 -0
  743. /package/src/css/{styles → aspects}/gap/index.ts +0 -0
  744. /package/src/css/{styles → aspects}/grid/index.ts +0 -0
  745. /package/src/css/{styles → aspects}/gridItem/index.ts +0 -0
  746. /package/src/css/{styles → aspects}/inset/index.ts +0 -0
  747. /package/src/css/{styles → aspects}/margin/index.ts +0 -0
  748. /package/src/css/{styles → aspects}/maxWidth/index.ts +0 -0
  749. /package/src/css/{styles → aspects}/overflow/index.ts +0 -0
  750. /package/src/css/{styles → aspects}/padding/index.ts +0 -0
  751. /package/src/css/{styles → aspects}/pointerEvents/index.ts +0 -0
  752. /package/src/css/{styles → aspects}/pointerEvents/types.ts +0 -0
  753. /package/src/css/{styles → aspects}/position/index.ts +0 -0
  754. /package/src/css/{styles → aspects}/radius/index.ts +0 -0
  755. /package/src/css/{styles → aspects}/shadow/index.ts +0 -0
  756. /package/src/css/{styles → aspects}/textOverflow/index.ts +0 -0
  757. /package/src/css/{styles → aspects}/width/index.ts +0 -0
  758. /package/src/{theme/palette → css/prefix}/index.ts +0 -0
  759. /package/src/theme/{build → v2/build}/_deprecated/color/index.ts +0 -0
  760. /package/src/theme/{build → v2/build}/colorToken/index.ts +0 -0
  761. /package/src/theme/{build → v2/build}/index.ts +0 -0
  762. /package/src/theme/{build → v2/build}/lib/color-fns/blend/index.ts +0 -0
  763. /package/src/theme/{build → v2/build}/lib/color-fns/index.ts +0 -0
  764. /package/src/theme/{build → v2/build}/lib/color-fns/rgba.ts +0 -0
  765. /package/src/theme/{build → v2/build}/lib/color-fns/types.ts +0 -0
  766. /package/src/theme/{build → v2/build}/lib/isRecord.ts +0 -0
  767. /package/src/theme/{build → v2/build}/lib/utils.ts +0 -0
  768. /package/src/theme/{build → v2/build}/merge.ts +0 -0
  769. /package/src/theme/{config → v2/config}/index.ts +0 -0
  770. /package/src/theme/{config → v2/config}/tokens/color/index.ts +0 -0
package/dist/index.cjs ADDED
@@ -0,0 +1,1594 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: !0 });
3
+ var theme = require("@sanity/ui/theme"), _visualEditing = require("./_chunks-cjs/_visual-editing.cjs"), jsxRuntime = require("react/jsx-runtime"), icons = require("@sanity/icons"), react = require("react"), reactCompilerRuntime = require("react-compiler-runtime"), css = require("@sanity/ui/css"), framerMotion = require("framer-motion");
4
+ const createColorTheme = theme.createColorTheme, hexToRgb = theme.hexToRgb, hslToRgb = theme.hslToRgb, multiply = theme.multiply, parseColor = theme.parseColor, rgbToHex = theme.rgbToHex, rgbToHsl = theme.rgbToHsl, rgba = theme.rgba, screen = theme.screen;
5
+ function _responsive(media, values, callback) {
6
+ return (values?.map(callback) || []).map((statement, mediaIndex) => mediaIndex === 0 ? statement : {
7
+ [`@media screen and (min-width: ${media[mediaIndex - 1]}px)`]: statement
8
+ });
9
+ }
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 : _visualEditing.isHTMLAnchorElement(element) ? !!element.href && element.rel !== "ignore" : _visualEditing.isHTMLInputElement(element) ? element.type !== "hidden" && element.type !== "file" && !element.disabled : _visualEditing.isHTMLButtonElement(element) || _visualEditing.isHTMLSelectElement(element) || _visualEditing.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 (_visualEditing.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 (_visualEditing.isHTMLElement(child) && (attemptFocus(child) || focusLastDescendant(child)))
52
+ return !0;
53
+ }
54
+ return !1;
55
+ }
56
+ function _getElements(element, elementsArg) {
57
+ const ret = [element];
58
+ for (const el of elementsArg)
59
+ Array.isArray(el) ? ret.push(...el) : ret.push(el);
60
+ return ret.filter(Boolean);
61
+ }
62
+ function useClickOutside(listener, t0, boundaryElement) {
63
+ const $ = reactCompilerRuntime.c(12), elementsArg = t0 === void 0 ? _visualEditing.EMPTY_ARRAY : t0, [element, setElement] = react.useState(null);
64
+ let t1;
65
+ $[0] !== element || $[1] !== elementsArg ? (t1 = () => _getElements(element, elementsArg), $[0] = element, $[1] = elementsArg, $[2] = t1) : t1 = $[2];
66
+ const [elements, setElements] = react.useState(t1), elementsRef = react.useRef(elements);
67
+ let t2, t3;
68
+ $[3] !== element || $[4] !== elementsArg ? (t2 = () => {
69
+ const prevElements = elementsRef.current, nextElements = _getElements(element, elementsArg);
70
+ if (prevElements.length !== nextElements.length) {
71
+ setElements(nextElements), elementsRef.current = nextElements;
72
+ return;
73
+ }
74
+ for (const el of prevElements)
75
+ if (!nextElements.includes(el)) {
76
+ setElements(nextElements), elementsRef.current = nextElements;
77
+ return;
78
+ }
79
+ for (const el_0 of nextElements)
80
+ if (!prevElements.includes(el_0)) {
81
+ setElements(nextElements), elementsRef.current = nextElements;
82
+ return;
83
+ }
84
+ }, t3 = [element, elementsArg], $[3] = element, $[4] = elementsArg, $[5] = t2, $[6] = t3) : (t2 = $[5], t3 = $[6]), react.useEffect(t2, t3);
85
+ let t4, t5;
86
+ return $[7] !== boundaryElement || $[8] !== elements || $[9] !== listener ? (t4 = () => {
87
+ if (!listener)
88
+ return;
89
+ const handleWindowMouseDown = (evt) => {
90
+ const target = evt.target;
91
+ if (target instanceof Node && !(boundaryElement && !boundaryElement.contains(target))) {
92
+ for (const el_1 of elements)
93
+ if (target === el_1 || el_1.contains(target))
94
+ return;
95
+ listener(evt);
96
+ }
97
+ };
98
+ return window.addEventListener("mousedown", handleWindowMouseDown), () => {
99
+ window.removeEventListener("mousedown", handleWindowMouseDown);
100
+ };
101
+ }, t5 = [boundaryElement, listener, elements], $[7] = boundaryElement, $[8] = elements, $[9] = listener, $[10] = t4, $[11] = t5) : (t4 = $[10], t5 = $[11]), react.useEffect(t4, t5), setElement;
102
+ }
103
+ function useElementRect(element) {
104
+ return _visualEditing.useElementSize(element)?._contentRect || null;
105
+ }
106
+ function useForwardedRef(ref) {
107
+ const $ = reactCompilerRuntime.c(1), innerRef = react.useRef(null);
108
+ let t0;
109
+ return $[0] === Symbol.for("react.memo_cache_sentinel") ? (t0 = () => innerRef.current, $[0] = t0) : t0 = $[0], react.useImperativeHandle(ref, t0), innerRef;
110
+ }
111
+ class ErrorBoundary extends react.Component {
112
+ state = {
113
+ error: null
114
+ };
115
+ static displayName = "ErrorBoundary";
116
+ static getDerivedStateFromError(error) {
117
+ return {
118
+ error
119
+ };
120
+ }
121
+ componentDidCatch(error, info) {
122
+ this.props.onCatch({
123
+ error,
124
+ info
125
+ });
126
+ }
127
+ render() {
128
+ const {
129
+ error
130
+ } = this.state;
131
+ if (error) {
132
+ const message = typeof error?.message == "string" ? error.message : "Error";
133
+ return /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Code, { children: message });
134
+ }
135
+ return this.props.children;
136
+ }
137
+ }
138
+ function AutocompleteOption(props) {
139
+ const $ = reactCompilerRuntime.c(11), {
140
+ children,
141
+ id,
142
+ onSelect,
143
+ selected,
144
+ value
145
+ } = props;
146
+ let t0;
147
+ $[0] !== onSelect || $[1] !== value ? (t0 = () => {
148
+ setTimeout(() => {
149
+ onSelect(value);
150
+ }, 0);
151
+ }, $[0] = onSelect, $[1] = value, $[2] = t0) : t0 = $[2];
152
+ const handleClick = t0;
153
+ let t1;
154
+ $[3] !== handleClick ? (t1 = (event) => {
155
+ event.key === "Enter" && !_visualEditing._isEnterToClickElement(event.currentTarget) && handleClick();
156
+ }, $[3] = handleClick, $[4] = t1) : t1 = $[4];
157
+ const handleKeyDown = t1;
158
+ let t2;
159
+ return $[5] !== children || $[6] !== handleClick || $[7] !== handleKeyDown || $[8] !== id || $[9] !== selected ? (t2 = /* @__PURE__ */ jsxRuntime.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;
160
+ }
161
+ AutocompleteOption.displayName = "AutocompleteOption";
162
+ function autocompleteReducer(state, msg) {
163
+ return msg.type === "input/change" ? {
164
+ ...state,
165
+ activeValue: null,
166
+ focused: !0,
167
+ query: msg.query
168
+ } : msg.type === "input/focus" ? {
169
+ ...state,
170
+ focused: !0
171
+ } : msg.type === "root/blur" ? {
172
+ ...state,
173
+ focused: !1,
174
+ query: null
175
+ } : msg.type === "root/clear" ? {
176
+ ...state,
177
+ activeValue: null,
178
+ query: null,
179
+ value: null
180
+ } : msg.type === "root/escape" ? {
181
+ ...state,
182
+ focused: !1,
183
+ query: null
184
+ } : msg.type === "root/open" ? {
185
+ ...state,
186
+ query: state.query || msg.query
187
+ } : msg.type === "root/setActiveValue" ? {
188
+ ...state,
189
+ activeValue: msg.value,
190
+ listFocused: msg.listFocused || state.listFocused
191
+ } : msg.type === "root/setListFocused" ? {
192
+ ...state,
193
+ listFocused: msg.listFocused
194
+ } : msg.type === "value/change" ? {
195
+ ...state,
196
+ activeValue: msg.value,
197
+ query: null,
198
+ value: msg.value
199
+ } : state;
200
+ }
201
+ 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_AUTOCOMPLETE_ELEMENT = "input", DEFAULT_RENDER_VALUE = (value, option) => option ? option.value : value, DEFAULT_FILTER_OPTION = (query, option) => option.value.toLowerCase().indexOf(query.toLowerCase()) > -1;
202
+ function Autocomplete(props) {
203
+ const {
204
+ as = DEFAULT_AUTOCOMPLETE_ELEMENT,
205
+ border = !0,
206
+ customValidity,
207
+ disabled,
208
+ filterOption: filterOptionProp,
209
+ fontSize = 2,
210
+ icon,
211
+ id,
212
+ listBox = _visualEditing.EMPTY_RECORD,
213
+ loading,
214
+ onBlur,
215
+ onChange,
216
+ onFocus,
217
+ onQueryChange,
218
+ onSelect,
219
+ openButton,
220
+ openOnFocus,
221
+ options: optionsProp,
222
+ padding: paddingProp = 3,
223
+ popover = _visualEditing.EMPTY_RECORD,
224
+ prefix,
225
+ radius = 2,
226
+ readOnly,
227
+ ref: forwardedRef,
228
+ relatedElements,
229
+ renderOption: renderOptionProp,
230
+ renderPopover,
231
+ renderValue = DEFAULT_RENDER_VALUE,
232
+ suffix,
233
+ value: valueProp,
234
+ ...rest
235
+ } = props, [state, dispatch] = react.useReducer(autocompleteReducer, {
236
+ activeValue: valueProp || null,
237
+ focused: !1,
238
+ listFocused: !1,
239
+ query: null,
240
+ value: valueProp || null
241
+ }), {
242
+ activeValue,
243
+ focused,
244
+ listFocused,
245
+ query,
246
+ value
247
+ } = state, defaultRenderOption = react.useCallback(({
248
+ value: value_0
249
+ }) => /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Card, { as: "button", padding: paddingProp, radius: 2, tone: "inherit", children: /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Text, { size: fontSize, textOverflow: "ellipsis", children: value_0 }) }), [fontSize, paddingProp]), renderOption = typeof renderOptionProp == "function" ? renderOptionProp : defaultRenderOption, filterOption = typeof filterOptionProp == "function" ? filterOptionProp : DEFAULT_FILTER_OPTION, rootElementRef = react.useRef(null), resultsPopoverElementRef = react.useRef(null), inputElementRef = react.useRef(null), listBoxElementRef = react.useRef(null), listFocusedRef = react.useRef(!1), valueRef = react.useRef(value), valuePropRef = react.useRef(valueProp), popoverMouseWithinRef = react.useRef(!1);
250
+ react.useImperativeHandle(forwardedRef, () => inputElementRef.current);
251
+ const listBoxId = `${id}-listbox`, options = Array.isArray(optionsProp) ? optionsProp : _visualEditing.EMPTY_ARRAY, padding = _visualEditing.useArrayProp(paddingProp), currentOption = react.useMemo(() => value !== null ? options.find((o) => o.value === value) : void 0, [options, value]), filteredOptions = react.useMemo(() => options.filter((option) => query ? filterOption(query, option) : !0), [filterOption, options, query]), filteredOptionsLen = filteredOptions.length, activeItemId = activeValue ? `${id}-option-${activeValue}` : void 0, expanded = query !== null && loading || focused && query !== null, handleRootBlur = react.useCallback((event) => {
252
+ setTimeout(() => {
253
+ if (popoverMouseWithinRef.current)
254
+ return;
255
+ const elements = (relatedElements || []).concat(rootElementRef.current ? [rootElementRef.current] : [], resultsPopoverElementRef.current ? [resultsPopoverElementRef.current] : []);
256
+ let focusInside = !1;
257
+ if (document.activeElement) {
258
+ for (const e of elements)
259
+ if (e === document.activeElement || e.contains(document.activeElement)) {
260
+ focusInside = !0;
261
+ break;
262
+ }
263
+ }
264
+ focusInside === !1 && (dispatch({
265
+ type: "root/blur"
266
+ }), popoverMouseWithinRef.current = !1, onQueryChange && onQueryChange(null), onBlur && onBlur(event));
267
+ }, 0);
268
+ }, [onBlur, onQueryChange, relatedElements]), handleRootFocus = react.useCallback((event_0) => {
269
+ const listBoxElement = listBoxElementRef.current, focusedElement = event_0.target instanceof HTMLElement ? event_0.target : null, listFocused_0 = listBoxElement?.contains(focusedElement) || !1;
270
+ listFocused_0 !== listFocusedRef.current && (listFocusedRef.current = listFocused_0, dispatch({
271
+ type: "root/setListFocused",
272
+ listFocused: listFocused_0
273
+ }));
274
+ }, []), handleOptionSelect = react.useCallback((v) => {
275
+ dispatch({
276
+ type: "value/change",
277
+ value: v
278
+ }), popoverMouseWithinRef.current = !1, onSelect && onSelect(v), valueRef.current = v, onChange && onChange(v), onQueryChange && onQueryChange(null), inputElementRef.current?.focus();
279
+ }, [onChange, onSelect, onQueryChange]), handleRootKeyDown = react.useCallback((event_1) => {
280
+ if (event_1.key === "ArrowDown") {
281
+ if (event_1.preventDefault(), !filteredOptionsLen) return;
282
+ const activeOption = filteredOptions.find((o_0) => o_0.value === activeValue), activeIndex = activeOption ? filteredOptions.indexOf(activeOption) : -1, nextActiveOption = filteredOptions[(activeIndex + 1) % filteredOptionsLen];
283
+ nextActiveOption && dispatch({
284
+ type: "root/setActiveValue",
285
+ value: nextActiveOption.value,
286
+ listFocused: !0
287
+ });
288
+ return;
289
+ }
290
+ if (event_1.key === "ArrowUp") {
291
+ if (event_1.preventDefault(), !filteredOptionsLen) return;
292
+ 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];
293
+ nextActiveOption_0 && dispatch({
294
+ type: "root/setActiveValue",
295
+ value: nextActiveOption_0.value,
296
+ listFocused: !0
297
+ });
298
+ return;
299
+ }
300
+ if (event_1.key === "Escape") {
301
+ dispatch({
302
+ type: "root/escape"
303
+ }), popoverMouseWithinRef.current = !1, onQueryChange && onQueryChange(null), inputElementRef.current?.focus();
304
+ return;
305
+ }
306
+ const target = event_1.target, listEl = listBoxElementRef.current;
307
+ if ((listEl === target || listEl?.contains(target)) && !AUTOCOMPLETE_LISTBOX_IGNORE_KEYS.includes(event_1.key)) {
308
+ inputElementRef.current?.focus();
309
+ return;
310
+ }
311
+ }, [activeValue, filteredOptions, filteredOptionsLen, onQueryChange]), handleInputChange = react.useCallback((event_2) => {
312
+ const nextQuery = event_2.currentTarget.value;
313
+ dispatch({
314
+ type: "input/change",
315
+ query: nextQuery
316
+ }), onQueryChange && onQueryChange(nextQuery);
317
+ }, [onQueryChange]), dispatchOpen = react.useCallback(() => {
318
+ dispatch({
319
+ type: "root/open",
320
+ query: value ? renderValue(value, currentOption) : ""
321
+ });
322
+ }, [currentOption, renderValue, value]), handleInputFocus = react.useCallback((event_3) => {
323
+ focused || (dispatch({
324
+ type: "input/focus"
325
+ }), onFocus && onFocus(event_3), openOnFocus && dispatchOpen());
326
+ }, [focused, onFocus, openOnFocus, dispatchOpen]), handlePopoverMouseEnter = react.useCallback(() => {
327
+ popoverMouseWithinRef.current = !0;
328
+ }, []), handlePopoverMouseLeave = react.useCallback(() => {
329
+ popoverMouseWithinRef.current = !1;
330
+ }, []), handleClearButtonClick = react.useCallback(() => {
331
+ dispatch({
332
+ type: "root/clear"
333
+ }), valueRef.current = "", onChange && onChange(""), onQueryChange && onQueryChange(null), inputElementRef.current?.focus();
334
+ }, [onChange, onQueryChange]), handleClearButtonFocus = react.useCallback(() => {
335
+ dispatch({
336
+ type: "input/focus"
337
+ });
338
+ }, []);
339
+ react.useEffect(() => {
340
+ if (valueProp !== valuePropRef.current) {
341
+ valuePropRef.current = valueProp, valueProp !== void 0 && (dispatch({
342
+ type: "value/change",
343
+ value: valueProp
344
+ }), valueRef.current = valueProp);
345
+ return;
346
+ }
347
+ valueProp !== valueRef.current && (valueRef.current = valueProp || null, dispatch({
348
+ type: "value/change",
349
+ value: valueProp || null
350
+ }));
351
+ }, [valueProp]), react.useEffect(() => {
352
+ !focused && valueRef.current && dispatch({
353
+ type: "root/setActiveValue",
354
+ value: valueRef.current
355
+ });
356
+ }, [focused]), react.useEffect(() => {
357
+ const listElement = listBoxElementRef.current;
358
+ if (!listElement) return;
359
+ const activeOption_1 = filteredOptions.find((o_2) => o_2.value === activeValue);
360
+ if (activeOption_1) {
361
+ const activeIndex_1 = filteredOptions.indexOf(activeOption_1), activeItemElement = listElement.childNodes[activeIndex_1];
362
+ if (activeItemElement) {
363
+ if (_hasFocus(activeItemElement))
364
+ return;
365
+ focusFirstDescendant(activeItemElement);
366
+ }
367
+ }
368
+ }, [activeValue, filteredOptions]);
369
+ const clearButton = react.useMemo(() => {
370
+ if (!loading && !disabled && value)
371
+ return {
372
+ "aria-label": "Clear",
373
+ onFocus: handleClearButtonFocus
374
+ };
375
+ }, [disabled, handleClearButtonFocus, loading, value]), openButtonBoxPadding = react.useMemo(() => padding.map((v_0) => v_0 === 0 ? 0 : v_0 === 1 || v_0 === 2 ? 1 : v_0 - 2), [padding]), openButtonPadding = react.useMemo(() => padding.map((v_1) => Math.max(v_1 - 1, 0)), [padding]), openButtonProps = react.useMemo(() => typeof openButton == "object" ? openButton : _visualEditing.EMPTY_RECORD, [openButton]), handleOpenClick = react.useCallback((event_4) => {
376
+ dispatchOpen(), openButtonProps.onClick && openButtonProps.onClick(event_4), _raf(() => inputElementRef.current?.focus());
377
+ }, [openButtonProps, dispatchOpen]), openButtonNode = react.useMemo(() => !disabled && !readOnly && openButton ? /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Box, { "aria-hidden": expanded, padding: openButtonBoxPadding, children: /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Button, { "aria-label": "Open", disabled: expanded, display: "block", fontSize, icon: icons.ChevronDownIcon, mode: "bleed", padding: openButtonPadding, ...openButtonProps, onClick: handleOpenClick }) }) : void 0, [disabled, expanded, fontSize, handleOpenClick, openButton, openButtonBoxPadding, openButtonPadding, openButtonProps, readOnly]), inputValue = react.useMemo(() => query === null ? value !== null ? renderValue(value, currentOption) : "" : query, [currentOption, query, renderValue, value]), input = /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.TextInput, { ...rest, "aria-activedescendant": activeItemId, "aria-autocomplete": "list", "aria-expanded": expanded, "aria-owns": listBoxId, autoCapitalize: "off", autoComplete: "off", autoCorrect: "off", as, border, clearButton, customValidity, disabled, fontSize, icon, iconRight: loading && _visualEditing.AnimatedSpinnerIcon, id, inputMode: "search", onChange: handleInputChange, onClear: handleClearButtonClick, onFocus: handleInputFocus, padding, prefix, radius, readOnly, ref: inputElementRef, role: "combobox", spellCheck: !1, suffix: suffix || openButtonNode, value: inputValue }), handleListBoxKeyDown = react.useCallback((event_5) => {
378
+ event_5.key === "Tab" && listFocused && inputElementRef.current?.focus();
379
+ }, [listFocused]), content2 = react.useMemo(() => filteredOptions.length === 0 ? null : /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Box, { "data-ui": "AutoComplete__results", onKeyDown: handleListBoxKeyDown, padding: 1, ...listBox, tabIndex: -1, children: /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Stack, { as: "ul", "aria-multiselectable": !1, "data-ui": "AutoComplete__resultsList", gap: 1, id: listBoxId, ref: listBoxElementRef, role: "listbox", children: filteredOptions.map((option_0) => {
380
+ const active = activeValue !== null ? option_0.value === activeValue : currentOption === option_0;
381
+ return /* @__PURE__ */ jsxRuntime.jsx(AutocompleteOption, { id: `${id}-option-${option_0.value}`, onSelect: handleOptionSelect, selected: active, value: option_0.value, children: react.cloneElement(renderOption(option_0), {
382
+ disabled: loading,
383
+ selected: active,
384
+ tabIndex: listFocused && active ? 0 : -1
385
+ }) }, option_0.value);
386
+ }) }) }), [activeValue, currentOption, filteredOptions, handleOptionSelect, handleListBoxKeyDown, id, listBox, listBoxId, listFocused, loading, renderOption]), results = react.useMemo(() => renderPopover ? renderPopover({
387
+ content: content2,
388
+ hidden: !expanded,
389
+ inputElement: inputElementRef.current,
390
+ onMouseEnter: handlePopoverMouseEnter,
391
+ onMouseLeave: handlePopoverMouseLeave
392
+ }, resultsPopoverElementRef) : filteredOptionsLen === 0 ? null : /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.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: 3, ref: resultsPopoverElementRef, referenceElement: inputElementRef.current, ...popover }), [content2, expanded, filteredOptionsLen, handlePopoverMouseEnter, handlePopoverMouseLeave, popover, renderPopover]);
393
+ return (
394
+ // eslint-disable-next-line jsx-a11y/no-static-element-interactions
395
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-ui": "Autocomplete", onBlur: handleRootBlur, onFocus: handleRootFocus, onKeyDown: handleRootKeyDown, ref: rootElementRef, children: [
396
+ input,
397
+ results
398
+ ] })
399
+ );
400
+ }
401
+ Autocomplete.displayName = "Autocomplete";
402
+ const DEFAULT_BREADCRUMBS_ELEMENT = "nav";
403
+ function Breadcrumbs(props) {
404
+ const {
405
+ as = DEFAULT_BREADCRUMBS_ELEMENT,
406
+ children,
407
+ className,
408
+ expandButton: expandButtonProps,
409
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
410
+ gap: _gapProp,
411
+ gapX = props.gap ?? props.space ?? 2,
412
+ gapY = props.gap ?? props.space ?? 2,
413
+ maxLength,
414
+ separator,
415
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
416
+ space: _spaceProp,
417
+ ...rest
418
+ } = props, [open, setOpen] = react.useState(!1), expandElementRef = react.useRef(null), popoverElementRef = react.useRef(null), collapse = react.useCallback(() => setOpen(!1), []), expand = react.useCallback(() => setOpen(!0), []);
419
+ _visualEditing.useClickOutsideEvent(collapse, () => [expandElementRef.current, popoverElementRef.current]);
420
+ const rawItems = react.useMemo(() => react.Children.toArray(children).filter(react.isValidElement), [children]), items = react.useMemo(() => {
421
+ const len = rawItems.length;
422
+ if (maxLength && len > maxLength) {
423
+ const beforeLength = Math.ceil(maxLength / 2), afterLength = Math.floor(maxLength / 2);
424
+ return [...rawItems.slice(0, beforeLength - 1), /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Popover, { constrainSize: !0, content: /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Stack, { as: "ol", gap: gapY, overflow: "auto", children: rawItems.slice(beforeLength - 1, len - afterLength) }), open, padding: 2, placement: "top", portal: !0, ref: popoverElementRef, children: /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Button, { mode: "bleed", padding: 0, text: "\u2026", ...expandButtonProps, onClick: open ? collapse : expand, ref: expandElementRef, selected: open }) }, "button"), ...rawItems.slice(len - afterLength)];
425
+ }
426
+ return rawItems;
427
+ }, [collapse, expand, expandButtonProps, gapY, maxLength, open, rawItems]);
428
+ return /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Flex, { as, "data-ui": "Breadcrumbs", ...rest, className: css._composeClassNames(className, css.breadcrumbs()), gapX, gapY, children: items.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsxs(react.Fragment, { children: [
429
+ itemIndex > 0 && /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Box, { "aria-hidden": !0, as: "li", children: separator || /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Text, { muted: !0, children: "/" }) }),
430
+ /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Box, { as: "li", children: item })
431
+ ] }, itemIndex)) });
432
+ }
433
+ Breadcrumbs.displayName = "Breadcrumbs";
434
+ function isTargetWithinScope(boundaryElement, portalElement, target) {
435
+ return !boundaryElement || !portalElement ? !0 : _visualEditing.containsOrEqualsElement(boundaryElement, target) || _visualEditing.containsOrEqualsElement(portalElement, target);
436
+ }
437
+ const DEFAULT_DIALOG_CARD_ELEMENT = "div";
438
+ function DialogCard(props) {
439
+ const $ = reactCompilerRuntime.c(51), t0 = props;
440
+ let autoFocus, children, footer, forwardedContentRef, forwardedRef, header, hideCloseButton, id, onClickOutside, onClose, portalProp, rest, t1;
441
+ $[0] !== t0 ? ({
442
+ __unstable_autoFocus: autoFocus,
443
+ __unstable_hideCloseButton: hideCloseButton,
444
+ as: t1,
445
+ children,
446
+ contentRef: forwardedContentRef,
447
+ footer,
448
+ header,
449
+ id,
450
+ onClickOutside,
451
+ onClose,
452
+ portal: portalProp,
453
+ ref: forwardedRef,
454
+ ...rest
455
+ } = t0, $[0] = t0, $[1] = autoFocus, $[2] = children, $[3] = footer, $[4] = forwardedContentRef, $[5] = forwardedRef, $[6] = header, $[7] = hideCloseButton, $[8] = id, $[9] = onClickOutside, $[10] = onClose, $[11] = portalProp, $[12] = rest, $[13] = t1) : (autoFocus = $[1], children = $[2], footer = $[3], forwardedContentRef = $[4], forwardedRef = $[5], header = $[6], hideCloseButton = $[7], id = $[8], onClickOutside = $[9], onClose = $[10], portalProp = $[11], rest = $[12], t1 = $[13]);
456
+ const as = t1 === void 0 ? DEFAULT_DIALOG_CARD_ELEMENT : t1, portal = _visualEditing.usePortal(), portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element, boundaryElement = _visualEditing.useBoundaryElement().element, ref = react.useRef(null), contentRef = react.useRef(null), layer = _visualEditing.useLayer(), {
457
+ isTopLayer
458
+ } = layer, labelId = `${id}_label`, showCloseButton = !!onClose && hideCloseButton === !1, showHeader = !!header || showCloseButton;
459
+ let t2;
460
+ $[14] === Symbol.for("react.memo_cache_sentinel") ? (t2 = () => ref.current, $[14] = t2) : t2 = $[14], react.useImperativeHandle(forwardedRef, t2);
461
+ let t3;
462
+ $[15] === Symbol.for("react.memo_cache_sentinel") ? (t3 = () => contentRef.current, $[15] = t3) : t3 = $[15], react.useImperativeHandle(forwardedContentRef, t3);
463
+ let t4, t5;
464
+ $[16] !== autoFocus ? (t4 = () => {
465
+ autoFocus && ref.current && focusFirstDescendant(ref.current);
466
+ }, t5 = [autoFocus, ref], $[16] = autoFocus, $[17] = t4, $[18] = t5) : (t4 = $[17], t5 = $[18]), react.useEffect(t4, t5);
467
+ let t6;
468
+ $[19] !== boundaryElement || $[20] !== isTopLayer || $[21] !== onClose || $[22] !== portalElement ? (t6 = (event) => {
469
+ if (!isTopLayer || !onClose)
470
+ return;
471
+ const target = document.activeElement;
472
+ target && !isTargetWithinScope(boundaryElement, portalElement, target) || event.key === "Escape" && (event.preventDefault(), event.stopPropagation(), onClose());
473
+ }, $[19] = boundaryElement, $[20] = isTopLayer, $[21] = onClose, $[22] = portalElement, $[23] = t6) : t6 = $[23], _visualEditing.useGlobalKeyDown(t6);
474
+ let t7;
475
+ $[24] !== boundaryElement || $[25] !== isTopLayer || $[26] !== onClickOutside || $[27] !== portalElement ? (t7 = isTopLayer && onClickOutside && ((event_0) => {
476
+ const target_0 = event_0.target;
477
+ target_0 && !isTargetWithinScope(boundaryElement, portalElement, target_0) || onClickOutside();
478
+ }), $[24] = boundaryElement, $[25] = isTopLayer, $[26] = onClickOutside, $[27] = portalElement, $[28] = t7) : t7 = $[28];
479
+ let t8;
480
+ $[29] === Symbol.for("react.memo_cache_sentinel") ? (t8 = () => [ref.current], $[29] = t8) : t8 = $[29], _visualEditing.useClickOutsideEvent(t7, t8);
481
+ let t9;
482
+ $[30] === Symbol.for("react.memo_cache_sentinel") ? (t9 = css.dialogCardRoot(), $[30] = t9) : t9 = $[30];
483
+ let t10;
484
+ $[31] === Symbol.for("react.memo_cache_sentinel") ? (t10 = css.dialogLayout(), $[31] = t10) : t10 = $[31];
485
+ let t11;
486
+ $[32] !== header || $[33] !== labelId || $[34] !== onClose || $[35] !== showCloseButton || $[36] !== showHeader ? (t11 = showHeader && /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Box, { className: css.dialogHeader(), position: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs(_visualEditing.Flex, { align: "flex-start", padding: 3, children: [
487
+ /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Box, { flex: 1, padding: 2, children: header && /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Text, { id: labelId, size: 1, weight: "semibold", children: header }) }),
488
+ showCloseButton && /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Box, { flex: "none", children: /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Button, { "aria-label": "Close dialog", disabled: !onClose, icon: icons.CloseIcon, mode: "bleed", onClick: onClose, padding: 2 }) })
489
+ ] }) }), $[32] = header, $[33] = labelId, $[34] = onClose, $[35] = showCloseButton, $[36] = showHeader, $[37] = t11) : t11 = $[37];
490
+ let t12;
491
+ $[38] === Symbol.for("react.memo_cache_sentinel") ? (t12 = css.dialogContent(), $[38] = t12) : t12 = $[38];
492
+ let t13;
493
+ $[39] !== children ? (t13 = /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Box, { className: t12, flex: 1, overflow: "auto", position: "relative", ref: contentRef, tabIndex: -1, children }), $[39] = children, $[40] = t13) : t13 = $[40];
494
+ let t14;
495
+ $[41] !== footer ? (t14 = footer && /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Box, { className: css.dialogFooter(), position: "relative", children: footer }), $[41] = footer, $[42] = t14) : t14 = $[42];
496
+ let t15;
497
+ $[43] !== t11 || $[44] !== t13 || $[45] !== t14 ? (t15 = /* @__PURE__ */ jsxRuntime.jsxs(_visualEditing.Flex, { className: t10, direction: "column", flex: 1, children: [
498
+ t11,
499
+ t13,
500
+ t14
501
+ ] }), $[43] = t11, $[44] = t13, $[45] = t14, $[46] = t15) : t15 = $[46];
502
+ let t16;
503
+ return $[47] !== as || $[48] !== rest || $[49] !== t15 ? (t16 = /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Card, { ...rest, as, className: t9, display: "flex", ref, children: t15 }), $[47] = as, $[48] = rest, $[49] = t15, $[50] = t16) : t16 = $[50], t16;
504
+ }
505
+ DialogCard.displayName = "DialogCard";
506
+ const DialogContext = _visualEditing.createGlobalScopedContext("@sanity/ui/context/dialog", {
507
+ version: 0
508
+ });
509
+ function useDialog() {
510
+ return react.useContext(DialogContext);
511
+ }
512
+ const DEFAULT_DIALOG_ELEMENT = "div";
513
+ function Dialog(props) {
514
+ const $ = reactCompilerRuntime.c(69), context = useDialog(), t0 = props;
515
+ let _positionProp, _zOffsetProp, children, className, contentRef, footer, header, id, onActivate, onClickOutside, onClose, onFocus, portalProp, rest, scheme, t1, t2, t3, t4, t5, t6, t7, tone;
516
+ $[0] !== t0 ? ({
517
+ __unstable_autoFocus: t1,
518
+ __unstable_hideCloseButton: t2,
519
+ animate: t3,
520
+ cardRadius: t4,
521
+ children,
522
+ className,
523
+ contentRef,
524
+ footer,
525
+ header,
526
+ id,
527
+ onActivate,
528
+ onClickOutside,
529
+ onClose,
530
+ onFocus,
531
+ padding: t5,
532
+ portal: portalProp,
533
+ position: _positionProp,
534
+ scheme,
535
+ shadow: t6,
536
+ width: t7,
537
+ zOffset: _zOffsetProp,
538
+ tone,
539
+ ...rest
540
+ } = t0, $[0] = t0, $[1] = _positionProp, $[2] = _zOffsetProp, $[3] = children, $[4] = className, $[5] = contentRef, $[6] = footer, $[7] = header, $[8] = id, $[9] = onActivate, $[10] = onClickOutside, $[11] = onClose, $[12] = onFocus, $[13] = portalProp, $[14] = rest, $[15] = scheme, $[16] = t1, $[17] = t2, $[18] = t3, $[19] = t4, $[20] = t5, $[21] = t6, $[22] = t7, $[23] = tone) : (_positionProp = $[1], _zOffsetProp = $[2], children = $[3], className = $[4], contentRef = $[5], footer = $[6], header = $[7], id = $[8], onActivate = $[9], onClickOutside = $[10], onClose = $[11], onFocus = $[12], portalProp = $[13], rest = $[14], scheme = $[15], t1 = $[16], t2 = $[17], t3 = $[18], t4 = $[19], t5 = $[20], t6 = $[21], t7 = $[22], tone = $[23]);
541
+ const autoFocus = t1 === void 0 ? !0 : t1, hideCloseButton = t2 === void 0 ? !1 : t2, _animate = t3 === void 0 ? !1 : t3, cardRadiusProp = t4 === void 0 ? 4 : t4, padding = t5 === void 0 ? 3 : t5, cardShadow = t6 === void 0 ? 4 : t6, width = t7 === void 0 ? 0 : t7, positionProp = _positionProp ?? context.position ?? "fixed", zOffsetProp = _zOffsetProp ?? context.zOffset ?? _visualEditing.Z_OFFSETS.dialog, animate = _visualEditing.usePrefersReducedMotion() ? !1 : _animate, portal = _visualEditing.usePortal(), portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element, boundaryElement = _visualEditing.useBoundaryElement().element, cardRadius = _visualEditing.useArrayProp(cardRadiusProp), position = _visualEditing.useArrayProp(positionProp), zOffset = _visualEditing.useArrayProp(zOffsetProp), preDivRef = react.useRef(null), postDivRef = react.useRef(null), cardRef = react.useRef(null), focusedElementRef = react.useRef(null);
542
+ let t8;
543
+ $[24] !== onFocus ? (t8 = (event) => {
544
+ onFocus?.(event);
545
+ const target = event.target, cardElement = cardRef.current;
546
+ if (cardElement && target === preDivRef.current) {
547
+ focusLastDescendant(cardElement);
548
+ return;
549
+ }
550
+ if (cardElement && target === postDivRef.current) {
551
+ focusFirstDescendant(cardElement);
552
+ return;
553
+ }
554
+ _visualEditing.isHTMLElement(event.target) && (focusedElementRef.current = event.target);
555
+ }, $[24] = onFocus, $[25] = t8) : t8 = $[25];
556
+ const handleFocus = t8, labelId = `${id}_label`, rootClickTimeoutRef = react.useRef(void 0);
557
+ let t9;
558
+ $[26] !== boundaryElement || $[27] !== portalElement ? (t9 = () => {
559
+ rootClickTimeoutRef.current && clearTimeout(rootClickTimeoutRef.current), rootClickTimeoutRef.current = setTimeout(() => {
560
+ const activeElement = document.activeElement;
561
+ if (activeElement && !isTargetWithinScope(boundaryElement, portalElement, activeElement)) {
562
+ const target_0 = focusedElementRef.current;
563
+ if (!target_0 || !document.body.contains(target_0)) {
564
+ const cardElement_0 = cardRef.current;
565
+ cardElement_0 && focusFirstDescendant(cardElement_0);
566
+ return;
567
+ }
568
+ target_0.focus();
569
+ }
570
+ }, 0);
571
+ }, $[26] = boundaryElement, $[27] = portalElement, $[28] = t9) : t9 = $[28];
572
+ const handleRootClick = t9;
573
+ let t10;
574
+ $[29] !== className ? (t10 = css._composeClassNames(className, css.dialog()), $[29] = className, $[30] = t10) : t10 = $[30];
575
+ const t11 = animate ? "" : void 0;
576
+ let t12;
577
+ $[31] === Symbol.for("react.memo_cache_sentinel") ? (t12 = /* @__PURE__ */ jsxRuntime.jsx("div", { ref: preDivRef, tabIndex: 0 }), $[31] = t12) : t12 = $[31];
578
+ let t13;
579
+ $[32] === Symbol.for("react.memo_cache_sentinel") ? (t13 = css.dialogContainer(), $[32] = t13) : t13 = $[32];
580
+ let t14;
581
+ $[33] !== autoFocus || $[34] !== cardRadius || $[35] !== cardShadow || $[36] !== children || $[37] !== contentRef || $[38] !== footer || $[39] !== header || $[40] !== hideCloseButton || $[41] !== id || $[42] !== onClickOutside || $[43] !== onClose || $[44] !== portalProp || $[45] !== scheme || $[46] !== tone || $[47] !== width ? (t14 = /* @__PURE__ */ jsxRuntime.jsx(DialogCard, { __unstable_autoFocus: autoFocus, __unstable_hideCloseButton: hideCloseButton, contentRef, footer, header, id, onClickOutside, onClose, portal: portalProp, radius: cardRadius, ref: cardRef, scheme, shadow: cardShadow, tone, width, children }), $[33] = autoFocus, $[34] = cardRadius, $[35] = cardShadow, $[36] = children, $[37] = contentRef, $[38] = footer, $[39] = header, $[40] = hideCloseButton, $[41] = id, $[42] = onClickOutside, $[43] = onClose, $[44] = portalProp, $[45] = scheme, $[46] = tone, $[47] = width, $[48] = t14) : t14 = $[48];
582
+ let t15;
583
+ $[49] !== t14 || $[50] !== width ? (t15 = /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Container, { align: "center", className: t13, "data-ui": "DialogCard", direction: "column", display: "flex", justify: "center", width, children: t14 }), $[49] = t14, $[50] = width, $[51] = t15) : t15 = $[51];
584
+ let t16;
585
+ $[52] === Symbol.for("react.memo_cache_sentinel") ? (t16 = /* @__PURE__ */ jsxRuntime.jsx("div", { ref: postDivRef, tabIndex: 0 }), $[52] = t16) : t16 = $[52];
586
+ let t17;
587
+ $[53] !== handleFocus || $[54] !== handleRootClick || $[55] !== id || $[56] !== labelId || $[57] !== onActivate || $[58] !== padding || $[59] !== position || $[60] !== rest || $[61] !== t10 || $[62] !== t11 || $[63] !== t15 || $[64] !== zOffset ? (t17 = /* @__PURE__ */ jsxRuntime.jsxs(_visualEditing.Layer, { ...rest, "aria-labelledby": labelId, "aria-modal": !0, className: t10, "data-animate": t11, "data-ui": "Dialog", display: "flex", id, onActivate, onClick: handleRootClick, onFocus: handleFocus, padding, position, role: "dialog", zOffset, children: [
588
+ t12,
589
+ t15,
590
+ t16
591
+ ] }), $[53] = handleFocus, $[54] = handleRootClick, $[55] = id, $[56] = labelId, $[57] = onActivate, $[58] = padding, $[59] = position, $[60] = rest, $[61] = t10, $[62] = t11, $[63] = t15, $[64] = zOffset, $[65] = t17) : t17 = $[65];
592
+ let t18;
593
+ return $[66] !== portalProp || $[67] !== t17 ? (t18 = /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Portal, { __unstable_name: portalProp, children: t17 }), $[66] = portalProp, $[67] = t17, $[68] = t18) : t18 = $[68], t18;
594
+ }
595
+ Dialog.displayName = "Dialog";
596
+ function DialogProvider(props) {
597
+ const $ = reactCompilerRuntime.c(6), {
598
+ children,
599
+ position,
600
+ zOffset
601
+ } = props;
602
+ let t0, t1;
603
+ $[0] !== position || $[1] !== zOffset ? (t1 = {
604
+ version: 0,
605
+ position,
606
+ zOffset
607
+ }, $[0] = position, $[1] = zOffset, $[2] = t1) : t1 = $[2], t0 = t1;
608
+ const contextValue = t0;
609
+ let t2;
610
+ return $[3] !== children || $[4] !== contextValue ? (t2 = /* @__PURE__ */ jsxRuntime.jsx(DialogContext.Provider, { value: contextValue, children }), $[3] = children, $[4] = contextValue, $[5] = t2) : t2 = $[5], t2;
611
+ }
612
+ DialogProvider.displayName = "DialogProvider";
613
+ function MenuButton(props) {
614
+ const $ = reactCompilerRuntime.c(63), {
615
+ __unstable_disableRestoreFocusOnClose: t0,
616
+ boundaryElement: deprecated_boundaryElement,
617
+ button: buttonProp,
618
+ id,
619
+ menu: menuProp,
620
+ onClose,
621
+ onOpen,
622
+ placement: deprecated_placement,
623
+ popoverScheme: deprecated_popoverScheme,
624
+ portal: t1,
625
+ popover,
626
+ popoverRadius: deprecated_popoverRadius,
627
+ preventOverflow: deprecated_preventOverflow,
628
+ ref: forwardedRef
629
+ } = props, disableRestoreFocusOnClose = t0 === void 0 ? !1 : t0, deprecated_portal = t1 === void 0 ? !0 : t1, [open, setOpen] = react.useState(!1), [shouldFocus, setShouldFocus] = react.useState(null), [buttonElement, setButtonElement] = react.useState(null);
630
+ let t2;
631
+ $[0] === Symbol.for("react.memo_cache_sentinel") ? (t2 = [], $[0] = t2) : t2 = $[0];
632
+ const [menuElements, setChildMenuElements] = react.useState(t2), openRef = react.useRef(open);
633
+ let t3, t4;
634
+ $[1] !== onOpen || $[2] !== open ? (t3 = () => {
635
+ onOpen && open && !openRef.current && onOpen();
636
+ }, t4 = [onOpen, open], $[1] = onOpen, $[2] = open, $[3] = t3, $[4] = t4) : (t3 = $[3], t4 = $[4]), react.useEffect(t3, t4);
637
+ let t5, t6;
638
+ $[5] !== onClose || $[6] !== open ? (t5 = () => {
639
+ onClose && !open && openRef.current && onClose();
640
+ }, t6 = [onClose, open], $[5] = onClose, $[6] = open, $[7] = t5, $[8] = t6) : (t5 = $[7], t6 = $[8]), react.useEffect(t5, t6);
641
+ let t7, t8;
642
+ $[9] !== open ? (t7 = () => {
643
+ openRef.current = open;
644
+ }, t8 = [open], $[9] = open, $[10] = t7, $[11] = t8) : (t7 = $[10], t8 = $[11]), react.useEffect(t7, t8);
645
+ let t9;
646
+ $[12] === Symbol.for("react.memo_cache_sentinel") ? (t9 = () => {
647
+ setOpen(_temp$2), setShouldFocus(null);
648
+ }, $[12] = t9) : t9 = $[12];
649
+ const handleButtonClick = t9;
650
+ let t10;
651
+ $[13] !== open ? (t10 = (event) => {
652
+ open && event.preventDefault();
653
+ }, $[13] = open, $[14] = t10) : t10 = $[14];
654
+ const handleMouseDown = t10;
655
+ let t11;
656
+ $[15] === Symbol.for("react.memo_cache_sentinel") ? (t11 = (event_0) => {
657
+ if (event_0.key === "ArrowDown" || event_0.key === "Enter" || event_0.key === " ") {
658
+ event_0.preventDefault(), setOpen(!0), setShouldFocus("first");
659
+ return;
660
+ }
661
+ if (event_0.key === "ArrowUp") {
662
+ event_0.preventDefault(), setOpen(!0), setShouldFocus("last");
663
+ return;
664
+ }
665
+ }, $[15] = t11) : t11 = $[15];
666
+ const handleButtonKeyDown = t11;
667
+ let t12;
668
+ $[16] !== buttonElement || $[17] !== menuElements ? (t12 = (event_1) => {
669
+ const target = event_1.target;
670
+ if (target instanceof Node && !(buttonElement && (target === buttonElement || buttonElement.contains(target)))) {
671
+ for (const el of menuElements)
672
+ if (target === el || el.contains(target))
673
+ return;
674
+ setOpen(!1);
675
+ }
676
+ }, $[16] = buttonElement, $[17] = menuElements, $[18] = t12) : t12 = $[18];
677
+ const handleMenuClickOutside = t12;
678
+ let t13;
679
+ $[19] !== buttonElement || $[20] !== disableRestoreFocusOnClose ? (t13 = () => {
680
+ setOpen(!1), !disableRestoreFocusOnClose && buttonElement && buttonElement.focus();
681
+ }, $[19] = buttonElement, $[20] = disableRestoreFocusOnClose, $[21] = t13) : t13 = $[21];
682
+ const handleMenuEscape = t13;
683
+ let t14;
684
+ $[22] !== menuElements ? (t14 = (event_2) => {
685
+ const target_0 = event_2.relatedTarget;
686
+ if (target_0 instanceof Node) {
687
+ for (const el_0 of menuElements)
688
+ if (el_0 === target_0 || el_0.contains(target_0))
689
+ return;
690
+ setOpen(!1);
691
+ }
692
+ }, $[22] = menuElements, $[23] = t14) : t14 = $[23];
693
+ const handleBlur = t14;
694
+ let t15;
695
+ $[24] !== buttonElement || $[25] !== disableRestoreFocusOnClose ? (t15 = () => {
696
+ setOpen(!1), !disableRestoreFocusOnClose && buttonElement && buttonElement.focus();
697
+ }, $[24] = buttonElement, $[25] = disableRestoreFocusOnClose, $[26] = t15) : t15 = $[26];
698
+ const handleItemClick = t15;
699
+ let t16;
700
+ $[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];
701
+ const registerElement = t16;
702
+ let t17;
703
+ $[28] !== buttonElement || $[29] !== handleBlur || $[30] !== handleItemClick || $[31] !== handleMenuClickOutside || $[32] !== handleMenuEscape || $[33] !== id || $[34] !== menuProp || $[35] !== shouldFocus ? (t17 = menuProp && react.cloneElement(menuProp, {
704
+ "aria-labelledby": id,
705
+ onBlurCapture: handleBlur,
706
+ onClickOutside: handleMenuClickOutside,
707
+ onEscape: handleMenuEscape,
708
+ onItemClick: handleItemClick,
709
+ originElement: buttonElement,
710
+ registerElement,
711
+ shouldFocus
712
+ }), $[28] = buttonElement, $[29] = handleBlur, $[30] = handleItemClick, $[31] = handleMenuClickOutside, $[32] = handleMenuEscape, $[33] = id, $[34] = menuProp, $[35] = shouldFocus, $[36] = t17) : t17 = $[36];
713
+ const menu = t17;
714
+ let t18;
715
+ bb0: {
716
+ if (!buttonProp) {
717
+ t18 = null;
718
+ break bb0;
719
+ }
720
+ const t192 = buttonProp.props.selected ?? open;
721
+ let t202;
722
+ $[37] !== buttonProp || $[38] !== handleMouseDown || $[39] !== id || $[40] !== open || $[41] !== t192 ? (t202 = react.cloneElement(buttonProp, {
723
+ "data-ui": "MenuButton",
724
+ id,
725
+ onClick: handleButtonClick,
726
+ onKeyDown: handleButtonKeyDown,
727
+ onMouseDown: handleMouseDown,
728
+ "aria-haspopup": !0,
729
+ "aria-expanded": open,
730
+ ref: setButtonElement,
731
+ selected: t192
732
+ }), $[37] = buttonProp, $[38] = handleMouseDown, $[39] = id, $[40] = open, $[41] = t192, $[42] = t202) : t202 = $[42], t18 = t202;
733
+ }
734
+ const button = t18;
735
+ let t19, t20;
736
+ $[43] !== buttonElement ? (t19 = () => buttonElement, t20 = [buttonElement], $[43] = buttonElement, $[44] = t19, $[45] = t20) : (t19 = $[44], t20 = $[45]), react.useImperativeHandle(forwardedRef, t19, t20);
737
+ let t21, t22;
738
+ $[46] !== popover ? (t22 = popover || {}, $[46] = popover, $[47] = t22) : t22 = $[47];
739
+ let t23;
740
+ $[48] !== deprecated_boundaryElement || $[49] !== deprecated_placement || $[50] !== deprecated_popoverRadius || $[51] !== deprecated_popoverScheme || $[52] !== deprecated_portal || $[53] !== deprecated_preventOverflow || $[54] !== t22 ? (t23 = {
741
+ boundaryElement: deprecated_boundaryElement,
742
+ overflow: "auto",
743
+ placement: deprecated_placement,
744
+ portal: deprecated_portal,
745
+ preventOverflow: deprecated_preventOverflow,
746
+ radius: deprecated_popoverRadius,
747
+ scheme: deprecated_popoverScheme,
748
+ ...t22
749
+ }, $[48] = deprecated_boundaryElement, $[49] = deprecated_placement, $[50] = deprecated_popoverRadius, $[51] = deprecated_popoverScheme, $[52] = deprecated_portal, $[53] = deprecated_preventOverflow, $[54] = t22, $[55] = t23) : t23 = $[55], t21 = t23;
750
+ const popoverProps = t21;
751
+ let t24;
752
+ $[56] !== button ? (t24 = button || /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {}), $[56] = button, $[57] = t24) : t24 = $[57];
753
+ let t25;
754
+ return $[58] !== menu || $[59] !== open || $[60] !== popoverProps || $[61] !== t24 ? (t25 = /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Popover, { "data-ui": "MenuButton__popover", ...popoverProps, content: menu, open, children: t24 }), $[58] = menu, $[59] = open, $[60] = popoverProps, $[61] = t24, $[62] = t25) : t25 = $[62], t25;
755
+ }
756
+ function _temp$2(v) {
757
+ return !v;
758
+ }
759
+ MenuButton.displayName = "MenuButton";
760
+ const DEFAULT_SKELETON_ELEMENT = "div";
761
+ function Skeleton(props) {
762
+ const $ = reactCompilerRuntime.c(17), t0 = props;
763
+ let className, delay, radius, rest, t1;
764
+ $[0] !== t0 ? ({
765
+ animated: t1,
766
+ className,
767
+ delay,
768
+ radius,
769
+ ...rest
770
+ } = t0, $[0] = t0, $[1] = className, $[2] = delay, $[3] = radius, $[4] = rest, $[5] = t1) : (className = $[1], delay = $[2], radius = $[3], rest = $[4], t1 = $[5]);
771
+ const animated = t1 === void 0 ? !1 : t1, [visible, setVisible] = react.useState(!delay);
772
+ let t2, t3;
773
+ $[6] !== delay ? (t2 = () => {
774
+ if (!delay)
775
+ return setVisible(!0);
776
+ const timeout = setTimeout(() => {
777
+ setVisible(!0);
778
+ }, delay);
779
+ return () => {
780
+ clearTimeout(timeout);
781
+ };
782
+ }, t3 = [delay], $[6] = delay, $[7] = t2, $[8] = t3) : (t2 = $[7], t3 = $[8]), react.useEffect(t2, t3);
783
+ let t4;
784
+ $[9] !== className || $[10] !== radius ? (t4 = css._composeClassNames(className, css.skeleton({
785
+ radius
786
+ })), $[9] = className, $[10] = radius, $[11] = t4) : t4 = $[11];
787
+ const t5 = animated ? "" : void 0, t6 = visible ? "" : void 0;
788
+ let t7;
789
+ return $[12] !== rest || $[13] !== t4 || $[14] !== t5 || $[15] !== t6 ? (t7 = /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Box, { "data-ui": "Skeleton", ...rest, className: t4, "data-animated": t5, "data-visible": t6 }), $[12] = rest, $[13] = t4, $[14] = t5, $[15] = t6, $[16] = t7) : t7 = $[16], t7;
790
+ }
791
+ Skeleton.displayName = "Skeleton";
792
+ const DEFAULT_CODE_SKELETON_ELEMENT = "div";
793
+ function CodeSkeleton(props) {
794
+ const $ = reactCompilerRuntime.c(10), t0 = props;
795
+ let className, rest, t1;
796
+ $[0] !== t0 ? ({
797
+ className,
798
+ size: t1,
799
+ ...rest
800
+ } = t0, $[0] = t0, $[1] = className, $[2] = rest, $[3] = t1) : (className = $[1], rest = $[2], t1 = $[3]);
801
+ const size = t1 === void 0 ? 2 : t1;
802
+ let t2;
803
+ $[4] !== className || $[5] !== size ? (t2 = css._composeClassNames(className, css.codeSkeleton({
804
+ size
805
+ })), $[4] = className, $[5] = size, $[6] = t2) : t2 = $[6];
806
+ let t3;
807
+ return $[7] !== rest || $[8] !== t2 ? (t3 = /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { ...rest, className: t2 }), $[7] = rest, $[8] = t2, $[9] = t3) : t3 = $[9], t3;
808
+ }
809
+ CodeSkeleton.displayName = "CodeSkeleton";
810
+ const DEFAULT_HEADING_SKELETON_ELEMENT = "div";
811
+ function HeadingSkeleton(props) {
812
+ const $ = reactCompilerRuntime.c(10), t0 = props;
813
+ let className, rest, t1;
814
+ $[0] !== t0 ? ({
815
+ className,
816
+ size: t1,
817
+ ...rest
818
+ } = t0, $[0] = t0, $[1] = className, $[2] = rest, $[3] = t1) : (className = $[1], rest = $[2], t1 = $[3]);
819
+ const size = t1 === void 0 ? 2 : t1;
820
+ let t2;
821
+ $[4] !== className || $[5] !== size ? (t2 = css._composeClassNames(className, css.headingSkeleton({
822
+ size
823
+ })), $[4] = className, $[5] = size, $[6] = t2) : t2 = $[6];
824
+ let t3;
825
+ return $[7] !== rest || $[8] !== t2 ? (t3 = /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { ...rest, className: t2 }), $[7] = rest, $[8] = t2, $[9] = t3) : t3 = $[9], t3;
826
+ }
827
+ HeadingSkeleton.displayName = "HeadingSkeleton";
828
+ const DEFAULT_LABEL_SKELETON_ELEMENT = "div";
829
+ function LabelSkeleton(props) {
830
+ const $ = reactCompilerRuntime.c(10), t0 = props;
831
+ let className, rest, t1;
832
+ $[0] !== t0 ? ({
833
+ className,
834
+ size: t1,
835
+ ...rest
836
+ } = t0, $[0] = t0, $[1] = className, $[2] = rest, $[3] = t1) : (className = $[1], rest = $[2], t1 = $[3]);
837
+ const size = t1 === void 0 ? 2 : t1;
838
+ let t2;
839
+ $[4] !== className || $[5] !== size ? (t2 = css._composeClassNames(className, css.labelSkeleton({
840
+ size
841
+ })), $[4] = className, $[5] = size, $[6] = t2) : t2 = $[6];
842
+ let t3;
843
+ return $[7] !== rest || $[8] !== t2 ? (t3 = /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { ...rest, className: t2 }), $[7] = rest, $[8] = t2, $[9] = t3) : t3 = $[9], t3;
844
+ }
845
+ LabelSkeleton.displayName = "LabelSkeleton";
846
+ const DEFAULT_TEXT_SKELETON_ELEMENT = "div";
847
+ function TextSkeleton(props) {
848
+ const $ = reactCompilerRuntime.c(10), t0 = props;
849
+ let className, rest, t1;
850
+ $[0] !== t0 ? ({
851
+ className,
852
+ size: t1,
853
+ ...rest
854
+ } = t0, $[0] = t0, $[1] = className, $[2] = rest, $[3] = t1) : (className = $[1], rest = $[2], t1 = $[3]);
855
+ const size = t1 === void 0 ? 2 : t1;
856
+ let t2;
857
+ $[4] !== className || $[5] !== size ? (t2 = css._composeClassNames(className, css.textSkeleton({
858
+ size
859
+ })), $[4] = className, $[5] = size, $[6] = t2) : t2 = $[6];
860
+ let t3;
861
+ return $[7] !== rest || $[8] !== t2 ? (t3 = /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { ...rest, className: t2 }), $[7] = rest, $[8] = t2, $[9] = t3) : t3 = $[9], t3;
862
+ }
863
+ TextSkeleton.displayName = "TextSkeleton";
864
+ const DEFAULT_TAB_PANEL_ELEMENT = "div";
865
+ function TabPanel(props) {
866
+ const $ = reactCompilerRuntime.c(10), t0 = props;
867
+ let children, rest, t1, tabIndex;
868
+ $[0] !== t0 ? ({
869
+ as: t1,
870
+ children,
871
+ tabIndex,
872
+ ...rest
873
+ } = t0, $[0] = t0, $[1] = children, $[2] = rest, $[3] = t1, $[4] = tabIndex) : (children = $[1], rest = $[2], t1 = $[3], tabIndex = $[4]);
874
+ const as = t1 === void 0 ? DEFAULT_TAB_PANEL_ELEMENT : t1, t2 = tabIndex === void 0 ? 0 : tabIndex;
875
+ let t3;
876
+ return $[5] !== as || $[6] !== children || $[7] !== rest || $[8] !== t2 ? (t3 = /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Box, { "data-ui": "TabPanel", ...rest, as, role: "tabpanel", tabIndex: t2, children }), $[5] = as, $[6] = children, $[7] = rest, $[8] = t2, $[9] = t3) : t3 = $[9], t3;
877
+ }
878
+ TabPanel.displayName = "TabPanel";
879
+ const DEFAULT_TOAST_ELEMENT = "li", ROLES = {
880
+ error: "alert",
881
+ warning: "alert",
882
+ success: "alert",
883
+ info: "alert"
884
+ }, STATUS_CARD_TONE = {
885
+ error: "critical",
886
+ warning: "caution",
887
+ success: "positive",
888
+ info: "neutral"
889
+ }, BUTTON_TONE = {
890
+ error: "critical",
891
+ warning: "caution",
892
+ success: "positive",
893
+ info: "neutral"
894
+ }, LONG_ENOUGH_BUT_NOT_TOO_LONG = 1e3 * 60 * 60 * 24 * 24;
895
+ function Toast(props) {
896
+ const $ = reactCompilerRuntime.c(53), t0 = props;
897
+ let closable, description, duration, onClose, rest, status, t1, t2, title, updatedAt;
898
+ $[0] !== t0 ? ({
899
+ as: t1,
900
+ closable,
901
+ description,
902
+ duration,
903
+ onClose,
904
+ radius: t2,
905
+ title,
906
+ status,
907
+ updatedAt,
908
+ ...rest
909
+ } = t0, $[0] = t0, $[1] = closable, $[2] = description, $[3] = duration, $[4] = onClose, $[5] = rest, $[6] = status, $[7] = t1, $[8] = t2, $[9] = title, $[10] = updatedAt) : (closable = $[1], description = $[2], duration = $[3], onClose = $[4], rest = $[5], status = $[6], t1 = $[7], t2 = $[8], title = $[9], updatedAt = $[10]);
910
+ const as = t1 === void 0 ? DEFAULT_TOAST_ELEMENT : t1, radius = t2 === void 0 ? 3 : t2, cardTone = status ? STATUS_CARD_TONE[status] : "default", buttonTone = status ? BUTTON_TONE[status] : "default", role = status ? ROLES[status] : "status", visualDuration = _visualEditing.usePrefersReducedMotion() ? 0 : 0.26;
911
+ let t3;
912
+ $[11] !== visualDuration ? (t3 = visualDuration ? {
913
+ type: "spring",
914
+ visualDuration,
915
+ bounce: 0.25
916
+ } : {
917
+ duration: 0
918
+ }, $[11] = visualDuration, $[12] = t3) : t3 = $[12];
919
+ const transition = t3, hasDuration = duration && isFinite(duration) && duration < LONG_ENOUGH_BUT_NOT_TOO_LONG;
920
+ let t4;
921
+ $[13] === Symbol.for("react.memo_cache_sentinel") ? (t4 = ["hidden", "initial"], $[13] = t4) : t4 = $[13];
922
+ const initial = t4;
923
+ let t5;
924
+ $[14] === Symbol.for("react.memo_cache_sentinel") ? (t5 = ["visible", "slideIn"], $[14] = t5) : t5 = $[14];
925
+ const animate = t5;
926
+ let t6;
927
+ $[15] === Symbol.for("react.memo_cache_sentinel") ? (t6 = ["hidden", "slideOut"], $[15] = t6) : t6 = $[15];
928
+ const exit = t6;
929
+ let t7;
930
+ $[16] === Symbol.for("react.memo_cache_sentinel") ? (t7 = css.toast(), $[16] = t7) : t7 = $[16];
931
+ const t8 = hasDuration ? "" : void 0;
932
+ let t9;
933
+ $[17] !== title ? (t9 = title && /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Text, { size: 1, weight: "medium", children: title }), $[17] = title, $[18] = t9) : t9 = $[18];
934
+ let t10;
935
+ $[19] !== description || $[20] !== transition ? (t10 = description && /* @__PURE__ */ jsxRuntime.jsx(MotionText, { muted: !0, size: 1, variants: content, transition, children: description }), $[19] = description, $[20] = transition, $[21] = t10) : t10 = $[21];
936
+ let t11;
937
+ $[22] !== t10 || $[23] !== t9 ? (t11 = /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Flex, { flex: 1, overflowX: "auto", padding: 3, children: /* @__PURE__ */ jsxRuntime.jsxs(_visualEditing.Stack, { gap: 3, children: [
938
+ t9,
939
+ t10
940
+ ] }) }), $[22] = t10, $[23] = t9, $[24] = t11) : t11 = $[24];
941
+ let t12;
942
+ $[25] !== buttonTone || $[26] !== closable || $[27] !== onClose ? (t12 = closable && /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Box, { padding: 1, children: /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Button, { as: "button", icon: icons.CloseIcon, mode: "bleed", padding: 2, tone: buttonTone, onClick: onClose, style: {
943
+ verticalAlign: "top"
944
+ } }) }), $[25] = buttonTone, $[26] = closable, $[27] = onClose, $[28] = t12) : t12 = $[28];
945
+ let t13;
946
+ $[29] !== t11 || $[30] !== t12 || $[31] !== transition ? (t13 = /* @__PURE__ */ jsxRuntime.jsxs(MotionFlex, { align: "flex-start", variants: content, transition, children: [
947
+ t11,
948
+ t12
949
+ ] }), $[29] = t11, $[30] = t12, $[31] = transition, $[32] = t13) : t13 = $[32];
950
+ let t14;
951
+ $[33] !== cardTone || $[34] !== duration || $[35] !== hasDuration || $[36] !== onClose || $[37] !== radius || $[38] !== transition || $[39] !== updatedAt || $[40] !== visualDuration ? (t14 = hasDuration && /* @__PURE__ */ jsxRuntime.jsxs(MotionBox, { className: css.toastLoadingBar(), variants: content, transition, children: [
952
+ /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Card, { className: css.toastLoadingBarMask(), tone: cardTone, radius }),
953
+ /* @__PURE__ */ jsxRuntime.jsx(MotionCard, { className: css.toastLoadingBarProgress(), tone: cardTone, initial: {
954
+ scaleX: 0
955
+ }, animate: {
956
+ scaleX: 1
957
+ }, transition: {
958
+ delay: visualDuration,
959
+ duration: duration / 1e3,
960
+ ease: "linear"
961
+ }, onAnimationComplete: onClose }, `progress-${updatedAt}`)
962
+ ] }), $[33] = cardTone, $[34] = duration, $[35] = hasDuration, $[36] = onClose, $[37] = radius, $[38] = transition, $[39] = updatedAt, $[40] = visualDuration, $[41] = t14) : t14 = $[41];
963
+ let t15;
964
+ return $[42] !== as || $[43] !== cardTone || $[44] !== radius || $[45] !== rest || $[46] !== role || $[47] !== t13 || $[48] !== t14 || $[49] !== t8 || $[50] !== transition || $[51] !== visualDuration ? (t15 = /* @__PURE__ */ jsxRuntime.jsxs(MotionCard, { as, className: t7, "data-ui": "Toast", role, ...rest, "data-has-duration": t8, custom: visualDuration, radius, shadow: 2, tone: cardTone, layout: "position", variants: container, initial, animate, exit, transition, position: "relative", children: [
965
+ t13,
966
+ t14
967
+ ] }), $[42] = as, $[43] = cardTone, $[44] = radius, $[45] = rest, $[46] = role, $[47] = t13, $[48] = t14, $[49] = t8, $[50] = transition, $[51] = visualDuration, $[52] = t15) : t15 = $[52], t15;
968
+ }
969
+ Toast.displayName = "Toast";
970
+ const container = {
971
+ initial: {
972
+ y: 32,
973
+ scale: 0.5,
974
+ zIndex: 1
975
+ },
976
+ hidden: {
977
+ opacity: 0
978
+ },
979
+ visible: (visualDuration) => visualDuration ? {
980
+ opacity: 1,
981
+ transition: {
982
+ when: "beforeChildren",
983
+ staggerChildren: visualDuration / 3,
984
+ duration: visualDuration / 3
985
+ }
986
+ } : {
987
+ opacity: 1
988
+ },
989
+ slideIn: {
990
+ y: 0,
991
+ scale: 1
992
+ },
993
+ slideOut: {
994
+ zIndex: 0,
995
+ scale: 0.75
996
+ }
997
+ }, content = {
998
+ initial: {
999
+ willChange: "transform"
1000
+ },
1001
+ hidden: {
1002
+ opacity: 0
1003
+ },
1004
+ visible: {
1005
+ opacity: 1
1006
+ }
1007
+ }, MotionCard = framerMotion.motion.create(_visualEditing.Card), MotionFlex = framerMotion.motion.create(_visualEditing.Flex), MotionText = framerMotion.motion.create(_visualEditing.Text), MotionBox = framerMotion.motion.create(_visualEditing.Box);
1008
+ function useMounted() {
1009
+ return react.useSyncExternalStore(subscribe, _temp$1, _temp2);
1010
+ }
1011
+ function _temp2() {
1012
+ return !1;
1013
+ }
1014
+ function _temp$1() {
1015
+ return !0;
1016
+ }
1017
+ const subscribe = () => () => {
1018
+ }, ToastContext = _visualEditing.createGlobalScopedContext("@sanity/ui/context/toast", null), DEFAULT_TOAST_LAYER_ELEMENT = "ul";
1019
+ function ToastLayer(props) {
1020
+ const $ = reactCompilerRuntime.c(11), {
1021
+ as: t0,
1022
+ children,
1023
+ padding: t1,
1024
+ paddingX,
1025
+ paddingY,
1026
+ gap: t2
1027
+ } = props, as = t0 === void 0 ? DEFAULT_TOAST_LAYER_ELEMENT : t0, padding = t1 === void 0 ? 4 : t1, gap = t2 === void 0 ? 3 : t2, {
1028
+ zIndex
1029
+ } = _visualEditing.useLayer();
1030
+ let t3;
1031
+ $[0] === Symbol.for("react.memo_cache_sentinel") ? (t3 = css.toastLayer(), $[0] = t3) : t3 = $[0];
1032
+ let t4;
1033
+ $[1] !== zIndex ? (t4 = {
1034
+ zIndex
1035
+ }, $[1] = zIndex, $[2] = t4) : t4 = $[2];
1036
+ let t5;
1037
+ return $[3] !== as || $[4] !== children || $[5] !== gap || $[6] !== padding || $[7] !== paddingX || $[8] !== paddingY || $[9] !== t4 ? (t5 = /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Grid, { as, className: t3, "data-ui": "ToastProvider", padding, paddingX, paddingY, gap, columns: 1, style: t4, children }), $[3] = as, $[4] = children, $[5] = gap, $[6] = padding, $[7] = paddingX, $[8] = paddingY, $[9] = t4, $[10] = t5) : t5 = $[10], t5;
1038
+ }
1039
+ ToastLayer.displayName = "ToastLayer";
1040
+ let toastId = 0;
1041
+ function generateToastId() {
1042
+ return String(toastId++);
1043
+ }
1044
+ function ToastProvider(props) {
1045
+ const $ = reactCompilerRuntime.c(13), {
1046
+ children,
1047
+ padding,
1048
+ paddingX,
1049
+ paddingY,
1050
+ gap,
1051
+ zOffset: t0
1052
+ } = props, zOffset = t0 === void 0 ? 1 : t0;
1053
+ let t1;
1054
+ $[0] === Symbol.for("react.memo_cache_sentinel") ? (t1 = [], $[0] = t1) : t1 = $[0];
1055
+ const [state, setState] = react.useState(t1), mounted = useMounted();
1056
+ let t2, t3;
1057
+ $[1] === Symbol.for("react.memo_cache_sentinel") ? (t3 = {
1058
+ version: 0,
1059
+ push: (params) => {
1060
+ const id = params.id || generateToastId(), duration = params.duration || 5e3;
1061
+ return react.startTransition(() => {
1062
+ setState((prevState) => {
1063
+ if (duration === 0.01)
1064
+ return prevState.filter((toast) => toast.id !== id);
1065
+ const dismiss = () => react.startTransition(() => setState((currentState) => currentState.filter((toast_0) => toast_0.id !== id)));
1066
+ return [...prevState.filter((toast_1) => toast_1.id !== id), {
1067
+ dismiss,
1068
+ id,
1069
+ updatedAt: Date.now(),
1070
+ params: {
1071
+ ...params,
1072
+ duration
1073
+ }
1074
+ }];
1075
+ });
1076
+ }), id;
1077
+ }
1078
+ }, $[1] = t3) : t3 = $[1], t2 = t3;
1079
+ const value = t2;
1080
+ let t4;
1081
+ $[2] !== gap || $[3] !== mounted || $[4] !== padding || $[5] !== paddingX || $[6] !== paddingY || $[7] !== state || $[8] !== zOffset ? (t4 = mounted && /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.LayerProvider, { zOffset, children: /* @__PURE__ */ jsxRuntime.jsx(ToastLayer, { padding, paddingX, paddingY, gap, children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { initial: !1, mode: "popLayout", children: state.map(_temp) }) }) }), $[2] = gap, $[3] = mounted, $[4] = padding, $[5] = paddingX, $[6] = paddingY, $[7] = state, $[8] = zOffset, $[9] = t4) : t4 = $[9];
1082
+ let t5;
1083
+ return $[10] !== children || $[11] !== t4 ? (t5 = /* @__PURE__ */ jsxRuntime.jsxs(ToastContext.Provider, { value, children: [
1084
+ children,
1085
+ t4
1086
+ ] }), $[10] = children, $[11] = t4, $[12] = t5) : t5 = $[12], t5;
1087
+ }
1088
+ function _temp(t0) {
1089
+ const {
1090
+ dismiss: dismiss_0,
1091
+ id: id_0,
1092
+ params: params_0,
1093
+ updatedAt
1094
+ } = t0;
1095
+ return /* @__PURE__ */ jsxRuntime.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);
1096
+ }
1097
+ ToastProvider.displayName = "ToastProvider";
1098
+ function useToast() {
1099
+ const value = react.useContext(ToastContext);
1100
+ if (!value)
1101
+ throw new Error("useToast(): missing context value");
1102
+ if (!_visualEditing.isRecord(value) || value.version !== 0)
1103
+ throw new Error("useToast(): the context value is not compatible");
1104
+ return value;
1105
+ }
1106
+ function _findPrevItemElement(state, itemElements, focusedElement) {
1107
+ const idx = itemElements.indexOf(focusedElement), els = itemElements.slice(0, idx), len = els.length;
1108
+ for (let i = len - 1; i >= 0; i -= 1) {
1109
+ const itemKey = els[i].getAttribute("data-tree-key");
1110
+ if (!itemKey)
1111
+ continue;
1112
+ const segments = itemKey.split("/");
1113
+ segments.pop();
1114
+ const p = [];
1115
+ let expanded = !0;
1116
+ for (let j = 0; j < segments.length; j += 1) {
1117
+ p.push(segments[j]);
1118
+ const k = p.join("/");
1119
+ if (!state[k]?.expanded) {
1120
+ expanded = !1;
1121
+ break;
1122
+ }
1123
+ }
1124
+ if (expanded)
1125
+ return els[i];
1126
+ }
1127
+ return null;
1128
+ }
1129
+ function _findNextItemElement(state, itemElements, focusedElement) {
1130
+ const idx = itemElements.indexOf(focusedElement), els = itemElements.slice(idx), len = itemElements.length;
1131
+ for (let i = 1; i < len; i += 1) {
1132
+ if (!els[i])
1133
+ continue;
1134
+ const itemKey = els[i].getAttribute("data-tree-key");
1135
+ if (!itemKey)
1136
+ continue;
1137
+ const segments = itemKey.split("/");
1138
+ segments.pop();
1139
+ const p = [];
1140
+ let expanded = !0;
1141
+ for (let j = 0; j < segments.length; j += 1) {
1142
+ p.push(segments[j]);
1143
+ const k = p.join("/");
1144
+ if (!state[k]?.expanded) {
1145
+ expanded = !1;
1146
+ break;
1147
+ }
1148
+ }
1149
+ if (expanded)
1150
+ return els[i];
1151
+ }
1152
+ return null;
1153
+ }
1154
+ function _focusItemElement(el) {
1155
+ if (el.getAttribute("role") === "treeitem" && el.focus(), el.getAttribute("role") === "none") {
1156
+ const firstChild = el.firstChild;
1157
+ firstChild && firstChild instanceof HTMLElement && firstChild.focus();
1158
+ }
1159
+ }
1160
+ const TreeContext = _visualEditing.createGlobalScopedContext("@sanity/ui/context/tree", null), DEFAULT_TREE_ELEMENT = "div";
1161
+ function Tree(props) {
1162
+ const $ = reactCompilerRuntime.c(39), t0 = props;
1163
+ let children, forwardedRef, gap, onFocus, rest, t1;
1164
+ $[0] !== t0 ? ({
1165
+ children,
1166
+ gap,
1167
+ space: t1,
1168
+ onFocus,
1169
+ ref: forwardedRef,
1170
+ ...rest
1171
+ } = t0, $[0] = t0, $[1] = children, $[2] = forwardedRef, $[3] = gap, $[4] = onFocus, $[5] = rest, $[6] = t1) : (children = $[1], forwardedRef = $[2], gap = $[3], onFocus = $[4], rest = $[5], t1 = $[6]);
1172
+ const space = t1 === void 0 ? 1 : t1, ref = react.useRef(null), [focusedElement, setFocusedElement] = react.useState(null), focusedElementRef = react.useRef(focusedElement);
1173
+ let t2, t3;
1174
+ $[7] === Symbol.for("react.memo_cache_sentinel") ? (t3 = [], $[7] = t3) : t3 = $[7], t2 = t3;
1175
+ const path = t2;
1176
+ let t4;
1177
+ $[8] === Symbol.for("react.memo_cache_sentinel") ? (t4 = [], $[8] = t4) : t4 = $[8];
1178
+ const [itemElements, setItemElements] = react.useState(t4);
1179
+ let t5;
1180
+ $[9] === Symbol.for("react.memo_cache_sentinel") ? (t5 = {}, $[9] = t5) : t5 = $[9];
1181
+ const [state, setState] = react.useState(t5), stateRef = react.useRef(state);
1182
+ let t6;
1183
+ $[10] === Symbol.for("react.memo_cache_sentinel") ? (t6 = () => ref.current, $[10] = t6) : t6 = $[10], react.useImperativeHandle(forwardedRef, t6);
1184
+ let t7, t8;
1185
+ $[11] !== focusedElement ? (t7 = () => {
1186
+ focusedElementRef.current = focusedElement;
1187
+ }, t8 = [focusedElement], $[11] = focusedElement, $[12] = t7, $[13] = t8) : (t7 = $[12], t8 = $[13]), react.useEffect(t7, t8);
1188
+ let t10, t9;
1189
+ $[14] !== state ? (t9 = () => {
1190
+ stateRef.current = state;
1191
+ }, t10 = [state], $[14] = state, $[15] = t10, $[16] = t9) : (t10 = $[15], t9 = $[16]), react.useEffect(t9, t10);
1192
+ let t11;
1193
+ $[17] === Symbol.for("react.memo_cache_sentinel") ? (t11 = (element, path_0, expanded, selected) => (setState((s) => ({
1194
+ ...s,
1195
+ [path_0]: {
1196
+ element,
1197
+ expanded
1198
+ }
1199
+ })), selected && setFocusedElement(element), () => {
1200
+ setState((s_0) => {
1201
+ const newState = {
1202
+ ...s_0
1203
+ };
1204
+ return delete newState[path_0], newState;
1205
+ });
1206
+ }), $[17] = t11) : t11 = $[17];
1207
+ const registerItem = t11;
1208
+ let t12;
1209
+ $[18] === Symbol.for("react.memo_cache_sentinel") ? (t12 = (path_1, expanded_0) => {
1210
+ setState((s_1) => {
1211
+ const itemState = s_1[path_1];
1212
+ return itemState ? {
1213
+ ...s_1,
1214
+ [path_1]: {
1215
+ ...itemState,
1216
+ expanded: expanded_0
1217
+ }
1218
+ } : s_1;
1219
+ });
1220
+ }, $[18] = t12) : t12 = $[18];
1221
+ const setExpanded = t12;
1222
+ let t13;
1223
+ const t14 = focusedElement || itemElements[0] || null;
1224
+ let t15;
1225
+ $[19] !== space || $[20] !== state || $[21] !== t14 ? (t15 = {
1226
+ version: 0,
1227
+ focusedElement: t14,
1228
+ level: 0,
1229
+ path,
1230
+ registerItem,
1231
+ setExpanded,
1232
+ setFocusedElement,
1233
+ space,
1234
+ state
1235
+ }, $[19] = space, $[20] = state, $[21] = t14, $[22] = t15) : t15 = $[22], t13 = t15;
1236
+ const contextValue = t13;
1237
+ let t16;
1238
+ $[23] !== itemElements ? (t16 = (event) => {
1239
+ if (focusedElementRef.current) {
1240
+ if (event.key === "ArrowDown") {
1241
+ event.preventDefault();
1242
+ const nextEl = _findNextItemElement(stateRef.current, itemElements, focusedElementRef.current);
1243
+ nextEl && (_focusItemElement(nextEl), setFocusedElement(nextEl));
1244
+ return;
1245
+ }
1246
+ if (event.key === "ArrowUp") {
1247
+ event.preventDefault();
1248
+ const prevEl = _findPrevItemElement(stateRef.current, itemElements, focusedElementRef.current);
1249
+ prevEl && (_focusItemElement(prevEl), setFocusedElement(prevEl));
1250
+ return;
1251
+ }
1252
+ if (event.key === "ArrowLeft") {
1253
+ event.preventDefault();
1254
+ const itemKey = focusedElementRef.current.getAttribute("data-tree-key");
1255
+ if (!itemKey)
1256
+ return;
1257
+ const itemState_0 = stateRef.current[itemKey];
1258
+ if (!itemState_0)
1259
+ return;
1260
+ if (itemState_0.expanded)
1261
+ setState((s_2) => {
1262
+ const itemState_1 = s_2[itemKey];
1263
+ return itemState_1 ? {
1264
+ ...s_2,
1265
+ [itemKey]: {
1266
+ ...itemState_1,
1267
+ expanded: !1
1268
+ }
1269
+ } : s_2;
1270
+ });
1271
+ else {
1272
+ const itemPath = itemKey.split("/");
1273
+ itemPath.pop();
1274
+ const parentKey = itemPath.join("/"), parentState = parentKey && stateRef.current[parentKey];
1275
+ parentState && (parentState.element.focus(), setFocusedElement(parentState.element));
1276
+ }
1277
+ return;
1278
+ }
1279
+ if (event.key === "ArrowRight") {
1280
+ event.preventDefault();
1281
+ const focusedKey = focusedElementRef.current.getAttribute("data-tree-key");
1282
+ if (!focusedKey)
1283
+ return;
1284
+ stateRef.current[focusedKey]?.expanded || setState((s_3) => {
1285
+ const itemState_2 = s_3[focusedKey];
1286
+ return itemState_2 ? {
1287
+ ...s_3,
1288
+ [focusedKey]: {
1289
+ ...itemState_2,
1290
+ expanded: !0
1291
+ }
1292
+ } : s_3;
1293
+ });
1294
+ return;
1295
+ }
1296
+ }
1297
+ }, $[23] = itemElements, $[24] = t16) : t16 = $[24];
1298
+ const handleKeyDown = t16;
1299
+ let t17;
1300
+ $[25] !== onFocus ? (t17 = (event_0) => {
1301
+ setFocusedElement(event_0.target), onFocus?.(event_0);
1302
+ }, $[25] = onFocus, $[26] = t17) : t17 = $[26];
1303
+ const handleFocus = t17;
1304
+ let t18;
1305
+ $[27] === Symbol.for("react.memo_cache_sentinel") ? (t18 = () => {
1306
+ if (!ref.current)
1307
+ return;
1308
+ const _itemElements = Array.from(ref.current.querySelectorAll('[data-ui="TreeItem"]'));
1309
+ setItemElements(_itemElements);
1310
+ }, $[27] = t18) : t18 = $[27];
1311
+ let t19;
1312
+ $[28] !== children ? (t19 = [children], $[28] = children, $[29] = t19) : t19 = $[29], react.useEffect(t18, t19);
1313
+ const t20 = gap ?? space;
1314
+ let t21;
1315
+ $[30] !== children || $[31] !== handleFocus || $[32] !== handleKeyDown || $[33] !== rest || $[34] !== t20 ? (t21 = /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Stack, { as: "ul", "data-ui": "Tree", ...rest, gap: t20, onFocus: handleFocus, onKeyDown: handleKeyDown, ref, role: "tree", children }), $[30] = children, $[31] = handleFocus, $[32] = handleKeyDown, $[33] = rest, $[34] = t20, $[35] = t21) : t21 = $[35];
1316
+ let t22;
1317
+ return $[36] !== contextValue || $[37] !== t21 ? (t22 = /* @__PURE__ */ jsxRuntime.jsx(TreeContext.Provider, { value: contextValue, children: t21 }), $[36] = contextValue, $[37] = t21, $[38] = t22) : t22 = $[38], t22;
1318
+ }
1319
+ Tree.displayName = "Tree";
1320
+ function useTree() {
1321
+ const tree = react.useContext(TreeContext);
1322
+ if (!tree)
1323
+ throw new Error("Tree: missing context value");
1324
+ return tree;
1325
+ }
1326
+ const TreeGroup = react.memo(function(props) {
1327
+ const $ = reactCompilerRuntime.c(9), t0 = props;
1328
+ let children, rest, t1;
1329
+ $[0] !== t0 ? ({
1330
+ children,
1331
+ expanded: t1,
1332
+ ...rest
1333
+ } = t0, $[0] = t0, $[1] = children, $[2] = rest, $[3] = t1) : (children = $[1], rest = $[2], t1 = $[3]);
1334
+ const expanded = t1 === void 0 ? !1 : t1, tree = useTree(), t2 = !expanded;
1335
+ let t3;
1336
+ return $[4] !== children || $[5] !== rest || $[6] !== t2 || $[7] !== tree.space ? (t3 = /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Stack, { as: "ul", "data-ui": "TreeGroup", ...rest, hidden: t2, marginTop: tree.space, role: "group", gap: tree.space, children }), $[4] = children, $[5] = rest, $[6] = t2, $[7] = tree.space, $[8] = t3) : t3 = $[8], t3;
1337
+ });
1338
+ TreeGroup.displayName = "TreeGroup";
1339
+ const DEFAULT_TREE_ITEM_ELEMENT = "a";
1340
+ function TreeItem(props) {
1341
+ const {
1342
+ children,
1343
+ className,
1344
+ expanded: expandedProp = !1,
1345
+ fontSize = 1,
1346
+ href,
1347
+ icon: IconComponent,
1348
+ id: idProp,
1349
+ linkAs = "a",
1350
+ muted,
1351
+ onClick,
1352
+ padding = 2,
1353
+ radius = 2,
1354
+ selected = !1,
1355
+ space = 2,
1356
+ text,
1357
+ weight,
1358
+ ...rest
1359
+ } = props, rootRef = react.useRef(null), treeitemRef = react.useRef(null), tree = useTree(), {
1360
+ path,
1361
+ registerItem,
1362
+ setExpanded,
1363
+ setFocusedElement
1364
+ } = tree, _id = react.useId(), id = idProp || _id, itemPath = react.useMemo(() => path.concat([id || ""]), [id, path]), itemKey = itemPath.join("/"), itemState = tree.state[itemKey], focused = tree.focusedElement === rootRef.current, expanded = itemState?.expanded === void 0 ? expandedProp : itemState?.expanded || !1, tabIndex = tree.focusedElement && tree.focusedElement === rootRef.current ? 0 : -1, contextValue = react.useMemo(() => ({
1365
+ ...tree,
1366
+ level: tree.level + 1,
1367
+ path: itemPath
1368
+ }), [itemPath, tree]), handleClick = react.useCallback((event) => {
1369
+ onClick && onClick(event);
1370
+ const target = event.target;
1371
+ target instanceof HTMLElement && (target.getAttribute("data-ui") === "TreeItem" || target.closest('[data-ui="TreeItem__box"]')) && (event.stopPropagation(), setExpanded(itemKey, !expanded), setFocusedElement(rootRef.current));
1372
+ }, [expanded, itemKey, onClick, setExpanded, setFocusedElement]), handleKeyDown = react.useCallback((event_0) => {
1373
+ focused && event_0.key === "Enter" && (treeitemRef.current || rootRef.current)?.click();
1374
+ }, [focused]);
1375
+ react.useEffect(() => {
1376
+ if (rootRef.current)
1377
+ return registerItem(rootRef.current, itemPath.join("/"), expanded, selected);
1378
+ }, [expanded, itemPath, registerItem, selected]);
1379
+ const content2 = /* @__PURE__ */ jsxRuntime.jsxs(_visualEditing.Flex, { gap: space, padding, children: [
1380
+ /* @__PURE__ */ jsxRuntime.jsxs(_visualEditing.Box, { style: {
1381
+ visibility: IconComponent || children ? "visible" : "hidden",
1382
+ pointerEvents: "none"
1383
+ }, children: [
1384
+ IconComponent && /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Text, { muted, size: fontSize, weight, children: /* @__PURE__ */ jsxRuntime.jsx(IconComponent, {}) }),
1385
+ !IconComponent && /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Text, { muted, size: fontSize, weight, children: /* @__PURE__ */ jsxRuntime.jsx(icons.ToggleArrowRightIcon, { style: {
1386
+ transform: expanded ? "rotate(90deg)" : void 0
1387
+ } }) })
1388
+ ] }),
1389
+ /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Box, { flex: 1, children: /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Text, { muted, size: fontSize, textOverflow: "ellipsis", weight, children: text }) })
1390
+ ] });
1391
+ return href ? /* @__PURE__ */ jsxRuntime.jsxs(_visualEditing.Box, { "data-selected": selected ? "" : void 0, "data-tree-id": id, "data-tree-key": itemKey, "data-ui": "TreeItem", ...rest, as: "li", className: css._composeClassNames(className, css.treeItem()), onClick: handleClick, ref: rootRef, role: "none", children: [
1392
+ /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Selectable, { "aria-expanded": expanded, as: linkAs, "data-pressed": selected ? "" : void 0, "data-ui": "TreeItem__box", href, radius, ref: treeitemRef, role: "treeitem", tabIndex, style: {
1393
+ paddingLeft: `calc(${css.vars.space[2]} * ${tree.level})`
1394
+ }, children: content2 }),
1395
+ /* @__PURE__ */ jsxRuntime.jsx(TreeContext.Provider, { value: contextValue, children: children && /* @__PURE__ */ jsxRuntime.jsx(TreeGroup, { hidden: !expanded, children }) })
1396
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs(_visualEditing.Box, { "data-selected": selected ? "" : void 0, "data-ui": "TreeItem", "data-tree-id": id, "data-tree-key": itemKey, ...rest, "aria-expanded": expanded, className: css._composeClassNames(className, css.treeItem()), onClick: handleClick, onKeyDown: handleKeyDown, ref: rootRef, role: "treeitem", tabIndex, children: [
1397
+ /* @__PURE__ */ jsxRuntime.jsx(_visualEditing.Selectable, { as: "button", "data-pressed": selected ? "" : void 0, "data-ui": "TreeItem__box", radius, style: {
1398
+ paddingLeft: `calc(${css.vars.space[2]} * ${tree.level})`
1399
+ }, children: content2 }),
1400
+ /* @__PURE__ */ jsxRuntime.jsx(TreeContext.Provider, { value: contextValue, children: children && /* @__PURE__ */ jsxRuntime.jsx(TreeGroup, { expanded, children }) })
1401
+ ] });
1402
+ }
1403
+ TreeItem.displayName = "TreeItem";
1404
+ function StyleTags() {
1405
+ const $ = reactCompilerRuntime.c(2);
1406
+ let t0;
1407
+ $[0] === Symbol.for("react.memo_cache_sentinel") ? (t0 = /* @__PURE__ */ jsxRuntime.jsx("style", { href: "sanity-theme", precedence: "theme", children: css._compileTheme() }), $[0] = t0) : t0 = $[0];
1408
+ let t1;
1409
+ return $[1] === Symbol.for("react.memo_cache_sentinel") ? (t1 = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1410
+ t0,
1411
+ /* @__PURE__ */ jsxRuntime.jsx("style", { href: "sanity-system", precedence: "system", children: css._compileSystem() })
1412
+ ] }), $[1] = t1) : t1 = $[1], t1;
1413
+ }
1414
+ StyleTags.displayName = "StyleTags";
1415
+ exports.Arrow = _visualEditing.Arrow;
1416
+ exports.Avatar = _visualEditing.Avatar;
1417
+ exports.AvatarCounter = _visualEditing.AvatarCounter;
1418
+ exports.AvatarStack = _visualEditing.AvatarStack;
1419
+ exports.Badge = _visualEditing.Badge;
1420
+ exports.BoundaryElementProvider = _visualEditing.BoundaryElementProvider;
1421
+ exports.Box = _visualEditing.Box;
1422
+ exports.Button = _visualEditing.Button;
1423
+ exports.Card = _visualEditing.Card;
1424
+ exports.CardProvider = _visualEditing.CardProvider;
1425
+ exports.Checkbox = _visualEditing.Checkbox;
1426
+ exports.Code = _visualEditing.Code;
1427
+ exports.Container = _visualEditing.Container;
1428
+ exports.DEFAULT_ARROW_ELEMENT = _visualEditing.DEFAULT_ARROW_ELEMENT;
1429
+ exports.DEFAULT_AVATAR_COUNTER_ELEMENT = _visualEditing.DEFAULT_AVATAR_COUNTER_ELEMENT;
1430
+ exports.DEFAULT_AVATAR_ELEMENT = _visualEditing.DEFAULT_AVATAR_ELEMENT;
1431
+ exports.DEFAULT_AVATAR_STACK_ELEMENT = _visualEditing.DEFAULT_AVATAR_STACK_ELEMENT;
1432
+ exports.DEFAULT_BADGE_ELEMENT = _visualEditing.DEFAULT_BADGE_ELEMENT;
1433
+ exports.DEFAULT_BOX_ELEMENT = _visualEditing.DEFAULT_BOX_ELEMENT;
1434
+ exports.DEFAULT_BUTTON_ELEMENT = _visualEditing.DEFAULT_BUTTON_ELEMENT;
1435
+ exports.DEFAULT_CARD_ELEMENT = _visualEditing.DEFAULT_CARD_ELEMENT;
1436
+ exports.DEFAULT_CHECKBOX_ELEMENT = _visualEditing.DEFAULT_CHECKBOX_ELEMENT;
1437
+ exports.DEFAULT_CODE_ELEMENT = _visualEditing.DEFAULT_CODE_ELEMENT;
1438
+ exports.DEFAULT_CONTAINER_ELEMENT = _visualEditing.DEFAULT_CONTAINER_ELEMENT;
1439
+ exports.DEFAULT_ELEMENT_QUERY_ELEMENT = _visualEditing.DEFAULT_ELEMENT_QUERY_ELEMENT;
1440
+ exports.DEFAULT_FLEX_ELEMENT = _visualEditing.DEFAULT_FLEX_ELEMENT;
1441
+ exports.DEFAULT_GRID_ELEMENT = _visualEditing.DEFAULT_GRID_ELEMENT;
1442
+ exports.DEFAULT_HEADING_ELEMENT = _visualEditing.DEFAULT_HEADING_ELEMENT;
1443
+ exports.DEFAULT_HOTKEYS_ELEMENT = _visualEditing.DEFAULT_HOTKEYS_ELEMENT;
1444
+ exports.DEFAULT_INLINE_ELEMENT = _visualEditing.DEFAULT_INLINE_ELEMENT;
1445
+ exports.DEFAULT_KBD_ELEMENT = _visualEditing.DEFAULT_KBD_ELEMENT;
1446
+ exports.DEFAULT_LABEL_ELEMENT = _visualEditing.DEFAULT_LABEL_ELEMENT;
1447
+ exports.DEFAULT_LAYER_ELEMENT = _visualEditing.DEFAULT_LAYER_ELEMENT;
1448
+ exports.DEFAULT_MENU_DIVIDER_ELEMENT = _visualEditing.DEFAULT_MENU_DIVIDER_ELEMENT;
1449
+ exports.DEFAULT_MENU_ELEMENT = _visualEditing.DEFAULT_MENU_ELEMENT;
1450
+ exports.DEFAULT_MENU_GROUP_ELEMENT = _visualEditing.DEFAULT_MENU_GROUP_ELEMENT;
1451
+ exports.DEFAULT_MENU_ITEM_ELEMENT = _visualEditing.DEFAULT_MENU_ITEM_ELEMENT;
1452
+ exports.DEFAULT_POPOVER_ELEMENT = _visualEditing.DEFAULT_POPOVER_ELEMENT;
1453
+ exports.DEFAULT_RADIO_ELEMENT = _visualEditing.DEFAULT_RADIO_ELEMENT;
1454
+ exports.DEFAULT_SELECT_ELEMENT = _visualEditing.DEFAULT_SELECT_ELEMENT;
1455
+ exports.DEFAULT_SPINNER_ELEMENT = _visualEditing.DEFAULT_SPINNER_ELEMENT;
1456
+ exports.DEFAULT_SR_ONLY_ELEMENT = _visualEditing.DEFAULT_SR_ONLY_ELEMENT;
1457
+ exports.DEFAULT_STACK_ELEMENT = _visualEditing.DEFAULT_STACK_ELEMENT;
1458
+ exports.DEFAULT_SWITCH_ELEMENT = _visualEditing.DEFAULT_SWITCH_ELEMENT;
1459
+ exports.DEFAULT_TAB_ELEMENT = _visualEditing.DEFAULT_TAB_ELEMENT;
1460
+ exports.DEFAULT_TAB_LIST_ELEMENT = _visualEditing.DEFAULT_TAB_LIST_ELEMENT;
1461
+ exports.DEFAULT_TEXT_AREA_ELEMENT = _visualEditing.DEFAULT_TEXT_AREA_ELEMENT;
1462
+ exports.DEFAULT_TEXT_ELEMENT = _visualEditing.DEFAULT_TEXT_ELEMENT;
1463
+ exports.DEFAULT_TEXT_INPUT_ELEMENT = _visualEditing.DEFAULT_TEXT_INPUT_ELEMENT;
1464
+ exports.DEFAULT_TOOLTIP_ELEMENT = _visualEditing.DEFAULT_TOOLTIP_ELEMENT;
1465
+ exports.DEFAULT_VIRTUAL_LIST_ELEMENT = _visualEditing.DEFAULT_VIRTUAL_LIST_ELEMENT;
1466
+ exports.ElementQuery = _visualEditing.ElementQuery;
1467
+ exports.Flex = _visualEditing.Flex;
1468
+ exports.Grid = _visualEditing.Grid;
1469
+ exports.Heading = _visualEditing.Heading;
1470
+ exports.Hotkeys = _visualEditing.Hotkeys;
1471
+ exports.Inline = _visualEditing.Inline;
1472
+ exports.KBD = _visualEditing.KBD;
1473
+ exports.Label = _visualEditing.Label;
1474
+ exports.Layer = _visualEditing.Layer;
1475
+ exports.LayerProvider = _visualEditing.LayerProvider;
1476
+ exports.Menu = _visualEditing.Menu;
1477
+ exports.MenuDivider = _visualEditing.MenuDivider;
1478
+ exports.MenuGroup = _visualEditing.MenuGroup;
1479
+ exports.MenuItem = _visualEditing.MenuItem;
1480
+ exports.Popover = _visualEditing.Popover;
1481
+ exports.Portal = _visualEditing.Portal;
1482
+ exports.PortalProvider = _visualEditing.PortalProvider;
1483
+ exports.Radio = _visualEditing.Radio;
1484
+ exports.Select = _visualEditing.Select;
1485
+ exports.Spinner = _visualEditing.Spinner;
1486
+ exports.SrOnly = _visualEditing.SrOnly;
1487
+ exports.Stack = _visualEditing.Stack;
1488
+ exports.Switch = _visualEditing.Switch;
1489
+ exports.Tab = _visualEditing.Tab;
1490
+ exports.TabList = _visualEditing.TabList;
1491
+ exports.Text = _visualEditing.Text;
1492
+ exports.TextArea = _visualEditing.TextArea;
1493
+ exports.TextInput = _visualEditing.TextInput;
1494
+ exports.ThemeColorProvider = _visualEditing.ThemeColorProvider;
1495
+ exports.ThemeProvider = _visualEditing.ThemeProvider;
1496
+ exports.Tooltip = _visualEditing.Tooltip;
1497
+ exports.TooltipDelayGroupContext = _visualEditing.TooltipDelayGroupContext;
1498
+ exports.TooltipDelayGroupProvider = _visualEditing.TooltipDelayGroupProvider;
1499
+ exports.VirtualList = _visualEditing.VirtualList;
1500
+ exports._ResizeObserver = _visualEditing._ResizeObserver;
1501
+ exports._elementSizeObserver = _visualEditing._elementSizeObserver;
1502
+ exports._getArrayProp = _visualEditing._getArrayProp;
1503
+ exports._isEnterToClickElement = _visualEditing._isEnterToClickElement;
1504
+ exports._isScrollable = _visualEditing._isScrollable;
1505
+ exports.containsOrEqualsElement = _visualEditing.containsOrEqualsElement;
1506
+ exports.isHTMLAnchorElement = _visualEditing.isHTMLAnchorElement;
1507
+ exports.isHTMLButtonElement = _visualEditing.isHTMLButtonElement;
1508
+ exports.isHTMLElement = _visualEditing.isHTMLElement;
1509
+ exports.isHTMLInputElement = _visualEditing.isHTMLInputElement;
1510
+ exports.isHTMLSelectElement = _visualEditing.isHTMLSelectElement;
1511
+ exports.isHTMLTextAreaElement = _visualEditing.isHTMLTextAreaElement;
1512
+ exports.useArrayProp = _visualEditing.useArrayProp;
1513
+ exports.useBoundaryElement = _visualEditing.useBoundaryElement;
1514
+ exports.useCard = _visualEditing.useCard;
1515
+ exports.useClickOutsideEvent = _visualEditing.useClickOutsideEvent;
1516
+ exports.useCustomValidity = _visualEditing.useCustomValidity;
1517
+ exports.useElementSize = _visualEditing.useElementSize;
1518
+ exports.useGlobalKeyDown = _visualEditing.useGlobalKeyDown;
1519
+ exports.useLayer = _visualEditing.useLayer;
1520
+ exports.useMatchMedia = _visualEditing.useMatchMedia;
1521
+ exports.useMediaIndex = _visualEditing.useMediaIndex;
1522
+ exports.usePortal = _visualEditing.usePortal;
1523
+ exports.usePrefersDark = _visualEditing.usePrefersDark;
1524
+ exports.usePrefersReducedMotion = _visualEditing.usePrefersReducedMotion;
1525
+ exports.useRootTheme = _visualEditing.useRootTheme;
1526
+ exports.useTheme = _visualEditing.useTheme;
1527
+ exports.useTheme_v2 = _visualEditing.useTheme_v2;
1528
+ exports.useTooltipDelayGroup = _visualEditing.useTooltipDelayGroup;
1529
+ Object.defineProperty(exports, "px", {
1530
+ enumerable: !0,
1531
+ get: function() {
1532
+ return css.px;
1533
+ }
1534
+ });
1535
+ Object.defineProperty(exports, "rem", {
1536
+ enumerable: !0,
1537
+ get: function() {
1538
+ return css.rem;
1539
+ }
1540
+ });
1541
+ exports.Autocomplete = Autocomplete;
1542
+ exports.Breadcrumbs = Breadcrumbs;
1543
+ exports.CodeSkeleton = CodeSkeleton;
1544
+ exports.DEFAULT_AUTOCOMPLETE_ELEMENT = DEFAULT_AUTOCOMPLETE_ELEMENT;
1545
+ exports.DEFAULT_BREADCRUMBS_ELEMENT = DEFAULT_BREADCRUMBS_ELEMENT;
1546
+ exports.DEFAULT_CODE_SKELETON_ELEMENT = DEFAULT_CODE_SKELETON_ELEMENT;
1547
+ exports.DEFAULT_DIALOG_ELEMENT = DEFAULT_DIALOG_ELEMENT;
1548
+ exports.DEFAULT_HEADING_SKELETON_ELEMENT = DEFAULT_HEADING_SKELETON_ELEMENT;
1549
+ exports.DEFAULT_LABEL_SKELETON_ELEMENT = DEFAULT_LABEL_SKELETON_ELEMENT;
1550
+ exports.DEFAULT_SKELETON_ELEMENT = DEFAULT_SKELETON_ELEMENT;
1551
+ exports.DEFAULT_TAB_PANEL_ELEMENT = DEFAULT_TAB_PANEL_ELEMENT;
1552
+ exports.DEFAULT_TEXT_SKELETON_ELEMENT = DEFAULT_TEXT_SKELETON_ELEMENT;
1553
+ exports.DEFAULT_TOAST_ELEMENT = DEFAULT_TOAST_ELEMENT;
1554
+ exports.DEFAULT_TREE_ELEMENT = DEFAULT_TREE_ELEMENT;
1555
+ exports.DEFAULT_TREE_ITEM_ELEMENT = DEFAULT_TREE_ITEM_ELEMENT;
1556
+ exports.Dialog = Dialog;
1557
+ exports.DialogContext = DialogContext;
1558
+ exports.DialogProvider = DialogProvider;
1559
+ exports.ErrorBoundary = ErrorBoundary;
1560
+ exports.HeadingSkeleton = HeadingSkeleton;
1561
+ exports.LabelSkeleton = LabelSkeleton;
1562
+ exports.MenuButton = MenuButton;
1563
+ exports.Skeleton = Skeleton;
1564
+ exports.StyleTags = StyleTags;
1565
+ exports.TabPanel = TabPanel;
1566
+ exports.TextSkeleton = TextSkeleton;
1567
+ exports.Toast = Toast;
1568
+ exports.ToastProvider = ToastProvider;
1569
+ exports.Tree = Tree;
1570
+ exports.TreeItem = TreeItem;
1571
+ exports._hasFocus = _hasFocus;
1572
+ exports._raf = _raf;
1573
+ exports._raf2 = _raf2;
1574
+ exports._responsive = _responsive;
1575
+ exports.attemptFocus = attemptFocus;
1576
+ exports.createColorTheme = createColorTheme;
1577
+ exports.focusFirstDescendant = focusFirstDescendant;
1578
+ exports.focusLastDescendant = focusLastDescendant;
1579
+ exports.hexToRgb = hexToRgb;
1580
+ exports.hslToRgb = hslToRgb;
1581
+ exports.isFocusable = isFocusable;
1582
+ exports.multiply = multiply;
1583
+ exports.parseColor = parseColor;
1584
+ exports.rgbToHex = rgbToHex;
1585
+ exports.rgbToHsl = rgbToHsl;
1586
+ exports.rgba = rgba;
1587
+ exports.screen = screen;
1588
+ exports.useClickOutside = useClickOutside;
1589
+ exports.useDialog = useDialog;
1590
+ exports.useElementRect = useElementRect;
1591
+ exports.useForwardedRef = useForwardedRef;
1592
+ exports.useToast = useToast;
1593
+ exports.useTree = useTree;
1594
+ //# sourceMappingURL=index.cjs.map