@sanity/ui 3.0.0-static.1 → 3.0.0-static.11
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.
- package/LICENSE +1 -1
- package/bin/ui.js +0 -1
- package/dist/_chunks-cjs/_visual-editing.js +3091 -0
- package/dist/_chunks-cjs/_visual-editing.js.map +1 -0
- package/dist/_chunks-cjs/buildCommand.js +14 -3524
- package/dist/_chunks-cjs/buildCommand.js.map +1 -1
- package/dist/_chunks-cjs/refractor.js +27 -0
- package/dist/_chunks-cjs/refractor.js.map +1 -0
- package/dist/_chunks-es/_visual-editing.mjs +3098 -0
- package/dist/_chunks-es/_visual-editing.mjs.map +1 -0
- package/dist/_chunks-es/refractor.mjs +26 -0
- package/dist/_chunks-es/refractor.mjs.map +1 -0
- package/dist/_visual-editing.d.mts +809 -0
- package/dist/_visual-editing.d.ts +809 -0
- package/dist/_visual-editing.js +31 -0
- package/dist/_visual-editing.js.map +1 -0
- package/dist/_visual-editing.mjs +31 -0
- package/dist/_visual-editing.mjs.map +1 -0
- package/dist/cli.js +337 -5
- package/dist/cli.js.map +1 -1
- package/dist/css.d.mts +978 -454
- package/dist/css.d.ts +978 -454
- package/dist/css.js +4533 -3312
- package/dist/css.js.map +1 -1
- package/dist/css.mjs +4535 -3313
- package/dist/css.mjs.map +1 -1
- package/dist/index.d.mts +462 -532
- package/dist/index.d.ts +462 -532
- package/dist/index.js +782 -4640
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +686 -4553
- package/dist/index.mjs.map +1 -1
- package/dist/sanity-palette.css +1 -0
- package/dist/sanity-theme.css +1 -25
- package/dist/system.css +23466 -3377
- package/dist/theme.d.mts +399 -112
- package/dist/theme.d.ts +399 -112
- package/dist/theme.js +1378 -2380
- package/dist/theme.js.map +1 -1
- package/dist/theme.mjs +1422 -2424
- package/dist/theme.mjs.map +1 -1
- package/exports/_visual-editing.ts +31 -0
- package/exports/index.ts +1 -1
- package/package.json +93 -82
- package/src/cli/buildCommand.ts +48 -0
- package/src/cli/index.ts +38 -0
- package/src/css/_comp.test.ts +7 -0
- package/src/css/_comp.ts +11 -0
- package/src/css/_mergeStyles.ts +31 -0
- package/src/css/_resp.ts +15 -6
- package/src/css/_responsiveRule.ts +38 -0
- package/src/css/aspects/border/border.style.ts +13 -0
- package/src/css/aspects/border/border.ts +14 -0
- package/src/css/aspects/display/display.style.ts +34 -0
- package/src/css/aspects/display/display.ts +7 -0
- package/src/css/aspects/display/index.ts +2 -0
- package/src/css/aspects/display/types.ts +17 -0
- package/src/css/aspects/flex/flex.style.ts +30 -0
- package/src/css/aspects/flex/flex.ts +13 -0
- package/src/css/aspects/flex/flexAlign.style.ts +12 -0
- package/src/css/aspects/flex/flexDirection.style.ts +11 -0
- package/src/css/aspects/flex/flexJustify.style.ts +13 -0
- package/src/css/aspects/flex/flexWrap.style.ts +10 -0
- package/src/css/aspects/flexItem/flex.style.ts +22 -0
- package/src/css/aspects/flexItem/flexItem.ts +8 -0
- package/src/css/aspects/flexItem/types.ts +27 -0
- package/src/css/aspects/font/font.style.ts +92 -0
- package/src/css/aspects/font/font.ts +12 -0
- package/src/css/aspects/gap/gap.style.ts +21 -0
- package/src/css/aspects/gap/gap.ts +8 -0
- package/src/css/aspects/gap/types.ts +10 -0
- package/src/css/aspects/grid/grid.ts +13 -0
- package/src/css/aspects/grid/gridAutoColumns.style.ts +11 -0
- package/src/css/aspects/grid/gridAutoFlow.style.ts +11 -0
- package/src/css/aspects/grid/gridAutoRows.style.ts +11 -0
- package/src/css/aspects/grid/gridColumns.style.ts +18 -0
- package/src/css/aspects/grid/gridRows.style.ts +18 -0
- package/src/css/aspects/grid/types.ts +29 -0
- package/src/css/aspects/gridItem/gridColumn.style.ts +20 -0
- package/src/css/aspects/gridItem/gridColumnEnd.style.ts +20 -0
- package/src/css/aspects/gridItem/gridColumnStart.style.ts +20 -0
- package/src/css/aspects/gridItem/gridItem.ts +15 -0
- package/src/css/aspects/gridItem/gridRow.style.ts +20 -0
- package/src/css/aspects/gridItem/gridRowEnd.style.ts +20 -0
- package/src/css/aspects/gridItem/gridRowStart.style.ts +20 -0
- package/src/css/aspects/height/height.style.ts +9 -0
- package/src/css/aspects/height/height.ts +17 -0
- package/src/css/aspects/height/index.ts +1 -0
- package/src/css/aspects/index.ts +21 -0
- package/src/css/aspects/inset/index.ts +2 -0
- package/src/css/aspects/inset/inset.style.ts +12 -0
- package/src/css/aspects/inset/inset.ts +13 -0
- package/src/css/aspects/inset/types.ts +13 -0
- package/src/css/aspects/margin/margin.style.ts +46 -0
- package/src/css/aspects/margin/margin.ts +15 -0
- package/src/css/aspects/maxWidth/maxWidth.style.ts +16 -0
- package/src/css/aspects/maxWidth/types.ts +7 -0
- package/src/css/aspects/minWidth/index.ts +2 -0
- package/src/css/aspects/minWidth/minWidth.style.ts +13 -0
- package/src/css/aspects/minWidth/minWidth.ts +6 -0
- package/src/css/aspects/minWidth/types.ts +7 -0
- package/src/css/aspects/outline/outline.style.ts +9 -0
- package/src/css/aspects/overflow/overflow.style.ts +11 -0
- package/src/css/aspects/overflow/overflow.ts +11 -0
- package/src/css/aspects/padding/padding.style.ts +46 -0
- package/src/css/aspects/padding/padding.ts +15 -0
- package/src/css/aspects/padding/types.ts +14 -0
- package/src/css/aspects/pointerEvents/pointerEvents.style.ts +13 -0
- package/src/css/aspects/pointerEvents/pointerEvents.ts +6 -0
- package/src/css/aspects/position/position.style.ts +12 -0
- package/src/css/aspects/position/position.ts +7 -0
- package/src/css/aspects/position/types.ts +9 -0
- package/src/css/aspects/radius/radius.style.ts +16 -0
- package/src/css/aspects/radius/radius.ts +8 -0
- package/src/css/aspects/radius/types.ts +8 -0
- package/src/css/aspects/shadow/index.ts +2 -0
- package/src/css/aspects/shadow/shadow.style.ts +24 -0
- package/src/css/aspects/shadow/shadow.ts +7 -0
- package/src/css/aspects/shadow/types.ts +8 -0
- package/src/css/aspects/textOverflow/index.ts +2 -0
- package/src/css/aspects/textOverflow/textOverflow.style.ts +21 -0
- package/src/css/aspects/textOverflow/textOverflow.ts +6 -0
- package/src/css/aspects/textOverflow/types.ts +8 -0
- package/src/css/aspects/width/index.ts +2 -0
- package/src/css/aspects/width/rules.ts +8 -0
- package/src/css/aspects/width/types.ts +9 -0
- package/src/css/aspects/width/width.style.ts +11 -0
- package/src/css/compile/compilePalette.ts +28 -0
- package/src/css/compile/compileRule.ts +50 -11
- package/src/css/compile/compileRules.test.ts +36 -0
- package/src/css/compile/compileRules.ts +17 -30
- package/src/css/compile/compileStyle.ts +148 -0
- package/src/css/compile/compileSystem.ts +3 -3
- package/src/css/compile/compileTheme.ts +8 -505
- package/src/css/compile/compileTheme_v3.ts +415 -0
- package/src/css/compile/types.ts +6 -0
- package/src/css/components/breadcrumbs/breadcrumbs.style.ts +9 -0
- package/src/css/components/breadcrumbs/breadcrumbs.ts +3 -3
- package/src/css/components/dialog/dialog.style.ts +79 -0
- package/src/css/components/dialog/dialog.ts +30 -0
- package/src/css/components/dialog/index.ts +1 -1
- package/src/css/components/menu/menu.style.ts +17 -0
- package/src/css/components/menu/menu.ts +7 -3
- package/src/css/components/menu/rules.ts +6 -1
- package/src/css/components/skeleton/skeleton.style.ts +100 -0
- package/src/css/components/skeleton/skeleton.ts +12 -12
- package/src/css/components/skeleton/types.ts +3 -1
- package/src/css/components/toast/index.ts +1 -0
- package/src/css/components/toast/toast.style.ts +20 -0
- package/src/css/components/toast/toast.ts +21 -0
- package/src/css/components/tree/tree.style.ts +55 -0
- package/src/css/components/tree/tree.ts +3 -3
- package/src/css/composeClassNames.ts +16 -2
- package/src/css/constants.ts +10 -0
- package/src/css/index.ts +14 -23
- package/src/css/primitives/_arrow/_arrow.style.ts +71 -0
- package/src/css/primitives/_arrow/_arrow.ts +18 -0
- package/src/css/primitives/_arrow/index.ts +1 -0
- package/src/css/primitives/_input/__workshop__/customInput.tsx +16 -0
- package/src/css/primitives/_input/__workshop__/index.ts +14 -0
- package/src/css/primitives/_input/_input.style.ts +162 -0
- package/src/css/primitives/_input/index.ts +2 -0
- package/src/css/primitives/_input/input.ts +25 -0
- package/src/css/primitives/_input/types.ts +12 -0
- package/src/css/primitives/_selectable/__style.ts +117 -0
- package/src/css/primitives/_selectable/_contants.ts +11 -0
- package/src/css/primitives/_selectable/_selectable.style.ts +132 -0
- package/src/css/primitives/_selectable/selectable.ts +9 -0
- package/src/css/primitives/_selectable/types.ts +8 -0
- package/src/css/primitives/avatar/avatar.style.ts +175 -0
- package/src/css/primitives/avatar/avatar.ts +13 -18
- package/src/css/primitives/avatar/rules.ts +85 -99
- package/src/css/primitives/avatar/types.ts +1 -2
- package/src/css/primitives/badge/badge.style.ts +22 -0
- package/src/css/primitives/badge/badge.ts +4 -4
- package/src/css/primitives/badge/types.ts +2 -2
- package/src/css/primitives/box/box.style.ts +31 -0
- package/src/css/primitives/box/box.ts +31 -17
- package/src/css/primitives/box/types.ts +28 -25
- package/src/css/primitives/button/_constants.ts +17 -0
- package/src/css/primitives/button/button.style.ts +234 -0
- package/src/css/primitives/button/button.ts +29 -14
- package/src/css/primitives/button/rules.ts +284 -40
- package/src/css/primitives/card/_constants.ts +13 -0
- package/src/css/primitives/card/card.style.ts +270 -0
- package/src/css/primitives/card/card.ts +9 -16
- package/src/css/primitives/card/index.ts +1 -0
- package/src/css/primitives/card/types.ts +10 -0
- package/src/css/primitives/checkbox/checkbox.style.ts +154 -0
- package/src/css/primitives/checkbox/checkbox.ts +5 -5
- package/src/css/primitives/checkbox/rules.ts +31 -15
- package/src/css/primitives/code/code.style.ts +62 -0
- package/src/css/primitives/code/code.ts +4 -4
- package/src/css/primitives/code/rules.ts +27 -2
- package/src/css/primitives/code/types.ts +1 -1
- package/src/css/primitives/container/container.style.ts +10 -0
- package/src/css/primitives/container/container.ts +4 -4
- package/src/css/primitives/container/types.ts +1 -0
- package/src/css/primitives/heading/heading.style.ts +47 -0
- package/src/css/primitives/heading/heading.ts +6 -5
- package/src/css/primitives/heading/rules.ts +77 -6
- package/src/css/primitives/heading/types.ts +2 -2
- package/src/css/primitives/kbd/kbd.style.ts +22 -0
- package/src/css/primitives/kbd/kbd.ts +4 -4
- package/src/css/primitives/kbd/rules.ts +5 -5
- package/src/css/primitives/kbd/types.ts +3 -1
- package/src/css/primitives/label/label.style.ts +48 -0
- package/src/css/primitives/label/label.ts +4 -4
- package/src/css/primitives/label/rules.ts +54 -2
- package/src/css/primitives/label/types.ts +1 -1
- package/src/css/primitives/popover/popover.style.ts +5 -0
- package/src/css/primitives/popover/popover.ts +7 -3
- package/src/css/primitives/radio/radio.style.ts +123 -0
- package/src/css/primitives/radio/radio.ts +3 -3
- package/src/css/primitives/radio/rules.ts +117 -1
- package/src/css/primitives/select/index.ts +1 -0
- package/src/css/primitives/select/rules.ts +18 -1
- package/src/css/primitives/select/select.style.ts +24 -0
- package/src/css/primitives/select/select.ts +9 -2
- package/src/css/primitives/select/types.ts +5 -0
- package/src/css/primitives/spinner/spinner.style.ts +22 -0
- package/src/css/primitives/spinner/spinner.ts +5 -5
- package/src/css/primitives/stack/stack.style.ts +9 -0
- package/src/css/primitives/stack/stack.ts +6 -0
- package/src/css/primitives/switch/rules.ts +264 -56
- package/src/css/primitives/switch/switch.style.ts +94 -0
- package/src/css/primitives/switch/switch.ts +19 -3
- package/src/css/primitives/text/rules.ts +93 -4
- package/src/css/primitives/text/text.style.ts +64 -0
- package/src/css/primitives/text/text.ts +5 -4
- package/src/css/primitives/text/types.ts +2 -2
- package/src/css/primitives/textArea/index.ts +1 -0
- package/src/css/primitives/textArea/rules.ts +3 -1
- package/src/css/primitives/textArea/textArea.style.ts +9 -0
- package/src/css/primitives/textArea/textArea.ts +5 -2
- package/src/css/primitives/textArea/types.ts +5 -0
- package/src/css/primitives/textInput/rules.ts +33 -130
- package/src/css/primitives/textInput/textInput.style.ts +167 -0
- package/src/css/primitives/textInput/textInput.ts +4 -11
- package/src/css/primitives/textInput/types.ts +8 -5
- package/src/css/primitives/token/token.style.ts +50 -0
- package/src/css/primitives/tooltip/rules.ts +2 -0
- package/src/css/primitives/tooltip/tooltip.style.ts +21 -0
- package/src/css/primitives/tooltip/tooltip.ts +5 -5
- package/src/css/responsiveRules.ts +12 -19
- package/src/css/scopeClassName.ts +6 -0
- package/src/css/system.style.ts +158 -0
- package/src/css/types.ts +704 -375
- package/src/css/util.ts +27 -0
- package/src/css/utils/srOnly/srOnly.style.ts +14 -0
- package/src/css/utils/srOnly/srOnly.ts +5 -0
- package/src/css/varNames.ts +494 -258
- package/src/css/vars.ts +408 -282
- package/src/theme/_constants.ts +26 -0
- package/src/theme/_types.ts +41 -0
- package/src/theme/build/_deprecated/color/_selectable/createSelectableTones.ts +1 -1
- package/src/theme/build/_deprecated/color/_solid/createSolidTones.ts +1 -1
- package/src/theme/build/_deprecated/color/button/createButtonModes.ts +1 -6
- package/src/theme/build/_deprecated/color/button/createButtonTones.ts +2 -2
- package/src/theme/build/_deprecated/color/card/createCardStates.ts +2 -2
- package/src/theme/build/_deprecated/color/factory.ts +8 -9
- package/src/theme/build/_deprecated/color/input/createInputModes.ts +1 -1
- package/src/theme/build/_deprecated/color/muted/createMuted.ts +2 -2
- package/src/theme/build/_deprecated/color/spot/createSpot.ts +1 -1
- package/src/theme/build/buildColorTheme.ts +62 -52
- package/src/theme/build/buildTheme.ts +8 -32
- package/src/theme/build/colorToken/colorToken.ts +1 -1
- package/src/theme/build/lib/color-fns/rgba.ts +4 -0
- package/src/theme/build/merge.ts +0 -2
- package/src/theme/build/mixThemeColor.ts +1 -1
- package/src/theme/build/renderColorTheme.ts +34 -37
- package/src/theme/build/renderColorValue.ts +4 -3
- package/src/theme/build/resolveColorTokens.ts +57 -120
- package/src/theme/config/helpers.ts +2 -2
- package/src/theme/config/system.ts +3 -2
- package/src/theme/config/tokens/color/types.ts +5 -18
- package/src/theme/config/tokens/parseTokenKey.ts +1 -1
- package/src/theme/config/tokens/parseTokenValue.ts +1 -1
- package/src/theme/config/tokens/types.ts +3 -2
- package/src/theme/config/types.ts +4 -4
- package/src/theme/defaults/colorTokens.ts +8 -6
- package/src/theme/defaults/config.ts +2 -2
- package/src/theme/defaults/fonts.ts +17 -16
- package/src/theme/getScopedTheme.ts +10 -4
- package/src/theme/index.ts +7 -1
- package/src/theme/palette/constants.ts +13 -0
- package/src/theme/palette/index.ts +2 -0
- package/src/theme/palette/types.ts +4 -0
- package/src/theme/types.ts +32 -0
- package/src/theme/v0/color/_generic.ts +35 -0
- package/src/theme/v0/color/_system.ts +17 -0
- package/src/theme/v0/color/color.ts +40 -0
- package/src/theme/v0/color/index.ts +11 -0
- package/src/theme/v0/color/input.ts +34 -0
- package/src/theme/v0/color/spot.ts +13 -0
- package/src/theme/v0/css.ts +8 -0
- package/src/theme/v0/font.ts +53 -0
- package/src/theme/v0/index.ts +10 -0
- package/src/theme/v0/theme.ts +72 -0
- package/src/theme/v2/avatar.ts +14 -0
- package/src/theme/v2/color/_constants.ts +45 -0
- package/src/theme/v2/color/_helpers.ts +24 -0
- package/src/theme/v2/color/_system.ts +40 -0
- package/src/theme/v2/color/badge.ts +16 -0
- package/src/theme/v2/color/color.ts +34 -0
- package/src/theme/v2/index.ts +4 -0
- package/src/theme/v2/input.ts +33 -0
- package/src/theme/v2/theme.ts +49 -0
- package/src/theme/v3/buildTheme_v3.test.ts +40 -0
- package/src/theme/v3/buildTheme_v3.ts +29 -0
- package/src/theme/v3/color/buildColor_v3.ts +198 -0
- package/src/theme/v3/color/card.ts +121 -0
- package/src/theme/v3/color/color.ts +98 -0
- package/src/theme/v3/color/element.ts +19 -0
- package/src/theme/v3/color/index.ts +7 -0
- package/src/theme/v3/color/parseColor.test.ts +79 -0
- package/src/theme/v3/color/parseColor.ts +167 -0
- package/src/theme/v3/color/renderColor.test.ts +19 -0
- package/src/theme/v3/color/renderColor.ts +33 -0
- package/src/theme/v3/color/token.ts +17 -0
- package/src/theme/v3/color/tokens.ts +5 -0
- package/src/theme/v3/defaultTokens.ts +201 -0
- package/src/theme/v3/index.ts +6 -0
- package/src/theme/v3/merge.ts +22 -0
- package/src/theme/v3/resolveTokens.ts +204 -0
- package/src/theme/v3/tokens.ts +16 -0
- package/src/theme/v3/types.ts +45 -0
- package/src/theme/versioning/getTheme_v2.ts +2 -1
- package/src/theme/versioning/index.ts +0 -4
- package/src/theme/versioning/is_v0.ts +2 -1
- package/src/theme/versioning/is_v2.ts +2 -1
- package/src/theme/versioning/themeColor_v0_v2.ts +33 -5
- package/src/theme/versioning/themeColor_v2_v2_9.ts +49 -0
- package/src/theme/versioning/themeColor_v3_v2.ts +206 -0
- package/src/theme/versioning/v0_v2.ts +6 -1
- package/src/theme/versioning/v2_v0.ts +6 -6
- package/src/theme/versioning/v3_v2.ts +108 -0
- package/src/ui/RootClassNames.tsx +41 -0
- package/src/ui/StyleTags.tsx +24 -0
- package/src/ui/_compat/helpers.ts +72 -0
- package/src/ui/_compat/index.ts +5 -0
- package/src/ui/_compat/studioTheme.ts +7 -0
- package/src/ui/_compat/styles/_responsive.ts +19 -0
- package/src/ui/_compat/styles/index.ts +1 -0
- package/src/ui/_compat/theme/index.ts +5 -0
- package/src/ui/_compat/theme/theme.test.tsx +73 -0
- package/src/ui/_compat/theme/themeColorProvider.tsx +30 -0
- package/src/ui/_compat/theme/themeContext.ts +10 -0
- package/src/ui/_compat/theme/themeProvider.tsx +74 -0
- package/src/ui/_compat/theme/useRootTheme.ts +17 -0
- package/src/ui/_compat/theme/useTheme.ts +16 -0
- package/src/ui/_compat/types.ts +191 -0
- package/src/ui/components/autocomplete/__mocks__/apiStore.ts +49 -0
- package/src/ui/components/autocomplete/__workshop__/async.tsx +156 -0
- package/src/ui/components/autocomplete/__workshop__/constrainedHeight.tsx +131 -0
- package/src/ui/components/autocomplete/__workshop__/custom.tsx +90 -0
- package/src/ui/components/autocomplete/__workshop__/example.tsx +80 -0
- package/src/ui/components/autocomplete/__workshop__/fullscreen.tsx +293 -0
- package/src/ui/components/autocomplete/autocomplete.tsx +722 -0
- package/src/ui/components/autocomplete/autocompleteOption.tsx +45 -0
- package/src/ui/components/autocomplete/types.ts +108 -0
- package/src/ui/components/breadcrumbs/__workshop__/example.tsx +62 -0
- package/src/ui/components/breadcrumbs/breadcrumbs.tsx +127 -0
- package/src/ui/components/dialog/__workshop__/activate.tsx +134 -0
- package/src/ui/components/dialog/__workshop__/nested.tsx +72 -0
- package/src/ui/components/dialog/__workshop__/onScroll.tsx +39 -0
- package/src/ui/components/dialog/__workshop__/panes.tsx +82 -0
- package/src/ui/components/dialog/__workshop__/position.tsx +30 -0
- package/src/ui/components/dialog/__workshop__/props.tsx +77 -0
- package/src/ui/components/dialog/__workshop__/wrapped.tsx +76 -0
- package/src/ui/components/dialog/dialog.tsx +432 -0
- package/src/ui/components/dialog/dialogProvider.tsx +35 -0
- package/src/ui/components/dialog/useDialog.ts +11 -0
- package/src/ui/components/hotkeys/hotkeys.tsx +54 -0
- package/src/ui/components/menu/__workshop__/asComponent.tsx +45 -0
- package/src/ui/components/menu/__workshop__/avatarMenu.tsx +51 -0
- package/src/ui/components/menu/__workshop__/constrainedInBoundary.tsx +134 -0
- package/src/ui/components/menu/__workshop__/customSelectedState.tsx +39 -0
- package/src/ui/components/menu/__workshop__/menuButton.tsx +80 -0
- package/src/ui/components/menu/__workshop__/shouldFocus.tsx +47 -0
- package/src/ui/components/menu/__workshop__/tones.tsx +25 -0
- package/src/ui/components/menu/menu.test.tsx +128 -0
- package/src/ui/components/menu/menu.tsx +200 -0
- package/src/ui/components/menu/menuButton.tsx +275 -0
- package/src/ui/components/menu/menuContext.ts +31 -0
- package/src/ui/components/menu/menuDivider.tsx +22 -0
- package/src/ui/components/menu/menuGroup.tsx +228 -0
- package/src/ui/components/menu/menuItem.tsx +180 -0
- package/src/ui/components/menu/useMenu.ts +21 -0
- package/src/ui/components/menu/useMenuController.ts +241 -0
- package/src/ui/components/skeleton/__workshop__/delay.tsx +70 -0
- package/src/ui/components/skeleton/__workshop__/skeleton.tsx +64 -0
- package/src/ui/components/skeleton/skeleton.tsx +53 -0
- package/src/ui/components/skeleton/textSkeleton.tsx +132 -0
- package/src/ui/components/tab/tab.tsx +105 -0
- package/src/ui/components/tab/tabList.tsx +74 -0
- package/src/ui/components/tab/tabPanel.tsx +40 -0
- package/src/ui/components/toast/__workshop__/hook.tsx +71 -0
- package/src/ui/components/toast/__workshop__/toast.tsx +26 -0
- package/src/ui/components/toast/toast.test.tsx +101 -0
- package/src/ui/components/toast/toast.tsx +211 -0
- package/src/ui/components/toast/toastLayer.tsx +38 -0
- package/src/ui/components/toast/toastProvider.tsx +113 -0
- package/src/ui/components/toast/toastState.ts +6 -0
- package/src/ui/components/toast/types.ts +28 -0
- package/src/ui/components/toast/useToast.ts +25 -0
- package/src/ui/components/tree/__workshop__/basic.tsx +105 -0
- package/src/ui/components/tree/__workshop__/tabFromElement.tsx +84 -0
- package/src/ui/components/tree/tree.tsx +244 -0
- package/src/ui/components/tree/treeGroup.tsx +30 -0
- package/src/ui/components/tree/treeItem.tsx +220 -0
- package/src/ui/components/tree/useTree.ts +17 -0
- package/src/ui/constants.ts +85 -0
- package/src/ui/helpers/focus.ts +100 -0
- package/src/ui/helpers/index.ts +5 -0
- package/src/ui/helpers/props.ts +10 -0
- package/src/ui/hooks/useArrayProp.ts +29 -0
- package/src/ui/hooks/useClickOutside.test.tsx +482 -0
- package/src/ui/hooks/useClickOutside.ts +117 -0
- package/src/ui/hooks/useClickOutsideEvent.test.tsx +115 -0
- package/src/ui/hooks/useClickOutsideEvent.ts +73 -0
- package/src/ui/hooks/useDelayed.test.ts +68 -0
- package/src/ui/hooks/useDelayedState.ts +28 -0
- package/src/ui/hooks/useElementRect/__workshop__/example.tsx +32 -0
- package/src/ui/hooks/useElementSize.ts +19 -0
- package/src/ui/hooks/useForwardedRef.ts +19 -0
- package/src/ui/hooks/useGlobalKeyDown.ts +17 -0
- package/src/ui/hooks/useMatchMedia.ts +28 -0
- package/src/ui/hooks/useMediaIndex/useMediaIndex.test.tsx +36 -0
- package/src/ui/hooks/useMediaIndex/useMediaIndex.ts +102 -0
- package/src/ui/hooks/usePrefersDark.hydration.test.tsx +56 -0
- package/src/ui/hooks/usePrefersDark.test.tsx +19 -0
- package/src/ui/hooks/usePrefersDark.ts +16 -0
- package/src/ui/hooks/usePrefersReducedMotion.hydration.test.tsx +56 -0
- package/src/ui/hooks/usePrefersReducedMotion.test.tsx +19 -0
- package/src/ui/hooks/usePrefersReducedMotion.ts +16 -0
- package/src/ui/index.ts +10 -0
- package/src/ui/lib/createGlobalScopedContext.ts +34 -0
- package/src/ui/lib/globalScope.ts +19 -0
- package/src/ui/primitives/_selectable/selectable.tsx +31 -0
- package/src/ui/primitives/avatar/__workshop__/asButton.tsx +14 -0
- package/src/ui/primitives/avatar/__workshop__/stack.tsx +25 -0
- package/src/ui/primitives/avatar/__workshop__/withinButton.tsx +63 -0
- package/src/ui/primitives/avatar/__workshop__/withinMenuItem.tsx +72 -0
- package/src/ui/primitives/avatar/avatar.tsx +158 -0
- package/src/ui/primitives/avatar/avatarCounter.tsx +62 -0
- package/src/ui/primitives/avatar/avatarStack.tsx +82 -0
- package/src/ui/primitives/avatar/types.ts +17 -0
- package/src/ui/primitives/badge/__workshop__/props.tsx +30 -0
- package/src/ui/primitives/badge/__workshop__/tones.tsx +21 -0
- package/src/ui/primitives/badge/badge.test.tsx +16 -0
- package/src/ui/primitives/badge/badge.tsx +64 -0
- package/src/ui/primitives/box/__workshop__/props.tsx +20 -0
- package/src/ui/primitives/box/box.tsx +162 -0
- package/src/ui/primitives/button/__workshop__/custom.tsx +50 -0
- package/src/ui/primitives/button/__workshop__/disabled.tsx +74 -0
- package/src/ui/primitives/button/__workshop__/props.tsx +58 -0
- package/src/ui/primitives/button/__workshop__/stacked.tsx +59 -0
- package/src/ui/primitives/button/button.test.tsx +44 -0
- package/src/ui/primitives/button/button.tsx +206 -0
- package/src/ui/primitives/card/__workshop__/allTones.tsx +27 -0
- package/src/ui/primitives/card/__workshop__/asButton.tsx +107 -0
- package/src/ui/primitives/card/__workshop__/asComponent.tsx +27 -0
- package/src/ui/primitives/card/__workshop__/checkered.tsx +26 -0
- package/src/ui/primitives/card/__workshop__/interactive.tsx +30 -0
- package/src/ui/primitives/card/__workshop__/listNavigation.tsx +80 -0
- package/src/ui/primitives/card/__workshop__/props.tsx +55 -0
- package/src/ui/primitives/card/__workshop__/selected.tsx +93 -0
- package/src/ui/primitives/card/card.tsx +118 -0
- package/src/ui/primitives/card/cardContext.ts +10 -0
- package/src/ui/primitives/card/cardProvider.tsx +19 -0
- package/src/ui/primitives/card/index.ts +4 -0
- package/src/ui/primitives/card/types.ts +27 -0
- package/src/ui/primitives/card/useCard.ts +7 -0
- package/src/ui/primitives/checkbox/__workshop__/tones.tsx +28 -0
- package/src/ui/primitives/checkbox/checkbox.tsx +74 -0
- package/src/ui/primitives/code/__workshop__/props.tsx +21 -0
- package/src/ui/primitives/code/code.tsx +49 -0
- package/src/ui/primitives/code/refractor.tsx +20 -0
- package/src/ui/primitives/container/__workshop__/example.tsx +20 -0
- package/src/ui/primitives/container/container.tsx +35 -0
- package/src/ui/primitives/flex/__workshop__/example.tsx +34 -0
- package/src/ui/primitives/flex/__workshop__/gap.tsx +25 -0
- package/src/ui/primitives/flex/flex.tsx +29 -0
- package/src/ui/primitives/grid/__workshop__/responsive.tsx +54 -0
- package/src/ui/primitives/grid/grid.tsx +30 -0
- package/src/ui/primitives/heading/__workshop__/opticalAlignment.tsx +54 -0
- package/src/ui/primitives/heading/__workshop__/plain.tsx +32 -0
- package/src/ui/primitives/heading/heading.tsx +62 -0
- package/src/ui/primitives/inline/__workshop__/plain.tsx +27 -0
- package/src/ui/primitives/inline/inline.tsx +50 -0
- package/src/ui/primitives/kbd/kbd.tsx +55 -0
- package/src/ui/primitives/label/__workshop__/opticalAlignment.tsx +54 -0
- package/src/ui/primitives/label/__workshop__/plain.tsx +37 -0
- package/src/ui/primitives/label/label.tsx +67 -0
- package/src/ui/primitives/popover/__workshop__/AlignedStory.tsx +77 -0
- package/src/ui/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +32 -0
- package/src/ui/primitives/popover/__workshop__/OpenOnMountStory.tsx +11 -0
- package/src/ui/primitives/popover/__workshop__/PlainStory.tsx +71 -0
- package/src/ui/primitives/popover/__workshop__/SidePanelStory.tsx +93 -0
- package/src/ui/primitives/popover/__workshop__/TestStory.tsx +98 -0
- package/src/ui/primitives/popover/floating-ui/size.ts +83 -0
- package/src/ui/primitives/popover/helpers.ts +32 -0
- package/src/ui/primitives/popover/popover.tsx +440 -0
- package/src/ui/primitives/popover/popoverCard.tsx +162 -0
- package/src/ui/primitives/radio/__workshop__/plain.tsx +28 -0
- package/src/ui/primitives/radio/radio.tsx +49 -0
- package/src/ui/primitives/select/__workshop__/plain.tsx +30 -0
- package/src/ui/primitives/select/__workshop__/readOnly.tsx +23 -0
- package/src/ui/primitives/select/select.tsx +85 -0
- package/src/ui/primitives/spinner/__workshop__/Props.tsx +16 -0
- package/src/ui/primitives/spinner/spinner.tsx +33 -0
- package/src/ui/primitives/stack/__workshop__/plain.tsx +32 -0
- package/src/ui/primitives/stack/index.ts +1 -0
- package/src/ui/primitives/stack/stack.tsx +45 -0
- package/src/ui/primitives/switch/switch.tsx +75 -0
- package/src/ui/primitives/text/__workshop__/colored.tsx +23 -0
- package/src/ui/primitives/text/__workshop__/example.tsx +39 -0
- package/src/ui/primitives/text/__workshop__/opticalAlignment.tsx +48 -0
- package/src/ui/primitives/text/text.tsx +64 -0
- package/src/ui/primitives/textArea/__workshop__/plain.tsx +50 -0
- package/src/ui/primitives/textArea/textArea.tsx +71 -0
- package/src/ui/primitives/textInput/__workshop__/index.ts +44 -0
- package/src/ui/primitives/textInput/__workshop__/plain.tsx +104 -0
- package/src/ui/primitives/textInput/__workshop__/readOnly.tsx +9 -0
- package/src/ui/primitives/textInput/__workshop__/tones.tsx +277 -0
- package/src/ui/primitives/textInput/__workshop__/typed.tsx +23 -0
- package/src/ui/primitives/textInput/textInput.tsx +286 -0
- package/src/ui/primitives/tooltip/__workshop__/customPortal.tsx +102 -0
- package/src/ui/primitives/tooltip/__workshop__/overflowingBoundary.tsx +74 -0
- package/src/ui/primitives/tooltip/__workshop__/props.tsx +111 -0
- package/src/ui/primitives/tooltip/__workshop__/resizableBoundary.tsx +86 -0
- package/src/ui/primitives/tooltip/tooltip.test.tsx +453 -0
- package/src/ui/primitives/tooltip/tooltip.tsx +473 -0
- package/src/ui/primitives/tooltip/tooltipCard.tsx +115 -0
- package/src/ui/primitives/tooltip/tooltipDelayGroup/index.ts +4 -0
- package/src/ui/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +55 -0
- package/src/ui/primitives/tooltip/tooltipDelayGroup/types.ts +10 -0
- package/src/ui/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +13 -0
- package/src/ui/primitives/types.ts +166 -0
- package/src/ui/types/box.ts +22 -0
- package/src/ui/types/button.ts +24 -0
- package/src/ui/types/flex.ts +27 -0
- package/src/ui/types/grid.ts +17 -0
- package/src/ui/types/gridItem.ts +32 -0
- package/src/ui/types/index.ts +15 -0
- package/src/ui/types/props.ts +18 -0
- package/src/ui/types/selectable.ts +7 -0
- package/src/ui/utils/arrow/arrow.tsx +51 -0
- package/src/ui/utils/boundaryElement/boundaryElement.test.tsx +100 -0
- package/src/ui/utils/boundaryElement/boundaryElementProvider.tsx +24 -0
- package/src/ui/utils/boundaryElement/index.ts +3 -0
- package/src/ui/utils/boundaryElement/useBoundaryElement.ts +26 -0
- package/src/ui/utils/conditionalWrapper/conditionalWrapper.tsx +23 -0
- package/src/ui/utils/elementQuery/elementQuery.tsx +55 -0
- package/src/ui/utils/errorBoundary.tsx +48 -0
- package/src/ui/utils/getElementRef.ts +26 -0
- package/src/ui/utils/layer/__workshop__/multipleRoots.tsx +49 -0
- package/src/ui/utils/layer/__workshop__/nested.tsx +98 -0
- package/src/ui/utils/layer/__workshop__/responsiveZOffset.tsx +13 -0
- package/src/ui/utils/layer/index.ts +4 -0
- package/src/ui/utils/layer/layer.test.tsx +108 -0
- package/src/ui/utils/layer/layer.tsx +112 -0
- package/src/ui/utils/layer/layerProvider.tsx +110 -0
- package/src/ui/utils/layer/useLayer.ts +26 -0
- package/src/ui/utils/portal/portal.test.tsx +103 -0
- package/src/ui/utils/portal/portal.ts +46 -0
- package/src/ui/utils/portal/portalProvider.tsx +79 -0
- package/src/ui/utils/portal/usePortal.ts +25 -0
- package/src/ui/utils/spanWithTextOverflow.tsx +10 -0
- package/src/ui/utils/srOnly/index.ts +1 -0
- package/src/ui/utils/srOnly/srOnly.tsx +35 -0
- package/src/ui/utils/virtualList/virtualList.tsx +194 -0
- package/dist/css.esm.js +0 -3794
- package/dist/css.esm.js.map +0 -1
- package/dist/index.esm.js +0 -5431
- package/dist/index.esm.js.map +0 -1
- package/dist/theme.esm.js +0 -4201
- package/dist/theme.esm.js.map +0 -1
- package/src/core/__workshop__/constants.ts +0 -305
- package/src/core/__workshop__/fontsPlugin.tsx +0 -76
- package/src/core/_compat/index.ts +0 -2
- package/src/core/_compat/styles/border/borderStyle.ts +0 -61
- package/src/core/_compat/styles/border/index.ts +0 -2
- package/src/core/_compat/styles/border/types.ts +0 -11
- package/src/core/_compat/styles/box/boxStyle.ts +0 -74
- package/src/core/_compat/styles/box/index.ts +0 -2
- package/src/core/_compat/styles/box/types.ts +0 -11
- package/src/core/_compat/styles/card/_cardColorStyle.ts +0 -101
- package/src/core/_compat/styles/card/index.ts +0 -1
- package/src/core/_compat/styles/flex/flexItemStyle.ts +0 -26
- package/src/core/_compat/styles/flex/flexStyle.ts +0 -69
- package/src/core/_compat/styles/flex/index.ts +0 -3
- package/src/core/_compat/styles/flex/types.ts +0 -24
- package/src/core/_compat/styles/focusRing/index.ts +0 -25
- package/src/core/_compat/styles/font/codeFontStyle.ts +0 -12
- package/src/core/_compat/styles/font/headingFontStyle.ts +0 -12
- package/src/core/_compat/styles/font/index.ts +0 -6
- package/src/core/_compat/styles/font/labelFontStyle.ts +0 -12
- package/src/core/_compat/styles/font/responsiveFont.ts +0 -101
- package/src/core/_compat/styles/font/textAlignStyle.ts +0 -18
- package/src/core/_compat/styles/font/textFontStyle.ts +0 -12
- package/src/core/_compat/styles/font/types.ts +0 -34
- package/src/core/_compat/styles/grid/gridItemStyle.ts +0 -81
- package/src/core/_compat/styles/grid/gridStyle.ts +0 -97
- package/src/core/_compat/styles/grid/index.ts +0 -3
- package/src/core/_compat/styles/grid/types.ts +0 -37
- package/src/core/_compat/styles/helpers.ts +0 -81
- package/src/core/_compat/styles/index.ts +0 -5
- package/src/core/_compat/styles/input/index.ts +0 -2
- package/src/core/_compat/styles/input/responsiveInputPaddingStyle.ts +0 -77
- package/src/core/_compat/styles/input/textInputStyle.ts +0 -263
- package/src/core/_compat/styles/internal.ts +0 -12
- package/src/core/_compat/styles/margin/index.ts +0 -2
- package/src/core/_compat/styles/margin/marginStyle.ts +0 -20
- package/src/core/_compat/styles/margin/marginsStyle.test.ts +0 -32
- package/src/core/_compat/styles/margin/types.ts +0 -9
- package/src/core/_compat/styles/padding/index.ts +0 -2
- package/src/core/_compat/styles/padding/paddingStyle.test.ts +0 -32
- package/src/core/_compat/styles/padding/paddingStyle.ts +0 -20
- package/src/core/_compat/styles/padding/types.ts +0 -12
- package/src/core/_compat/styles/radius/index.ts +0 -2
- package/src/core/_compat/styles/radius/radiusStyle.ts +0 -22
- package/src/core/_compat/styles/radius/types.ts +0 -8
- package/src/core/_compat/styles/shadow/index.ts +0 -2
- package/src/core/_compat/styles/shadow/shadowStyle.ts +0 -29
- package/src/core/_compat/styles/shadow/types.ts +0 -6
- package/src/core/_compat/styles/types.ts +0 -8
- package/src/core/_compat/types.ts +0 -264
- package/src/core/components/autocomplete/__mocks__/apiStore.ts +0 -49
- package/src/core/components/autocomplete/__workshop__/.eslintrc +0 -5
- package/src/core/components/autocomplete/__workshop__/async.tsx +0 -155
- package/src/core/components/autocomplete/__workshop__/constrainedHeight.tsx +0 -136
- package/src/core/components/autocomplete/__workshop__/custom.tsx +0 -89
- package/src/core/components/autocomplete/__workshop__/example.tsx +0 -79
- package/src/core/components/autocomplete/__workshop__/fullscreen.tsx +0 -293
- package/src/core/components/autocomplete/autocomplete.tsx +0 -735
- package/src/core/components/autocomplete/autocompleteOption.tsx +0 -44
- package/src/core/components/autocomplete/types.ts +0 -108
- package/src/core/components/breadcrumbs/__workshop__/.eslintrc +0 -5
- package/src/core/components/breadcrumbs/__workshop__/example.tsx +0 -55
- package/src/core/components/breadcrumbs/breadcrumbs.tsx +0 -111
- package/src/core/components/dialog/__workshop__/.eslintrc +0 -5
- package/src/core/components/dialog/__workshop__/activate.tsx +0 -133
- package/src/core/components/dialog/__workshop__/nested.tsx +0 -72
- package/src/core/components/dialog/__workshop__/onScroll.tsx +0 -39
- package/src/core/components/dialog/__workshop__/panes.tsx +0 -81
- package/src/core/components/dialog/__workshop__/position.tsx +0 -29
- package/src/core/components/dialog/__workshop__/props.tsx +0 -76
- package/src/core/components/dialog/__workshop__/wrapped.tsx +0 -78
- package/src/core/components/dialog/dialog.tsx +0 -410
- package/src/core/components/dialog/dialogProvider.tsx +0 -34
- package/src/core/components/dialog/useDialog.ts +0 -10
- package/src/core/components/hotkeys/__workshop__/.eslintrc +0 -5
- package/src/core/components/hotkeys/hotkeys.tsx +0 -50
- package/src/core/components/menu/__workshop__/.eslintrc +0 -5
- package/src/core/components/menu/__workshop__/asComponent.tsx +0 -44
- package/src/core/components/menu/__workshop__/avatarMenu.tsx +0 -50
- package/src/core/components/menu/__workshop__/constrainedInBoundary.tsx +0 -133
- package/src/core/components/menu/__workshop__/customSelectedState.tsx +0 -38
- package/src/core/components/menu/__workshop__/menuButton.tsx +0 -79
- package/src/core/components/menu/__workshop__/shouldFocus.tsx +0 -46
- package/src/core/components/menu/__workshop__/tones.tsx +0 -25
- package/src/core/components/menu/menu.test.tsx +0 -129
- package/src/core/components/menu/menu.tsx +0 -173
- package/src/core/components/menu/menuButton.tsx +0 -289
- package/src/core/components/menu/menuContext.ts +0 -29
- package/src/core/components/menu/menuDivider.tsx +0 -16
- package/src/core/components/menu/menuGroup.tsx +0 -204
- package/src/core/components/menu/menuItem.tsx +0 -187
- package/src/core/components/menu/useMenu.ts +0 -20
- package/src/core/components/menu/useMenuController.ts +0 -230
- package/src/core/components/skeleton/__workshop__/.eslintrc +0 -5
- package/src/core/components/skeleton/__workshop__/delay.tsx +0 -69
- package/src/core/components/skeleton/__workshop__/skeleton.tsx +0 -63
- package/src/core/components/skeleton/skeleton.tsx +0 -52
- package/src/core/components/skeleton/textSkeleton.tsx +0 -146
- package/src/core/components/tab/__workshop__/.eslintrc +0 -5
- package/src/core/components/tab/tab.tsx +0 -98
- package/src/core/components/tab/tabList.tsx +0 -61
- package/src/core/components/tab/tabPanel.tsx +0 -39
- package/src/core/components/toast/__workshop__/.eslintrc +0 -5
- package/src/core/components/toast/__workshop__/hook.tsx +0 -71
- package/src/core/components/toast/__workshop__/toast.tsx +0 -25
- package/src/core/components/toast/toast.test.tsx +0 -102
- package/src/core/components/toast/toast.tsx +0 -122
- package/src/core/components/toast/toastProvider.tsx +0 -193
- package/src/core/components/toast/types.ts +0 -20
- package/src/core/components/toast/useToast.ts +0 -24
- package/src/core/components/tree/__workshop__/.eslintrc +0 -5
- package/src/core/components/tree/__workshop__/basic.tsx +0 -104
- package/src/core/components/tree/__workshop__/tabFromElement.tsx +0 -83
- package/src/core/components/tree/tree.tsx +0 -241
- package/src/core/components/tree/treeGroup.tsx +0 -32
- package/src/core/components/tree/treeItem.tsx +0 -213
- package/src/core/components/tree/useTree.ts +0 -16
- package/src/core/constants.ts +0 -57
- package/src/core/helpers/focus.ts +0 -100
- package/src/core/helpers/index.ts +0 -4
- package/src/core/hooks/useArrayProp.ts +0 -25
- package/src/core/hooks/useClickOutside.test.tsx +0 -483
- package/src/core/hooks/useClickOutside.ts +0 -116
- package/src/core/hooks/useClickOutsideEvent.test.tsx +0 -116
- package/src/core/hooks/useClickOutsideEvent.ts +0 -72
- package/src/core/hooks/useDelayed.test.ts +0 -67
- package/src/core/hooks/useDelayedState.ts +0 -29
- package/src/core/hooks/useElementRect/__workshop__/.eslintrc +0 -5
- package/src/core/hooks/useElementRect/__workshop__/example.tsx +0 -31
- package/src/core/hooks/useElementSize.ts +0 -18
- package/src/core/hooks/useForwardedRef.ts +0 -19
- package/src/core/hooks/useGlobalKeyDown.ts +0 -12
- package/src/core/hooks/useMatchMedia.ts +0 -46
- package/src/core/hooks/useMediaIndex/__workshop__/.eslintrc +0 -5
- package/src/core/hooks/useMediaIndex/useMediaIndex.test.tsx +0 -35
- package/src/core/hooks/useMediaIndex/useMediaIndex.ts +0 -101
- package/src/core/hooks/usePrefersDark.hydration.test.tsx +0 -57
- package/src/core/hooks/usePrefersDark.test.tsx +0 -18
- package/src/core/hooks/usePrefersDark.ts +0 -16
- package/src/core/hooks/usePrefersReducedMotion.hydration.test.tsx +0 -57
- package/src/core/hooks/usePrefersReducedMotion.test.tsx +0 -18
- package/src/core/hooks/usePrefersReducedMotion.ts +0 -16
- package/src/core/index.ts +0 -10
- package/src/core/lib/createGlobalScopedContext.ts +0 -33
- package/src/core/lib/globalScope.ts +0 -20
- package/src/core/lib/styled/elements.ts +0 -135
- package/src/core/lib/styled/index.ts +0 -2
- package/src/core/lib/styled/members.ts +0 -15
- package/src/core/lib/styled/styled.ts +0 -79
- package/src/core/primitives/_selectable/selectable.tsx +0 -27
- package/src/core/primitives/avatar/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/avatar/__workshop__/asButton.tsx +0 -13
- package/src/core/primitives/avatar/__workshop__/stack.tsx +0 -24
- package/src/core/primitives/avatar/__workshop__/withinButton.tsx +0 -62
- package/src/core/primitives/avatar/__workshop__/withinMenuItem.tsx +0 -69
- package/src/core/primitives/avatar/avatar.tsx +0 -196
- package/src/core/primitives/avatar/avatarCounter.tsx +0 -93
- package/src/core/primitives/avatar/avatarStack.tsx +0 -100
- package/src/core/primitives/avatar/styles.ts +0 -166
- package/src/core/primitives/avatar/types.ts +0 -16
- package/src/core/primitives/badge/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/badge/__workshop__/props.tsx +0 -29
- package/src/core/primitives/badge/__workshop__/tones.tsx +0 -20
- package/src/core/primitives/badge/badge.test.tsx +0 -15
- package/src/core/primitives/badge/badge.tsx +0 -59
- package/src/core/primitives/badge/styles.ts +0 -19
- package/src/core/primitives/box/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/box/__workshop__/props.tsx +0 -19
- package/src/core/primitives/box/box.tsx +0 -121
- package/src/core/primitives/button/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/button/__workshop__/custom.tsx +0 -47
- package/src/core/primitives/button/__workshop__/disabled.tsx +0 -73
- package/src/core/primitives/button/__workshop__/props.tsx +0 -53
- package/src/core/primitives/button/__workshop__/stacked.tsx +0 -58
- package/src/core/primitives/button/button.test.tsx +0 -43
- package/src/core/primitives/button/button.tsx +0 -181
- package/src/core/primitives/button/styles.ts +0 -116
- package/src/core/primitives/card/RootCardContext.ts +0 -3
- package/src/core/primitives/card/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/card/__workshop__/allTones.tsx +0 -27
- package/src/core/primitives/card/__workshop__/asButton.tsx +0 -88
- package/src/core/primitives/card/__workshop__/asComponent.tsx +0 -27
- package/src/core/primitives/card/__workshop__/checkered.tsx +0 -16
- package/src/core/primitives/card/__workshop__/interactive.tsx +0 -23
- package/src/core/primitives/card/__workshop__/listNavigation.tsx +0 -77
- package/src/core/primitives/card/__workshop__/props.tsx +0 -49
- package/src/core/primitives/card/__workshop__/selected.tsx +0 -91
- package/src/core/primitives/card/card.tsx +0 -110
- package/src/core/primitives/card/index.ts +0 -2
- package/src/core/primitives/card/types.ts +0 -11
- package/src/core/primitives/checkbox/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/checkbox/__workshop__/tones.tsx +0 -22
- package/src/core/primitives/checkbox/checkbox.tsx +0 -70
- package/src/core/primitives/code/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/code/__workshop__/props.tsx +0 -20
- package/src/core/primitives/code/code.tsx +0 -49
- package/src/core/primitives/code/styles.ts +0 -77
- package/src/core/primitives/container/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/container/__workshop__/example.tsx +0 -19
- package/src/core/primitives/container/container.tsx +0 -32
- package/src/core/primitives/container/styles.ts +0 -22
- package/src/core/primitives/flex/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/flex/__workshop__/example.tsx +0 -33
- package/src/core/primitives/flex/__workshop__/gap.tsx +0 -25
- package/src/core/primitives/flex/flex.tsx +0 -32
- package/src/core/primitives/grid/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/grid/__workshop__/responsive.tsx +0 -54
- package/src/core/primitives/grid/grid.tsx +0 -34
- package/src/core/primitives/heading/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/heading/__workshop__/opticalAlignment.tsx +0 -66
- package/src/core/primitives/heading/__workshop__/plain.tsx +0 -31
- package/src/core/primitives/heading/heading.tsx +0 -82
- package/src/core/primitives/heading/styles.ts +0 -63
- package/src/core/primitives/heading/types.ts +0 -7
- package/src/core/primitives/inline/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/inline/__workshop__/plain.tsx +0 -26
- package/src/core/primitives/inline/inline.tsx +0 -47
- package/src/core/primitives/inline/styles.ts +0 -31
- package/src/core/primitives/kbd/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/kbd/kbd.tsx +0 -53
- package/src/core/primitives/label/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/label/__workshop__/opticalAlignment.tsx +0 -48
- package/src/core/primitives/label/__workshop__/plain.tsx +0 -23
- package/src/core/primitives/label/label.tsx +0 -91
- package/src/core/primitives/label/styles.ts +0 -44
- package/src/core/primitives/popover/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +0 -76
- package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +0 -31
- package/src/core/primitives/popover/__workshop__/OpenOnMountStory.tsx +0 -11
- package/src/core/primitives/popover/__workshop__/PlainStory.tsx +0 -70
- package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +0 -86
- package/src/core/primitives/popover/__workshop__/TestStory.tsx +0 -97
- package/src/core/primitives/popover/floating-ui/size.ts +0 -82
- package/src/core/primitives/popover/helpers.ts +0 -31
- package/src/core/primitives/popover/popover.tsx +0 -476
- package/src/core/primitives/popover/popoverCard.tsx +0 -153
- package/src/core/primitives/radio/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/radio/__workshop__/plain.tsx +0 -28
- package/src/core/primitives/radio/radio.tsx +0 -50
- package/src/core/primitives/radio/styles.ts +0 -116
- package/src/core/primitives/select/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/select/__workshop__/plain.tsx +0 -27
- package/src/core/primitives/select/__workshop__/readOnly.tsx +0 -23
- package/src/core/primitives/select/select.tsx +0 -86
- package/src/core/primitives/select/styles.ts +0 -166
- package/src/core/primitives/spinner/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/spinner/__workshop__/Props.tsx +0 -15
- package/src/core/primitives/spinner/spinner.tsx +0 -31
- package/src/core/primitives/stack/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/stack/__workshop__/plain.tsx +0 -31
- package/src/core/primitives/stack/stack.tsx +0 -41
- package/src/core/primitives/stack/styles.ts +0 -31
- package/src/core/primitives/switch/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/switch/styles.ts +0 -172
- package/src/core/primitives/switch/switch.tsx +0 -66
- package/src/core/primitives/text/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/text/__workshop__/colored.tsx +0 -29
- package/src/core/primitives/text/__workshop__/example.tsx +0 -38
- package/src/core/primitives/text/__workshop__/opticalAlignment.tsx +0 -58
- package/src/core/primitives/text/styles.ts +0 -73
- package/src/core/primitives/text/text.tsx +0 -82
- package/src/core/primitives/textArea/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/textArea/__workshop__/plain.tsx +0 -49
- package/src/core/primitives/textArea/textArea.tsx +0 -118
- package/src/core/primitives/textInput/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/textInput/__workshop__/index.ts +0 -49
- package/src/core/primitives/textInput/__workshop__/multipleTones.tsx +0 -20
- package/src/core/primitives/textInput/__workshop__/plain.tsx +0 -99
- package/src/core/primitives/textInput/__workshop__/readOnly.tsx +0 -5
- package/src/core/primitives/textInput/__workshop__/tones.tsx +0 -239
- package/src/core/primitives/textInput/__workshop__/typed.tsx +0 -22
- package/src/core/primitives/textInput/textInput.tsx +0 -373
- package/src/core/primitives/tooltip/__workshop__/.eslintrc +0 -5
- package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +0 -101
- package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +0 -73
- package/src/core/primitives/tooltip/__workshop__/props.tsx +0 -106
- package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +0 -85
- package/src/core/primitives/tooltip/tooltip.test.tsx +0 -451
- package/src/core/primitives/tooltip/tooltip.tsx +0 -464
- package/src/core/primitives/tooltip/tooltipCard.tsx +0 -110
- package/src/core/primitives/tooltip/tooltipDelayGroup/index.ts +0 -4
- package/src/core/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx +0 -57
- package/src/core/primitives/tooltip/tooltipDelayGroup/types.ts +0 -11
- package/src/core/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts +0 -12
- package/src/core/primitives/types.ts +0 -166
- package/src/core/theme/__workshop__/.eslintrc +0 -5
- package/src/core/theme/__workshop__/build/Root.tsx +0 -367
- package/src/core/theme/__workshop__/build/helpers.ts +0 -46
- package/src/core/theme/__workshop__/build/story.tsx +0 -457
- package/src/core/theme/__workshop__/canvas.tsx +0 -350
- package/src/core/theme/__workshop__/color.tsx +0 -62
- package/src/core/theme/__workshop__/debug/story.tsx +0 -401
- package/src/core/theme/__workshop__/index.ts +0 -39
- package/src/core/theme/__workshop__/layer.tsx +0 -78
- package/src/core/theme/__workshop__/nestedProvider.tsx +0 -15
- package/src/core/theme/index.ts +0 -5
- package/src/core/theme/theme.test.tsx +0 -73
- package/src/core/theme/themeColorProvider.tsx +0 -28
- package/src/core/theme/themeContext.ts +0 -10
- package/src/core/theme/themeProvider.tsx +0 -63
- package/src/core/theme/useRootTheme.ts +0 -16
- package/src/core/theme/useTheme.ts +0 -16
- package/src/core/types/box.ts +0 -25
- package/src/core/types/button.ts +0 -22
- package/src/core/types/flex.ts +0 -31
- package/src/core/types/grid.ts +0 -19
- package/src/core/types/gridItem.ts +0 -37
- package/src/core/types/index.ts +0 -14
- package/src/core/types/selectable.ts +0 -6
- package/src/core/utils/arrow/arrow.tsx +0 -122
- package/src/core/utils/boundaryElement/__workshop__/.eslintrc +0 -5
- package/src/core/utils/boundaryElement/boundaryElement.test.tsx +0 -101
- package/src/core/utils/boundaryElement/boundaryElementProvider.tsx +0 -23
- package/src/core/utils/boundaryElement/index.ts +0 -3
- package/src/core/utils/boundaryElement/useBoundaryElement.ts +0 -25
- package/src/core/utils/conditionalWrapper/conditionalWrapper.tsx +0 -21
- package/src/core/utils/elementQuery/__workshop__/.eslintrc +0 -5
- package/src/core/utils/elementQuery/elementQuery.tsx +0 -53
- package/src/core/utils/errorBoundary.tsx +0 -47
- package/src/core/utils/layer/__workshop__/.eslintrc +0 -5
- package/src/core/utils/layer/__workshop__/multipleRoots.tsx +0 -48
- package/src/core/utils/layer/__workshop__/nested.tsx +0 -97
- package/src/core/utils/layer/__workshop__/responsiveZOffset.tsx +0 -12
- package/src/core/utils/layer/index.ts +0 -4
- package/src/core/utils/layer/layer.test.tsx +0 -109
- package/src/core/utils/layer/layer.tsx +0 -108
- package/src/core/utils/layer/layerProvider.tsx +0 -109
- package/src/core/utils/layer/useLayer.ts +0 -25
- package/src/core/utils/portal/__workshop__/.eslintrc +0 -5
- package/src/core/utils/portal/portal.test.tsx +0 -104
- package/src/core/utils/portal/portal.ts +0 -31
- package/src/core/utils/portal/portalProvider.tsx +0 -78
- package/src/core/utils/portal/usePortal.ts +0 -24
- package/src/core/utils/srOnly/srOnly.tsx +0 -36
- package/src/core/utils/virtualList/__workshop__/.eslintrc +0 -5
- package/src/core/utils/virtualList/virtualList.tsx +0 -170
- package/src/css/cli/buildCommand.ts +0 -36
- package/src/css/cli/index.ts +0 -38
- package/src/css/components/breadcrumbs/rules.ts +0 -25
- package/src/css/components/dialog/classes.ts +0 -29
- package/src/css/components/dialog/rules.ts +0 -75
- package/src/css/components/skeleton/rules.ts +0 -106
- package/src/css/components/toast/rules.ts +0 -68
- package/src/css/components/tree/rules.ts +0 -167
- package/src/css/primitives/badge/rules.ts +0 -25
- package/src/css/primitives/box/rules.ts +0 -25
- package/src/css/primitives/card/rules.ts +0 -241
- package/src/css/primitives/popover/rules.ts +0 -5
- package/src/css/primitives/selectable/__style.ts +0 -117
- package/src/css/primitives/selectable/rules.ts +0 -27
- package/src/css/primitives/selectable/selectable.ts +0 -9
- package/src/css/primitives/selectable/types.ts +0 -6
- package/src/css/primitives/spinner/rules.ts +0 -20
- package/src/css/primitives/token/rules.ts +0 -45
- package/src/css/rules.ts +0 -99
- package/src/css/styles/border/border.ts +0 -22
- package/src/css/styles/border/rules.ts +0 -24
- package/src/css/styles/display/rules.ts +0 -62
- package/src/css/styles/flex/flex.ts +0 -20
- package/src/css/styles/flex/rules.ts +0 -28
- package/src/css/styles/flexItem/flexItem.ts +0 -8
- package/src/css/styles/flexItem/rules.ts +0 -11
- package/src/css/styles/flexItem/types.ts +0 -11
- package/src/css/styles/font/font.ts +0 -17
- package/src/css/styles/font/rules.ts +0 -148
- package/src/css/styles/gap/gap.ts +0 -8
- package/src/css/styles/gap/rules.ts +0 -33
- package/src/css/styles/gap/types.ts +0 -9
- package/src/css/styles/grid/grid.ts +0 -13
- package/src/css/styles/grid/rules.ts +0 -146
- package/src/css/styles/grid/types.ts +0 -29
- package/src/css/styles/gridItem/gridItem.ts +0 -15
- package/src/css/styles/gridItem/rules.ts +0 -96
- package/src/css/styles/margin/margin.ts +0 -15
- package/src/css/styles/margin/rules.ts +0 -63
- package/src/css/styles/maxWidth/rules.ts +0 -36
- package/src/css/styles/maxWidth/types.ts +0 -6
- package/src/css/styles/outline/rules.ts +0 -7
- package/src/css/styles/overflow/overflow.ts +0 -11
- package/src/css/styles/overflow/rules.ts +0 -9
- package/src/css/styles/padding/padding.ts +0 -15
- package/src/css/styles/padding/rules.ts +0 -61
- package/src/css/styles/padding/types.ts +0 -12
- package/src/css/styles/pointerEvents/pointerEvents.ts +0 -6
- package/src/css/styles/pointerEvents/rules.ts +0 -11
- package/src/css/styles/position/position.ts +0 -7
- package/src/css/styles/position/rules.ts +0 -31
- package/src/css/styles/position/types.ts +0 -13
- package/src/css/styles/radius/radius.ts +0 -8
- package/src/css/styles/radius/rules.ts +0 -13
- package/src/css/styles/radius/types.ts +0 -7
- package/src/css/styles/shadow/rules.ts +0 -53
- package/src/css/styles/width/index.ts +0 -2
- package/src/css/styles/width/rules.ts +0 -7
- package/src/css/styles/width/types.ts +0 -8
- package/src/theme/system/_constants.ts +0 -25
- package/src/theme/system/_types.ts +0 -41
- package/src/theme/system/avatar.ts +0 -14
- package/src/theme/system/color/_constants.ts +0 -41
- package/src/theme/system/color/_helpers.ts +0 -23
- package/src/theme/system/color/_system.ts +0 -40
- package/src/theme/system/color/badge.ts +0 -20
- package/src/theme/system/color/color.ts +0 -34
- package/src/theme/system/css.ts +0 -9
- package/src/theme/system/font.ts +0 -52
- package/src/theme/system/index.ts +0 -14
- package/src/theme/system/input.ts +0 -33
- package/src/theme/system/theme.ts +0 -138
- package/src/theme/system/v0/color/_generic.ts +0 -35
- package/src/theme/system/v0/color/_system.ts +0 -13
- package/src/theme/system/v0/color/color.ts +0 -39
- package/src/theme/system/v0/color/index.ts +0 -11
- package/src/theme/system/v0/color/input.ts +0 -34
- package/src/theme/system/v0/color/spot.ts +0 -13
- package/src/theme/system/v0/index.ts +0 -3
- package/theme.js +0 -2
- /package/src/css/{styles → aspects}/border/index.ts +0 -0
- /package/src/css/{styles → aspects}/border/types.ts +0 -0
- /package/src/css/{styles → aspects}/flex/index.ts +0 -0
- /package/src/css/{styles → aspects}/flex/types.ts +0 -0
- /package/src/css/{styles → aspects}/flexItem/index.ts +0 -0
- /package/src/css/{styles → aspects}/font/index.ts +0 -0
- /package/src/css/{styles → aspects}/font/types.ts +0 -0
- /package/src/css/{styles → aspects}/gap/index.ts +0 -0
- /package/src/css/{styles → aspects}/grid/index.ts +0 -0
- /package/src/css/{styles → aspects}/gridItem/index.ts +0 -0
- /package/src/css/{styles → aspects}/gridItem/types.ts +0 -0
- /package/src/css/{styles → aspects}/height/rules.ts +0 -0
- /package/src/css/{styles → aspects}/margin/index.ts +0 -0
- /package/src/css/{styles → aspects}/margin/types.ts +0 -0
- /package/src/css/{styles → aspects}/maxWidth/index.ts +0 -0
- /package/src/css/{styles → aspects}/maxWidth/maxWidth.ts +0 -0
- /package/src/css/{styles → aspects}/overflow/index.ts +0 -0
- /package/src/css/{styles → aspects}/overflow/types.ts +0 -0
- /package/src/css/{styles → aspects}/padding/index.ts +0 -0
- /package/src/css/{styles → aspects}/pointerEvents/index.ts +0 -0
- /package/src/css/{styles → aspects}/pointerEvents/types.ts +0 -0
- /package/src/css/{styles → aspects}/position/index.ts +0 -0
- /package/src/css/{styles → aspects}/radius/index.ts +0 -0
- /package/src/css/{styles → aspects}/width/width.ts +0 -0
- /package/src/css/primitives/{selectable → _selectable}/index.ts +0 -0
- /package/src/{core → css}/primitives/stack/index.ts +0 -0
- /package/src/{core → css}/utils/srOnly/index.ts +0 -0
- /package/src/theme/{system/v0 → v0}/avatar.ts +0 -0
- /package/src/theme/{system/v0 → v0}/color/base.ts +0 -0
- /package/src/theme/{system/v0 → v0}/color/button.ts +0 -0
- /package/src/theme/{system/v0 → v0}/color/card.ts +0 -0
- /package/src/theme/{system/v0 → v0}/color/muted.ts +0 -0
- /package/src/theme/{system/v0 → v0}/color/selectable.ts +0 -0
- /package/src/theme/{system/v0 → v0}/color/solid.ts +0 -0
- /package/src/theme/{system → v0}/focusRing.ts +0 -0
- /package/src/theme/{system/v0 → v0}/input.ts +0 -0
- /package/src/theme/{system → v0}/layer.ts +0 -0
- /package/src/theme/{system → v0}/shadow.ts +0 -0
- /package/src/theme/{system → v0}/styles.ts +0 -0
- /package/src/theme/{system → v2}/color/avatar.ts +0 -0
- /package/src/theme/{system → v2}/color/button.ts +0 -0
- /package/src/theme/{system → v2}/color/index.ts +0 -0
- /package/src/theme/{system → v2}/color/input.ts +0 -0
- /package/src/theme/{system → v2}/color/kbd.ts +0 -0
- /package/src/theme/{system → v2}/color/selectable.ts +0 -0
- /package/src/theme/{system → v2}/color/shadow.ts +0 -0
- /package/src/theme/{system → v2}/color/state.ts +0 -0
- /package/src/theme/{system → v2}/color/syntax.ts +0 -0
- /package/src/{core → ui/_compat}/theme/types.ts +0 -0
- /package/src/{core/components/autocomplete/__fixtures__ → ui/components/autocomplete/__mocks__}/countries.ts +0 -0
- /package/src/{core → ui}/components/autocomplete/__workshop__/focusAndBlur.tsx +0 -0
- /package/src/{core → ui}/components/autocomplete/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/components/autocomplete/__workshop__/types.ts +0 -0
- /package/src/{core → ui}/components/autocomplete/autocompleteReducer.ts +0 -0
- /package/src/{core → ui}/components/autocomplete/constants.ts +0 -0
- /package/src/{core → ui}/components/autocomplete/index.ts +0 -0
- /package/src/{core → ui}/components/breadcrumbs/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/components/breadcrumbs/index.ts +0 -0
- /package/src/{core → ui}/components/dialog/__workshop__/autoFocus.tsx +0 -0
- /package/src/{core → ui}/components/dialog/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/components/dialog/__workshop__/layering.tsx +0 -0
- /package/src/{core → ui}/components/dialog/__workshop__/provider.tsx +0 -0
- /package/src/{core → ui}/components/dialog/dialogContext.ts +0 -0
- /package/src/{core → ui}/components/dialog/index.ts +0 -0
- /package/src/{core → ui}/components/hotkeys/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/components/hotkeys/__workshop__/plain.tsx +0 -0
- /package/src/{core → ui}/components/hotkeys/index.ts +0 -0
- /package/src/{core → ui}/components/index.ts +0 -0
- /package/src/{core → ui}/components/menu/__workshop__/closableMenuButton.tsx +0 -0
- /package/src/{core → ui}/components/menu/__workshop__/customMenuItem.tsx +0 -0
- /package/src/{core → ui}/components/menu/__workshop__/disableFocusOnClose.tsx +0 -0
- /package/src/{core → ui}/components/menu/__workshop__/groups.tsx +0 -0
- /package/src/{core → ui}/components/menu/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/components/menu/__workshop__/menuGroupRight.tsx +0 -0
- /package/src/{core → ui}/components/menu/__workshop__/nestedMenu.tsx +0 -0
- /package/src/{core → ui}/components/menu/__workshop__/onCloseMenuButton.tsx +0 -0
- /package/src/{core → ui}/components/menu/__workshop__/selectedItem.tsx +0 -0
- /package/src/{core → ui}/components/menu/__workshop__/withoutArrow.tsx +0 -0
- /package/src/{core → ui}/components/menu/helpers.ts +0 -0
- /package/src/{core → ui}/components/menu/index.ts +0 -0
- /package/src/{core → ui}/components/skeleton/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/components/skeleton/index.ts +0 -0
- /package/src/{core → ui}/components/tab/__workshop__/example.tsx +0 -0
- /package/src/{core → ui}/components/tab/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/components/tab/index.ts +0 -0
- /package/src/{core → ui}/components/toast/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/components/toast/index.ts +0 -0
- /package/src/{core → ui}/components/toast/toastContext.ts +0 -0
- /package/src/{core → ui}/components/tree/__workshop__/basic.perf.ts +0 -0
- /package/src/{core → ui}/components/tree/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/components/tree/helpers.ts +0 -0
- /package/src/{core → ui}/components/tree/index.ts +0 -0
- /package/src/{core → ui}/components/tree/treeContext.ts +0 -0
- /package/src/{core → ui}/components/tree/types.ts +0 -0
- /package/src/{core → ui}/global.ts +0 -0
- /package/src/{core → ui}/helpers/animation.ts +0 -0
- /package/src/{core → ui}/helpers/element.ts +0 -0
- /package/src/{core → ui}/helpers/scroll.ts +0 -0
- /package/src/{core → ui}/hooks/index.ts +0 -0
- /package/src/{core → ui}/hooks/useCustomValidity.ts +0 -0
- /package/src/{core → ui}/hooks/useElementRect/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/hooks/useElementRect/index.ts +0 -0
- /package/src/{core → ui}/hooks/useElementRect/useElementRect.ts +0 -0
- /package/src/{core → ui}/hooks/useIsomorphicEffect.ts +0 -0
- /package/src/{core → ui}/hooks/useMediaIndex/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/hooks/useMediaIndex/__workshop__/test.tsx +0 -0
- /package/src/{core → ui}/hooks/useMediaIndex/index.ts +0 -0
- /package/src/{core → ui}/hooks/useMounted.ts +0 -0
- /package/src/{core → ui}/lib/isRecord.ts +0 -0
- /package/src/{core → ui}/middleware/origin.ts +0 -0
- /package/src/{core → ui}/observers/elementSizeObserver.ts +0 -0
- /package/src/{core → ui}/observers/index.ts +0 -0
- /package/src/{core → ui}/observers/resizeObserver.ts +0 -0
- /package/src/{core → ui}/primitives/_selectable/index.ts +0 -0
- /package/src/{core → ui}/primitives/avatar/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/avatar/index.ts +0 -0
- /package/src/{core → ui}/primitives/badge/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/badge/index.ts +0 -0
- /package/src/{core → ui}/primitives/badge/types.ts +0 -0
- /package/src/{core → ui}/primitives/box/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/box/__workshop__/responsive.tsx +0 -0
- /package/src/{core → ui}/primitives/box/index.ts +0 -0
- /package/src/{core → ui}/primitives/button/__workshop__/customIcons.tsx +0 -0
- /package/src/{core → ui}/primitives/button/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/button/__workshop__/mixedChildren.tsx +0 -0
- /package/src/{core → ui}/primitives/button/__workshop__/sanityUploadButton.tsx +0 -0
- /package/src/{core → ui}/primitives/button/__workshop__/styled1.tsx +0 -0
- /package/src/{core → ui}/primitives/button/__workshop__/styled2.tsx +0 -0
- /package/src/{core → ui}/primitives/button/__workshop__/uploadButton.tsx +0 -0
- /package/src/{core → ui}/primitives/button/index.ts +0 -0
- /package/src/{core → ui}/primitives/card/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/card/__workshop__/styled.tsx +0 -0
- /package/src/{core → ui}/primitives/checkbox/__workshop__/example.tsx +0 -0
- /package/src/{core → ui}/primitives/checkbox/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/checkbox/__workshop__/props.tsx +0 -0
- /package/src/{core → ui}/primitives/checkbox/__workshop__/readOnly.tsx +0 -0
- /package/src/{core → ui}/primitives/checkbox/index.ts +0 -0
- /package/src/{core → ui}/primitives/code/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/code/__workshop__/opticalAlignment.tsx +0 -0
- /package/src/{core → ui}/primitives/code/index.ts +0 -0
- /package/src/{core → ui}/primitives/container/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/container/index.ts +0 -0
- /package/src/{core → ui}/primitives/container/types.ts +0 -0
- /package/src/{core → ui}/primitives/flex/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/flex/index.ts +0 -0
- /package/src/{core → ui}/primitives/grid/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/grid/index.ts +0 -0
- /package/src/{core → ui}/primitives/heading/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/heading/index.ts +0 -0
- /package/src/{core → ui}/primitives/index.ts +0 -0
- /package/src/{core → ui}/primitives/inline/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/inline/index.ts +0 -0
- /package/src/{core → ui}/primitives/inline/types.ts +0 -0
- /package/src/{core → ui}/primitives/kbd/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/kbd/__workshop__/plain.tsx +0 -0
- /package/src/{core/primitives/kbd/index.tsx → ui/primitives/kbd/index.ts} +0 -0
- /package/src/{core → ui}/primitives/label/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/label/index.ts +0 -0
- /package/src/{core → ui}/primitives/popover/__workshop__/MarginsStory.tsx +0 -0
- /package/src/{core → ui}/primitives/popover/__workshop__/RecursiveStory.tsx +0 -0
- /package/src/{core → ui}/primitives/popover/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/popover/constants.ts +0 -0
- /package/src/{core → ui}/primitives/popover/index.ts +0 -0
- /package/src/{core → ui}/primitives/popover/types.ts +0 -0
- /package/src/{core → ui}/primitives/radio/__workshop__/example.tsx +0 -0
- /package/src/{core → ui}/primitives/radio/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/radio/index.ts +0 -0
- /package/src/{core → ui}/primitives/select/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/select/index.ts +0 -0
- /package/src/{core → ui}/primitives/spinner/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/spinner/animatedSpinnerIcon.tsx +0 -0
- /package/src/{core → ui}/primitives/spinner/index.ts +0 -0
- /package/src/{core → ui}/primitives/stack/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/switch/__workshop__/example.tsx +0 -0
- /package/src/{core → ui}/primitives/switch/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/switch/__workshop__/props.tsx +0 -0
- /package/src/{core → ui}/primitives/switch/index.ts +0 -0
- /package/src/{core → ui}/primitives/text/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/text/index.ts +0 -0
- /package/src/{core → ui}/primitives/textArea/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/textArea/index.ts +0 -0
- /package/src/{core → ui}/primitives/textInput/__workshop__/clearButton.tsx +0 -0
- /package/src/{core → ui}/primitives/textInput/__workshop__/customValidity.tsx +0 -0
- /package/src/{core → ui}/primitives/textInput/__workshop__/states.tsx +0 -0
- /package/src/{core → ui}/primitives/textInput/index.ts +0 -0
- /package/src/{core → ui}/primitives/tooltip/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/primitives/tooltip/constants.ts +0 -0
- /package/src/{core → ui}/primitives/tooltip/index.ts +0 -0
- /package/src/{core → ui}/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx +0 -0
- /package/src/{core → ui}/types/avatar.ts +0 -0
- /package/src/{core → ui}/types/badge.ts +0 -0
- /package/src/{core → ui}/types/card.ts +0 -0
- /package/src/{core → ui}/types/dialog.ts +0 -0
- /package/src/{core → ui}/types/placement.ts +0 -0
- /package/src/{core → ui}/types/popover.ts +0 -0
- /package/src/{core → ui}/types/radius.ts +0 -0
- /package/src/{core → ui}/types/text.ts +0 -0
- /package/src/{core → ui}/utils/arrow/cmds.ts +0 -0
- /package/src/{core → ui}/utils/arrow/index.ts +0 -0
- /package/src/{core → ui}/utils/boundaryElement/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/utils/boundaryElement/__workshop__/plain.tsx +0 -0
- /package/src/{core → ui}/utils/boundaryElement/boundaryElementContext.ts +0 -0
- /package/src/{core → ui}/utils/boundaryElement/types.ts +0 -0
- /package/src/{core → ui}/utils/conditionalWrapper/index.ts +0 -0
- /package/src/{core → ui}/utils/elementQuery/__workshop__/customMedia.tsx +0 -0
- /package/src/{core → ui}/utils/elementQuery/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/utils/elementQuery/helpers.ts +0 -0
- /package/src/{core → ui}/utils/elementQuery/index.ts +0 -0
- /package/src/{core → ui}/utils/index.ts +0 -0
- /package/src/{core → ui}/utils/layer/__workshop__/_debug.tsx +0 -0
- /package/src/{core → ui}/utils/layer/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/utils/layer/getLayerContext.test.ts +0 -0
- /package/src/{core → ui}/utils/layer/getLayerContext.ts +0 -0
- /package/src/{core → ui}/utils/layer/layerContext.ts +0 -0
- /package/src/{core → ui}/utils/layer/types.ts +0 -0
- /package/src/{core → ui}/utils/portal/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/utils/portal/__workshop__/named.tsx +0 -0
- /package/src/{core → ui}/utils/portal/index.ts +0 -0
- /package/src/{core → ui}/utils/portal/portalContext.ts +0 -0
- /package/src/{core → ui}/utils/portal/types.ts +0 -0
- /package/src/{core → ui}/utils/virtualList/__workshop__/changingProps.tsx +0 -0
- /package/src/{core → ui}/utils/virtualList/__workshop__/elementScroll.tsx +0 -0
- /package/src/{core → ui}/utils/virtualList/__workshop__/index.ts +0 -0
- /package/src/{core → ui}/utils/virtualList/__workshop__/infiniteList.tsx +0 -0
- /package/src/{core → ui}/utils/virtualList/__workshop__/windowScrolll.tsx +0 -0
- /package/src/{core → ui}/utils/virtualList/index.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_visual-editing.mjs","sources":["../../src/ui/_compat/studioTheme.ts","../../src/ui/lib/globalScope.ts","../../src/ui/lib/createGlobalScopedContext.ts","../../src/ui/primitives/card/cardContext.ts","../../src/ui/primitives/card/cardProvider.tsx","../../src/ui/_compat/theme/themeContext.ts","../../src/ui/_compat/theme/themeProvider.tsx","../../src/ui/_compat/theme/useRootTheme.ts","../../src/ui/_compat/theme/themeColorProvider.tsx","../../src/ui/_compat/theme/useTheme.ts","../../src/ui/constants.ts","../../src/ui/helpers/element.ts","../../src/ui/helpers/props.ts","../../src/ui/helpers/scroll.ts","../../src/ui/hooks/useArrayProp.ts","../../src/ui/hooks/useClickOutsideEvent.ts","../../src/ui/hooks/useCustomValidity.ts","../../src/ui/observers/resizeObserver.ts","../../src/ui/observers/elementSizeObserver.ts","../../src/ui/hooks/useElementSize.ts","../../src/ui/hooks/useGlobalKeyDown.ts","../../src/ui/hooks/useMatchMedia.ts","../../src/ui/hooks/useMediaIndex/useMediaIndex.ts","../../src/ui/hooks/usePrefersDark.ts","../../src/ui/hooks/usePrefersReducedMotion.ts","../../src/ui/primitives/box/box.tsx","../../src/ui/primitives/label/label.tsx","../../src/ui/primitives/avatar/avatar.tsx","../../src/ui/primitives/avatar/avatarCounter.tsx","../../src/ui/primitives/avatar/avatarStack.tsx","../../src/ui/primitives/text/text.tsx","../../src/ui/primitives/badge/badge.tsx","../../src/ui/primitives/spinner/animatedSpinnerIcon.tsx","../../src/ui/primitives/spinner/spinner.tsx","../../src/ui/primitives/button/button.tsx","../../src/ui/primitives/card/useCard.ts","../../src/ui/primitives/card/card.tsx","../../src/ui/primitives/checkbox/checkbox.tsx","../../src/ui/primitives/code/code.tsx","../../src/ui/primitives/container/container.tsx","../../src/ui/primitives/flex/flex.tsx","../../src/ui/primitives/grid/grid.tsx","../../src/ui/primitives/heading/heading.tsx","../../src/ui/primitives/inline/inline.tsx","../../src/ui/primitives/kbd/kbd.tsx","../../src/ui/middleware/origin.ts","../../src/ui/utils/arrow/cmds.ts","../../src/ui/utils/arrow/arrow.tsx","../../src/ui/utils/boundaryElement/boundaryElementContext.ts","../../src/ui/utils/boundaryElement/boundaryElementProvider.tsx","../../src/ui/lib/isRecord.ts","../../src/ui/utils/boundaryElement/useBoundaryElement.ts","../../src/ui/utils/conditionalWrapper/conditionalWrapper.tsx","../../src/ui/utils/elementQuery/helpers.ts","../../src/ui/utils/elementQuery/elementQuery.tsx","../../src/ui/utils/layer/getLayerContext.ts","../../src/ui/utils/layer/layerContext.ts","../../src/ui/utils/layer/layerProvider.tsx","../../src/ui/utils/layer/useLayer.ts","../../src/ui/utils/layer/layer.tsx","../../src/ui/utils/portal/portalContext.ts","../../src/ui/utils/portal/usePortal.ts","../../src/ui/utils/portal/portal.ts","../../src/ui/utils/portal/portalProvider.tsx","../../src/ui/utils/srOnly/srOnly.tsx","../../src/ui/utils/virtualList/virtualList.tsx","../../src/ui/primitives/popover/constants.ts","../../src/ui/primitives/popover/floating-ui/size.ts","../../src/ui/primitives/popover/popoverCard.tsx","../../src/ui/primitives/popover/popover.tsx","../../src/ui/primitives/radio/radio.tsx","../../src/ui/primitives/select/select.tsx","../../src/ui/primitives/stack/stack.tsx","../../src/ui/primitives/switch/switch.tsx","../../src/ui/primitives/textArea/textArea.tsx","../../src/ui/primitives/textInput/textInput.tsx","../../src/ui/hooks/useDelayedState.ts","../../src/ui/utils/getElementRef.ts","../../src/ui/primitives/tooltip/constants.ts","../../src/ui/primitives/tooltip/tooltipCard.tsx","../../src/ui/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupContext.tsx","../../src/ui/primitives/tooltip/tooltipDelayGroup/tooltipDelayGroupProvider.tsx","../../src/ui/primitives/tooltip/tooltipDelayGroup/useTooltipDelayGroup.ts","../../src/ui/primitives/tooltip/tooltip.tsx","../../src/ui/components/hotkeys/hotkeys.tsx","../../src/ui/components/menu/menuContext.ts","../../src/ui/components/menu/helpers.ts","../../src/ui/components/menu/useMenuController.ts","../../src/ui/components/menu/menu.tsx","../../src/ui/components/menu/menuDivider.tsx","../../src/ui/primitives/_selectable/selectable.tsx","../../src/ui/components/menu/useMenu.ts","../../src/ui/components/menu/menuGroup.tsx","../../src/ui/components/menu/menuItem.tsx","../../src/ui/components/tab/tab.tsx","../../src/ui/components/tab/tabList.tsx"],"sourcesContent":["import {buildTheme} from '@sanity/ui/theme'\n\n/**\n * @public\n * @deprecated Use `buildTheme` from `@sanity/ui/theme` instead.\n */\nexport const studioTheme = buildTheme()\n","/**\n * Gets the global scope instance in a given environment.\n *\n * The strategy is to return the most modern, and if not, the most common:\n * - The `globalThis` variable is the modern approach to accessing the global scope\n * - The `window` variable is the global scope in a web browser\n * - The `self` variable is the global scope in workers and others\n * - The `global` variable is the global scope in Node.js\n */\nfunction getGlobalScope() {\n if (typeof globalThis !== 'undefined') return globalThis\n if (typeof window !== 'undefined') return window\n if (typeof self !== 'undefined') return self\n if (typeof global !== 'undefined') return global\n\n throw new Error('@sanity/ui: could not locate global scope')\n}\n\nexport const globalScope = getGlobalScope() as any\n","/**\n * As `@sanity/ui` is declared as a dependency, and may be duplicated, sometimes across major versions\n * it's critical that vital react contexts are shared even when there is a duplicate.\n * If we used a model similar to `sanity` itself, or `styled-components`, this would be unnecessary as\n * those libraries enforce single instances.\n * Since we don't enforce it we have to support a sanity plugin being able to call hooks like `useToast`, and then\n * read the context setup by `sanity`, which calls `ToastProvider`, even if the provider and hook are different instances in memory.\n * It's also why it's vital that all changes to globally scoped providers remain fully backwards compatible to v1.\n */\n\nimport {type Context, createContext} from 'react'\n\nimport {globalScope} from './globalScope'\n\nexport function createGlobalScopedContext<ContextType, const T extends ContextType = ContextType>(\n /**\n * Enforce that all Symbol.for keys used for globally scoped contexts have a predictable prefix\n */\n key: `@sanity/ui/context/${string}`,\n defaultValue: T,\n): Context<ContextType> {\n const symbol = Symbol.for(key)\n\n /**\n * Prevent errors about re-renders on React SSR on Next.js App Router\n */\n if (typeof document === 'undefined') {\n return createContext<ContextType>(defaultValue)\n }\n\n globalScope[symbol] = globalScope[symbol] || createContext<T>(defaultValue)\n\n return globalScope[symbol]\n}\n","import {Context} from 'react'\n\nimport {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {CardContextValue} from './types'\n\n/**\n * @internal\n */\nexport const CardContext: Context<CardContextValue | null> =\n createGlobalScopedContext<CardContextValue | null>('@sanity/ui/context/card', null)\n","import {ThemeColorCardToneKey, ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {ReactNode, useMemo} from 'react'\n\nimport {CardContext} from './cardContext'\nimport {CardCompatProviderComponent} from './types'\n\nexport function CardProvider(props: {\n compat_provider?: CardCompatProviderComponent\n children?: ReactNode\n rendered?: boolean\n tone: ThemeColorCardToneKey\n scheme: ThemeColorSchemeKey\n}) {\n const {children, rendered = false, tone, scheme} = props\n\n const context = useMemo(() => ({rendered, tone, scheme}), [rendered, tone, scheme])\n\n return <CardContext.Provider value={context}>{children}</CardContext.Provider>\n}\n","import {Context} from 'react'\n\nimport {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @internal\n */\nexport const ThemeContext: Context<ThemeContextValue | null> =\n createGlobalScopedContext<ThemeContextValue | null>('@sanity/ui/context/theme', null)\n","import {\n getScopedTheme,\n type RootTheme,\n type Theme,\n type ThemeColorCardToneKey,\n type ThemeColorSchemeKey,\n} from '@sanity/ui/theme'\nimport {ReactElement, ReactNode, useContext, useMemo} from 'react'\nimport {ThemeProvider as StyledThemeProvider} from 'styled-components'\n\nimport {CardProvider} from '../../primitives/card/cardProvider'\nimport {ThemeColorProvider} from './themeColorProvider'\nimport {ThemeContext} from './themeContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport interface ThemeProviderProps {\n children?: ReactNode\n scheme?: ThemeColorSchemeKey\n theme?: RootTheme\n tone?: ThemeColorCardToneKey\n}\n\n/**\n * @public\n */\nexport function ThemeProvider(props: ThemeProviderProps): ReactElement {\n const parentTheme = useContext(ThemeContext)\n const {children} = props\n const scheme = props.scheme ?? (parentTheme?.scheme || 'light')\n const rootTheme = props.theme ?? (parentTheme?.theme || null)\n const tone = props.tone ?? (parentTheme?.tone || 'default')\n\n const themeContext: ThemeContextValue | null = useMemo(() => {\n if (!rootTheme) return null\n\n return {\n version: 0.0,\n theme: rootTheme,\n scheme,\n tone,\n }\n }, [rootTheme, scheme, tone])\n\n const theme: Theme | null = useMemo(() => {\n if (!rootTheme) return null\n\n return getScopedTheme(rootTheme, scheme, tone)\n }, [scheme, rootTheme, tone])\n\n if (!theme) {\n return <pre>ThemeProvider: no \"theme\" property provided</pre>\n }\n\n return (\n <CardProvider\n compat_provider={\n // Render a theme provider around the card if the scheme or tone differs from the root theme.\n // This is needed for backwards compatibility with the legacy theme API.\n ThemeColorProvider\n }\n scheme={scheme}\n tone={tone}\n >\n <ThemeContext.Provider value={themeContext}>\n <StyledThemeProvider theme={theme}>{children}</StyledThemeProvider>\n </ThemeContext.Provider>\n </CardProvider>\n )\n}\n\nThemeProvider.displayName = 'ThemeProvider'\n","import {useContext} from 'react'\n\nimport {ThemeContext} from './themeContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport function useRootTheme(): ThemeContextValue {\n const value = useContext(ThemeContext)\n\n if (!value) {\n throw new Error('useRootTheme(): missing context value')\n }\n\n return value as unknown as ThemeContextValue\n}\n","import {ThemeColorCardToneKey, ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {ReactElement, ReactNode} from 'react'\n\nimport {ThemeProvider} from './themeProvider'\nimport {useRootTheme} from './useRootTheme'\n\n/**\n * @public\n */\nexport interface ThemeColorProviderProps {\n children?: ReactNode\n scheme?: ThemeColorSchemeKey\n tone?: ThemeColorCardToneKey\n}\n\n/**\n * @public\n */\nexport function ThemeColorProvider(props: ThemeColorProviderProps): ReactElement {\n const {children, scheme, tone} = props\n const root = useRootTheme()\n\n return (\n <ThemeProvider scheme={scheme || root.scheme} theme={root.theme} tone={tone}>\n {children}\n </ThemeProvider>\n )\n}\n\nThemeColorProvider.displayName = 'ThemeColorProvider'\n","import {getTheme_v2, Theme, Theme_v2} from '@sanity/ui/theme'\nimport {useTheme as useStyledTheme} from 'styled-components'\n\n/**\n * @public\n */\nexport function useTheme(): Theme {\n return useStyledTheme() as Theme\n}\n\n/**\n * @public\n */\nexport function useTheme_v2(): Theme_v2 {\n return getTheme_v2(useStyledTheme() as Theme)\n}\n","import type {Transition, Variant} from 'framer-motion'\n\n/**\n * @internal\n */\nexport const EMPTY_ARRAY: never[] = []\n\n/**\n * @internal\n */\nexport const EMPTY_RECORD: Record<string, never> = {}\n\nconst POPOVER_MOTION_DURATION = 0.2\n\n/**\n * Shared `framer-motion` variants used by `Popover` and `Tooltip` components.\n * @internal\n */\nexport const POPOVER_MOTION_PROPS: {\n card: {\n initial: Variant\n hidden: Variant\n visible: Variant\n scaleIn: Variant\n scaleOut: Variant\n }\n children: {\n hidden: Variant\n visible: Variant\n }\n transition: Transition\n} = {\n card: {\n initial: {\n scale: 0.97,\n willChange: 'transform',\n },\n hidden: {\n opacity: 0,\n },\n visible: {\n opacity: 1,\n transition: {\n when: 'beforeChildren',\n duration: POPOVER_MOTION_DURATION / 2,\n },\n },\n scaleIn: {\n scale: 1,\n },\n scaleOut: {\n scale: 0.97,\n },\n },\n children: {\n hidden: {\n opacity: 0,\n },\n visible: {\n opacity: 1,\n },\n },\n transition: {\n type: 'spring',\n visualDuration: POPOVER_MOTION_DURATION,\n bounce: 0.25,\n },\n}\n\n/**\n * @internal\n * @deprecated No longer used.\n */\nexport const FLOATING_STATIC_SIDES: Record<string, 'bottom' | 'left' | 'top' | 'right'> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n}\n\nexport const Z_OFFSETS = {\n dialog: 600,\n popover: 400,\n tooltip: 200,\n}\n","/**\n * @internal\n */\nexport function _isEnterToClickElement(element: HTMLElement): boolean {\n return isHTMLAnchorElement(element) || isHTMLButtonElement(element)\n}\n\n/**\n * @internal\n */\nexport function isHTMLElement(node: unknown): node is HTMLElement {\n return node instanceof Node && node.nodeType === Node.ELEMENT_NODE\n}\n\n/**\n * @internal\n */\nexport function isHTMLAnchorElement(element: unknown): element is HTMLAnchorElement {\n return isHTMLElement(element) && element.nodeName === 'A'\n}\n\n/**\n * @internal\n */\nexport function isHTMLInputElement(element: unknown): element is HTMLInputElement {\n return isHTMLElement(element) && element.nodeName === 'INPUT'\n}\n\n/**\n * @internal\n */\nexport function isHTMLButtonElement(element: unknown): element is HTMLButtonElement {\n return isHTMLElement(element) && element.nodeName === 'BUTTON'\n}\n\n/**\n * @internal\n */\nexport function isHTMLSelectElement(element: unknown): element is HTMLSelectElement {\n return isHTMLElement(element) && element.nodeName === 'SELECT'\n}\n\n/**\n * @internal\n */\nexport function isHTMLTextAreaElement(element: unknown): element is HTMLTextAreaElement {\n return isHTMLElement(element) && element.nodeName === 'TEXTAREA'\n}\n\n/**\n * @internal\n */\nexport function containsOrEqualsElement(element: HTMLElement, node: Node): boolean {\n return element.contains(node) || element === node\n}\n","import {EMPTY_ARRAY} from '../constants'\n\n/**\n * @internal\n */\nexport function _getArrayProp<T>(val: T | T[] | undefined, defaultVal?: T[]): T[] {\n if (val === undefined) return defaultVal || EMPTY_ARRAY\n\n return Array.isArray(val) ? val : [val]\n}\n","/**\n * @internal\n */\nexport function _isScrollable(el: Node): boolean {\n if (!(el instanceof Element)) return false\n\n const style = window.getComputedStyle(el)\n\n return (\n style.overflowX.includes('auto') ||\n style.overflowX.includes('scroll') ||\n style.overflowY.includes('auto') ||\n style.overflowY.includes('scroll')\n )\n}\n","import {useState} from 'react'\n\nimport {_getArrayProp} from '../helpers'\n\n/** @beta */\n// export type ArrayPropPrimitive = string | number | boolean | undefined | null\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\n// export function useArrayProp<T extends ArrayPropPrimitive = ArrayPropPrimitive>(\nexport function useArrayProp<T>(val: T | T[] | undefined, defaultVal?: T[]): T[] {\n const [[cachedVal, cachedHash], setCache] = useState<[T[], string]>(() => [\n _getArrayProp(val, defaultVal),\n JSON.stringify(val ?? defaultVal),\n ])\n\n const hash = JSON.stringify(val ?? defaultVal)\n\n if (hash !== cachedHash) {\n // If the cached hash has changed, update the cache right away.\n // Calling setState during render is fine in this case, and preferred over a useEffect loop\n // https://19.dev/learn/you-might-not-need-an-effect#adjusting-some-state-when-a-prop-changes\n setCache([_getArrayProp(val, defaultVal), hash])\n }\n\n return cachedVal\n}\n","import {useDebugValue, useEffect} from 'react'\nimport {useEffectEvent} from 'use-effect-event'\n\nimport {EMPTY_ARRAY} from '../constants'\n\n/**\n * @public\n */\nexport type ClickOutsideEventListener = (event: MouseEvent) => void\n\n/**\n * @public\n */\nexport type ClickOutsideEventElements = (HTMLElement | null | (HTMLElement | null)[])[]\n\n/**\n * @public\n */\nexport function useClickOutsideEvent(\n listener: ClickOutsideEventListener | false | undefined,\n elementsArg: () => ClickOutsideEventElements = () => EMPTY_ARRAY,\n boundaryElement?: () => HTMLElement | null,\n): void {\n /**\n * The `useEffectEvent` hook allow us to always see the latest value of `listener`, `elementsArg` and `boundaryElement` without needing to\n * juggle `useState`, `useRef` and `useState` to make sure the `mousedown` event listener isn't constantly being added and removed.\n */\n const onEvent = useEffectEvent((evt: MouseEvent) => {\n if (!listener) {\n return\n }\n\n const target = evt.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n const resolvedBoundaryElement = boundaryElement?.()\n\n if (resolvedBoundaryElement && !resolvedBoundaryElement.contains(target)) {\n return\n }\n\n const elements = elementsArg().flat()\n\n for (const el of elements) {\n if (!el) continue\n\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n listener(evt)\n })\n\n const hasListener = Boolean(listener)\n\n useEffect(() => {\n if (!hasListener) return undefined\n\n const handleEvent = (evt: MouseEvent) => onEvent(evt)\n\n document.addEventListener('mousedown', handleEvent)\n\n return () => {\n document.removeEventListener('mousedown', handleEvent)\n }\n }, [hasListener])\n\n useDebugValue(listener ? 'MouseDown On' : 'MouseDown Off')\n}\n","import {useEffect} from 'react'\n\n/**\n * @beta\n */\nexport function useCustomValidity(\n ref: {current: null | {setCustomValidity: (validity: string) => void}},\n customValidity: string | undefined,\n): void {\n useEffect(() => {\n ref.current?.setCustomValidity(customValidity || '')\n }, [customValidity, ref])\n}\n","import {ResizeObserver as ResizeObserverPolyfill} from '@juggle/resize-observer'\n\n/**\n * @internal\n */\nexport const _ResizeObserver: typeof ResizeObserver =\n typeof document !== 'undefined' && typeof window !== 'undefined' && window.ResizeObserver\n ? window.ResizeObserver\n : ResizeObserverPolyfill\n","import {_ResizeObserver} from './resizeObserver'\n\n/**\n * @beta\n */\nexport interface ElementRectValue {\n width: number\n height: number\n}\n\n/**\n * @beta\n */\nexport interface ElementSize {\n content: ElementRectValue\n border: ElementRectValue\n\n /** @deprecated INTERNAL ONLY */\n _contentRect: DOMRectReadOnly\n}\n\n/**\n * @internal\n */\nexport type _ElementSizeSubscriber = (elementRect: ElementSize) => void\n\n/**\n * @internal\n */\nexport interface _ElementSizeObserver {\n subscribe: (element: HTMLElement, subscriber: _ElementSizeSubscriber) => () => void\n}\n\n/**\n * @internal\n */\nexport interface _ElementSizeListener {\n subscribe: (element: HTMLElement, subscriber: _ElementSizeSubscriber) => () => void\n}\n\n// Initialize element size observer\n// NOTE: this should NOT have size effects\n/**\n * @internal\n */\nexport const _elementSizeObserver = _createElementSizeObserver()\n\nfunction _createElementRectValueListener(): _ElementSizeListener {\n return {\n subscribe(element, subscriber) {\n const resizeObserver = new _ResizeObserver(([entry]) => {\n subscriber({\n _contentRect: entry.contentRect,\n border: {\n width: entry.borderBoxSize[0].inlineSize,\n height: entry.borderBoxSize[0].blockSize,\n },\n content: {\n width: entry.contentRect.width,\n height: entry.contentRect.height,\n },\n })\n })\n\n resizeObserver.observe(element)\n\n return () => {\n resizeObserver.unobserve(element)\n resizeObserver.disconnect()\n }\n },\n }\n}\n\nfunction _createElementSizeObserver(): _ElementSizeObserver {\n const disposeCache = new WeakMap<HTMLElement, () => void>()\n const subscribersCache = new WeakMap<HTMLElement, _ElementSizeSubscriber[]>()\n\n return {\n subscribe(element, subscriber) {\n const subscribers = subscribersCache.get(element) || []\n\n let dispose = disposeCache.get(element)\n\n if (!subscribersCache.has(element)) {\n subscribersCache.set(element, subscribers)\n\n const listener = _createElementRectValueListener()\n\n // listen\n dispose = listener.subscribe(element, (elementRect) => {\n for (const sub of subscribers) {\n sub(elementRect)\n }\n })\n }\n\n subscribers.push(subscriber)\n\n return () => {\n // dispose\n\n const idx = subscribers.indexOf(subscriber)\n\n if (idx > -1) {\n subscribers.splice(idx, 1)\n }\n\n if (subscribers.length === 0) {\n // unlisten\n if (dispose) dispose()\n }\n }\n },\n }\n}\n","import {useEffect, useState} from 'react'\n\nimport {_elementSizeObserver, ElementSize} from '../observers/elementSizeObserver'\n\n/**\n * Subscribe to the size of a DOM element.\n * @beta\n */\nexport function useElementSize(element: HTMLElement | null): ElementSize | null {\n const [size, setSize] = useState<ElementSize | null>(null)\n\n useEffect(() => {\n if (!element) return undefined\n\n return _elementSizeObserver.subscribe(element, setSize)\n }, [element])\n\n return size\n}\n","import {useEffect} from 'react'\nimport {useEffectEvent} from 'use-effect-event'\n\n/**\n * @beta\n */\nexport function useGlobalKeyDown(onKeyDown: (event: KeyboardEvent) => void): void {\n const handleKeyDown = useEffectEvent((event: KeyboardEvent) => onKeyDown(event))\n\n useEffect(() => {\n const handler = (event: KeyboardEvent) => handleKeyDown(event)\n\n window.addEventListener('keydown', handler)\n\n return () => window.removeEventListener('keydown', handler)\n }, [])\n}\n","import {useCallback, useDebugValue, useSyncExternalStore} from 'react'\n\n/**\n * Efficiently subscribes to `window.matchMedia` queries\n *\n * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Required if the hook is called during SSR (https://dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering)\n *\n * @public\n */\nexport function useMatchMedia(\n mediaQueryString: `(${string})`,\n getServerSnapshot?: () => boolean,\n): boolean {\n useDebugValue(mediaQueryString)\n\n return useSyncExternalStore(\n useCallback(\n (onStoreChange) => {\n const media = window.matchMedia(mediaQueryString)\n media.addEventListener('change', onStoreChange)\n return () => media.removeEventListener('change', onStoreChange)\n },\n [mediaQueryString],\n ),\n () => window.matchMedia(mediaQueryString).matches,\n getServerSnapshot,\n )\n}\n","import {useMemo, useSyncExternalStore} from 'react'\n\n// TODO: get from theme?\nconst media = [360, 600, 900, 1200, 1800, 2400]\n\n/**\n * @internal\n */\nexport interface _MediaStore {\n subscribe: (onStoreChange: () => void) => () => void\n getSnapshot: () => number\n}\n\ntype MediaQueryMinWidth = `(min-width: ${number}px)`\ntype MediaQueryMaxWidth = `(max-width: ${number}px)`\ntype MediaQueryMinMaxWidth = `${MediaQueryMinWidth} and ${MediaQueryMaxWidth}`\ntype MediaQuery = `screen and ${MediaQueryMinWidth | MediaQueryMaxWidth | MediaQueryMinMaxWidth}`\n\nfunction _getMediaQuery(media: number[], index: number): MediaQuery {\n if (index === 0) {\n return `screen and (max-width: ${media[index] - 1}px)`\n }\n\n if (index === media.length) {\n return `screen and (min-width: ${media[index - 1]}px)`\n }\n\n return `screen and (min-width: ${media[index - 1]}px) and (max-width: ${media[index] - 1}px)`\n}\n\nfunction _createMediaStore(): _MediaStore {\n const mediaLen = media.length\n let sizes: {mq: MediaQueryList; index: number}[]\n\n // The _createMediaStore function is called in both server and client environments.\n // However since subscribe and getSnapshot are only called on the client we lazy init what we need for them\n // so that we don't need to run checks for wether it's safe to call `window.matchMedia`\n const getSizes = () => {\n if (!sizes) {\n sizes = []\n\n for (let index = mediaLen; index > -1; index -= 1) {\n const mediaQuery = _getMediaQuery(media, index)\n\n sizes.push({index, mq: window.matchMedia(mediaQuery)})\n }\n }\n\n return sizes\n }\n\n const getSnapshot = () => {\n for (const {index, mq} of getSizes()) {\n if (mq.matches) return index\n }\n\n return 0\n }\n\n const subscribe = (onStoreChange: () => void) => {\n const disposeFns: (() => void)[] = []\n\n for (const {mq} of getSizes()) {\n const handleChange = () => {\n if (mq.matches) onStoreChange()\n }\n\n mq.addEventListener('change', handleChange)\n\n disposeFns.push(() => mq.removeEventListener('change', handleChange))\n }\n\n return () => {\n for (const disposeFn of disposeFns) {\n disposeFn()\n }\n }\n }\n\n return {getSnapshot, subscribe}\n}\n\n/**\n * Only called during server-side rendering, and hydration if using hydrateRoot\n * Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query\n * and we assume `(prefers-color-scheme: light)` since it's the most common scheme\n *\n * @link https://beta.reactjs.org/apis/react/useSyncExternalStore#adding-support-for-server-rendering\n */\nfunction getServerSnapshot() {\n return 0\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useMediaIndex(): number {\n const store = useMemo(() => _createMediaStore(), [])\n\n return useSyncExternalStore(store.subscribe, store.getSnapshot, getServerSnapshot)\n}\n","import {useMatchMedia} from './useMatchMedia'\n\n/**\n * Returns true if a dark color scheme is preferred, false if a light color scheme is preferred or the preference is not known.\n *\n * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query and we assume `(prefers-color-scheme: light)` since it's the most common scheme (https://dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering)\n *\n * If you persist the detected preference in a cookie or a header then you may implement your own server snapshot to read it.\n * Chrome supports reading the `prefers-color-scheme` media query from a header if the server response: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-Prefers-Color-Scheme\n * @example https://gist.github.com/stipsan/13c0cccf8dfc34f4b44bb1b984baf7df\n *\n * @public\n */\nexport function usePrefersDark(getServerSnapshot = () => false): boolean {\n return useMatchMedia('(prefers-color-scheme: dark)', getServerSnapshot)\n}\n","import {useMatchMedia} from './useMatchMedia'\n\n/**\n * Returns true if motion should be reduced\n *\n * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query and we assume `(prefers-reduced-motion: no-preference)` since it's the most common scheme (https://dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering)\n *\n * If you persist the detected preference in a cookie or a header then you may implement your own server snapshot to read it.\n * Chrome supports reading the `prefers-reduced-motion` media query from a header if the server response: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-Prefers-Reduced-Motion\n * @example https://gist.github.com/stipsan/0c0f839a27842249cada893e9fb7767b\n *\n * @public\n */\nexport function usePrefersReducedMotion(getServerSnapshot = () => false): boolean {\n return useMatchMedia('(prefers-reduced-motion: reduce)', getServerSnapshot)\n}\n","import {\n box,\n BoxStyleProps,\n composeClassNames,\n GapStyleProps,\n InsetStyleProps,\n PositionStyleProps,\n} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface BoxProps\n extends BoxStyleProps,\n GapStyleProps,\n InsetStyleProps,\n PositionStyleProps {}\n\n/**\n * The `Box` component is a basic layout wrapper component which provides utility properties\n * for flex, margins and padding.\n *\n * @public\n */\nexport const Box = forwardRef(function Box(\n props: Props<BoxProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n align,\n as: As = 'div',\n autoCols,\n autoFlow,\n autoRows,\n border = false,\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n className,\n column,\n columnStart,\n columnEnd,\n columns,\n direction,\n display = 'block',\n flex,\n gap,\n gapX,\n gapY,\n height,\n inset,\n insetBottom,\n insetLeft,\n insetRight,\n insetTop,\n justify,\n margin = 0,\n marginX,\n marginY,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n maxWidth,\n minWidth = 0,\n overflow,\n padding = 0,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n pointerEvents,\n position,\n muted,\n radius,\n row,\n rows,\n rowStart,\n rowEnd,\n sizing = 'border',\n width,\n wrap,\n ...restProps\n } = props\n\n return (\n <As\n data-ui=\"Box\"\n {...restProps}\n className={composeClassNames(\n className,\n box({\n align,\n autoCols,\n autoFlow,\n autoRows,\n border,\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n column,\n columnStart,\n columnEnd,\n columns,\n direction,\n display,\n flex,\n gap,\n gapX,\n gapY,\n height,\n inset,\n insetBottom,\n insetLeft,\n insetRight,\n insetTop,\n justify,\n overflow,\n margin,\n marginX,\n marginY,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n maxWidth,\n minWidth,\n muted,\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n pointerEvents,\n position,\n radius,\n row,\n rows,\n rowStart,\n rowEnd,\n sizing,\n width,\n wrap,\n }),\n )}\n ref={ref}\n >\n {props.children}\n </As>\n )\n})\n\nBox.displayName = 'ForwardRef(Box)'\n","import {\n composeClassNames,\n FontStyleProps,\n label,\n LabelSize,\n ResponsiveProp,\n textOverflow,\n TextOverflowStyleProps,\n} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface LabelProps extends FontStyleProps, TextOverflowStyleProps {\n accent?: boolean\n htmlFor?: string\n muted?: boolean\n size?: ResponsiveProp<LabelSize>\n}\n\n/**\n * Typographic labels.\n *\n * @public\n */\nexport const Label = forwardRef(function Label(\n props: Props<LabelProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n accent,\n align,\n as: As = 'div',\n children,\n className,\n muted = false,\n size = 1,\n textOverflow: textOverflowProp,\n weight = 'medium',\n ...restProps\n } = props\n\n return (\n <As\n data-ui=\"Label\"\n {...restProps}\n className={composeClassNames(\n className,\n label({\n accent,\n align,\n muted,\n size,\n weight,\n }),\n )}\n ref={ref}\n >\n <span className={textOverflow({textOverflow: textOverflowProp})}>{children}</span>\n </As>\n )\n})\n\nLabel.displayName = 'ForwardRef(Label)'\n","import {\n avatar,\n avatarArrow,\n avatarImage,\n avatarInitials,\n composeClassNames,\n ResponsiveProp,\n} from '@sanity/ui/css'\nimport {AvatarSize, ThemeColorAvatarColorKey} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef, useCallback, useEffect, useMemo, useState} from 'react'\nimport ReactIs from 'react-is'\n\nimport {useArrayProp} from '../../hooks'\nimport {AvatarPosition, AvatarStatus, Props} from '../../types'\nimport {Box} from '../box'\nimport {Label} from '../label'\n\n/**\n * @public\n */\nexport interface AvatarProps {\n /** @beta */\n __unstable_hideInnerStroke?: boolean\n animateArrowFrom?: AvatarPosition\n arrowPosition?: AvatarPosition\n color?: ThemeColorAvatarColorKey\n initials?: string\n onImageLoadError?: (event: Error) => void\n size?: ResponsiveProp<AvatarSize>\n src?: string\n /**\n * The status of the entity this Avatar represents.\n * @alpha\n */\n status?: AvatarStatus\n title?: string\n}\n\n/**\n * Avatars are used to represent people and other agents (e.g. bots).\n *\n * @public\n */\nexport const Avatar = forwardRef(function Avatar(\n props: Props<AvatarProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n __unstable_hideInnerStroke,\n as: asProp,\n className,\n color = 'gray',\n src,\n title,\n initials,\n onImageLoadError,\n arrowPosition: arrowPositionProp,\n animateArrowFrom,\n status = 'online',\n size: sizeProp = 1,\n ...restProps\n } = props\n const As = ReactIs.isValidElementType(asProp) ? asProp : 'div'\n const size = useArrayProp(sizeProp)\n\n const [arrowPosition, setArrowPosition] = useState<AvatarPosition | undefined>(\n animateArrowFrom || arrowPositionProp || 'inside',\n )\n\n const [imageError, setImageError] = useState<boolean>(false)\n\n useEffect(() => {\n if (arrowPosition === arrowPositionProp) return undefined\n\n // Start animation in the next frame\n const raf = requestAnimationFrame(() => setArrowPosition(arrowPositionProp))\n\n return () => cancelAnimationFrame(raf)\n }, [arrowPosition, arrowPositionProp])\n\n useEffect(() => {\n if (src) setImageError(false)\n }, [src])\n\n const handleImageError = useCallback(() => {\n setImageError(true)\n\n if (onImageLoadError) {\n onImageLoadError(new Error('Avatar: the image failed to load'))\n }\n }, [onImageLoadError])\n\n const initialsSize = useMemo(\n () =>\n size.map((s) => {\n if (s === 1) return 1\n if (s === 2) return 3\n if (s === 3) return 5\n\n return 0\n }),\n [size],\n )\n\n return (\n <As\n // data-as={typeof As === 'string' ? As : undefined}\n data-hide-inner-stroke={__unstable_hideInnerStroke ? '' : undefined}\n data-ui=\"Avatar\"\n {...restProps}\n aria-label={title}\n className={composeClassNames(className, avatar({color, size: sizeProp}))}\n data-arrow-position={arrowPosition}\n data-image-error={imageError ? '' : undefined}\n data-status={status}\n ref={ref}\n title={title}\n >\n <span className={avatarArrow()}>\n <svg width=\"11\" height=\"7\" viewBox=\"0 0 11 7\" fill=\"none\">\n <path\n d=\"M6.67948 1.50115L11 7L0 7L4.32052 1.50115C4.92109 0.736796 6.07891 0.736795 6.67948 1.50115Z\"\n fill={color}\n />\n </svg>\n </span>\n\n <Box\n align=\"center\"\n as=\"span\"\n className={avatarInitials()}\n display=\"flex\"\n justify=\"center\"\n position=\"absolute\"\n inset={0}\n >\n <Label\n align=\"center\"\n as=\"span\"\n size={initialsSize}\n style={{color: 'inherit'}}\n weight=\"medium\"\n >\n {initials}\n </Label>\n </Box>\n\n {src && (\n <Box className={avatarImage()} inset={0} position=\"absolute\">\n <img alt={initials} onError={handleImageError} src={src} />\n <span />\n </Box>\n )}\n </As>\n )\n})\n\nAvatar.displayName = 'ForwardRef(Avatar)'\n","import {avatarCounter, composeClassNames, ResponsiveProp} from '@sanity/ui/css'\nimport {AvatarSize} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef, useMemo} from 'react'\n\nimport {useArrayProp} from '../../hooks'\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {Label} from '../label'\n\n/**\n * @public\n */\nexport interface AvatarCounterProps\n extends Omit<BoxProps, 'align' | 'className' | 'display' | 'justify' | 'paddingX' | 'sizing'> {\n count: number\n size?: ResponsiveProp<AvatarSize>\n /** @deprecated No longer supported. */\n tone?: 'navbar'\n}\n\n/**\n * @public\n */\nexport const AvatarCounter = forwardRef(function AvatarCounter(\n props: Props<AvatarCounterProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {className, count, size: sizeProp = 1, ...restProps} = props\n const size = useArrayProp(sizeProp)\n\n const fontSize = useMemo(\n () =>\n size.map((s) => {\n if (s === 1) return 1\n if (s === 2) return 3\n if (s === 3) return 5\n\n return 0\n }),\n [size],\n )\n\n return (\n <Box\n data-ui=\"AvatarCounter\"\n {...restProps}\n align=\"center\"\n className={composeClassNames(className, avatarCounter({size}))}\n display=\"flex\"\n justify=\"center\"\n paddingX={2}\n ref={ref}\n sizing=\"border\"\n >\n <Label align=\"center\" as=\"span\" size={fontSize} weight=\"medium\">\n {count}\n </Label>\n </Box>\n )\n})\n\nAvatarCounter.displayName = 'ForwardRef(AvatarCounter)'\n","import {avatarStack, composeClassNames, ResponsiveProp} from '@sanity/ui/css'\nimport {AvatarSize} from '@sanity/ui/theme'\nimport {Children, cloneElement, ForwardedRef, forwardRef, isValidElement, ReactElement} from 'react'\n\nimport {useArrayProp} from '../../hooks'\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {AvatarProps} from './avatar'\nimport {AvatarCounter} from './avatarCounter'\n\n/**\n * @public\n */\nexport type AvatarStackChild = ReactElement<Props<AvatarProps, 'div'>> | null | undefined | false\n\n/**\n * @public\n */\nexport interface AvatarStackProps extends Omit<BoxProps, 'align' | 'className' | 'display'> {\n children: AvatarStackChild | AvatarStackChild[]\n maxLength?: number\n size?: ResponsiveProp<AvatarSize>\n /** @deprecated No longer supported. */\n tone?: 'navbar'\n}\n\n/**\n * @public\n */\nexport const AvatarStack = forwardRef(function AvatarStack(\n props: Props<AvatarStackProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n children: childrenProp,\n className,\n maxLength: maxLengthProp = 4,\n size: sizeProp = 1,\n ...restProps\n } = props\n const children = Children.toArray(childrenProp).filter(isValidElement) as ReactElement<\n Props<AvatarProps, 'div'>\n >[]\n const maxLength = Math.max(maxLengthProp, 0)\n const size = useArrayProp(sizeProp)\n\n const len = children.length\n const visibleCount = maxLength - 1\n const extraCount = len - visibleCount\n const visibleChildren = extraCount > 1 ? children.slice(extraCount, len) : children\n\n return (\n <Box\n data-ui=\"AvatarStack\"\n {...restProps}\n align=\"center\"\n className={composeClassNames(className, avatarStack({size}))}\n display=\"flex\"\n ref={ref}\n >\n {len === 0 && (\n <Box flex=\"none\">\n <AvatarCounter count={len} size={size} />\n </Box>\n )}\n\n {len !== 0 && extraCount > 1 && (\n <Box flex=\"none\">\n <AvatarCounter count={extraCount} size={size} />\n </Box>\n )}\n\n {visibleChildren.map((child, childIndex) => (\n <Box flex=\"none\" key={String(childIndex)}>\n {cloneElement(child, {size})}\n </Box>\n ))}\n </Box>\n )\n})\n\nAvatarStack.displayName = 'ForwardRef(AvatarStack)'\n","import {\n composeClassNames,\n text,\n textOverflow,\n TextOverflowStyleProps,\n TextStyleProps,\n} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface TextProps extends TextStyleProps, TextOverflowStyleProps {\n htmlFor?: string\n}\n\n/**\n * The `Text` component is an agile, themed typographic element.\n *\n * @public\n */\nexport const Text = forwardRef(function Text(\n props: Props<TextProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n accent = false,\n align,\n as: As = 'div',\n children,\n className,\n flex,\n muted = false,\n size = 2,\n textOverflow: textOverflowProp,\n weight,\n ...restProps\n } = props\n\n return (\n <As\n data-ui=\"Text\"\n {...restProps}\n ref={ref}\n className={composeClassNames(\n className,\n text({\n accent,\n align,\n flex,\n muted,\n size,\n weight,\n }),\n )}\n >\n <span className={textOverflow({textOverflow: textOverflowProp})}>{children}</span>\n </As>\n )\n})\n\nText.displayName = 'ForwardRef(Text)'\n","import {badge, composeClassNames, RadiusStyleProps} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {BadgeMode, BadgeTone, Props} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {Text, TextProps} from '../text'\n\n/**\n * @public\n */\nexport interface BadgeProps extends BoxProps, RadiusStyleProps {\n fontSize?: number | number[]\n /** @deprecated No longer used. */\n mode?: BadgeMode\n textAlign?: TextProps['align']\n tone?: BadgeTone\n}\n\n/**\n * Badges are used to tag resources.\n *\n * @public\n */\nexport const Badge = forwardRef(function Badge(\n props: Props<BadgeProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n className,\n display = 'inline-block',\n fontSize = 1,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n mode: _deprecated_mode,\n padding = 1,\n radius = 2,\n textAlign,\n tone = 'default',\n ...restProps\n } = props\n\n return (\n <Box\n data-ui=\"Badge\"\n {...restProps}\n className={composeClassNames(\n className,\n badge({\n radius,\n tone,\n }),\n )}\n display={display}\n padding={padding}\n ref={ref}\n >\n <Text align={textAlign} size={fontSize}>\n {children}\n </Text>\n </Box>\n )\n})\n\nBadge.displayName = 'ForwardRef(Badge)'\n","import {SpinnerIcon} from '@sanity/icons'\nimport {animatedSpinnerIcon, composeClassNames} from '@sanity/ui/css'\nimport {ReactElement, SVGProps} from 'react'\n\n/** @internal */\nexport function AnimatedSpinnerIcon(props: SVGProps<SVGSVGElement>): ReactElement {\n const {className, ...restProps} = props\n\n return (\n <SpinnerIcon\n {...restProps}\n data-sanity-icon=\"animated-spinner\"\n className={composeClassNames(className, animatedSpinnerIcon())}\n />\n )\n}\n","import {ResponsiveProp, spinner} from '@sanity/ui/css'\nimport {FontTextSize} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Text} from '../text'\nimport {AnimatedSpinnerIcon} from './animatedSpinnerIcon'\n\n/**\n * @public\n */\nexport interface SpinnerProps {\n muted?: boolean\n size?: ResponsiveProp<FontTextSize>\n}\n\n/**\n * Indicate that something is loading for an indeterminate amount of time.\n *\n * @public\n */\nexport const Spinner = forwardRef(function Spinner(\n props: Props<SpinnerProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <Text data-ui=\"Spinner\" {...props} className={spinner()} ref={ref}>\n <AnimatedSpinnerIcon />\n </Text>\n )\n})\n\nSpinner.displayName = 'ForwardRef(Spinner)'\n","import {\n button,\n buttonLoadingBox,\n ButtonStyleProps,\n composeClassNames,\n DisplayStyleProps,\n FlexStyleProps,\n GapStyleProps,\n PaddingStyleProps,\n ResponsiveProp,\n Width,\n} from '@sanity/ui/css'\nimport {FontTextSize, Space} from '@sanity/ui/theme'\nimport {ElementType, ForwardedRef, forwardRef, isValidElement, ReactNode} from 'react'\nimport {isValidElementType} from 'react-is'\n\nimport {ButtonMode, ButtonTextAlign, ButtonTone, Props} from '../../types'\nimport {Box} from '../box'\nimport {Spinner} from '../spinner'\nimport {Text, TextProps} from '../text'\n\n/**\n * @public\n */\nexport interface ButtonProps\n extends ButtonStyleProps,\n DisplayStyleProps,\n FlexStyleProps,\n GapStyleProps,\n PaddingStyleProps {\n 'data-ui'?: string\n 'fontSize'?: ResponsiveProp<FontTextSize>\n 'href'?: string\n 'mode'?: ButtonMode\n 'icon'?: ElementType | ReactNode\n 'iconRight'?: ElementType | ReactNode\n /** @beta Do not use in production, as this might change.*/\n 'loading'?: boolean\n 'selected'?: boolean\n /** @deprecated Use `gap` instead. */\n 'space'?: ResponsiveProp<Space>\n 'textAlign'?: ButtonTextAlign\n 'muted'?: boolean\n 'target'?: string\n 'text'?: ReactNode\n 'textOverflow'?: TextProps['textOverflow']\n 'textWeight'?: TextProps['weight']\n 'tone'?: ButtonTone\n 'type'?: 'button' | 'reset' | 'submit'\n 'width'?: ResponsiveProp<Width>\n}\n\n/**\n * @public\n */\nexport const Button = forwardRef(function Button(\n props: Props<ButtonProps, 'button'>,\n ref: ForwardedRef<HTMLButtonElement>,\n) {\n const {\n // align = 'center',\n as: As = 'button',\n children,\n className,\n direction,\n disabled,\n display = 'inline-flex',\n flex,\n fontSize = 1,\n gap = props.space ?? props.padding ?? 3,\n gapX,\n gapY,\n href,\n icon: IconComponent,\n iconRight: IconRightComponent,\n justify = 'center',\n loading,\n mode = 'default',\n padding = 3,\n paddingX,\n paddingY,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n radius = 2,\n selected,\n space = props.gap ?? props.space ?? props.padding ?? 3, // eslint-disable-line @typescript-eslint/no-unused-vars\n text,\n textAlign,\n textOverflow = 'ellipsis',\n textWeight = 'medium',\n tone = 'default',\n type = 'button',\n muted = false,\n width,\n // wrap,\n ...restProps\n } = props\n\n return (\n <As\n data-ui=\"Button\"\n {...restProps}\n className={composeClassNames(className, button({display, flex, mode, radius, tone, width}))}\n data-disabled={loading || disabled ? '' : undefined}\n data-selected={selected ? '' : undefined}\n disabled={Boolean(loading || disabled)}\n href={disabled ? undefined : href}\n ref={ref}\n type={type}\n >\n {Boolean(loading) && (\n <Box\n align=\"center\"\n as=\"span\"\n className={buttonLoadingBox()}\n display=\"flex\"\n flex={1}\n justify=\"center\"\n width=\"fill\"\n >\n <Spinner size={fontSize} />\n </Box>\n )}\n\n {(IconComponent || text || IconRightComponent) && (\n <Box\n // align={align}\n as=\"span\"\n direction={direction}\n display=\"flex\"\n flex={1}\n gap={gap}\n gapX={gapX}\n gapY={gapY}\n justify={justify}\n padding={padding}\n paddingX={paddingX}\n paddingY={paddingY}\n paddingTop={paddingTop}\n paddingBottom={paddingBottom}\n paddingLeft={paddingLeft}\n paddingRight={paddingRight}\n // width=\"fill\"\n // wrap={wrap}\n >\n {IconComponent && (\n <Text as=\"span\" flex=\"none\" muted size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n )}\n\n {text && (\n <Text\n align={textAlign}\n as=\"span\"\n flex=\"none\"\n muted={muted}\n size={fontSize}\n textOverflow={textOverflow}\n weight={textWeight}\n >\n {text}\n </Text>\n )}\n\n {IconRightComponent && (\n <Text as=\"span\" flex=\"none\" muted size={fontSize}>\n {isValidElement(IconRightComponent) && IconRightComponent}\n {isValidElementType(IconRightComponent) && <IconRightComponent />}\n </Text>\n )}\n </Box>\n )}\n\n {children && (\n <Box\n // align={align}\n as=\"span\"\n // direction={direction}\n // display=\"flex\"\n flex={1}\n // gap={gap}\n // gapX={gapX}\n // gapY={gapY}\n // justify={justify}\n padding={padding}\n paddingX={paddingX}\n paddingY={paddingY}\n paddingTop={paddingTop}\n paddingBottom={paddingBottom}\n paddingLeft={paddingLeft}\n paddingRight={paddingRight}\n // width=\"fill\"\n // wrap={wrap}\n >\n {children}\n </Box>\n )}\n </As>\n )\n})\n\nButton.displayName = 'ForwardRef(Button)'\n","import {useContext} from 'react'\n\nimport {CardContext} from './cardContext'\n\nexport function useCard() {\n return useContext(CardContext)\n}\n","import {card, CardStyleProps, composeClassNames} from '@sanity/ui/css'\nimport {createElement, ForwardedRef, forwardRef} from 'react'\nimport {isValidElementType} from 'react-is'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {CardProvider} from './cardProvider'\nimport {useCard} from './useCard'\n\n/**\n * @public\n */\nexport interface CardProps extends BoxProps, CardStyleProps {\n /**\n * Do not use in production.\n * @beta\n */\n __unstable_checkered?: boolean\n /**\n * Do not use in production.\n * @beta\n */\n __unstable_focusRing?: boolean\n disabled?: boolean\n href?: string\n pressed?: boolean\n selected?: boolean\n target?: string\n}\n\n/**\n * The `Card` component acts much like a `Box`, but with a background and foreground color.\n * Components within a `Card` inherit its colors.\n *\n * @public\n */\nexport const Card = forwardRef(function Card(\n props: Props<CardProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n __unstable_checkered: checkered = false,\n __unstable_focusRing: focusRing = false,\n as: asProp,\n className,\n pressed,\n radius = 0,\n scheme: schemeProp,\n // selectable,\n selected,\n shadow,\n style,\n tone: toneProp = 'default',\n ...restProps\n } = props\n\n const as = isValidElementType(asProp) ? asProp : 'div'\n\n const parent = useCard()\n\n const context = {\n tone: parent?.tone ?? 'default',\n scheme: parent?.scheme ?? 'light',\n }\n\n const tone = toneProp === 'inherit' ? context.tone : toneProp\n const scheme = schemeProp === undefined ? context.scheme : schemeProp\n\n let node = (\n <Box\n data-ui=\"Card\"\n {...restProps}\n as={as}\n className={composeClassNames(\n className,\n card({\n scheme: scheme === context.scheme ? undefined : scheme,\n shadow,\n tone,\n }),\n )}\n data-checkered={checkered ? '' : undefined}\n data-focus-ring={focusRing ? '' : undefined}\n data-pressed={pressed ? '' : undefined}\n data-selected={selected ? '' : undefined}\n radius={radius}\n ref={ref}\n style={style}\n />\n )\n\n if (scheme === context.scheme && tone === context.tone) {\n return node\n }\n\n node = (\n <CardProvider\n compat_provider={parent?.compat_provider}\n rendered={true}\n scheme={scheme}\n tone={tone ?? context.tone}\n >\n {node}\n </CardProvider>\n )\n\n if (parent?.compat_provider) {\n return createElement(parent.compat_provider, {\n children: node,\n scheme,\n tone: tone ?? context.tone,\n })\n }\n\n return node\n})\n\nCard.displayName = 'ForwardRef(Card)'\n","import {CheckmarkIcon, RemoveIcon} from '@sanity/icons'\nimport {checkbox, checkboxInput, composeClassNames} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef, useEffect, useImperativeHandle, useRef} from 'react'\n\nimport {useCustomValidity} from '../../hooks'\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface CheckboxProps {\n indeterminate?: boolean\n customValidity?: string\n}\n\n/**\n * Checkboxes allow the user to select one or more items from a set.\n *\n * @public\n */\nexport const Checkbox = forwardRef(function Checkbox(\n props: Props<CheckboxProps, 'input'>,\n forwardedRef: ForwardedRef<HTMLInputElement>,\n) {\n const {\n checked,\n className,\n disabled,\n indeterminate,\n customValidity,\n readOnly,\n style,\n ...restProps\n } = props\n\n const ref = useRef<HTMLInputElement | null>(null)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate])\n\n useCustomValidity(ref, customValidity)\n\n return (\n <span className={composeClassNames(className, checkbox())} data-ui=\"Checkbox\" style={style}>\n <input\n {...restProps}\n checked={checked}\n className={composeClassNames(className, checkboxInput())}\n data-disabled={disabled ? '' : undefined}\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-error={customValidity ? '' : undefined}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n readOnly={readOnly}\n ref={ref}\n />\n <span>\n <CheckmarkIcon />\n <RemoveIcon />\n </span>\n </span>\n )\n})\n\nCheckbox.displayName = 'ForwardRef(Checkbox)'\n","import {code, composeClassNames, FontStyleProps} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef, lazy, Suspense} from 'react'\n\nimport {Props} from '../../types'\n\nconst LazyRefractor = lazy(() => import('./refractor'))\n\n/**\n * @public\n */\nexport interface CodeProps extends Omit<FontStyleProps, 'align'> {\n /** Define the language to use for syntax highlighting. */\n language?: string\n size?: number | number[]\n}\n\n/**\n * @public\n */\nexport const Code = forwardRef(function Code(\n props: Props<CodeProps, 'pre'>,\n ref: ForwardedRef<HTMLPreElement>,\n) {\n const {\n as: As = 'pre',\n children,\n className,\n language: languageProp,\n size = 2,\n weight,\n ...restProps\n } = props\n const language = typeof languageProp === 'string' ? languageProp : undefined\n\n return (\n <As\n data-ui=\"Code\"\n {...restProps}\n className={composeClassNames(className, code({size, weight}))}\n ref={ref}\n >\n <Suspense fallback={<code>{children}</code>}>\n <LazyRefractor language={language} value={children} />\n </Suspense>\n </As>\n )\n})\n\nCode.displayName = 'ForwardRef(Code)'\n","import {composeClassNames, container, ContainerStyleProps} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\n\n/**\n * @public\n */\nexport interface ContainerProps extends Omit<BoxProps, 'width'>, ContainerStyleProps {}\n\n/**\n * The `Container` component wraps content layout in a defined set of widths.\n *\n * @public\n */\nexport const Container = forwardRef(function Container(\n props: Props<ContainerProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {as, className, sizing = 'border', width = 2, ...restProps} = props\n\n return (\n <Box\n data-ui=\"Container\"\n {...restProps}\n as={as}\n className={composeClassNames(className, container({width}))}\n ref={ref}\n sizing={sizing}\n />\n )\n})\n\nContainer.displayName = 'ForwardRef(Container)'\n","import {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\n\n/**\n * @public\n */\nexport interface FlexProps extends Omit<BoxProps, 'display'> {\n htmlFor?: string\n}\n\n/**\n * The `Flex` component is a wrapper component for flexible elements (`Box`, `Card` and `Flex`).\n *\n * @public\n */\nexport const Flex = forwardRef(function Flex(\n props: Props<FlexProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {as, direction = 'row', ...restProps} = props\n\n return (\n <Box data-ui=\"Flex\" {...restProps} as={as} direction={direction} display=\"flex\" ref={ref} />\n )\n})\n\nFlex.displayName = 'ForwardRef(Flex)'\n","import {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\n\n/**\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface GridProps extends Omit<BoxProps, 'display'> {}\n\n/**\n * The `Grid` component is for building 2-dimensional layers (based on CSS grid).\n *\n * @public\n */\nexport const Grid = forwardRef(function Grid(\n props: Props<GridProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {as, children, ...restProps} = props\n\n return (\n <Box data-ui=\"Grid\" {...restProps} as={as} display=\"grid\" ref={ref}>\n {children}\n </Box>\n )\n})\n\nGrid.displayName = 'ForwardRef(Grid)'\n","import {\n composeClassNames,\n heading,\n type HeadingStyleProps,\n textOverflow,\n type TextOverflowStyleProps,\n} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface HeadingProps extends HeadingStyleProps, TextOverflowStyleProps {}\n\n/**\n * Typographic headings.\n *\n * @public\n */\nexport const Heading = forwardRef(function Heading(\n props: Props<HeadingProps, 'div'>,\n ref: ForwardedRef<HTMLElement>,\n) {\n const {\n accent = false,\n align,\n as: As = 'div',\n children,\n className,\n flex,\n muted = false,\n size = 2,\n textOverflow: textOverflowProp,\n weight,\n ...restProps\n } = props\n\n return (\n <As\n data-ui=\"Heading\"\n {...restProps}\n className={composeClassNames(\n className,\n heading({\n accent,\n align,\n flex,\n muted,\n size,\n weight,\n }),\n )}\n ref={ref}\n >\n <span className={textOverflow({textOverflow: textOverflowProp})}>{children}</span>\n </As>\n )\n})\n\nHeading.displayName = 'ForwardRef(Heading)'\n","import {ResponsiveProp} from '@sanity/ui/css'\nimport {Space} from '@sanity/ui/theme'\nimport {Children, ForwardedRef, forwardRef, useMemo} from 'react'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\n\n/**\n * @public\n */\nexport interface InlineProps extends Omit<BoxProps, 'align' | 'display' | 'justify'> {\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n}\n\n/**\n * The `Inline` component is a layout utility for aligning and spacing items horizontally.\n *\n * @public\n */\nexport const Inline = forwardRef(function Inline(\n props: Props<InlineProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {as, children: childrenProp, gap, gapX, gapY, space, ...restProps} = props\n\n const children = useMemo(\n () => Children.map(childrenProp, (child) => child && <Box maxWidth=\"fill\">{child}</Box>),\n [childrenProp],\n )\n\n return (\n <Box\n data-ui=\"Inline\"\n {...restProps}\n align=\"center\"\n as={as}\n display=\"flex\"\n gap={gap ?? space}\n gapX={gapX}\n gapY={gapY}\n ref={ref}\n wrap=\"wrap\"\n >\n {children}\n </Box>\n )\n})\n\nInline.displayName = 'ForwardRef(Inline)'\n","import {composeClassNames, kbd, RadiusStyleProps, ResponsiveProp} from '@sanity/ui/css'\nimport {FontTextSize, Space} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport interface KBDProps extends BoxProps, RadiusStyleProps {\n fontSize?: ResponsiveProp<FontTextSize>\n padding?: ResponsiveProp<Space>\n}\n\n/**\n * Used to define some text as keyboard input.\n *\n * @public\n */\nexport const KBD = forwardRef(function KBD(\n props: Props<KBDProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n as = 'kbd',\n children,\n className,\n display = 'inline-block',\n fontSize = 0,\n padding = 1,\n radius = 2,\n ...restProps\n } = props\n\n return (\n <Box\n data-ui=\"KBD\"\n {...restProps}\n as={as}\n className={composeClassNames(className, kbd({radius}))}\n display={display}\n muted\n padding={padding}\n ref={ref}\n >\n <Text as=\"span\" muted size={fontSize} weight=\"semibold\">\n {children}\n </Text>\n </Box>\n )\n})\n\nKBD.displayName = 'ForwardRef(KBD)'\n","import {Middleware} from '@floating-ui/react-dom'\n\n/**\n * Custom floating-ui middleware which calculates transform-origin X + Y offsets\n * based on the current floating rect's dimensions and shift offset.\n *\n * Scaling popovers with these transform-origin offsets will give the effect of\n * popvers slightly 'growing' from the origin/reference element.\n *\n * This middleware must be applied after both `@sanity/ui/size` and `shift` middlewares.\n */\nexport const origin: Middleware = {\n name: '@sanity/ui/origin',\n fn({middlewareData, placement, rects}) {\n const [side] = placement.split('-')\n\n const floatingWidth = rects.floating.width\n const floatingHeight = rects.floating.height\n\n const shiftX = middlewareData.shift?.x || 0\n const shiftY = middlewareData.shift?.y || 0\n\n if (floatingWidth <= 0 || floatingHeight <= 0) {\n return {}\n }\n\n const isVerticalPlacement = ['bottom', 'top'].includes(side)\n\n const {originX, originY}: {originX: number; originY: number} = isVerticalPlacement\n ? {\n originX: clamp(0.5 - shiftX / floatingWidth, 0, 1),\n originY: side === 'bottom' ? 0 : 1,\n }\n : {\n originX: side === 'left' ? 1 : 0,\n originY: clamp(0.5 - shiftY / floatingHeight, 0, 1),\n }\n\n return {\n data: {originX, originY},\n }\n },\n}\n\nfunction clamp(num: number, min: number, max: number) {\n return Math.min(Math.max(num, min), max)\n}\n","export interface PointCmd {\n type: 'point'\n x: number\n y: number\n radius?: number\n}\n\nexport interface CurveCmd {\n type: 'curve'\n startControl: Point\n endControl: Point\n curveEnd: Point\n}\n\nexport type Cmd = PointCmd | CurveCmd\n\nexport interface Point {\n x: number\n y: number\n radius?: number\n}\n\nfunction moveTowardsLength(movingPoint: Point, targetPoint: Point, amount: number) {\n const width = targetPoint.x - movingPoint.x\n const height = targetPoint.y - movingPoint.y\n\n const distance = Math.sqrt(width * width + height * height)\n\n return moveTowardsFractional(movingPoint, targetPoint, Math.min(1, amount / distance))\n}\n\nfunction moveTowardsFractional(movingPoint: Point, targetPoint: Point, fraction: number): Point {\n return {\n x: movingPoint.x + (targetPoint.x - movingPoint.x) * fraction,\n y: movingPoint.y + (targetPoint.y - movingPoint.y) * fraction,\n }\n}\n\nexport function getRoundedCommands(points: Point[]): Cmd[] {\n const len = points.length\n\n const cmds: Cmd[] = []\n\n for (let i = 0; i < len; i += 1) {\n const point = points[i]\n const prevPoint = points[i - 1]\n const nextPoint = points[i + 1]\n\n if (prevPoint && point.radius) {\n const curveStart = moveTowardsLength(point, prevPoint, point.radius)\n const curveEnd = moveTowardsLength(point, nextPoint, point.radius)\n const startControl = moveTowardsFractional(curveStart, point, 0.5)\n const endControl = moveTowardsFractional(point, curveEnd, 0.5)\n\n cmds.push({\n type: 'point',\n ...curveStart,\n })\n\n cmds.push({\n type: 'curve',\n curveEnd,\n startControl,\n endControl,\n })\n } else {\n cmds.push({\n type: 'point',\n ...point,\n })\n }\n }\n\n return cmds\n}\n\nexport function compileCommands(cmds: Cmd[]): string {\n return cmds\n .map((n, idx) => {\n if (n.type === 'point') {\n return `${idx === 0 ? 'M' : 'L'} ${n.x} ${n.y}`\n }\n\n if (n.type === 'curve') {\n return `C ${n.startControl.x} ${n.startControl.y} ${n.endControl.x} ${n.endControl.y} ${n.curveEnd.x} ${n.curveEnd.y}`\n }\n\n return ``\n })\n .join(' ')\n}\n","import {_arrow, _arrowShape, _arrowStroke, _arrowStrokeMask} from '@sanity/ui/css'\nimport {CSSProperties, ForwardedRef, forwardRef, ReactElement, useMemo} from 'react'\n\nimport {Props} from '../../types'\nimport {compileCommands, getRoundedCommands, Point} from './cmds'\n\n/** @internal */\nexport const Arrow = forwardRef(function Arrow(\n props: Props<{width: number; height: number; radius?: number}, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n): ReactElement {\n const {width: w, height: h, radius = 0, style, ...restProps} = props\n\n const center = w / 2\n\n const path = useMemo(() => {\n const points: Point[] = [\n {x: 0, y: 0},\n {x: radius, y: 0, radius},\n {x: center, y: h - 1, radius},\n {x: w - radius, y: 0, radius},\n {x: w, y: 0},\n ]\n\n const cmds = getRoundedCommands(points)\n\n return compileCommands(cmds)\n }, [center, h, radius, w])\n\n const strokePath = `${path}`\n const fillPath = `${path} M ${w} -1 M 0 -1 Z`\n\n return (\n <div\n {...restProps}\n className={_arrow()}\n ref={ref}\n style={{...style, '--arrow-size': `${w}px`} as CSSProperties}\n >\n <svg width={w} height={w} viewBox={`0 0 ${w} ${w}`}>\n <mask id=\"stroke-mask\">\n <rect className={_arrowStrokeMask()} x={0} width={w} height={w} fill=\"white\" />\n </mask>\n <path className={_arrowStroke()} d={strokePath} mask=\"url(#stroke-mask)\" />\n <path className={_arrowShape()} d={fillPath} />\n </svg>\n </div>\n )\n})\n\nArrow.displayName = 'ForwardRef(Arrow)'\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {BoundaryElementContextValue} from './types'\n\nexport const BoundaryElementContext = createGlobalScopedContext<BoundaryElementContextValue | null>(\n '@sanity/ui/context/boundaryElement',\n null,\n)\n","import {ReactElement, ReactNode, useMemo} from 'react'\n\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\n/**\n * @public\n */\nexport interface BoundaryElementProviderProps {\n children: ReactNode\n element: HTMLElement | null\n}\n\n/**\n * @public\n */\nexport function BoundaryElementProvider(props: BoundaryElementProviderProps): ReactElement {\n const {children, element} = props\n const value: BoundaryElementContextValue = useMemo(() => ({version: 0.0, element}), [element])\n\n return <BoundaryElementContext.Provider value={value}>{children}</BoundaryElementContext.Provider>\n}\n\nBoundaryElementProvider.displayName = 'BoundaryElementProvider'\n","export function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value && typeof value === 'object' && !Array.isArray(value))\n}\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\nconst DEFAULT_VALUE: BoundaryElementContextValue = {\n version: 0.0,\n element: null,\n}\n\n/**\n * @public\n */\nexport function useBoundaryElement(): BoundaryElementContextValue {\n const value = useContext(BoundaryElementContext)\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (value && (!isRecord(value) || value.version !== 0.0)) {\n throw new Error('useBoundaryElement(): the context value is not compatible')\n }\n\n return value || DEFAULT_VALUE\n}\n","import {ReactNode} from 'react'\n\n/**\n * @internal\n * @deprecated this component will be removed in the next major release\n */\nexport function ConditionalWrapper({\n children,\n condition,\n wrapper,\n}: {\n children: ReactNode\n condition: boolean\n wrapper: (children: ReactNode) => ReactNode\n}): ReactNode {\n if (!condition) {\n return children\n }\n\n return wrapper(children)\n}\n\nConditionalWrapper.displayName = 'ConditionalWrapper'\n","export function findMaxBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp > width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n\nexport function findMinBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp <= width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n","import {BREAKPOINTS} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef, useImperativeHandle, useMemo, useState} from 'react'\n\nimport {useElementSize} from '../../hooks'\nimport {Props} from '../../types'\nimport {findMaxBreakpoints, findMinBreakpoints} from './helpers'\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface MediaQueryProps {\n media?: number[]\n}\n\nconst defaultBreakpoints = Object.values(BREAKPOINTS)\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const ElementQuery = forwardRef(function ElementQuery(\n props: Props<MediaQueryProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const {children, media: mediaProp, ...restProps} = props\n const breakpoints = mediaProp ?? defaultBreakpoints\n\n const [element, setElement] = useState<HTMLDivElement | null>(null)\n const elementSize = useElementSize(element)\n const width = useMemo(() => elementSize?.border.width ?? window.innerWidth, [elementSize])\n\n const max = useMemo(() => {\n const eq = findMaxBreakpoints(breakpoints, width)\n\n return eq.length ? eq.join(' ') : undefined\n }, [breakpoints, width])\n\n const min = useMemo(() => {\n const eq = findMinBreakpoints(breakpoints, width)\n\n return eq.length ? eq.join(' ') : undefined\n }, [breakpoints, width])\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => element, [\n element,\n ])\n\n return (\n <div data-ui=\"ElementQuery\" {...restProps} data-eq-max={max} data-eq-min={min} ref={setElement}>\n {children}\n </div>\n )\n})\nElementQuery.displayName = 'ForwardRef(ElementQuery)'\n","import {isRecord} from '../../lib/isRecord'\nimport {LayerContextValue} from './types'\n\nexport function getLayerContext(contextValue: LayerContextValue): LayerContextValue {\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(contextValue) || contextValue.version !== 0.0) {\n throw new Error('the context value is not compatible')\n }\n\n if (!contextValue) {\n throw new Error('components using `useLayer()` should be wrapped in a <LayerProvider>.')\n }\n\n if (contextValue.version === 0.0) {\n return contextValue\n }\n\n throw new Error('could not get layer context')\n}\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {LayerContextValue} from './types'\n\nexport const LayerContext = createGlobalScopedContext<LayerContextValue | null>(\n '@sanity/ui/context/layer',\n null,\n)\n","import {ReactElement, ReactNode, useCallback, useContext, useEffect, useMemo, useState} from 'react'\n\nimport {useArrayProp, useMediaIndex} from '../../hooks'\nimport {getLayerContext} from './getLayerContext'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport interface LayerProviderProps {\n children?: ReactNode\n zOffset?: number | number[]\n}\n\n/**\n * @public\n */\nexport function LayerProvider(props: LayerProviderProps): ReactElement {\n const {children, zOffset: zOffsetProp = 0} = props\n\n // Get parent context values\n const parentContextValue = useContext(LayerContext)\n const parent = parentContextValue && getLayerContext(parentContextValue)\n const parentRegisterChild = parent?.registerChild\n const parentLevel = parent?.level ?? 0\n\n // Get level\n const level = parentLevel + 1\n\n // Get z-index offset\n const zOffset = useArrayProp(zOffsetProp)\n\n // Get responsive z-index value\n const maxMediaIndex = zOffset.length - 1\n const mediaIndex = Math.min(useMediaIndex(), maxMediaIndex)\n const zIndex = parent ? parent.zIndex + (zOffset[mediaIndex] ?? 0) : (zOffset[mediaIndex] ?? 0)\n\n // A state value that is used to keep track of the number of child layers on each level\n const [, setChildLayers] = useState<Record<number, number>>({})\n\n // A state value that is used to keep track of the number of child levels\n const [size, setSize] = useState(0)\n\n const isTopLayer = size === 0\n\n const registerChild = useCallback(\n (childLevel?: number) => {\n // Register child layers to the parent layer\n const parentDispose = parentRegisterChild?.(childLevel)\n\n if (childLevel !== undefined) {\n setChildLayers((state) => {\n const prevLen = state[childLevel] ?? 0\n const nextState = {...state, [childLevel]: prevLen + 1}\n\n setSize(Object.keys(nextState).length)\n\n return nextState\n })\n } else {\n // Legacy behavior: if no child level is provided, increment the size by 1\n setSize((v) => v + 1)\n }\n\n return () => {\n if (childLevel !== undefined) {\n setChildLayers((state) => {\n const nextState = {...state}\n\n if (nextState[childLevel] === 1) {\n delete nextState[childLevel]\n\n setSize(Object.keys(nextState).length)\n } else {\n nextState[childLevel] -= 1\n }\n\n return nextState\n })\n } else {\n // Legacy behavior: if no child level is provided, decrement the size by 1\n setSize((v) => v - 1)\n }\n\n parentDispose?.()\n }\n },\n [parentRegisterChild, setSize, setChildLayers],\n )\n\n // Register this layer on mount\n useEffect(() => parentRegisterChild?.(level), [level, parentRegisterChild])\n\n const value: LayerContextValue = useMemo(\n () => ({\n version: 0.0,\n isTopLayer,\n level,\n registerChild,\n size,\n zIndex,\n }),\n [isTopLayer, level, registerChild, size, zIndex],\n )\n\n return <LayerContext.Provider value={value}>{children}</LayerContext.Provider>\n}\n\nLayerProvider.displayName = 'LayerProvider'\n","import {useContext} from 'react'\n\nimport {getLayerContext} from './getLayerContext'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport function useLayer(): LayerContextValue {\n const value = useContext(LayerContext)\n\n if (!value) {\n throw new Error('useLayer(): missing context value')\n }\n\n try {\n return getLayerContext(value)\n } catch (err) {\n if (err instanceof Error) {\n throw new Error(`useLayer(): ${err.message}`)\n } else {\n throw new Error(`useLayer(): ${err}`)\n }\n }\n}\n","import {\n FocusEvent,\n ForwardedRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n} from 'react'\n\nimport {EMPTY_RECORD} from '../../constants'\nimport {containsOrEqualsElement, isHTMLElement} from '../../helpers'\nimport {Box, BoxProps} from '../../primitives'\nimport {Props} from '../../types'\nimport {LayerProvider} from './layerProvider'\nimport {useLayer} from './useLayer'\n\n/**\n * @public\n */\nexport interface LayerProps extends BoxProps {\n /** A callback that fires when the layer becomes the top layer when it was not the top layer before. */\n onActivate?: (props: {activeElement: HTMLElement | null}) => void\n zOffset?: number | number[]\n}\n\ninterface LayerChildrenProps extends BoxProps {\n onActivate?: LayerProps['onActivate']\n}\n\nconst LayerChildren = forwardRef(function LayerChildren(\n props: Props<LayerChildrenProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n onActivate,\n onFocus,\n position = 'relative',\n style = EMPTY_RECORD,\n ...restProps\n } = props\n const {zIndex, isTopLayer} = useLayer()\n const lastFocusedRef = useRef<HTMLElement | null>(null)\n const ref = useRef<HTMLDivElement | null>(null)\n const isTopLayerRef = useRef<boolean>(isTopLayer)\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n // When the layer very first mounts, it will be the top layer, but we don't want to fire\n // the callback in that case. We use a ref to track the previous value of isTopLayer to\n // determine if the layer has become the top layer since the last render.\n useEffect(() => {\n const becameTopLayer = isTopLayerRef.current !== isTopLayer && isTopLayer\n\n if (becameTopLayer) {\n onActivate?.({activeElement: lastFocusedRef.current})\n }\n\n isTopLayerRef.current = isTopLayer\n }, [isTopLayer, onActivate])\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLDivElement, Element>) => {\n // Call the user-provided onFocus handler if any\n onFocus?.(event)\n\n const rootElement = ref.current\n const target = document.activeElement\n\n if (!isTopLayer || !rootElement || !target) return\n\n if (isHTMLElement(target) && containsOrEqualsElement(rootElement, target)) {\n lastFocusedRef.current = target\n }\n },\n [isTopLayer, onFocus],\n )\n\n return (\n <Box\n data-ui=\"Layer\"\n {...restProps}\n onFocus={handleFocus}\n position={position}\n ref={ref}\n style={{...style, zIndex}}\n >\n {children}\n </Box>\n )\n})\n\n/**\n * @public\n */\nexport const Layer = forwardRef(function Layer(\n props: Props<LayerProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {children, zOffset = 1, ...restProps} = props\n\n return (\n <LayerProvider zOffset={zOffset}>\n <LayerChildren {...restProps} ref={ref}>\n {children}\n </LayerChildren>\n </LayerProvider>\n )\n})\n\nLayer.displayName = 'ForwardRef(Layer)'\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {globalScope} from '../../lib/globalScope'\nimport {PortalContextValue} from './types'\n\nconst key = '@sanity/ui/context/portal'\nconst elementKey = Symbol.for(`${key}/element`)\n\nglobalScope[elementKey] = null\n\nexport const defaultContextValue: PortalContextValue = {\n version: 0.0,\n boundaryElement: null,\n get element() {\n if (typeof document === 'undefined') {\n return null\n }\n\n if (globalScope[elementKey]) {\n return globalScope[elementKey]\n }\n\n globalScope[elementKey] = document.createElement('div')\n globalScope[elementKey].setAttribute('data-portal', '')\n\n document.body.appendChild(globalScope[elementKey])\n\n return globalScope[elementKey]\n },\n}\n\nexport const PortalContext = createGlobalScopedContext<PortalContextValue>(key, defaultContextValue)\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport function usePortal(): PortalContextValue {\n const value = useContext(PortalContext)\n\n if (!value) {\n throw new Error('usePortal(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('usePortal(): the context value is not compatible')\n }\n\n return value\n}\n","import {createElement, ReactNode, ReactPortal} from 'react'\nimport {createPortal} from 'react-dom'\n\nimport {CardProvider, useCard} from '../../primitives'\nimport {usePortal} from './usePortal'\n\n/**\n * @public\n */\nexport interface PortalProps {\n children: ReactNode\n /**\n * @beta This API might change. DO NOT USE IN PRODUCTION.\n */\n __unstable_name?: string\n}\n\n/**\n * @public\n */\nexport function Portal(props: PortalProps): ReactPortal | null {\n const {children, __unstable_name: name} = props\n const card = useCard()\n const portal = usePortal()\n const portalElement =\n (name ? portal.elements && portal.elements[name] : portal.element) || portal.elements?.default\n\n if (!portalElement) {\n return null\n }\n\n return createPortal(\n createElement(\n CardProvider,\n {\n rendered: true,\n tone: 'transparent', // card?.tone || 'default',\n scheme: card?.scheme || 'light',\n },\n children,\n ),\n portalElement,\n )\n}\n\nPortal.displayName = 'Portal'\n","import {ReactElement, ReactNode, useMemo, useRef, useSyncExternalStore} from 'react'\n\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport interface PortalProviderProps {\n /**\n * @deprecated Use `<BoundaryElementProvider element={...} />` instead\n */\n boundaryElement?: HTMLElement | null\n children: ReactNode\n element?: HTMLElement | null\n /**\n * @beta\n */\n __unstable_elements?: Record<string, HTMLElement | null | undefined>\n}\n\n/**\n * @public\n */\nexport function PortalProvider(props: PortalProviderProps): ReactElement {\n const {boundaryElement, children, element, __unstable_elements: elementsProp} = props\n const elements = useUnique(elementsProp)\n const fallbackElement = useSyncExternalStore(\n emptySubscribe,\n () => document.body,\n () => null,\n )\n\n const value: PortalContextValue = useMemo(() => {\n return {\n version: 0.0,\n boundaryElement: boundaryElement || null,\n element: element || fallbackElement,\n elements,\n }\n }, [boundaryElement, element, elements, fallbackElement])\n\n return <PortalContext.Provider value={value}>{children}</PortalContext.Provider>\n}\n\nPortalProvider.displayName = 'PortalProvider'\n\nconst emptySubscribe = () => () => {}\n\n/**\n * This is a React hook to make sure that a record identity is the same on every render. Uses strict\n * equality comparison (eg by identity), and only goes one level deep.\n */\nfunction useUnique<ValueType extends Comparable = Comparable>(value: ValueType): ValueType {\n const valueRef = useRef<ValueType>(value)\n\n if (!_isEqual(valueRef.current, value)) {\n valueRef.current = value\n }\n\n return valueRef.current\n}\n\nfunction _isEqual(objA: Comparable, objB: Comparable): boolean {\n if (!objA || !objB) {\n return objA === objB\n }\n\n const keysA = Object.keys(objA)\n const keysB = Object.keys(objB)\n\n if (keysA.length !== keysB.length) {\n return false\n }\n\n return keysA.every((key) => objA[key] === objB[key])\n}\n\ntype Comparable = Record<string | number | symbol, unknown> | undefined | null\n","import {composeClassNames, srOnly} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef, ReactNode} from 'react'\n\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface SrOnlyProps {\n children?: ReactNode\n}\n\n/**\n * @public\n */\nexport const SrOnly = forwardRef(function SrOnly(\n props: Props<SrOnlyProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {as: As = 'div', children, className, ...rest} = props\n\n return (\n <As\n data-ui=\"SrOnly\"\n {...rest}\n aria-hidden\n className={composeClassNames(className, srOnly())}\n ref={ref}\n >\n {children}\n </As>\n )\n})\n\nSrOnly.displayName = 'ForwardRef(SrOnly)'\n","import {vars} from '@sanity/ui/css'\nimport {Space} from '@sanity/ui/theme'\nimport {\n CSSProperties,\n ForwardedRef,\n forwardRef,\n ReactElement,\n ReactNode,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {_isScrollable} from '../../helpers'\nimport {_ResizeObserver} from '../../observers'\nimport {Box, StackProps} from '../../primitives'\nimport {Props} from '../../types'\n\n/**\n * @beta\n */\nexport interface VirtualListChangeOpts {\n fromIndex: number\n gap: number\n itemHeight: number\n scrollHeight: number\n scrollTop: number\n toIndex: number\n}\n\n/**\n * @beta\n */\nexport interface VirtualListProps<Item = any> extends Omit<StackProps, 'gap'> {\n gap?: Space\n getItemKey?: (item: Item, itemIndex: number) => string\n items?: Item[]\n onChange?: (opts: VirtualListChangeOpts) => void\n renderItem?: (item: Item) => ReactNode\n}\n\n/**\n * @beta\n */\nexport const VirtualList = forwardRef(function VirtualList(\n props: Props<VirtualListProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n): ReactElement {\n const {gap = 0, getItemKey, items = [], onChange, renderItem, ...restProps} = props\n const ref = useRef<HTMLDivElement | null>(null)\n const wrapperRef = useRef<HTMLDivElement | null>(null)\n const [scrollTop, setScrollTop] = useState(0)\n const [scrollHeight, setScrollHeight] = useState(0)\n const [itemHeight, setItemHeight] = useState(-1)\n\n const [gapValue, setGapValue] = useState(0)\n\n // Sync ref to parent\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n useEffect((): (() => void) | undefined => {\n if (!ref.current) return\n\n const scrollEl = findScrollable(ref.current.parentNode)\n\n if (scrollEl) {\n if (!(scrollEl instanceof HTMLElement)) return\n\n const handleScroll = () => {\n setScrollTop(scrollEl.scrollTop)\n }\n\n scrollEl.addEventListener('scroll', handleScroll, {passive: true})\n\n const ro = new _ResizeObserver((entries) => {\n setScrollHeight(entries[0].contentRect.height)\n })\n\n ro.observe(scrollEl)\n\n handleScroll()\n\n return () => {\n scrollEl.removeEventListener('scroll', handleScroll)\n\n ro.unobserve(scrollEl)\n ro.disconnect()\n }\n }\n\n const handleScroll = () => {\n setScrollTop(window.scrollY)\n }\n\n const handleResize = () => {\n setScrollHeight(window.innerHeight)\n }\n\n window.addEventListener('scroll', handleScroll, {passive: true})\n window.addEventListener('resize', handleResize)\n\n setScrollHeight(window.innerHeight)\n\n handleScroll()\n\n return () => {\n window.removeEventListener('scroll', handleScroll)\n window.removeEventListener('resize', handleResize)\n }\n }, [])\n\n const len = items.length\n const height = itemHeight ? len * (itemHeight + gapValue) - gapValue : 0\n const fromIndex = height ? Math.max(Math.floor((scrollTop / height) * len) - 2, 0) : 0\n const toIndex = height ? Math.ceil(((scrollTop + scrollHeight) / height) * len) + 1 : 0\n\n useEffect(() => {\n onChange?.({\n fromIndex,\n gap: gapValue,\n itemHeight,\n scrollHeight,\n scrollTop,\n toIndex,\n })\n }, [fromIndex, gapValue, itemHeight, onChange, scrollHeight, scrollTop, toIndex])\n\n const children = useMemo(() => {\n if (!renderItem || items.length === 0) return null\n\n if (itemHeight === -1) {\n return [\n <>\n <Box\n ref={(el) => (el ? setItemHeight(el.offsetHeight) : undefined)}\n insetTop={0}\n insetLeft={0}\n insetRight={0}\n key={0}\n position=\"absolute\"\n >\n {renderItem(items[0])}\n </Box>\n <div\n ref={(el) => (el ? setGapValue(el.offsetHeight) : undefined)}\n style={{height: vars.space[gap]}}\n />\n </>,\n ]\n }\n\n return items.slice(fromIndex, toIndex).map((item, _itemIndex) => {\n const itemIndex = fromIndex + _itemIndex\n const node = renderItem(item)\n const key = getItemKey ? getItemKey(item, itemIndex) : itemIndex\n\n return (\n <Box\n insetLeft={0}\n insetRight={0}\n key={key}\n position=\"absolute\"\n style={{top: itemIndex * (itemHeight + gapValue) - gapValue}}\n >\n {node}\n </Box>\n )\n })\n }, [fromIndex, gap, gapValue, getItemKey, itemHeight, items, renderItem, toIndex])\n\n const wrapperStyle: CSSProperties = useMemo(() => ({height}), [height])\n\n return (\n <Box data-ui=\"VirtualList\" {...restProps} position=\"relative\" ref={ref}>\n <div ref={wrapperRef} style={wrapperStyle}>\n {children}\n </div>\n </Box>\n )\n})\n\nVirtualList.displayName = 'ForwardRef(VirtualList)'\n\nfunction findScrollable(parentNode: ParentNode | null) {\n let _scrollEl = parentNode\n\n while (_scrollEl && !_isScrollable(_scrollEl)) {\n _scrollEl = _scrollEl.parentNode\n }\n\n return _scrollEl\n}\n","import {Placement, PopoverMargins} from '../../types'\n\nexport const DEFAULT_POPOVER_DISTANCE = 4\nexport const DEFAULT_POPOVER_PADDING = 4\nexport const DEFAULT_POPOVER_ARROW_WIDTH = 19\nexport const DEFAULT_POPOVER_ARROW_HEIGHT = 8\nexport const DEFAULT_POPOVER_ARROW_RADIUS = 2\nexport const DEFAULT_POPOVER_MARGINS: PopoverMargins = [0, 0, 0, 0]\nexport const DEFAULT_FALLBACK_PLACEMENTS: Record<Placement, Placement[]> = {\n 'top': ['bottom', 'left', 'right'],\n 'top-start': ['bottom-start', 'left-start', 'right-start'],\n 'top-end': ['bottom-end', 'left-end', 'right-end'],\n 'bottom': ['top', 'left', 'right'],\n 'bottom-start': ['top-start', 'left-start', 'right-start'],\n 'bottom-end': ['top-end', 'left-end', 'right-end'],\n 'left': ['right', 'top', 'bottom'],\n 'left-start': ['right-start', 'top-start', 'bottom-start'],\n 'left-end': ['right-end', 'top-end', 'bottom-end'],\n 'right': ['left', 'top', 'bottom'],\n 'right-start': ['left-start', 'top-start', 'bottom-start'],\n 'right-end': ['left-end', 'top-end', 'bottom-end'],\n}\n","import {detectOverflow, Elements, Middleware} from '@floating-ui/react-dom'\n\nimport {PopoverMargins} from '../../../types'\n\nexport interface SizeMiddlewareApplyOptions {\n availableWidth: number\n availableHeight: number\n elements: Elements\n referenceWidth: number\n}\n\nexport function size(options: {\n apply: (args: SizeMiddlewareApplyOptions) => void\n boundaryElement?: HTMLElement | null\n constrainSize: boolean\n margins: PopoverMargins\n matchReferenceWidth?: boolean\n padding?: number\n}): Middleware {\n const {apply, margins, padding = 0} = options\n\n return {\n name: '@sanity/ui/size',\n async fn(args) {\n const {elements, placement, platform, rects} = args\n const {floating, reference} = rects\n\n const overflow = await detectOverflow(args, {\n altBoundary: true,\n boundary: options.boundaryElement || undefined,\n elementContext: 'floating',\n padding,\n rootBoundary: 'viewport',\n })\n\n let maxWidth = Infinity\n let maxHeight = Infinity\n\n const floatingW = floating.width\n const floatingH = floating.height\n\n if (placement.includes('top')) {\n maxWidth = floatingW - (overflow.left + overflow.right)\n maxHeight = floatingH - overflow.top\n }\n\n if (placement.includes('right')) {\n maxWidth = floatingW - overflow.right\n maxHeight = floatingH - (overflow.top + overflow.bottom)\n }\n\n if (placement.includes('bottom')) {\n maxWidth = floatingW - (overflow.left + overflow.right)\n maxHeight = floatingH - overflow.bottom\n }\n\n if (placement.includes('left')) {\n maxWidth = floatingW - overflow.left\n maxHeight = floatingH - (overflow.top + overflow.bottom)\n }\n\n // IMPORTANT – APPLY ELEMENT STYLES HERE\n // Elements need to be resized BEFORE the `platform.getDimensions` call below\n apply({\n availableWidth: maxWidth - margins[1] - margins[3],\n availableHeight: maxHeight - margins[0] - margins[2],\n elements,\n referenceWidth: reference.width - margins[1] - margins[3],\n })\n\n const nextDimensions = await platform.getDimensions(elements.floating)\n\n const targetH = nextDimensions.height\n const targetW = nextDimensions.width\n\n if (floatingW !== targetW || floatingH !== targetH) {\n return {reset: {rects: true}}\n }\n\n return {}\n },\n }\n}\n","import {Strategy} from '@floating-ui/react-dom'\nimport {popoverCard} from '@sanity/ui/css'\nimport {motion, MotionProps} from 'framer-motion'\nimport {CSSProperties, ForwardedRef, forwardRef, memo, useMemo} from 'react'\n\nimport {POPOVER_MOTION_PROPS} from '../../constants'\nimport {Placement, PopoverMargins, Props} from '../../types'\nimport {Arrow, useLayer} from '../../utils'\nimport {Card, CardProps} from '../card'\nimport {Flex} from '../flex'\nimport {\n DEFAULT_POPOVER_ARROW_HEIGHT,\n DEFAULT_POPOVER_ARROW_RADIUS,\n DEFAULT_POPOVER_ARROW_WIDTH,\n DEFAULT_POPOVER_MARGINS,\n} from './constants'\n\n/** @internal */\nexport interface PopoverCardProps extends CardProps {\n /** @beta*/\n __unstable_margins?: PopoverMargins\n animate?: boolean\n arrow: boolean\n arrowRef: ForwardedRef<HTMLDivElement>\n arrowX?: number\n arrowY?: number\n originX?: number\n originY?: number\n placement: Placement\n referenceWidth?: number\n strategy: Strategy\n x: number | null\n y: number | null\n}\n\nconst MotionCard = motion.create(Card)\n\n/**\n * @internal\n */\nexport const PopoverCard = memo(\n forwardRef(function PopoverCard(\n props: Props<PopoverCardProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n ) {\n const {\n __unstable_margins: marginsProp,\n animate,\n arrow,\n arrowRef,\n arrowX,\n arrowY,\n children,\n maxWidth,\n padding,\n placement,\n originX,\n originY,\n overflow,\n radius,\n referenceWidth,\n // scheme: schemeProp,\n shadow,\n strategy,\n style,\n tone = 'inherit',\n // width,\n x: xProp,\n y: yProp,\n ...restProps\n } = props\n\n // const card = useCard()\n\n // const tone = toneProp ?? card?.tone ?? 'inherit'\n // const scheme = schemeProp ?? card?.scheme ?? 'light'\n\n const layer = useLayer()\n\n // Get margins: [top, right, bottom, left]\n const margins: PopoverMargins = useMemo(\n () => marginsProp || DEFAULT_POPOVER_MARGINS,\n [marginsProp],\n )\n\n // Translate according to margins\n const x = (xProp ?? 0) + margins[3]\n const y = (yProp ?? 0) + margins[0]\n\n const rootStyle: CSSProperties = useMemo(\n () => ({\n left: x,\n originX,\n originY,\n position: strategy,\n top: y,\n width: referenceWidth,\n zIndex: layer.zIndex ?? 100,\n willChange: animate ? 'transform' : undefined,\n ...style,\n }),\n [animate, layer.zIndex, originX, originY, referenceWidth, strategy, style, x, y],\n )\n\n const arrowStyle: CSSProperties = useMemo(\n () => ({\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }),\n [arrowX, arrowY],\n )\n\n return (\n <MotionCard\n className={popoverCard()}\n data-ui=\"Popover\"\n {...(restProps as CardProps & MotionProps)}\n data-context-tone={tone}\n data-placement={placement}\n direction=\"column\"\n display=\"flex\"\n radius={radius}\n ref={ref}\n // scheme={scheme}\n shadow={shadow}\n sizing=\"border\"\n style={rootStyle}\n tone={tone}\n variants={POPOVER_MOTION_PROPS.card}\n transition={POPOVER_MOTION_PROPS.transition}\n initial={animate ? ['hidden', 'initial'] : undefined}\n animate={animate ? ['visible', 'scaleIn'] : undefined}\n exit={animate ? ['hidden', 'scaleOut'] : undefined}\n >\n <Flex\n data-ui=\"Popover__wrapper\"\n direction=\"column\"\n flex={1}\n maxWidth={maxWidth}\n overflow={overflow}\n >\n <Flex direction=\"column\" flex={1} padding={padding}>\n {children}\n </Flex>\n </Flex>\n\n {arrow && (\n <Arrow\n ref={arrowRef}\n style={arrowStyle}\n width={DEFAULT_POPOVER_ARROW_WIDTH}\n height={DEFAULT_POPOVER_ARROW_HEIGHT}\n radius={DEFAULT_POPOVER_ARROW_RADIUS}\n />\n )}\n </MotionCard>\n )\n }),\n)\nPopoverCard.displayName = 'Memo(ForwardRef(PopoverCard))'\n","import {\n arrow,\n autoUpdate,\n flip,\n hide,\n Middleware,\n offset,\n RootBoundary,\n shift,\n useFloating,\n} from '@floating-ui/react-dom'\nimport {AnimatePresence} from 'framer-motion'\nimport {\n cloneElement,\n ForwardedRef,\n forwardRef,\n memo,\n MutableRefObject,\n ReactElement,\n ReactNode,\n RefCallback,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react'\n\nimport {Z_OFFSETS} from '../../constants'\nimport {useArrayProp, usePrefersReducedMotion} from '../../hooks'\nimport {origin} from '../../middleware/origin'\nimport {Placement, PopoverMargins, Props} from '../../types'\nimport {LayerProps, LayerProvider, Portal, useBoundaryElement, useLayer} from '../../utils'\nimport {CardProps, CardProvider, useCard} from '../card'\nimport {\n DEFAULT_FALLBACK_PLACEMENTS,\n DEFAULT_POPOVER_DISTANCE,\n DEFAULT_POPOVER_MARGINS,\n DEFAULT_POPOVER_PADDING,\n} from './constants'\nimport {size} from './floating-ui/size'\nimport {PopoverCard} from './popoverCard'\nimport {PopoverUpdateCallback} from './types'\n\n/** @public */\nexport interface PopoverProps extends CardProps, LayerProps {\n /** @beta */\n __unstable_margins?: PopoverMargins\n /**\n * Whether the popover should animate in and out.\n *\n * @beta\n * @defaultValue false\n */\n animate?: boolean\n arrow?: boolean\n /** @deprecated Use `floatingBoundary` and/or `referenceBoundary` instead */\n boundaryElement?: HTMLElement | null\n children?: ReactElement<{ref: ForwardedRef<HTMLElement>}>\n /**\n * When `true`, prevent overflow within the current boundary:\n * - by flipping on its side axis\n * - by resizing\n *\n * Note that:\n * - setting `preventOverflow` to `true` also prevents overflow on its side axis\n * - setting `matchReferenceWidth` to `true` also causes the popover to resize\n *\n * @defaultValue false\n */\n constrainSize?: boolean\n content?: ReactNode\n disabled?: boolean\n fallbackPlacements?: Placement[]\n floatingBoundary?: HTMLElement | null\n /**\n * When `true`, set the maximum width to match the reference element, and also prevent overflow within\n * the current boundary by resizing.\n *\n * Note that setting `constrainSize` to `true` also causes the popover to resize\n *\n * @defaultValue false\n */\n matchReferenceWidth?: boolean\n /**\n * When true, blocks all pointer interaction with elements beneath the popover until closed.\n *\n * @beta\n * @defaultValue false\n */\n modal?: boolean\n open?: boolean\n placement?: Placement\n /** Whether or not to render the popover in a portal element. */\n portal?: boolean | string\n preventOverflow?: boolean\n referenceBoundary?: HTMLElement | null\n /**\n * When defined, the popover will be positioned relative to this element.\n * The children of the popover won't be rendered.\n */\n referenceElement?: HTMLElement | null\n /** @beta */\n updateRef?:\n | MutableRefObject<PopoverUpdateCallback | undefined>\n | RefCallback<PopoverUpdateCallback | undefined>\n}\n\nconst ViewportOverlay = () => {\n const {zIndex} = useLayer()\n\n return (\n <div\n style={{\n position: 'fixed',\n inset: 0,\n width: '100vw',\n height: '100vh',\n zIndex,\n }}\n />\n )\n}\n\n/**\n * The `Popover` component is used to display some content on top of another.\n *\n * @public\n */\nexport const Popover = memo(\n forwardRef(function Popover(\n props: Props<PopoverProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n ): ReactElement {\n const boundaryElementContext = useBoundaryElement()\n\n const {\n __unstable_margins: margins = DEFAULT_POPOVER_MARGINS,\n animate: _animate = false,\n arrow: arrowProp = false,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n boundaryElement = boundaryElementContext.element,\n children: childProp,\n constrainSize = false,\n content,\n disabled,\n fallbackPlacements = props.fallbackPlacements ??\n DEFAULT_FALLBACK_PLACEMENTS[props.placement ?? 'bottom'],\n matchReferenceWidth,\n floatingBoundary = props.boundaryElement ?? boundaryElementContext.element,\n modal,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onActivate,\n open,\n overflow = 'hidden',\n padding,\n placement: placementProp = 'bottom',\n portal,\n preventOverflow = true,\n radius = 3,\n referenceBoundary = props.boundaryElement ?? boundaryElementContext.element,\n referenceElement,\n scheme,\n shadow = 3,\n tone = 'inherit',\n width: widthProp = 'auto',\n zOffset: zOffsetProp = Z_OFFSETS.popover,\n updateRef,\n ...restProps\n } = props\n\n const card = useCard()\n\n const prefersReducedMotion = usePrefersReducedMotion()\n const animate = prefersReducedMotion ? false : _animate\n const zOffset = useArrayProp(zOffsetProp)\n const ref = useRef<HTMLDivElement | null>(null)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n // Keep track of reference element width (see `size` middleware below)\n const referenceWidthRef = useRef<number>(undefined)\n\n const middleware = useMemo(() => {\n const ret: Middleware[] = []\n\n // Flip the floating element when leaving the boundary box\n if (constrainSize || preventOverflow) {\n ret.push(\n flip({\n boundary: floatingBoundary || undefined,\n fallbackPlacements,\n padding: DEFAULT_POPOVER_PADDING,\n rootBoundary,\n }),\n )\n }\n\n // Define distance between reference and floating element\n ret.push(offset({mainAxis: DEFAULT_POPOVER_DISTANCE}))\n\n // Track sizes\n if (constrainSize || matchReferenceWidth) {\n ret.push(\n size({\n apply({availableWidth, availableHeight, elements, referenceWidth}) {\n // not fresh, so use refs\n\n referenceWidthRef.current = referenceWidth\n\n if (matchReferenceWidth) {\n elements.floating.style.width = `${referenceWidth}px`\n }\n\n if (constrainSize) {\n elements.floating.style.maxWidth = `${availableWidth}px`\n elements.floating.style.maxHeight = `${availableHeight}px`\n }\n },\n boundaryElement: floatingBoundary || undefined,\n constrainSize,\n margins,\n matchReferenceWidth,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n // Shift the popover so its sits within the boundary element\n if (preventOverflow) {\n ret.push(\n shift({\n boundary: floatingBoundary || undefined,\n rootBoundary,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n // Place arrow\n if (arrowProp) {\n ret.push(\n arrow({\n element: arrowRef,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n // Determine the origin to scale from.\n // Must be placed after `@sanity/ui/size` and `shift` middleware.\n if (animate) {\n ret.push(origin)\n }\n\n ret.push(\n hide({\n boundary: referenceBoundary || undefined,\n padding: DEFAULT_POPOVER_PADDING,\n strategy: 'referenceHidden',\n }),\n )\n\n return ret\n }, [\n animate,\n arrowProp,\n constrainSize,\n fallbackPlacements,\n floatingBoundary,\n margins,\n matchReferenceWidth,\n preventOverflow,\n referenceBoundary,\n ])\n\n const {x, y, middlewareData, placement, refs, strategy, update} = useFloating({\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n elements: referenceElement\n ? {\n reference: referenceElement,\n }\n : undefined,\n })\n\n const referenceHidden = middlewareData.hide?.referenceHidden\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const originX = middlewareData['@sanity/ui/origin']?.originX\n const originY = middlewareData['@sanity/ui/origin']?.originY\n\n const setArrow = useCallback((arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n }, [])\n\n const setFloating = useCallback(\n (node: HTMLDivElement | null) => {\n ref.current = node\n refs.setFloating(node)\n },\n [refs],\n )\n\n const setReference = useCallback(\n (node: HTMLElement | null) => {\n refs.setReference(node)\n\n const childRef = getElementRef(childProp as any)\n\n if (typeof childRef === 'function') {\n childRef(node)\n } else if (childRef) {\n childRef.current = node\n }\n },\n [childProp, refs],\n )\n\n const child = useMemo(() => {\n // If a reference element is defined, we don't need to clone the child\n if (referenceElement) return childProp\n\n if (!childProp) return null\n\n return cloneElement(childProp, {ref: setReference})\n }, [childProp, referenceElement, setReference])\n\n useEffect(() => {\n if (updateRef) {\n if (typeof updateRef === 'function') {\n updateRef(update)\n } else if (updateRef) {\n updateRef.current = update\n }\n }\n }, [update, updateRef])\n\n if (disabled) {\n return childProp || <></>\n }\n\n const popover = (\n <LayerProvider zOffset={zOffset}>\n {/* Optional transparent blocking overlay at the top-most z-index layer. Must be positioned \n before the below popover card. */}\n {modal && <ViewportOverlay />}\n\n <PopoverCard\n {...restProps}\n __unstable_margins={margins}\n animate={animate}\n arrow={arrowProp}\n arrowRef={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n hidden={referenceHidden}\n maxWidth={widthProp}\n overflow={overflow}\n padding={padding}\n placement={placement}\n radius={radius}\n ref={setFloating}\n scheme={scheme}\n shadow={shadow}\n originX={originX}\n originY={originY}\n strategy={strategy}\n x={x}\n y={y}\n >\n {content}\n </PopoverCard>\n </LayerProvider>\n )\n\n const children =\n open &&\n (portal ? (\n <Portal __unstable_name={typeof portal === 'string' ? portal : undefined}>\n <CardProvider\n tone={tone === 'inherit' ? (card?.tone ?? 'default') : tone}\n scheme={scheme ?? 'light'}\n >\n {popover}\n </CardProvider>\n </Portal>\n ) : (\n popover\n ))\n\n return (\n <>\n {/* the popover */}\n {animate ? <AnimatePresence>{children}</AnimatePresence> : children}\n\n {/* the referred element */}\n {child}\n </>\n )\n }),\n)\n\nPopover.displayName = 'Memo(ForwardRef(Popover))'\n\n// Before React 19 accessing `element.props.ref` will throw a warning and suggest using `element.ref`\n// After React 19 accessing `element.ref` does the opposite.\n// https://github.com/facebook/react/pull/28348\n//\n// Access the ref using the method that doesn't yield a warning.\nfunction getElementRef(\n element: ReactElement<{ref: ForwardedRef<HTMLElement>}>,\n): ForwardedRef<HTMLElement> {\n // React <=18 in DEV\n let getter = Object.getOwnPropertyDescriptor(element.props, 'ref')?.get\n let mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning\n\n if (mayWarn) {\n return (element as any).ref\n }\n\n // React 19 in DEV\n getter = Object.getOwnPropertyDescriptor(element, 'ref')?.get\n mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning\n\n if (mayWarn) {\n return element.props.ref\n }\n\n // Not DEV\n return element.props.ref || (element as any).ref\n}\n","import {composeClassNames, radio} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef, useImperativeHandle, useRef} from 'react'\n\nimport {useCustomValidity} from '../../hooks'\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface RadioProps {\n customValidity?: string\n}\n\n/**\n * The `Radio` component allows the user to select one option from a set.\n *\n * @public\n */\nexport const Radio = forwardRef(function Radio(\n props: Props<RadioProps, 'input'>,\n forwardedRef: ForwardedRef<HTMLInputElement>,\n) {\n const {className, disabled, style, customValidity, readOnly, ...restProps} = props\n const ref = useRef<HTMLInputElement | null>(null)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n return (\n <div className={composeClassNames(className, radio())} data-ui=\"Radio\" style={style}>\n <input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-error={customValidity ? '' : undefined}\n {...restProps}\n disabled={disabled || readOnly}\n readOnly={readOnly}\n ref={ref}\n type=\"radio\"\n />\n <span />\n </div>\n )\n})\n\nRadio.displayName = 'ForwardRef(Radio)'\n","import {ChevronDownIcon} from '@sanity/icons'\nimport {\n _inputElement,\n ResponsiveProp,\n select,\n selectPresentation,\n SelectStyleProps,\n} from '@sanity/ui/css'\nimport {Space} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef, useImperativeHandle, useRef} from 'react'\n\nimport {useCustomValidity} from '../../hooks'\nimport {Props} from '../../types'\nimport {Box} from '../box'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport interface SelectProps extends SelectStyleProps {\n customValidity?: string\n readOnly?: boolean\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n}\n\n/**\n * The `Select` component provides control of options.\n *\n * @public\n */\nexport const Select = forwardRef(function Select(\n props: Props<SelectProps, 'select'>,\n forwardedRef: ForwardedRef<HTMLSelectElement>,\n) {\n const {\n border = true,\n children,\n customValidity,\n disabled,\n fontSize = 2,\n gap,\n padding = 3,\n radius = 1,\n readOnly,\n space = 2,\n ...restProps\n } = props\n\n const ref = useRef<HTMLSelectElement | null>(null)\n\n useImperativeHandle<HTMLSelectElement | null, HTMLSelectElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n return (\n <div\n data-ui=\"Select\"\n className={select({border, fontSize, padding, radius, gap: gap ?? space})}\n data-icon-right=\"\"\n >\n <select\n data-read-only={!disabled && readOnly ? '' : undefined}\n {...restProps}\n className={_inputElement()}\n disabled={disabled || readOnly}\n ref={ref}\n >\n {children}\n </select>\n <span className={selectPresentation()}>\n <Box as=\"span\" display=\"inline-block\" padding={padding}>\n <Text size={fontSize}>\n <ChevronDownIcon />\n </Text>\n </Box>\n </span>\n </div>\n )\n})\n\nSelect.displayName = 'ForwardRef(Select)'\n","import {composeClassNames, ResponsiveProp, stack} from '@sanity/ui/css'\nimport {Space} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Box, BoxProps} from '../box'\n\n/**\n * @public\n */\nexport interface StackProps\n extends Omit<\n BoxProps,\n 'align' | 'columns' | 'direction' | 'display' | 'gapX' | 'gapY' | 'justify'\n > {\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n}\n\n/**\n * The `Stack` component is used to place elements on top of each other.\n *\n * @public\n */\nexport const Stack = forwardRef(function Stack(\n props: Props<StackProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {as, className, gap, space, ...restProps} = props\n\n return (\n <Box\n data-ui=\"Stack\"\n {...restProps}\n as={as}\n autoRows=\"min\"\n className={composeClassNames(className, stack())}\n display=\"grid\"\n gap={gap ?? space}\n ref={ref}\n />\n )\n})\n\nStack.displayName = 'ForwardRef(Stack)'\n","import {\n _switch,\n _switchElement,\n _switchPresentation,\n _switchThumb,\n _switchTrack,\n composeClassNames,\n} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef, useEffect, useImperativeHandle, useRef} from 'react'\n\nimport {Props} from '../../types'\nimport {Box} from '../box'\n\n/**\n * @public\n */\nexport interface SwitchProps {\n indeterminate?: boolean\n}\n\n/**\n * The `Switch` component allows the user to toggle a setting on and off.\n *\n * Extends all properties of an `<input type=\"checkbox\" />` element, except type.\n *\n * @public\n */\nexport const Switch = forwardRef(function Switch(\n props: Props<SwitchProps, 'input'>,\n forwardedRef: ForwardedRef<HTMLInputElement>,\n) {\n const {checked, className, disabled, indeterminate, readOnly, style, ...restProps} = props\n const ref = useRef<HTMLInputElement | null>(null)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate])\n\n return (\n <Box\n className={composeClassNames(className, _switch())}\n data-checked={checked ? '' : undefined}\n data-indeterminate={indeterminate ? '' : undefined}\n data-ui=\"Switch\"\n display=\"inline-block\"\n position=\"relative\"\n style={style}\n >\n <input\n {...restProps}\n checked={indeterminate !== true && checked}\n className={_switchElement()}\n data-disabled={disabled ? '' : undefined}\n data-read-only={!disabled && readOnly ? '' : undefined}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n ref={ref}\n />\n <span aria-hidden className={_switchPresentation()}>\n <span className={_switchTrack()} />\n <span className={_switchThumb()} />\n </span>\n </Box>\n )\n})\n\nSwitch.displayName = 'ForwardRef(Switch)'\n","import {\n _inputElement,\n _inputPresentation,\n ResponsiveProp,\n textArea,\n TextAreaStyleProps,\n} from '@sanity/ui/css'\nimport {Space, ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef, useImperativeHandle, useRef} from 'react'\n\nimport {useCustomValidity} from '../../hooks'\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface TextAreaProps extends TextAreaStyleProps {\n /**\n * @beta\n */\n __unstable_disableFocusRing?: boolean\n customValidity?: string\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n weight?: ThemeFontWeightKey\n}\n\n/**\n * A multiline text input.\n *\n * @public\n */\nexport const TextArea = forwardRef(function TextArea(\n props: Props<TextAreaProps, 'textarea'>,\n forwardedRef: ForwardedRef<HTMLTextAreaElement>,\n) {\n const {\n border = true,\n customValidity,\n disabled = false,\n fontSize = 2,\n gap,\n padding = 3,\n radius = 2,\n space = 3,\n // weight,\n // __unstable_disableFocusRing,\n ...restProps\n } = props\n\n const ref = useRef<HTMLTextAreaElement | null>(null)\n\n useImperativeHandle<HTMLTextAreaElement | null, HTMLTextAreaElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n return (\n <span\n className={textArea({border, fontSize, padding, radius, gap: gap ?? space})}\n data-ui=\"TextArea\"\n >\n <textarea {...restProps} className={_inputElement()} disabled={disabled} ref={ref} />\n <span className={_inputPresentation()} />\n </span>\n )\n})\n\nTextArea.displayName = 'ForwardRef(TextArea)'\n","import {CloseIcon} from '@sanity/icons'\nimport {\n _inputElement,\n _inputPresentation,\n composeClassNames,\n InputStyleProps,\n ResponsiveProp,\n textInput,\n} from '@sanity/ui/css'\nimport {Space, ThemeFontWeightKey} from '@sanity/ui/theme'\nimport {\n CSSProperties,\n ElementType,\n ForwardedRef,\n forwardRef,\n isValidElement,\n MouseEvent,\n ReactNode,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react'\nimport {isValidElementType} from 'react-is'\n\nimport {EMPTY_RECORD} from '../../constants'\nimport {useArrayProp, useCustomValidity} from '../../hooks'\nimport {isRecord} from '../../lib/isRecord'\nimport {Props} from '../../types'\nimport {Box} from '../box'\nimport {Button, ButtonProps} from '../button'\nimport {Text} from '../text'\n\n/**\n * @public\n */\nexport type TextInputClearButtonProps = Omit<\n Props<ButtonProps, 'button'>,\n 'as' | 'onClick' | 'onMouseDown'\n>\n\n/**\n * @public\n */\nexport type TextInputType =\n | 'search'\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'url'\n | 'month'\n | 'number'\n | 'password'\n | 'tel'\n | 'time'\n | 'text'\n | 'week'\n | 'color'\n\n/**\n * @public\n */\nexport interface TextInputProps extends InputStyleProps {\n /**\n * @beta\n */\n __unstable_disableFocusRing?: boolean\n /**\n * @beta\n */\n clearButton?: boolean | TextInputClearButtonProps\n customValidity?: string\n icon?: ElementType | ReactNode\n iconRight?: ElementType | ReactNode\n /**\n * @beta\n */\n onClear?: () => void\n prefix?: ReactNode\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n suffix?: ReactNode\n type?: TextInputType\n weight?: ThemeFontWeightKey\n}\n\nconst CLEAR_BUTTON_BOX_STYLE: CSSProperties = {\n backgroundColor: 'transparent',\n top: 0,\n right: 0,\n zIndex: 2,\n}\n\n/**\n * Single line text input.\n *\n * @public\n */\nexport const TextInput = forwardRef(function TextInput(\n props: Props<TextInputProps, 'input'>,\n forwardedRef: ForwardedRef<HTMLInputElement>,\n) {\n const {\n __unstable_disableFocusRing,\n border = true,\n className,\n clearButton,\n disabled = false,\n fontSize = 2,\n gap,\n icon: IconComponent,\n iconRight: IconRightComponent,\n onClear,\n padding = 3,\n prefix,\n radius = 2,\n readOnly,\n space = 3,\n suffix,\n customValidity,\n type = 'text',\n weight: _width, // eslint-disable-line @typescript-eslint/no-unused-vars\n width,\n ...restProps\n } = props\n const ref = useRef<HTMLInputElement | null>(null)\n\n const paddingArray = useArrayProp(padding)\n\n const withClearButton = Boolean(clearButton)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n // Prevent the clear button from taking the focus away from the input\n const handleClearMouseDown = useCallback((event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n }, [])\n\n const handleClearClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n\n if (onClear) onClear()\n\n // Focus the input, in case focus has been lost when clicking the clear button\n ref.current?.focus()\n },\n [onClear, ref],\n )\n\n const clearButtonBoxPadding = useMemo(\n () =>\n paddingArray.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return typeof v === 'number' ? v - 2 : 0\n }) as Space[],\n [paddingArray],\n )\n\n const clearButtonPadding = useMemo(\n () =>\n paddingArray.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 0\n if (v === 2) return 1\n\n return typeof v === 'number' ? v - 1 : 0\n }) as Space[],\n [paddingArray],\n )\n\n const clearButtonProps: TextInputClearButtonProps = useMemo(\n () => (isRecord(clearButton) ? clearButton : EMPTY_RECORD),\n [clearButton],\n )\n\n return (\n <Box\n align=\"center\"\n as=\"span\"\n className={composeClassNames(\n className,\n textInput({\n border,\n fontSize,\n padding,\n radius,\n gap: gap ?? space,\n width,\n }),\n )}\n data-icon-left={IconComponent ? '' : undefined}\n data-icon-right={IconRightComponent ? '' : undefined}\n data-prefix={prefix ? '' : undefined}\n data-suffix={suffix ? '' : undefined}\n data-ui=\"TextInput\"\n display=\"flex\"\n >\n {prefix && (\n <Box as=\"span\" className=\"text-input-prefix\" sizing=\"border\">\n <span>{prefix}</span>\n </Box>\n )}\n\n <Box as=\"span\" flex={1} position=\"relative\">\n <input\n // data-as=\"input\"\n {...restProps}\n className={_inputElement()}\n disabled={disabled}\n readOnly={readOnly}\n ref={ref}\n type={type}\n />\n\n <Box\n as=\"span\"\n // $unstableDisableFocusRing={__unstable_disableFocusRing}\n className={_inputPresentation()}\n data-disable-focus-ring={__unstable_disableFocusRing ? '' : undefined}\n position=\"absolute\"\n >\n {IconComponent && (\n <Box as=\"span\" padding={padding} position=\"absolute\" style={{top: 0, left: 0}}>\n <Text size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n </Box>\n )}\n\n {!withClearButton && IconRightComponent && (\n <Box as=\"span\" padding={padding} position=\"absolute\" style={{top: 0, right: 0}}>\n <Text size={fontSize}>\n {isValidElement(IconRightComponent) && IconRightComponent}\n {isValidElementType(IconRightComponent) && <IconRightComponent />}\n </Text>\n </Box>\n )}\n </Box>\n\n {!disabled && !readOnly && clearButton && (\n <Box\n as=\"span\"\n padding={clearButtonBoxPadding}\n position=\"absolute\"\n style={CLEAR_BUTTON_BOX_STYLE}\n // tone={customValidity ? 'critical' : 'inherit'}\n >\n <Button\n aria-label=\"Clear\"\n data-qa=\"clear-button\"\n display=\"block\"\n fontSize={fontSize}\n icon={CloseIcon}\n mode=\"bleed\"\n padding={clearButtonPadding}\n radius={radius}\n {...clearButtonProps}\n onClick={handleClearClick}\n onMouseDown={handleClearMouseDown}\n />\n </Box>\n )}\n </Box>\n\n {suffix && (\n <Box as=\"span\" className=\"text-input-suffix\" sizing=\"border\">\n <span>{suffix}</span>\n </Box>\n )}\n </Box>\n )\n})\n\nTextInput.displayName = 'ForwardRef(TextInput)'\n","import {SetStateAction, useCallback, useRef, useState} from 'react'\n\n/**\n * @beta\n */\nexport function useDelayedState<S>(\n initialState: S | (() => S),\n): [S, (nextState: SetStateAction<S>, delay?: number) => void] {\n const [state, setState] = useState(initialState)\n const delayedAction = useRef<NodeJS.Timeout | undefined>(undefined)\n\n const onStateChange = useCallback((nextState: SetStateAction<S>, delay?: number) => {\n const action = () => {\n setState(nextState)\n }\n\n // A new state change has been initiated, cancel the previous one.\n if (delayedAction.current) {\n clearTimeout(delayedAction.current)\n delayedAction.current = undefined\n }\n\n if (!delay) return action()\n delayedAction.current = setTimeout(action, delay)\n }, [])\n\n return [state, onStateChange]\n}\n","// Based on https://github.com/radix-ui/primitives/blob/0bade6a704e5821b90a6da0f3d8cfa8a7711127d/packages/react/slot/src/Slot.tsx#L128-L150\n// Before React 19 accessing `element.props.ref` will throw a warning and suggest using `element.ref`\n// After React 19 accessing `element.ref` does the opposite.\n// https://github.com/facebook/react/pull/28348\n//\n// Access the ref using the method that doesn't yield a warning.\nexport function getElementRef(element: React.ReactElement) {\n // React <=18 in DEV\n let getter = Object.getOwnPropertyDescriptor(element.props, 'ref')?.get\n let mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning\n\n if (mayWarn) {\n return (element as any).ref\n }\n\n // React 19 in DEV\n getter = Object.getOwnPropertyDescriptor(element, 'ref')?.get\n mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning\n\n if (mayWarn) {\n return (element.props as {ref?: React.Ref<unknown>}).ref\n }\n\n // Not DEV\n return (element.props as {ref?: React.Ref<unknown>}).ref || (element as any).ref\n}\n","import {Placement} from '@floating-ui/react-dom'\n\nexport const DEFAULT_TOOLTIP_ARROW_WIDTH = 15\nexport const DEFAULT_TOOLTIP_ARROW_HEIGHT = 6\nexport const DEFAULT_TOOLTIP_ARROW_RADIUS = 2\n\nexport const DEFAULT_TOOLTIP_DISTANCE = 4\nexport const DEFAULT_TOOLTIP_PADDING = 4\n\nexport const DEFAULT_FALLBACK_PLACEMENTS: Record<Placement, Placement[]> = {\n 'top': ['top-end', 'top-start', 'bottom', 'left', 'right'],\n 'top-start': ['top', 'top-end', 'bottom-start', 'left-start', 'right-start'],\n 'top-end': ['top', 'top-start', 'bottom-end', 'left-end', 'right-end'],\n 'bottom': ['bottom-end', 'bottom-start', 'top', 'left', 'right'],\n 'bottom-start': ['bottom', 'bottom-end', 'top-start', 'left-start', 'right-start'],\n 'bottom-end': ['bottom', 'bottom-start', 'top-end', 'left-end', 'right-end'],\n 'left': ['left-end', 'left-start', 'right', 'top', 'bottom'],\n 'left-start': ['left', 'left-end', 'right-start', 'top-start', 'bottom-start'],\n 'left-end': ['left', 'left-start', 'right-end', 'top-end', 'bottom-end'],\n 'right': ['right-end', 'right-start', 'left', 'top', 'bottom'],\n 'right-start': ['right', 'right-end', 'left-start', 'top-start', 'bottom-start'],\n 'right-end': ['right', 'right-start', 'left-end', 'top-end', 'bottom-end'],\n}\n","import {tooltipCard} from '@sanity/ui/css'\nimport {motion} from 'framer-motion'\nimport {CSSProperties, ForwardedRef, forwardRef, memo, useMemo} from 'react'\n\nimport {POPOVER_MOTION_PROPS} from '../../constants'\nimport {Placement, Props} from '../../types'\nimport {Arrow} from '../../utils'\nimport {Card, CardProps} from '../card'\nimport {\n DEFAULT_TOOLTIP_ARROW_HEIGHT,\n DEFAULT_TOOLTIP_ARROW_RADIUS,\n DEFAULT_TOOLTIP_ARROW_WIDTH,\n} from './constants'\n\nconst MotionCard = motion.create(Card)\n\n/* @internal */\nexport interface TooltipCardProps extends CardProps {\n animate?: boolean\n arrow: boolean\n arrowRef: ForwardedRef<HTMLDivElement>\n arrowX?: number\n arrowY?: number\n originX?: number\n originY?: number\n placement?: Placement\n}\n\n/**\n * @internal\n */\nexport const TooltipCard = memo(\n forwardRef(function TooltipCard(\n props: Omit<\n Props<TooltipCardProps, 'div'>,\n 'onDrag' | 'onDragEnd' | 'onDragStart' | 'onAnimationStart'\n >,\n ref: ForwardedRef<HTMLDivElement>,\n ) {\n const {\n animate,\n arrow,\n arrowRef,\n arrowX,\n arrowY,\n children,\n originX,\n originY,\n padding,\n placement,\n radius,\n scheme,\n shadow,\n style,\n tone = 'inherit',\n ...restProps\n } = props\n\n const rootStyle: CSSProperties = useMemo(\n () => ({\n originX,\n originY,\n willChange: animate ? 'transform' : undefined,\n ...style,\n }),\n [animate, originX, originY, style],\n )\n\n const arrowStyle: CSSProperties = useMemo(\n () => ({\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }),\n [arrowX, arrowY],\n )\n\n return (\n <MotionCard\n data-ui=\"Tooltip__card\"\n {...restProps}\n data-animate={animate ? '' : undefined}\n className={tooltipCard()}\n data-placement={placement}\n padding={padding}\n radius={radius}\n ref={ref}\n scheme={scheme}\n shadow={shadow}\n style={rootStyle}\n variants={POPOVER_MOTION_PROPS.card}\n transition={POPOVER_MOTION_PROPS.transition}\n initial={animate ? ['hidden', 'initial'] : undefined}\n animate={animate ? ['visible', 'scaleIn'] : undefined}\n exit={animate ? ['hidden', 'scaleOut'] : undefined}\n tone={tone}\n >\n {children}\n\n {arrow && (\n <Arrow\n ref={arrowRef}\n style={arrowStyle}\n width={DEFAULT_TOOLTIP_ARROW_WIDTH}\n height={DEFAULT_TOOLTIP_ARROW_HEIGHT}\n radius={DEFAULT_TOOLTIP_ARROW_RADIUS}\n />\n )}\n </MotionCard>\n )\n }),\n)\n\nTooltipCard.displayName = 'Memo(ForwardRef(TooltipCard))'\n","import {createGlobalScopedContext} from '../../../lib/createGlobalScopedContext'\nimport {TooltipDelayGroupContextValue} from './types'\n\n/**\n * @beta\n */\nexport const TooltipDelayGroupContext =\n createGlobalScopedContext<TooltipDelayGroupContextValue | null>(\n '@sanity/ui/context/tooltipDelayGroup',\n null,\n )\n","import {ReactElement, ReactNode, useMemo} from 'react'\n\nimport {useDelayedState} from '../../../hooks/useDelayedState'\nimport {Delay} from '../../types'\nimport {TooltipDelayGroupContext} from './tooltipDelayGroupContext'\nimport {TooltipDelayGroupContextValue} from './types'\n\n/**\n * @public\n * */\nexport interface TooltipDelayGroupProviderProps {\n children?: ReactNode\n /**\n * Handles the delays to open or close a tooltip inside a group\n *\n * If only a `number` is passed, it will be used for both opening and closing.\n *\n * If an object `{open: number; close:number}` is passed, it can be used to set different delays for each action.\n *\n * @public\n */\n delay: Delay\n}\n\n/**\n * @public\n * Provides context for a group of tooltip elements that should share a delay\n * which temporarily becomes 1 ms after the first floating element of the group opens.\n */\nexport function TooltipDelayGroupProvider(props: TooltipDelayGroupProviderProps): ReactElement {\n const {children, delay} = props\n const [isGroupActive, setIsGroupActive] = useDelayedState(false)\n const [openTooltipId, setOpenTooltipId] = useDelayedState<string | null>(null)\n\n const openDelay = typeof delay === 'number' ? delay : delay?.open || 0\n const closeDelay = typeof delay === 'number' ? delay : delay?.close || 0\n\n const value: TooltipDelayGroupContextValue = useMemo(\n () => ({\n setIsGroupActive: setIsGroupActive,\n openTooltipId: openTooltipId,\n setOpenTooltipId: setOpenTooltipId,\n // When the group is active, we want the next tooltip to open immediately.\n openDelay: isGroupActive ? 1 : openDelay,\n closeDelay: closeDelay,\n }),\n [closeDelay, isGroupActive, openDelay, openTooltipId, setIsGroupActive, setOpenTooltipId],\n )\n\n return (\n <TooltipDelayGroupContext.Provider value={value}>{children}</TooltipDelayGroupContext.Provider>\n )\n}\n\nTooltipDelayGroupProvider.displayName = 'TooltipDelayGroupProvider'\n","import {useContext} from 'react'\n\nimport {TooltipDelayGroupContext} from './tooltipDelayGroupContext'\nimport {TooltipDelayGroupContextValue} from './types'\n\n/**\n * @beta\n */\nexport function useTooltipDelayGroup(): TooltipDelayGroupContextValue | null {\n const value = useContext(TooltipDelayGroupContext)\n\n return value\n}\n","import {\n arrow,\n autoUpdate,\n flip,\n type Middleware,\n offset,\n type RootBoundary,\n shift,\n useFloating,\n} from '@floating-ui/react-dom'\nimport {composeClassNames, RadiusStyleProps, ShadowStyleProps, tooltip} from '@sanity/ui/css'\nimport type {ThemeColorCardToneKey, ThemeColorSchemeKey} from '@sanity/ui/theme'\nimport {AnimatePresence} from 'framer-motion'\nimport {\n cloneElement,\n ForwardedRef,\n forwardRef,\n ReactElement,\n ReactNode,\n useCallback,\n useEffect,\n useId,\n useImperativeHandle,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport {useEffectEvent} from 'use-effect-event'\n\nimport {Z_OFFSETS} from '../../constants'\nimport {useArrayProp, usePrefersReducedMotion} from '../../hooks'\nimport {useDelayedState} from '../../hooks/useDelayedState'\nimport {origin} from '../../middleware/origin'\nimport type {Placement, Props} from '../../types'\nimport {Layer, type LayerProps, Portal, useBoundaryElement, usePortal} from '../../utils'\nimport {getElementRef} from '../../utils/getElementRef'\nimport {CardProvider, useCard} from '../card'\nimport type {Delay} from '../types'\nimport {\n DEFAULT_FALLBACK_PLACEMENTS,\n DEFAULT_TOOLTIP_DISTANCE,\n DEFAULT_TOOLTIP_PADDING,\n} from './constants'\nimport {TooltipCard} from './tooltipCard'\nimport {useTooltipDelayGroup} from './tooltipDelayGroup'\n\n/**\n * @public\n */\nexport interface TooltipProps extends Omit<LayerProps, 'as'>, RadiusStyleProps, ShadowStyleProps {\n /** @deprecated Use `fallbackPlacements` instead. */\n allowedAutoPlacements?: Placement[]\n /**\n * Whether the tooltip should animate in and out.\n *\n * @beta\n * @defaultValue false\n */\n animate?: boolean\n arrow?: boolean\n boundaryElement?: HTMLElement | null\n children?: ReactElement<Props>\n content?: ReactNode\n /**\n * Adds a delay to open or close the tooltip.\n *\n * If only a `number` is passed, it will be used for both opening and closing.\n *\n * If an object `{open: number; close:number}` is passed, it can be used to set different delays for each action.\n *\n * @public\n * @defaultValue 0\n */\n delay?: Delay\n disabled?: boolean\n fallbackPlacements?: Placement[]\n placement?: Placement\n /** Whether or not to render the tooltip in a portal element. */\n portal?: boolean | string\n scheme?: ThemeColorSchemeKey\n tone?: ThemeColorCardToneKey\n}\n\n/**\n * Tooltips display information when hovering, focusing or tapping.\n *\n * @public\n */\nexport const Tooltip = forwardRef(function Tooltip(\n props: Props<TooltipProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const boundaryElementContext = useBoundaryElement()\n const {\n animate: _animate = false,\n arrow: arrowProp = false,\n boundaryElement = boundaryElementContext?.element,\n children: childProp,\n className,\n content,\n delay,\n disabled,\n fallbackPlacements: fallbackPlacementsProp = props.fallbackPlacements ??\n DEFAULT_FALLBACK_PLACEMENTS[props.placement ?? 'bottom'],\n padding = 2,\n placement: placementProp = 'bottom',\n portal: portalProp,\n radius = 3,\n scheme,\n shadow = 2,\n zOffset = Z_OFFSETS.tooltip,\n tone = 'inherit',\n ...restProps\n } = props\n const card = useCard()\n const prefersReducedMotion = usePrefersReducedMotion()\n const animate = prefersReducedMotion ? false : _animate\n const fallbackPlacements = useArrayProp(fallbackPlacementsProp)\n const ref = useRef<HTMLDivElement | null>(null)\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>(null)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n const [tooltipMaxWidth, setTooltipMaxWidth] = useState(0)\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n const portal = usePortal()\n const portalElement =\n typeof portalProp === 'string' ? portal.elements?.[portalProp] || null : portal.element\n\n const middleware = useMemo(() => {\n const ret: Middleware[] = []\n\n // Flip the floating element when leaving the boundary box\n ret.push(\n flip({\n boundary: boundaryElement || undefined,\n fallbackPlacements,\n padding: DEFAULT_TOOLTIP_PADDING,\n rootBoundary,\n }),\n )\n\n // Define distance between reference and floating element\n ret.push(offset({mainAxis: DEFAULT_TOOLTIP_DISTANCE}))\n\n // Shift the tooltip so its sits with the boundary element\n ret.push(\n shift({\n boundary: boundaryElement || undefined,\n rootBoundary,\n padding: DEFAULT_TOOLTIP_PADDING,\n }),\n )\n\n // Place arrow\n if (arrowProp) {\n ret.push(arrow({element: arrowRef, padding: DEFAULT_TOOLTIP_PADDING}))\n }\n\n // Determine the origin to scale from.\n // Must be placed after `@sanity/ui/size` and `shift` middleware.\n if (animate) {\n ret.push(origin)\n }\n\n return ret\n }, [animate, arrowProp, boundaryElement, fallbackPlacements])\n\n const {floatingStyles, placement, middlewareData, refs, update} = useFloating({\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n elements: {reference: referenceElement},\n })\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const originX = middlewareData['@sanity/ui/origin']?.originX\n const originY = middlewareData['@sanity/ui/origin']?.originY\n\n const tooltipId = useId()\n const [isOpen, setIsOpen] = useDelayedState(false)\n const delayGroupContext = useTooltipDelayGroup()\n const {setIsGroupActive, setOpenTooltipId} = delayGroupContext || {}\n const showTooltip = isOpen || delayGroupContext?.openTooltipId === tooltipId\n\n const isInsideGroup = delayGroupContext !== null\n const openDelayProp = typeof delay === 'number' ? delay : delay?.open || 0\n const closeDelayProp = typeof delay === 'number' ? delay : delay?.close || 0\n\n const openDelay = isInsideGroup ? delayGroupContext.openDelay : openDelayProp\n const closeDelay = isInsideGroup ? delayGroupContext.closeDelay : closeDelayProp\n\n const handleIsOpenChange = useCallback(\n (open: boolean, immediate?: boolean) => {\n if (isInsideGroup) {\n // When it's inside a group, the open or close status will be handled by the group.\n if (open) {\n const groupedOpenDelay = immediate ? 0 : openDelay\n\n setIsGroupActive?.(open, groupedOpenDelay)\n setOpenTooltipId?.(tooltipId, groupedOpenDelay)\n } else {\n const minimumGroupDeactivateDelay = 200 // We should provide some delay to allow the user to reach the next tooltip.\n const groupDeactivateDelay =\n closeDelay > minimumGroupDeactivateDelay ? closeDelay : minimumGroupDeactivateDelay\n\n setIsGroupActive?.(open, groupDeactivateDelay)\n setOpenTooltipId?.(null, immediate ? 0 : closeDelay)\n }\n } else {\n const standaloneDelay = immediate ? 0 : open ? openDelay : closeDelay\n\n // When it's not inside a group, the open or close status will be handled by the tooltip itself.\n setIsOpen(open, standaloneDelay)\n }\n },\n [\n isInsideGroup,\n openDelay,\n setIsGroupActive,\n setOpenTooltipId,\n tooltipId,\n closeDelay,\n setIsOpen,\n ],\n )\n\n const handleBlur = useCallback(\n (e: FocusEvent) => {\n handleIsOpenChange(false)\n childProp?.props?.onBlur?.(e)\n },\n [childProp?.props, handleIsOpenChange],\n )\n const handleClick = useCallback(\n (e: MouseEvent) => {\n handleIsOpenChange(false, true)\n childProp?.props.onClick?.(e)\n },\n [childProp?.props, handleIsOpenChange],\n )\n const handleContextMenu = useCallback(\n (e: MouseEvent) => {\n handleIsOpenChange(false, true)\n childProp?.props.onContextMenu?.(e)\n },\n [childProp?.props, handleIsOpenChange],\n )\n const handleFocus = useCallback(\n (e: FocusEvent) => {\n handleIsOpenChange(true)\n childProp?.props?.onFocus?.(e)\n },\n [childProp?.props, handleIsOpenChange],\n )\n const handleMouseEnter = useCallback(\n (e: MouseEvent) => {\n handleIsOpenChange(true)\n childProp?.props?.onMouseEnter?.(e)\n },\n [childProp?.props, handleIsOpenChange],\n )\n const handleMouseLeave = useCallback(\n (e: MouseEvent) => {\n handleIsOpenChange(false)\n childProp?.props?.onMouseLeave?.(e)\n },\n [childProp?.props, handleIsOpenChange],\n )\n\n // Handle closing the tooltip when the mouse leaves the referenceElement\n useCloseOnMouseLeave({handleIsOpenChange, referenceElement, showTooltip, isInsideGroup})\n\n // Close when `disabled` changes to `true`\n useEffect(() => {\n if (disabled && showTooltip) handleIsOpenChange(false)\n }, [disabled, handleIsOpenChange, showTooltip])\n\n // Close when `content` changes to falsy\n useEffect(() => {\n if (!content && showTooltip) handleIsOpenChange(false)\n }, [content, handleIsOpenChange, showTooltip])\n\n useEffect(() => {\n // If the user clicks on escape key, close the tooltip.\n if (!showTooltip) return\n\n function handleWindowKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n handleIsOpenChange(false, true)\n }\n }\n\n window.addEventListener('keydown', handleWindowKeyDown)\n\n return () => {\n window.removeEventListener('keydown', handleWindowKeyDown)\n }\n }, [handleIsOpenChange, showTooltip])\n\n // // Set the max width of the tooltip based on boundaries and portals\n useLayoutEffect(() => {\n // Get the maximum tooltip width (sans tooltip padding)\n // Tooltip width should never exceed the width of either any supplied boundary or portal element.\n // If both portal and boundary elements are provided, use the smaller width of the two.\n const availableWidths = [\n ...(boundaryElement ? [boundaryElement.offsetWidth] : []),\n portalElement?.offsetWidth || document.body.offsetWidth,\n ]\n\n setTooltipMaxWidth(Math.min(...availableWidths) - DEFAULT_TOOLTIP_PADDING * 2)\n }, [boundaryElement, portalElement])\n\n const setArrow = useCallback(\n (arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n update()\n },\n [update],\n )\n\n const setFloating = useCallback(\n (node: HTMLDivElement | null) => {\n ref.current = node\n refs.setFloating(node)\n },\n [refs],\n )\n\n const child = useMemo(() => {\n if (!childProp) return null\n\n return cloneElement(childProp, {\n onBlur: handleBlur,\n onFocus: handleFocus,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onClick: handleClick,\n onContextMenu: handleContextMenu,\n ref: setReferenceElement,\n })\n }, [\n childProp,\n handleBlur,\n handleClick,\n handleContextMenu,\n handleFocus,\n handleMouseEnter,\n handleMouseLeave,\n ])\n\n // If there's a child then we need to set the reference element to the cloned child ref\n // and if child changes we make sure to update or remove the reference element.\n useImperativeHandle(childProp ? getElementRef(childProp) : null, () => referenceElement, [\n referenceElement,\n ])\n\n if (!child) return <></>\n\n if (disabled) return child\n\n const node = (\n <Layer\n data-ui=\"Tooltip\"\n // {...restProps}\n className={composeClassNames(className, tooltip())}\n ref={setFloating}\n style={{\n ...floatingStyles,\n maxWidth: tooltipMaxWidth > 0 ? `${tooltipMaxWidth}px` : undefined,\n }}\n zOffset={zOffset}\n >\n <TooltipCard\n {...restProps}\n animate={animate}\n arrow={arrowProp}\n arrowRef={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n originX={originX}\n originY={originY}\n padding={padding}\n placement={placement}\n radius={radius}\n ref={setFloating}\n scheme={scheme}\n shadow={shadow}\n tone={tone}\n >\n {content}\n </TooltipCard>\n </Layer>\n )\n\n const children =\n showTooltip &&\n (portalProp ? (\n <Portal __unstable_name={typeof portalProp === 'string' ? portalProp : undefined}>\n <CardProvider\n tone={tone === 'inherit' ? (card?.tone ?? 'default') : tone}\n scheme={scheme ?? 'light'}\n >\n {node}\n </CardProvider>\n </Portal>\n ) : (\n node\n ))\n\n return (\n <>\n {/* the tooltip */}\n {animate ? <AnimatePresence>{children}</AnimatePresence> : children}\n\n {/* the referred element */}\n {child}\n </>\n )\n})\n\nTooltip.displayName = 'ForwardRef(Tooltip)'\n\n/**\n * As `useEffectEvent` should never be passed to other components or hooks, this custom hook groups together the `useEffectEvent` and the `useEffect` hook using it.\n * @see https://19.dev/learn/separating-events-from-effects#reading-latest-props-and-state-with-effect-events:~:text=Never%20pass%20them%20to%20other%20components%20or%20Hooks\n */\nfunction useCloseOnMouseLeave({\n handleIsOpenChange,\n referenceElement,\n showTooltip,\n isInsideGroup,\n}: {\n handleIsOpenChange: (open: boolean, immediate?: boolean) => void\n referenceElement: HTMLElement | null\n showTooltip: boolean\n isInsideGroup: boolean\n}) {\n // Since we don't want the `mouseevent` events to be attached and removed if the `referenceElement` is changed\n // we use a \"effect event\" (https://19.dev/learn/separating-events-from-effects#reading-latest-props-and-state-with-effect-events)\n // in order to always see the latest `referenceElement` value inside the event handler itself.\n const onMouseMove = useEffectEvent((target: EventTarget | null, teardown: () => void) => {\n if (!referenceElement) return\n\n const isHoveringReference =\n referenceElement === target || (target instanceof Node && referenceElement.contains(target))\n\n if (!isHoveringReference) {\n handleIsOpenChange(false)\n // Allow removing the event listener eagerly, to avoid race conditions\n teardown()\n }\n })\n\n // Detect whether the mouse is moving outside of the reference element. This is sometimes\n // necessary, because the tooltip might not always close as it should (e.g. when clicking\n // the reference element triggers a CPU-heavy operation.)\n useEffect(() => {\n if (!showTooltip || isInsideGroup) return\n\n const handleMouseMove = (event: MouseEvent) => {\n onMouseMove(event.target, () => window.removeEventListener('mousemove', handleMouseMove))\n }\n\n window.addEventListener('mousemove', handleMouseMove)\n\n return () => window.removeEventListener('mousemove', handleMouseMove)\n }, [isInsideGroup, showTooltip])\n}\n","import {GapStyleProps, RadiusStyleProps, ResponsiveProp} from '@sanity/ui/css'\nimport {FontTextSize, Space} from '@sanity/ui/theme'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Box, KBD} from '../../primitives'\nimport {Props} from '../../types'\n\n/**\n * @public\n */\nexport interface HotkeysProps extends GapStyleProps, RadiusStyleProps {\n fontSize?: ResponsiveProp<FontTextSize>\n padding?: ResponsiveProp<Space>\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n keys?: string[]\n}\n\n/**\n * Represent hotkeys (a keyboard combination) with semantic `<kbd>` elements.\n *\n * @public\n */\nexport const Hotkeys = forwardRef(function Hotkeys(\n props: Props<HotkeysProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {fontSize, gap, gapX, gapY, keys, padding, radius, space = 0.5, ...restProps} = props\n\n if (!keys || keys.length === 0) {\n return undefined\n }\n\n return (\n <Box\n as=\"kbd\"\n data-ui=\"Hotkeys\"\n {...restProps}\n display=\"flex\"\n gap={gap ?? space}\n gapX={gapX}\n gapY={gapY}\n ref={ref}\n >\n {keys.map((key, i) => (\n <KBD fontSize={fontSize} key={i} padding={padding} radius={radius}>\n {key}\n </KBD>\n ))}\n </Box>\n )\n})\n\nHotkeys.displayName = 'ForwardRef(Hotkeys)'\n","import {MouseEvent as ReactMouseEvent} from 'react'\n\nimport {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\n\nexport interface MenuContextValue {\n version: 0.0\n activeElement: HTMLElement | null\n activeIndex: number\n mount: (element: HTMLElement | null, selected?: boolean) => () => void\n onClickOutside?: (event: MouseEvent) => void\n onEscape?: () => void\n onItemClick?: () => void\n onItemMouseEnter?: (event: ReactMouseEvent<HTMLElement>) => void\n onItemMouseLeave?: (event: ReactMouseEvent<HTMLElement>) => void\n registerElement?: (el: HTMLElement) => () => void\n\n /**\n * @deprecated Use `onItemMouseEnter` instead\n */\n onMouseEnter: (event: ReactMouseEvent<HTMLElement>) => void\n\n /**\n * @deprecated Use `onItemMouseLeave` instead\n */\n onMouseLeave: (event: ReactMouseEvent<HTMLElement>) => void\n}\n\nexport const MenuContext = createGlobalScopedContext<MenuContextValue | null>(\n '@sanity/ui/context/menu',\n null,\n)\n","import {isHTMLAnchorElement, isHTMLButtonElement} from '../../helpers'\n\n/**\n * @internal\n */\nfunction _isFocusable(element: HTMLElement) {\n return (\n (isHTMLAnchorElement(element) && element.getAttribute('data-disabled') !== 'true') ||\n (isHTMLButtonElement(element) && !element.disabled)\n )\n}\n\n/**\n * @internal\n */\nexport function _getFocusableElements(elements: HTMLElement[]): HTMLElement[] {\n return elements.filter(_isFocusable)\n}\n\n/**\n * @internal\n */\nexport function _getDOMPath(rootElement: HTMLElement, el: HTMLElement): number[] {\n const path: number[] = []\n\n let e = el\n\n while (e !== rootElement) {\n const parentElement = e.parentElement\n\n if (!parentElement) return path\n\n const children = Array.from(parentElement.childNodes)\n const index = children.indexOf(e)\n\n path.unshift(index)\n\n if (parentElement === rootElement) {\n return path\n }\n\n e = parentElement\n }\n\n return path\n}\n\nconst EMPTY_PATH: number[] = []\n\n/**\n * @internal\n */\nexport function _sortElements(rootElement: HTMLElement | null, elements: HTMLElement[]): void {\n if (!rootElement) return\n\n const map = new WeakMap<HTMLElement, number[]>()\n\n for (const el of elements) {\n map.set(el, _getDOMPath(rootElement, el))\n }\n\n const _sort = (a: HTMLElement, b: HTMLElement) => {\n const _a = map.get(a) || EMPTY_PATH\n const _b = map.get(b) || EMPTY_PATH\n\n const len = Math.max(_a.length, _b.length)\n\n // Loop until there are different indexes\n for (let i = 0; i < len; i += 1) {\n const aIndex = _a[i] || -1\n const bIndex = _b[i] || -1\n\n if (aIndex !== bIndex) {\n return aIndex - bIndex\n }\n }\n\n return 0\n }\n\n elements.sort(_sort)\n}\n","import {\n KeyboardEvent,\n KeyboardEventHandler,\n MouseEvent,\n MutableRefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {_getFocusableElements, _sortElements} from './helpers'\n\n/**\n * @internal\n */\nexport interface MenuController {\n activeElement: HTMLElement | null\n activeIndex: number\n handleItemMouseEnter: (event: MouseEvent<HTMLElement>) => void\n handleItemMouseLeave: () => void\n handleKeyDown: (event: KeyboardEvent<HTMLDivElement>) => void\n mount: (element: HTMLElement | null, selected?: boolean) => () => void\n}\n\n/**\n * This controller is responsible for controlling UI menu state.\n *\n * @internal\n */\nexport function useMenuController(props: {\n onKeyDown?: KeyboardEventHandler\n originElement?: HTMLElement | null\n shouldFocus: 'first' | 'last' | null\n rootElementRef: MutableRefObject<HTMLDivElement | null>\n}): MenuController {\n const {onKeyDown, originElement, shouldFocus, rootElementRef} = props\n const elementsRef = useRef<HTMLElement[]>([])\n const [activeIndex, _setActiveIndex] = useState(-1)\n const activeIndexRef = useRef(activeIndex)\n const activeElement = useMemo(() => elementsRef.current[activeIndex] || null, [activeIndex])\n const mounted = Boolean(rootElementRef.current)\n\n const setActiveIndex = useCallback((nextActiveIndex: number) => {\n _setActiveIndex(nextActiveIndex)\n activeIndexRef.current = nextActiveIndex\n }, [])\n\n const mount = useCallback(\n (element: HTMLElement | null, selected?: boolean): (() => void) => {\n if (!element) return () => undefined\n\n if (elementsRef.current.indexOf(element) === -1) {\n elementsRef.current.push(element)\n _sortElements(rootElementRef.current, elementsRef.current)\n }\n\n if (selected) {\n const selectedIndex = elementsRef.current.indexOf(element)\n\n setActiveIndex(selectedIndex)\n }\n\n return () => {\n const idx = elementsRef.current.indexOf(element)\n\n if (idx > -1) {\n elementsRef.current.splice(idx, 1)\n }\n }\n },\n [rootElementRef, setActiveIndex],\n )\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n // Move focus to the element that opened the menu before handling the `Tab` press\n if (event.key === 'Tab') {\n if (originElement) {\n originElement.focus()\n }\n\n return\n }\n\n // Move focus to the first focusable menuitem\n if (event.key === 'Home') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[0]\n\n if (!el) return\n\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n // Move focus to the last focusable menuitem\n if (event.key === 'End') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[focusableElements.length - 1]\n\n if (!el) return\n\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const focusableLen = focusableElements.length\n\n if (focusableLen === 0) return\n\n const focusedElement = elementsRef.current[activeIndexRef.current]\n\n let focusedIndex = focusableElements.indexOf(focusedElement)\n\n focusedIndex = (focusedIndex - 1 + focusableLen) % focusableLen\n\n const el = focusableElements[focusedIndex]\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n event.stopPropagation()\n\n const focusableElements = _getFocusableElements(elementsRef.current)\n const focusableLen = focusableElements.length\n\n if (focusableLen === 0) return\n\n const focusedElement = elementsRef.current[activeIndexRef.current]\n\n let focusedIndex = focusableElements.indexOf(focusedElement)\n\n focusedIndex = (focusedIndex + 1) % focusableLen\n\n const el = focusableElements[focusedIndex]\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n\n return\n }\n\n if (onKeyDown) {\n onKeyDown(event)\n }\n },\n [onKeyDown, originElement, setActiveIndex],\n )\n\n const handleItemMouseEnter = useCallback(\n (event: MouseEvent<HTMLElement>) => {\n const element = event.currentTarget\n const currentIndex = elementsRef.current.indexOf(element)\n\n setActiveIndex(currentIndex)\n },\n [setActiveIndex],\n )\n\n const handleItemMouseLeave = useCallback(() => {\n // Set the active index to -2 to deactivate all menu items\n // when the user moves the mouse away from the menu item.\n // We avoid using -1 because it would focus the first menu item,\n // which would be incorrect when the user hovers over a gap\n // between two menu items or a menu divider.\n setActiveIndex(-2)\n rootElementRef.current?.focus()\n }, [rootElementRef, setActiveIndex])\n\n // Set focus on the currently active element\n useEffect(() => {\n if (!mounted) return\n\n const rafId = requestAnimationFrame(() => {\n if (activeIndex === -1) {\n if (shouldFocus === 'first') {\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[0]\n\n if (el) {\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n }\n }\n\n if (shouldFocus === 'last') {\n const focusableElements = _getFocusableElements(elementsRef.current)\n const el = focusableElements[focusableElements.length - 1]\n\n if (el) {\n const currentIndex = elementsRef.current.indexOf(el)\n\n setActiveIndex(currentIndex)\n }\n }\n\n return\n }\n\n const element = elementsRef.current[activeIndex] || null\n\n element?.focus()\n })\n\n return () => cancelAnimationFrame(rafId)\n }, [activeIndex, mounted, setActiveIndex, shouldFocus])\n\n return {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n }\n}\n","import {\n composeClassNames,\n GapStyleProps,\n menu,\n PaddingStyleProps,\n ResponsiveProp,\n} from '@sanity/ui/css'\nimport {Space} from '@sanity/ui/theme'\nimport {\n ForwardedRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react'\n\nimport {useClickOutsideEvent, useGlobalKeyDown} from '../../hooks'\nimport {Box, Stack} from '../../primitives'\nimport {Props} from '../../types'\nimport {useLayer} from '../../utils'\nimport {MenuContext, MenuContextValue} from './menuContext'\nimport {useMenuController} from './useMenuController'\n\n/**\n * @public\n */\nexport interface MenuProps extends PaddingStyleProps, Pick<GapStyleProps, 'gap'> {\n /**\n * @deprecated Use `shouldFocus=\"first\"` instead.\n */\n 'focusFirst'?: boolean\n /**\n * @deprecated Use `shouldFocus=\"last\"` instead.\n */\n 'focusLast'?: boolean\n 'onClickOutside'?: (event: MouseEvent) => void\n 'onEscape'?: () => void\n 'onItemClick'?: () => void\n 'onItemSelect'?: (index: number) => void\n 'originElement'?: HTMLElement | null\n 'registerElement'?: (el: HTMLElement) => () => void\n 'shouldFocus'?: 'first' | 'last' | null\n /** @deprecated Use `gap` property instead. */\n 'space'?: ResponsiveProp<Space>\n 'aria-labelledby'?: string\n // 'onBlurCapture'?: (event: FocusEvent) => void\n}\n\n/**\n * The `Menu` component is a building block for application menus.\n *\n * @public\n */\nexport const Menu = forwardRef(function Menu(\n props: Props<MenuProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n className,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n focusFirst,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n focusLast,\n gap,\n // onBlurCapture,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemSelect,\n onKeyDown,\n originElement,\n padding = 1,\n registerElement,\n shouldFocus: _shouldFocus,\n space = 1,\n ...restProps\n } = props\n const shouldFocus =\n _shouldFocus ?? ((props.focusFirst && 'first') || (props.focusLast && 'last') || null)\n\n const ref = useRef<HTMLDivElement | null>(null)\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n const {isTopLayer} = useLayer()\n\n const {\n activeElement,\n activeIndex,\n handleItemMouseEnter,\n handleItemMouseLeave,\n handleKeyDown,\n mount,\n } = useMenuController({\n onKeyDown,\n originElement,\n shouldFocus,\n rootElementRef: ref,\n })\n\n const unregisterElementRef = useRef<(() => void) | null>(null)\n const handleRefChange = useCallback(\n (el: HTMLDivElement | null) => {\n // Run cleanup of previously registered elements\n if (unregisterElementRef.current) {\n // The `registerElement` callback were originally used in a `useEffect`, so it returns a cleanup function that is a bit gnarly to handle in a ref callback.\n // Since we can't change the `registerElement` implementation itself without making breaking change,\n // that is explained in the code comments for createGlobalScopedContext.tsx,\n // we need to handle with a ref that holds on to the cleanup function last returned when the ref callback is called.\n unregisterElementRef.current()\n unregisterElementRef.current = null\n }\n\n ref.current = el\n\n // Register root element (for nested menus)\n if (ref.current && registerElement) {\n unregisterElementRef.current = registerElement(ref.current)\n }\n },\n [registerElement],\n )\n\n // Trigger `onItemSelect` when active index changes\n useEffect(() => {\n if (onItemSelect) onItemSelect(activeIndex)\n }, [activeIndex, onItemSelect])\n\n // Close menu when clicking outside\n useClickOutsideEvent(isTopLayer && onClickOutside, () => [ref.current])\n\n // Close menu when pressing Escape\n useGlobalKeyDown(\n useCallback(\n (event) => {\n if (!isTopLayer) return\n\n if (event.key === 'Escape') {\n event.stopPropagation()\n if (onEscape) onEscape()\n }\n },\n [isTopLayer, onEscape],\n ),\n )\n\n const value: MenuContextValue = useMemo(\n () => ({\n version: 0.0,\n activeElement,\n activeIndex,\n mount,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemMouseEnter: handleItemMouseEnter,\n onItemMouseLeave: handleItemMouseLeave,\n registerElement,\n\n // deprecated\n onMouseEnter: handleItemMouseEnter,\n onMouseLeave: handleItemMouseLeave,\n }),\n [\n activeElement,\n activeIndex,\n mount,\n handleItemMouseEnter,\n handleItemMouseLeave,\n onClickOutside,\n onEscape,\n onItemClick,\n registerElement,\n ],\n )\n\n return (\n <MenuContext.Provider value={value}>\n <Box\n data-ui=\"Menu\"\n {...restProps}\n className={composeClassNames(className, menu())}\n onKeyDown={handleKeyDown}\n overflow=\"auto\"\n outline=\"none\"\n padding={padding}\n ref={handleRefChange}\n role=\"menu\"\n tabIndex={-1}\n >\n <Stack gap={gap ?? space}>{children}</Stack>\n </Box>\n </MenuContext.Provider>\n )\n})\n\nMenu.displayName = 'ForwardRef(Menu)'\n","import {composeClassNames, menuDivider} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props} from '../../types'\n\n/** @public */\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface MenuDividerProps {}\n\n/**\n * @public\n */\nexport const MenuDivider = forwardRef(function MenuDivider(\n props: Props<MenuDividerProps, 'div'>,\n ref: ForwardedRef<HTMLHRElement>,\n) {\n const {className, ...restProps} = props\n\n return <hr {...restProps} className={composeClassNames(className, menuDivider())} ref={ref} />\n})\n\nMenuDivider.displayName = 'MenuDivider'\n","import {_selectable, composeClassNames, SelectableStyleProps} from '@sanity/ui/css'\nimport {ForwardedRef, forwardRef} from 'react'\n\nimport {Props, SelectableTone} from '../../types'\nimport {Box, BoxProps} from '../box'\n\n/** @internal */\nexport interface SelectableProps extends BoxProps, SelectableStyleProps {\n disabled?: boolean\n href?: string\n tone?: SelectableTone\n type?: 'button'\n}\n\n/** @internal */\nexport const Selectable = forwardRef(function Selectable(\n props: Props<SelectableProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {className, radius, tone, ...restProps} = props\n\n return (\n <Box\n {...restProps}\n className={composeClassNames(className, _selectable({radius, tone}))}\n ref={ref}\n />\n )\n})\n\nSelectable.displayName = 'ForwardRef(Selectable)'\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {MenuContext, MenuContextValue} from './menuContext'\n\nexport function useMenu(): MenuContextValue {\n const value = useContext(MenuContext)\n\n if (!value) {\n throw new Error('useMenu(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('useMenu(): the context value is not compatible')\n }\n\n return value\n}\n","import {ChevronRightIcon} from '@sanity/icons'\nimport {GapStyleProps, ResponsiveProp} from '@sanity/ui/css'\nimport {FontTextSize, Space} from '@sanity/ui/theme'\nimport {\n ElementType,\n isValidElement,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n ReactNode,\n useCallback,\n useEffect,\n useState,\n} from 'react'\nimport {isValidElementType} from 'react-is'\n\nimport {Box, Flex, Popover, PopoverProps, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {Props, Radius, SelectableTone} from '../../types'\nimport {Menu, MenuProps} from './menu'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuGroupProps extends GapStyleProps {\n disabled?: boolean\n fontSize?: ResponsiveProp<FontTextSize>\n icon?: ElementType | ReactNode\n menu?: Omit<\n MenuProps,\n | 'onClickOutside'\n | 'onEscape'\n | 'onItemClick'\n | 'onKeyDown'\n | 'onMouseEnter'\n | 'registerElement'\n | 'shouldFocus'\n | 'onBlurCapture'\n >\n padding?: ResponsiveProp<Space>\n popover?: Omit<PopoverProps, 'content' | 'open'>\n radius?: Radius | Radius[]\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n text: ReactNode\n tone?: SelectableTone\n}\n\n/**\n * @public\n */\nexport function MenuGroup(props: Props<MenuGroupProps, 'div'>): ReactElement {\n const {\n as = 'button',\n children,\n fontSize = 1,\n gap,\n gapX,\n gapY,\n icon: IconComponent,\n menu: menuProps,\n onClick,\n padding = 3,\n popover,\n radius = 2,\n space = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\n const menu = useMenu()\n\n const {\n activeElement,\n mount,\n onClickOutside,\n onEscape,\n onItemClick,\n onItemMouseEnter: _onItemMouseEnter,\n registerElement,\n } = menu\n const onItemMouseEnter = _onItemMouseEnter ?? menu.onMouseEnter\n const [rootElement, setRootElement] = useState<HTMLButtonElement | HTMLDivElement | null>(null)\n const [open, setOpen] = useState(false)\n const [shouldFocus, setShouldFocus] = useState<'first' | 'last' | null>(null)\n const active = Boolean(activeElement) && activeElement === rootElement\n const [withinMenu, setWithinMenu] = useState(false)\n\n const handleMouseEnter = useCallback(\n (event: MouseEvent<HTMLElement>) => {\n setWithinMenu(false)\n onItemMouseEnter(event)\n setOpen(true)\n },\n [onItemMouseEnter],\n )\n\n const handleMenuKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n event.stopPropagation()\n\n setOpen(false)\n\n requestAnimationFrame(() => {\n rootElement?.focus()\n })\n }\n },\n [rootElement],\n )\n\n const handleClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n onClick?.(event)\n\n setShouldFocus('first')\n setOpen(true)\n },\n [onClick],\n )\n\n const handleChildItemClick = useCallback(() => {\n setOpen(false)\n onItemClick?.()\n }, [onItemClick])\n\n const handleMenuMouseEnter = useCallback(() => setWithinMenu(true), [])\n\n // Register the menu item element\n useEffect(() => mount(rootElement), [mount, rootElement])\n\n // Close child menu when a sibling item becomes active\n useEffect(() => {\n if (!active) setOpen(false)\n }, [active])\n\n // Update state when child menu is no longer open\n useEffect(() => {\n if (!open) setWithinMenu(false)\n }, [open])\n\n // Reset the shouldFocus state after it has been used\n useEffect(() => {\n if (!shouldFocus) return\n // The useMenuController effect that handles `shouldFocus` schedules a request animation frame where it's processed.\n // By doing the same here, we ensure that the reset is processed after the focus change.\n const rafId = requestAnimationFrame(() => setShouldFocus(null))\n\n return () => cancelAnimationFrame(rafId)\n }, [shouldFocus])\n\n const childMenu = (\n <Menu\n {...menuProps}\n onClickOutside={onClickOutside}\n onEscape={onEscape}\n onItemClick={handleChildItemClick}\n onKeyDown={handleMenuKeyDown}\n onMouseEnter={handleMenuMouseEnter}\n registerElement={registerElement}\n shouldFocus={shouldFocus}\n >\n {children}\n </Menu>\n )\n\n const handleKeyDown = useCallback((event: KeyboardEvent<HTMLDivElement>) => {\n const target = event.currentTarget\n\n if (document.activeElement !== target) {\n return\n }\n\n if (event.key === 'ArrowRight') {\n setShouldFocus('first')\n setOpen(true)\n setWithinMenu(true)\n\n return\n }\n }, [])\n\n return (\n <Popover {...popover} content={childMenu} data-ui=\"MenuGroup__popover\" open={open}>\n <Selectable\n // data-as={as}\n data-ui=\"MenuGroup\"\n // forwardedAs={as}\n {...restProps}\n aria-pressed={as === 'button' ? withinMenu : undefined}\n as={as}\n data-pressed={as !== 'button' ? withinMenu : undefined}\n data-selected={!withinMenu && active ? '' : undefined}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onMouseEnter={handleMouseEnter}\n radius={radius}\n ref={setRootElement}\n tabIndex={-1}\n tone={tone}\n type={as === 'button' ? 'button' : undefined}\n >\n <Flex gap={gap ?? space} gapX={gapX} gapY={gapY} padding={padding}>\n {IconComponent && (\n <Text size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n )}\n\n <Box flex={1}>\n <Text size={fontSize} textOverflow=\"ellipsis\" weight=\"medium\">\n {text}\n </Text>\n </Box>\n\n <Text size={fontSize}>\n <ChevronRightIcon />\n </Text>\n </Flex>\n </Selectable>\n </Popover>\n )\n}\n\nMenuGroup.displayName = 'MenuGroup'\n","import {GapStyleProps, PaddingStyleProps, RadiusStyleProps, ResponsiveProp} from '@sanity/ui/css'\nimport {Space} from '@sanity/ui/theme'\nimport {\n ElementType,\n ForwardedRef,\n forwardRef,\n isValidElement,\n MouseEvent,\n ReactNode,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport {isValidElementType} from 'react-is'\n\nimport {Box, Flex, Text} from '../../primitives'\nimport {Selectable} from '../../primitives/_selectable'\nimport {Props, SelectableTone} from '../../types'\nimport {Hotkeys} from '../hotkeys'\nimport {useMenu} from './useMenu'\n\n/**\n * @public\n */\nexport interface MenuItemProps extends GapStyleProps, PaddingStyleProps, RadiusStyleProps {\n disabled?: boolean\n fontSize?: number | number[]\n hotkeys?: string[]\n icon?: ElementType | ReactNode\n iconRight?: ElementType | ReactNode\n pressed?: boolean\n selected?: boolean\n /** @deprecated Use `gap` instead. */\n space?: ResponsiveProp<Space>\n text?: ReactNode\n tone?: SelectableTone\n}\n\n/**\n * @public\n */\nexport const MenuItem = forwardRef(function MenuItem(\n props: Props<MenuItemProps, 'div'>,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const {\n as = 'button',\n children,\n disabled,\n fontSize = 1,\n gap,\n gapX,\n gapY,\n hotkeys,\n icon: IconComponent,\n iconRight: IconRightComponent,\n onClick,\n padding = 3,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n pressed,\n radius = 2,\n selected: selectedProp,\n space = 3,\n text,\n tone = 'default',\n ...restProps\n } = props\n\n const menu = useMenu()\n const {\n activeElement,\n mount,\n onItemClick,\n onItemMouseEnter: _onItemMouseEnter,\n onItemMouseLeave: _onItemMouseLeave,\n } = menu\n const onItemMouseEnter = _onItemMouseEnter ?? menu.onMouseEnter\n const onItemMouseLeave = _onItemMouseLeave ?? menu.onMouseLeave\n const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)\n const active = Boolean(activeElement) && activeElement === rootElement\n const ref = useRef<HTMLDivElement | null>(null)\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n useEffect(() => mount(rootElement, selectedProp), [mount, rootElement, selectedProp])\n\n const handleClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n if (disabled) return\n if (onClick) onClick(event)\n if (onItemClick) onItemClick()\n },\n [disabled, onClick, onItemClick],\n )\n\n const paddingProps = useMemo(\n () => ({\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n }),\n [padding, paddingX, paddingY, paddingTop, paddingRight, paddingBottom, paddingLeft],\n )\n\n const setRef = useCallback((el: HTMLDivElement | null) => {\n ref.current = el\n setRootElement(el)\n }, [])\n\n return (\n <Selectable\n data-ui=\"MenuItem\"\n role=\"menuitem\"\n {...restProps}\n as={as}\n data-pressed={pressed ? '' : undefined}\n data-selected={active ? '' : undefined}\n data-disabled={disabled ? '' : undefined}\n radius={radius}\n disabled={disabled}\n onClick={handleClick}\n onMouseEnter={onItemMouseEnter}\n onMouseLeave={onItemMouseLeave}\n ref={setRef}\n tabIndex={-1}\n tone={tone}\n type={as === 'button' ? 'button' : undefined}\n >\n {(IconComponent || text || IconRightComponent) && (\n <Flex as=\"span\" gap={gap ?? space} gapX={gapX} gapY={gapY} align=\"center\" {...paddingProps}>\n {IconComponent && (\n <Text muted size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n )}\n\n {text && (\n <Box flex={1}>\n <Text size={fontSize} textOverflow=\"ellipsis\" weight=\"medium\">\n {text}\n </Text>\n </Box>\n )}\n\n {hotkeys && (\n <Hotkeys gap={0.5} keys={hotkeys} style={{marginTop: -4, marginBottom: -4}} />\n )}\n\n {IconRightComponent && (\n <Text muted size={fontSize}>\n {isValidElement(IconRightComponent) && IconRightComponent}\n {isValidElementType(IconRightComponent) && <IconRightComponent />}\n </Text>\n )}\n </Flex>\n )}\n\n {children && (\n <Box as=\"span\" {...paddingProps}>\n {children}\n </Box>\n )}\n </Selectable>\n )\n})\n\nMenuItem.displayName = 'ForwardRef(MenuItem)'\n","import {ResponsiveProp} from '@sanity/ui/css'\nimport {FontTextSize, Space} from '@sanity/ui/theme'\nimport {\n ElementType,\n FocusEvent,\n ForwardedRef,\n forwardRef,\n ReactNode,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n} from 'react'\n\nimport {Button} from '../../primitives'\nimport {ButtonTone, Props} from '../../types'\n\n/**\n * @public\n */\nexport interface TabProps {\n /**\n * The `id` of the corresponding `TabPanel` component.\n */\n 'aria-controls': string\n 'id': string\n 'icon'?: ElementType | ReactNode\n 'focused'?: boolean\n 'fontSize'?: ResponsiveProp<FontTextSize>\n 'label'?: ReactNode\n 'padding'?: ResponsiveProp<Space>\n 'selected'?: boolean\n 'tone'?: ButtonTone\n}\n\n/**\n * @public\n */\nexport const Tab = forwardRef(function Tab(\n props: Props<TabProps, 'button'>,\n forwardedRef: ForwardedRef<HTMLButtonElement>,\n) {\n const {\n icon,\n id,\n focused,\n fontSize = 1,\n label,\n onClick,\n onFocus,\n padding = 2,\n selected,\n ...restProps\n } = props\n const ref = useRef<HTMLButtonElement | null>(null)\n const focusedRef = useRef(false)\n\n useImperativeHandle<HTMLButtonElement | null, HTMLButtonElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n const handleBlur = useCallback(() => {\n focusedRef.current = false\n }, [])\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLButtonElement>) => {\n focusedRef.current = true\n if (onFocus) onFocus(event)\n },\n [onFocus],\n )\n\n useEffect(() => {\n if (focused && !focusedRef.current) {\n if (ref.current) ref.current.focus()\n focusedRef.current = true\n }\n }, [focused])\n\n return (\n <Button\n data-ui=\"Tab\"\n {...restProps}\n aria-selected={selected ? 'true' : 'false'}\n fontSize={fontSize}\n icon={icon}\n id={id}\n mode=\"bleed\"\n onClick={onClick}\n onBlur={handleBlur}\n onFocus={handleFocus}\n padding={padding}\n ref={ref}\n role=\"tab\"\n selected={selected}\n tabIndex={selected ? 0 : -1}\n text={label}\n type=\"button\"\n />\n )\n})\n\nTab.displayName = 'ForwardRef(Tab)'\n","import {\n Children,\n cloneElement,\n ForwardedRef,\n forwardRef,\n KeyboardEvent,\n ReactElement,\n useCallback,\n useState,\n} from 'react'\n\nimport {Inline, InlineProps} from '../../primitives'\nimport {Props} from '../../types'\nimport {TabProps} from './tab'\n\n/**\n * @public\n */\nexport type TabListChild = ReactElement<Props<TabProps, 'button'>> | null | undefined | false\n\n/**\n * @public\n */\nexport interface TabListProps extends Omit<InlineProps, 'as' | 'height'> {\n children: TabListChild[]\n}\n\nfunction _isReactElement(node: unknown): node is ReactElement<Props<TabProps, 'button'>> {\n return Boolean(node)\n}\n\n/**\n * @public\n */\nexport const TabList = forwardRef(function TabList(\n props: Props<TabListProps, 'div'>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {children: childrenProp, ...restProps} = props\n const [focusedIndex, setFocusedIndex] = useState(-1)\n\n const children = Children.toArray(childrenProp).filter(_isReactElement)\n\n const tabs = children.map((child, childIndex) =>\n cloneElement(child, {\n focused: focusedIndex === childIndex,\n key: childIndex,\n onFocus: () => setFocusedIndex(childIndex),\n }),\n )\n\n const numTabs = tabs.length\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n setFocusedIndex((prevIndex) => (prevIndex + numTabs - 1) % numTabs)\n }\n\n if (event.key === 'ArrowRight') {\n setFocusedIndex((prevIndex) => (prevIndex + 1) % numTabs)\n }\n },\n [numTabs],\n )\n\n return (\n <Inline data-ui=\"TabList\" {...restProps} onKeyDown={handleKeyDown} ref={ref} role=\"tablist\">\n {tabs}\n </Inline>\n )\n})\n\nTabList.displayName = 'ForwardRef(TabList)'\n"],"names":["studioTheme","buildTheme","getGlobalScope","globalThis","window","self","global","Error","globalScope","createGlobalScopedContext","key","defaultValue","symbol","Symbol","for","document","createContext","CardContext","CardProvider","props","$","_c","children","rendered","t0","tone","scheme","undefined","t1","t2","context","t3","ThemeContext","ThemeProvider","parentTheme","useContext","rootTheme","theme","bb0","version","themeContext","bb1","getScopedTheme","StyledThemeProvider","t4","ThemeColorProvider","displayName","useRootTheme","value","root","useTheme","useStyledTheme","useTheme_v2","getTheme_v2","EMPTY_ARRAY","EMPTY_RECORD","POPOVER_MOTION_PROPS","card","initial","scale","willChange","hidden","opacity","visible","transition","when","duration","POPOVER_MOTION_DURATION","scaleIn","scaleOut","type","visualDuration","bounce","Z_OFFSETS","dialog","popover","tooltip","_isEnterToClickElement","element","isHTMLAnchorElement","isHTMLButtonElement","isHTMLElement","node","Node","nodeType","ELEMENT_NODE","nodeName","isHTMLInputElement","isHTMLSelectElement","isHTMLTextAreaElement","containsOrEqualsElement","contains","_getArrayProp","val","defaultVal","Array","isArray","_isScrollable","el","Element","style","getComputedStyle","overflowX","includes","overflowY","useArrayProp","JSON","stringify","setCache","useState","cachedVal","cachedHash","hash","useClickOutsideEvent","listener","boundaryElement","elementsArg","_temp","evt","target","resolvedBoundaryElement","elements","flat","onEvent","useEffectEvent","hasListener","Boolean","handleEvent","evt_0","addEventListener","removeEventListener","useEffect","useDebugValue","useCustomValidity","ref","customValidity","current","setCustomValidity","_ResizeObserver","ResizeObserver","ResizeObserverPolyfill","_elementSizeObserver","_createElementSizeObserver","_createElementRectValueListener","subscribe","subscriber","resizeObserver","entry","_contentRect","contentRect","border","width","borderBoxSize","inlineSize","height","blockSize","content","observe","unobserve","disconnect","disposeCache","WeakMap","subscribersCache","subscribers","get","dispose","has","set","elementRect","sub","push","idx","indexOf","splice","length","useElementSize","size","setSize","useGlobalKeyDown","onKeyDown","event","handleKeyDown","handler","event_0","useMatchMedia","mediaQueryString","getServerSnapshot","onStoreChange","media","matchMedia","matches","useSyncExternalStore","_getMediaQuery","index","_createMediaStore","mediaLen","sizes","getSizes","mediaQuery","mq","getSnapshot","disposeFns","handleChange","disposeFn","useMediaIndex","store","usePrefersDark","usePrefersReducedMotion","Box","forwardRef","align","autoCols","autoFlow","autoRows","borderBottom","borderLeft","borderRight","borderTop","className","column","columnEnd","columnStart","columns","direction","flex","gap","gapX","gapY","inset","insetBottom","insetLeft","insetRight","insetTop","justify","marginBottom","marginLeft","marginRight","marginTop","marginX","marginY","maxWidth","muted","overflow","paddingBottom","paddingLeft","paddingRight","paddingTop","paddingX","paddingY","pointerEvents","position","radius","restProps","row","rowEnd","rowStart","rows","t5","t6","wrap","as","display","margin","minWidth","padding","sizing","As","t7","composeClassNames","box","t8","Label","accent","textOverflowProp","textOverflow","weight","label","Avatar","__unstable_hideInnerStroke","animateArrowFrom","arrowPositionProp","asProp","initials","onImageLoadError","src","title","color","arrowPosition","status","sizeProp","ReactIs","isValidElementType","setArrowPosition","imageError","setImageError","raf","requestAnimationFrame","cancelAnimationFrame","handleImageError","t9","map","initialsSize","t10","t11","avatar","t12","t13","avatarArrow","t14","t15","avatarInitials","t16","t17","t18","avatarImage","t19","s","AvatarCounter","count","fontSize","avatarCounter","AvatarStack","childrenProp","maxLength","maxLengthProp","Children","toArray","filter","isValidElement","Math","max","len","visibleCount","extraCount","visibleChildren","slice","T0","avatarStack","child","childIndex","cloneElement","String","Text","text","Badge","textAlign","mode","_deprecated_mode","badge","AnimatedSpinnerIcon","animatedSpinnerIcon","Spinner","spinner","Button","disabled","space","href","icon","IconComponent","iconRight","IconRightComponent","loading","selected","textWeight","button","buttonLoadingBox","useCard","Card","pressed","schemeProp","shadow","__unstable_checkered","__unstable_focusRing","checkered","focusRing","toneProp","parent","compat_provider","createElement","Checkbox","forwardedRef","checked","indeterminate","readOnly","useRef","useImperativeHandle","checkbox","checkboxInput","LazyRefractor","lazy","Code","languageProp","language","code","Container","container","Flex","Grid","Heading","heading","Inline","KBD","kbd","origin","name","fn","middlewareData","placement","rects","side","split","floatingWidth","floating","floatingHeight","shiftX","shift","x","shiftY","y","isVerticalPlacement","originX","originY","clamp","data","num","min","moveTowardsLength","movingPoint","targetPoint","amount","distance","sqrt","moveTowardsFractional","fraction","getRoundedCommands","points","cmds","i","point","prevPoint","nextPoint","curveStart","curveEnd","startControl","endControl","compileCommands","n","join","Arrow","h","w","center","path","strokePath","fillPath","_arrow","_arrowStrokeMask","_arrowStroke","_arrowShape","BoundaryElementContext","BoundaryElementProvider","isRecord","DEFAULT_VALUE","useBoundaryElement","ConditionalWrapper","condition","wrapper","findMaxBreakpoints","ret","findMinBreakpoints","defaultBreakpoints","Object","values","BREAKPOINTS","ElementQuery","mediaProp","breakpoints","setElement","elementSize","innerWidth","eq","eq_0","getLayerContext","contextValue","LayerContext","LayerProvider","zOffset","zOffsetProp","parentContextValue","parentRegisterChild","registerChild","level","maxMediaIndex","mediaIndex","zIndex","setChildLayers","isTopLayer","childLevel","parentDispose","state","prevLen","nextState","keys","state_0","nextState_0","_temp2","v_0","v","useLayer","err","message","LayerChildren","onActivate","onFocus","lastFocusedRef","isTopLayerRef","activeElement","rootElement","handleFocus","Layer","elementKey","defaultContextValue","setAttribute","body","appendChild","PortalContext","usePortal","Portal","__unstable_name","portal","portalElement","default","createPortal","PortalProvider","__unstable_elements","elementsProp","useUnique","fallbackElement","emptySubscribe","valueRef","_isEqual","objA","objB","keysA","keysB","every","SrOnly","rest","srOnly","VirtualList","getItemKey","onChange","renderItem","items","wrapperRef","scrollTop","setScrollTop","scrollHeight","setScrollHeight","itemHeight","setItemHeight","gapValue","setGapValue","scrollEl","findScrollable","parentNode","HTMLElement","handleScroll","passive","ro","entries","handleScroll_0","scrollY","handleResize","innerHeight","fromIndex","floor","toIndex","ceil","offsetHeight","el_0","vars","item","_itemIndex","itemIndex","top","wrapperStyle","_scrollEl","DEFAULT_POPOVER_DISTANCE","DEFAULT_POPOVER_PADDING","DEFAULT_POPOVER_ARROW_WIDTH","DEFAULT_POPOVER_ARROW_HEIGHT","DEFAULT_POPOVER_ARROW_RADIUS","DEFAULT_POPOVER_MARGINS","DEFAULT_FALLBACK_PLACEMENTS","options","apply","margins","args","platform","reference","detectOverflow","altBoundary","boundary","elementContext","rootBoundary","Infinity","maxHeight","floatingW","floatingH","left","right","bottom","availableWidth","availableHeight","referenceWidth","nextDimensions","getDimensions","targetH","targetW","reset","MotionCard","motion","create","PopoverCard","memo","animate","arrow","arrowRef","arrowX","arrowY","marginsProp","strategy","xProp","yProp","__unstable_margins","layer","rootStyle","arrowStyle","popoverCard","ViewportOverlay","Popover","boundaryElementContext","_animate","arrowProp","childProp","constrainSize","fallbackPlacements","matchReferenceWidth","floatingBoundary","modal","open","placementProp","preventOverflow","referenceBoundary","referenceElement","widthProp","updateRef","referenceWidthRef","middleware","useMemo","flip","offset","mainAxis","hide","refs","update","useFloating","whileElementsMounted","autoUpdate","referenceHidden","setArrow","useCallback","arrowEl","setFloating","setReference","childRef","getElementRef","getter","getOwnPropertyDescriptor","mayWarn","isReactWarning","Radio","radio","Select","select","_inputElement","selectPresentation","Stack","stack","Switch","_switch","_switchElement","_switchPresentation","_switchTrack","_switchThumb","TextArea","textArea","_inputPresentation","CLEAR_BUTTON_BOX_STYLE","backgroundColor","TextInput","__unstable_disableFocusRing","clearButton","onClear","prefix","suffix","t20","t21","t22","t23","t24","_width","t25","t26","paddingArray","withClearButton","handleClearMouseDown","preventDefault","stopPropagation","focus","handleClearClick","clearButtonBoxPadding","_temp3","clearButtonPadding","clearButtonProps","textInput","t27","t28","CloseIcon","t29","t30","t31","useDelayedState","initialState","setState","delayedAction","delay","action","clearTimeout","setTimeout","onStateChange","DEFAULT_TOOLTIP_ARROW_WIDTH","DEFAULT_TOOLTIP_ARROW_HEIGHT","DEFAULT_TOOLTIP_ARROW_RADIUS","DEFAULT_TOOLTIP_DISTANCE","DEFAULT_TOOLTIP_PADDING","TooltipCard","tooltipCard","TooltipDelayGroupContext","TooltipDelayGroupProvider","isGroupActive","setIsGroupActive","openTooltipId","setOpenTooltipId","openDelay","closeDelay","close","useTooltipDelayGroup","Tooltip","fallbackPlacementsProp","portalProp","setReferenceElement","tooltipMaxWidth","setTooltipMaxWidth","floatingStyles","tooltipId","useId","isOpen","setIsOpen","delayGroupContext","showTooltip","isInsideGroup","openDelayProp","closeDelayProp","handleIsOpenChange","immediate","groupedOpenDelay","groupDeactivateDelay","minimumGroupDeactivateDelay","handleBlur","e","onBlur","handleClick","onClick","handleContextMenu","onContextMenu","handleMouseEnter","onMouseEnter","handleMouseLeave","onMouseLeave","handleWindowKeyDown","useLayoutEffect","availableWidths","offsetWidth","useCloseOnMouseLeave","teardown","onMouseMove","handleMouseMove","Hotkeys","MenuContext","_isFocusable","getAttribute","_getFocusableElements","_getDOMPath","parentElement","from","childNodes","unshift","EMPTY_PATH","_sortElements","_sort","a","b","_a","_b","aIndex","bIndex","sort","useMenuController","originElement","shouldFocus","rootElementRef","elementsRef","activeIndex","_setActiveIndex","activeIndexRef","mounted","setActiveIndex","nextActiveIndex","mount","selectedIndex","currentIndex","focusableElements","focusableLen","focusedElement","focusedIndex","handleItemMouseEnter","currentTarget","handleItemMouseLeave","rafId","Menu","_shouldFocus","onClickOutside","onEscape","onItemClick","onItemSelect","registerElement","focusFirst","focusLast","unregisterElementRef","handleRefChange","onItemMouseEnter","onItemMouseLeave","menu","MenuDivider","menuDivider","Selectable","_selectable","useMenu","MenuGroup","menuProps","_onItemMouseEnter","setRootElement","setOpen","setShouldFocus","active","withinMenu","setWithinMenu","handleMenuKeyDown","event_1","handleChildItemClick","handleMenuMouseEnter","childMenu","event_2","t32","MenuItem","hotkeys","selectedProp","_onItemMouseLeave","paddingProps","setRef","Tab","focused","id","focusedRef","_isReactElement","TabList","setFocusedIndex","tabs","numTabs","prevIndex","prevIndex_0"],"mappings":"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"}
|